From 592399f5c087461837b855eee1bfc2b92a163830 Mon Sep 17 00:00:00 2001 From: MobiusDev <8391001+MobiusDevelopment@users.noreply.github.com> Date: Wed, 9 Jan 2019 07:20:24 +0000 Subject: [PATCH] Despawn precautions. --- .../scripts/handlers/admincommandhandlers/AdminSpawn.java | 2 +- .../scripts/handlers/admincommandhandlers/AdminTeleport.java | 4 ++++ .../l2jmobius/gameserver/instancemanager/DBSpawnManager.java | 1 + .../gameserver/instancemanager/SiegeGuardManager.java | 2 +- .../java/com/l2jmobius/gameserver/model/L2Spawn.java | 2 +- .../java/com/l2jmobius/gameserver/model/entity/Castle.java | 1 + .../scripts/handlers/admincommandhandlers/AdminSpawn.java | 2 +- .../scripts/handlers/admincommandhandlers/AdminTeleport.java | 4 ++++ .../l2jmobius/gameserver/instancemanager/DBSpawnManager.java | 1 + .../gameserver/instancemanager/SiegeGuardManager.java | 2 +- .../java/com/l2jmobius/gameserver/model/L2Spawn.java | 2 +- .../java/com/l2jmobius/gameserver/model/entity/Castle.java | 1 + .../scripts/handlers/admincommandhandlers/AdminSpawn.java | 2 +- .../scripts/handlers/admincommandhandlers/AdminTeleport.java | 4 ++++ .../l2jmobius/gameserver/instancemanager/DBSpawnManager.java | 1 + .../gameserver/instancemanager/SiegeGuardManager.java | 2 +- .../java/com/l2jmobius/gameserver/model/L2Spawn.java | 2 +- .../java/com/l2jmobius/gameserver/model/entity/Castle.java | 1 + .../scripts/handlers/admincommandhandlers/AdminSpawn.java | 2 +- .../scripts/handlers/admincommandhandlers/AdminTeleport.java | 4 ++++ .../l2jmobius/gameserver/instancemanager/DBSpawnManager.java | 1 + .../gameserver/instancemanager/SiegeGuardManager.java | 2 +- .../java/com/l2jmobius/gameserver/model/L2Spawn.java | 2 +- .../java/com/l2jmobius/gameserver/model/entity/Castle.java | 1 + .../scripts/handlers/admincommandhandlers/AdminSpawn.java | 2 +- .../scripts/handlers/admincommandhandlers/AdminTeleport.java | 4 ++++ .../l2jmobius/gameserver/instancemanager/DBSpawnManager.java | 1 + .../gameserver/instancemanager/SiegeGuardManager.java | 2 +- .../java/com/l2jmobius/gameserver/model/L2Spawn.java | 2 +- .../java/com/l2jmobius/gameserver/model/entity/Castle.java | 1 + .../scripts/handlers/admincommandhandlers/AdminSpawn.java | 2 +- .../scripts/handlers/admincommandhandlers/AdminTeleport.java | 4 ++++ .../l2jmobius/gameserver/instancemanager/DBSpawnManager.java | 1 + .../gameserver/instancemanager/SiegeGuardManager.java | 2 +- .../java/com/l2jmobius/gameserver/model/L2Spawn.java | 2 +- .../java/com/l2jmobius/gameserver/model/entity/Castle.java | 1 + .../data/scripts/ai/areas/ForgeOfTheGods/TarBeetleSpawn.java | 2 +- .../scripts/handlers/admincommandhandlers/AdminSpawn.java | 2 +- .../scripts/handlers/admincommandhandlers/AdminTeleport.java | 4 ++++ .../gameserver/instancemanager/SiegeGuardManager.java | 4 ++++ .../java/com/l2jmobius/gameserver/model/AutoSpawnHandler.java | 4 ++-- .../java/com/l2jmobius/gameserver/model/L2Spawn.java | 2 +- .../gameserver/model/entity/clanhall/ClanHallSiegeEngine.java | 4 ++++ .../scripts/handlers/admincommandhandlers/AdminSpawn.java | 2 +- .../scripts/handlers/admincommandhandlers/AdminTeleport.java | 4 ++++ .../l2jmobius/gameserver/instancemanager/DBSpawnManager.java | 1 + .../gameserver/instancemanager/SiegeGuardManager.java | 2 +- .../java/com/l2jmobius/gameserver/model/L2Spawn.java | 2 +- .../java/com/l2jmobius/gameserver/model/entity/Castle.java | 1 + .../scripts/handlers/admincommandhandlers/AdminSpawn.java | 2 +- .../scripts/handlers/admincommandhandlers/AdminTeleport.java | 4 ++++ .../l2jmobius/gameserver/instancemanager/DBSpawnManager.java | 1 + .../gameserver/instancemanager/SiegeGuardManager.java | 2 +- .../java/com/l2jmobius/gameserver/model/L2Spawn.java | 2 +- .../java/com/l2jmobius/gameserver/model/entity/Castle.java | 1 + .../scripts/handlers/admincommandhandlers/AdminSpawn.java | 2 +- .../scripts/handlers/admincommandhandlers/AdminTeleport.java | 4 ++++ .../l2jmobius/gameserver/instancemanager/DBSpawnManager.java | 1 + .../gameserver/instancemanager/SiegeGuardManager.java | 2 +- .../java/com/l2jmobius/gameserver/model/L2Spawn.java | 2 +- .../java/com/l2jmobius/gameserver/model/entity/Castle.java | 1 + .../scripts/handlers/admincommandhandlers/AdminSpawn.java | 2 +- .../scripts/handlers/admincommandhandlers/AdminTeleport.java | 4 ++++ .../l2jmobius/gameserver/instancemanager/DBSpawnManager.java | 1 + .../gameserver/instancemanager/SiegeGuardManager.java | 2 +- .../java/com/l2jmobius/gameserver/model/L2Spawn.java | 2 +- .../java/com/l2jmobius/gameserver/model/entity/Castle.java | 1 + 67 files changed, 107 insertions(+), 35 deletions(-) diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/handlers/admincommandhandlers/AdminSpawn.java b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/handlers/admincommandhandlers/AdminSpawn.java index 19857bc7da..60bcced355 100644 --- a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/handlers/admincommandhandlers/AdminSpawn.java +++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/handlers/admincommandhandlers/AdminSpawn.java @@ -495,7 +495,7 @@ public class AdminSpawn implements IAdminCommandHandler SpawnTable.getInstance().addNewSpawn(spawn, permanent); spawn.init(); - if (!permanent) + if (!permanent || (respawnTime <= 0)) { spawn.stopRespawn(); } diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/handlers/admincommandhandlers/AdminTeleport.java b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/handlers/admincommandhandlers/AdminTeleport.java index 6daff49915..5156b0d577 100644 --- a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/handlers/admincommandhandlers/AdminTeleport.java +++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/handlers/admincommandhandlers/AdminTeleport.java @@ -558,6 +558,10 @@ public class AdminTeleport implements IAdminCommandHandler } SpawnTable.getInstance().addNewSpawn(spawn, true); spawn.init(); + if (respawnTime <= 0) + { + spawn.stopRespawn(); + } BuilderUtil.sendSysMessage(activeChar, "Created " + template1.getName() + " on " + target.getObjectId() + "."); } diff --git a/L2J_Mobius_1.0_Ertheia/java/com/l2jmobius/gameserver/instancemanager/DBSpawnManager.java b/L2J_Mobius_1.0_Ertheia/java/com/l2jmobius/gameserver/instancemanager/DBSpawnManager.java index 1d7bce8941..3333b479c6 100644 --- a/L2J_Mobius_1.0_Ertheia/java/com/l2jmobius/gameserver/instancemanager/DBSpawnManager.java +++ b/L2J_Mobius_1.0_Ertheia/java/com/l2jmobius/gameserver/instancemanager/DBSpawnManager.java @@ -133,6 +133,7 @@ public class DBSpawnManager } else { + spawn.stopRespawn(); LOGGER.warning(getClass().getSimpleName() + ": Found database spawns without respawn for npc: " + template.getId() + " - " + template.getName() + " " + spawnTemplate); continue; } diff --git a/L2J_Mobius_1.0_Ertheia/java/com/l2jmobius/gameserver/instancemanager/SiegeGuardManager.java b/L2J_Mobius_1.0_Ertheia/java/com/l2jmobius/gameserver/instancemanager/SiegeGuardManager.java index fe296e2e53..25bbfa5649 100644 --- a/L2J_Mobius_1.0_Ertheia/java/com/l2jmobius/gameserver/instancemanager/SiegeGuardManager.java +++ b/L2J_Mobius_1.0_Ertheia/java/com/l2jmobius/gameserver/instancemanager/SiegeGuardManager.java @@ -332,7 +332,7 @@ public final class SiegeGuardManager if (spawn != null) { spawn.init(); - if (isHired) + if (isHired || (spawn.getRespawnDelay() == 0)) { spawn.stopRespawn(); } diff --git a/L2J_Mobius_1.0_Ertheia/java/com/l2jmobius/gameserver/model/L2Spawn.java b/L2J_Mobius_1.0_Ertheia/java/com/l2jmobius/gameserver/model/L2Spawn.java index 4d52ad29e2..0f49eccdd8 100644 --- a/L2J_Mobius_1.0_Ertheia/java/com/l2jmobius/gameserver/model/L2Spawn.java +++ b/L2J_Mobius_1.0_Ertheia/java/com/l2jmobius/gameserver/model/L2Spawn.java @@ -291,7 +291,7 @@ public class L2Spawn extends Location implements IIdentifiable, INamable { doSpawn(); } - _doRespawn = _respawnMinDelay != 0; + _doRespawn = _respawnMinDelay > 0; return _currentCount; } diff --git a/L2J_Mobius_1.0_Ertheia/java/com/l2jmobius/gameserver/model/entity/Castle.java b/L2J_Mobius_1.0_Ertheia/java/com/l2jmobius/gameserver/model/entity/Castle.java index 241f6b8d9f..9a0f2042ab 100644 --- a/L2J_Mobius_1.0_Ertheia/java/com/l2jmobius/gameserver/model/entity/Castle.java +++ b/L2J_Mobius_1.0_Ertheia/java/com/l2jmobius/gameserver/model/entity/Castle.java @@ -1191,6 +1191,7 @@ public final class Castle extends AbstractResidence spawn.setXYZ(holder); spawn.setHeading(holder.getHeading()); final L2Npc npc = spawn.doSpawn(false); + spawn.stopRespawn(); npc.broadcastInfo(); _sideNpcs.add(npc); } diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/handlers/admincommandhandlers/AdminSpawn.java b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/handlers/admincommandhandlers/AdminSpawn.java index 19857bc7da..60bcced355 100644 --- a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/handlers/admincommandhandlers/AdminSpawn.java +++ b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/handlers/admincommandhandlers/AdminSpawn.java @@ -495,7 +495,7 @@ public class AdminSpawn implements IAdminCommandHandler SpawnTable.getInstance().addNewSpawn(spawn, permanent); spawn.init(); - if (!permanent) + if (!permanent || (respawnTime <= 0)) { spawn.stopRespawn(); } diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/handlers/admincommandhandlers/AdminTeleport.java b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/handlers/admincommandhandlers/AdminTeleport.java index 6daff49915..5156b0d577 100644 --- a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/handlers/admincommandhandlers/AdminTeleport.java +++ b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/handlers/admincommandhandlers/AdminTeleport.java @@ -558,6 +558,10 @@ public class AdminTeleport implements IAdminCommandHandler } SpawnTable.getInstance().addNewSpawn(spawn, true); spawn.init(); + if (respawnTime <= 0) + { + spawn.stopRespawn(); + } BuilderUtil.sendSysMessage(activeChar, "Created " + template1.getName() + " on " + target.getObjectId() + "."); } diff --git a/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/instancemanager/DBSpawnManager.java b/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/instancemanager/DBSpawnManager.java index 1d7bce8941..3333b479c6 100644 --- a/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/instancemanager/DBSpawnManager.java +++ b/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/instancemanager/DBSpawnManager.java @@ -133,6 +133,7 @@ public class DBSpawnManager } else { + spawn.stopRespawn(); LOGGER.warning(getClass().getSimpleName() + ": Found database spawns without respawn for npc: " + template.getId() + " - " + template.getName() + " " + spawnTemplate); continue; } diff --git a/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/instancemanager/SiegeGuardManager.java b/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/instancemanager/SiegeGuardManager.java index fe296e2e53..25bbfa5649 100644 --- a/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/instancemanager/SiegeGuardManager.java +++ b/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/instancemanager/SiegeGuardManager.java @@ -332,7 +332,7 @@ public final class SiegeGuardManager if (spawn != null) { spawn.init(); - if (isHired) + if (isHired || (spawn.getRespawnDelay() == 0)) { spawn.stopRespawn(); } diff --git a/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/model/L2Spawn.java b/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/model/L2Spawn.java index 4d52ad29e2..0f49eccdd8 100644 --- a/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/model/L2Spawn.java +++ b/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/model/L2Spawn.java @@ -291,7 +291,7 @@ public class L2Spawn extends Location implements IIdentifiable, INamable { doSpawn(); } - _doRespawn = _respawnMinDelay != 0; + _doRespawn = _respawnMinDelay > 0; return _currentCount; } diff --git a/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/model/entity/Castle.java b/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/model/entity/Castle.java index 241f6b8d9f..9a0f2042ab 100644 --- a/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/model/entity/Castle.java +++ b/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/model/entity/Castle.java @@ -1191,6 +1191,7 @@ public final class Castle extends AbstractResidence spawn.setXYZ(holder); spawn.setHeading(holder.getHeading()); final L2Npc npc = spawn.doSpawn(false); + spawn.stopRespawn(); npc.broadcastInfo(); _sideNpcs.add(npc); } diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/handlers/admincommandhandlers/AdminSpawn.java b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/handlers/admincommandhandlers/AdminSpawn.java index 19857bc7da..60bcced355 100644 --- a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/handlers/admincommandhandlers/AdminSpawn.java +++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/handlers/admincommandhandlers/AdminSpawn.java @@ -495,7 +495,7 @@ public class AdminSpawn implements IAdminCommandHandler SpawnTable.getInstance().addNewSpawn(spawn, permanent); spawn.init(); - if (!permanent) + if (!permanent || (respawnTime <= 0)) { spawn.stopRespawn(); } diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/handlers/admincommandhandlers/AdminTeleport.java b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/handlers/admincommandhandlers/AdminTeleport.java index 6daff49915..5156b0d577 100644 --- a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/handlers/admincommandhandlers/AdminTeleport.java +++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/handlers/admincommandhandlers/AdminTeleport.java @@ -558,6 +558,10 @@ public class AdminTeleport implements IAdminCommandHandler } SpawnTable.getInstance().addNewSpawn(spawn, true); spawn.init(); + if (respawnTime <= 0) + { + spawn.stopRespawn(); + } BuilderUtil.sendSysMessage(activeChar, "Created " + template1.getName() + " on " + target.getObjectId() + "."); } diff --git a/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/instancemanager/DBSpawnManager.java b/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/instancemanager/DBSpawnManager.java index 1d7bce8941..3333b479c6 100644 --- a/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/instancemanager/DBSpawnManager.java +++ b/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/instancemanager/DBSpawnManager.java @@ -133,6 +133,7 @@ public class DBSpawnManager } else { + spawn.stopRespawn(); LOGGER.warning(getClass().getSimpleName() + ": Found database spawns without respawn for npc: " + template.getId() + " - " + template.getName() + " " + spawnTemplate); continue; } diff --git a/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/instancemanager/SiegeGuardManager.java b/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/instancemanager/SiegeGuardManager.java index fe296e2e53..25bbfa5649 100644 --- a/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/instancemanager/SiegeGuardManager.java +++ b/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/instancemanager/SiegeGuardManager.java @@ -332,7 +332,7 @@ public final class SiegeGuardManager if (spawn != null) { spawn.init(); - if (isHired) + if (isHired || (spawn.getRespawnDelay() == 0)) { spawn.stopRespawn(); } diff --git a/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/model/L2Spawn.java b/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/model/L2Spawn.java index 4d52ad29e2..0f49eccdd8 100644 --- a/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/model/L2Spawn.java +++ b/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/model/L2Spawn.java @@ -291,7 +291,7 @@ public class L2Spawn extends Location implements IIdentifiable, INamable { doSpawn(); } - _doRespawn = _respawnMinDelay != 0; + _doRespawn = _respawnMinDelay > 0; return _currentCount; } diff --git a/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/model/entity/Castle.java b/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/model/entity/Castle.java index 241f6b8d9f..9a0f2042ab 100644 --- a/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/model/entity/Castle.java +++ b/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/model/entity/Castle.java @@ -1191,6 +1191,7 @@ public final class Castle extends AbstractResidence spawn.setXYZ(holder); spawn.setHeading(holder.getHeading()); final L2Npc npc = spawn.doSpawn(false); + spawn.stopRespawn(); npc.broadcastInfo(); _sideNpcs.add(npc); } diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/handlers/admincommandhandlers/AdminSpawn.java b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/handlers/admincommandhandlers/AdminSpawn.java index 19857bc7da..60bcced355 100644 --- a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/handlers/admincommandhandlers/AdminSpawn.java +++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/handlers/admincommandhandlers/AdminSpawn.java @@ -495,7 +495,7 @@ public class AdminSpawn implements IAdminCommandHandler SpawnTable.getInstance().addNewSpawn(spawn, permanent); spawn.init(); - if (!permanent) + if (!permanent || (respawnTime <= 0)) { spawn.stopRespawn(); } diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/handlers/admincommandhandlers/AdminTeleport.java b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/handlers/admincommandhandlers/AdminTeleport.java index 6daff49915..5156b0d577 100644 --- a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/handlers/admincommandhandlers/AdminTeleport.java +++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/handlers/admincommandhandlers/AdminTeleport.java @@ -558,6 +558,10 @@ public class AdminTeleport implements IAdminCommandHandler } SpawnTable.getInstance().addNewSpawn(spawn, true); spawn.init(); + if (respawnTime <= 0) + { + spawn.stopRespawn(); + } BuilderUtil.sendSysMessage(activeChar, "Created " + template1.getName() + " on " + target.getObjectId() + "."); } diff --git a/L2J_Mobius_4.0_GrandCrusade/java/com/l2jmobius/gameserver/instancemanager/DBSpawnManager.java b/L2J_Mobius_4.0_GrandCrusade/java/com/l2jmobius/gameserver/instancemanager/DBSpawnManager.java index 1d7bce8941..3333b479c6 100644 --- a/L2J_Mobius_4.0_GrandCrusade/java/com/l2jmobius/gameserver/instancemanager/DBSpawnManager.java +++ b/L2J_Mobius_4.0_GrandCrusade/java/com/l2jmobius/gameserver/instancemanager/DBSpawnManager.java @@ -133,6 +133,7 @@ public class DBSpawnManager } else { + spawn.stopRespawn(); LOGGER.warning(getClass().getSimpleName() + ": Found database spawns without respawn for npc: " + template.getId() + " - " + template.getName() + " " + spawnTemplate); continue; } diff --git a/L2J_Mobius_4.0_GrandCrusade/java/com/l2jmobius/gameserver/instancemanager/SiegeGuardManager.java b/L2J_Mobius_4.0_GrandCrusade/java/com/l2jmobius/gameserver/instancemanager/SiegeGuardManager.java index fe296e2e53..25bbfa5649 100644 --- a/L2J_Mobius_4.0_GrandCrusade/java/com/l2jmobius/gameserver/instancemanager/SiegeGuardManager.java +++ b/L2J_Mobius_4.0_GrandCrusade/java/com/l2jmobius/gameserver/instancemanager/SiegeGuardManager.java @@ -332,7 +332,7 @@ public final class SiegeGuardManager if (spawn != null) { spawn.init(); - if (isHired) + if (isHired || (spawn.getRespawnDelay() == 0)) { spawn.stopRespawn(); } diff --git a/L2J_Mobius_4.0_GrandCrusade/java/com/l2jmobius/gameserver/model/L2Spawn.java b/L2J_Mobius_4.0_GrandCrusade/java/com/l2jmobius/gameserver/model/L2Spawn.java index 4d52ad29e2..0f49eccdd8 100644 --- a/L2J_Mobius_4.0_GrandCrusade/java/com/l2jmobius/gameserver/model/L2Spawn.java +++ b/L2J_Mobius_4.0_GrandCrusade/java/com/l2jmobius/gameserver/model/L2Spawn.java @@ -291,7 +291,7 @@ public class L2Spawn extends Location implements IIdentifiable, INamable { doSpawn(); } - _doRespawn = _respawnMinDelay != 0; + _doRespawn = _respawnMinDelay > 0; return _currentCount; } diff --git a/L2J_Mobius_4.0_GrandCrusade/java/com/l2jmobius/gameserver/model/entity/Castle.java b/L2J_Mobius_4.0_GrandCrusade/java/com/l2jmobius/gameserver/model/entity/Castle.java index 241f6b8d9f..9a0f2042ab 100644 --- a/L2J_Mobius_4.0_GrandCrusade/java/com/l2jmobius/gameserver/model/entity/Castle.java +++ b/L2J_Mobius_4.0_GrandCrusade/java/com/l2jmobius/gameserver/model/entity/Castle.java @@ -1191,6 +1191,7 @@ public final class Castle extends AbstractResidence spawn.setXYZ(holder); spawn.setHeading(holder.getHeading()); final L2Npc npc = spawn.doSpawn(false); + spawn.stopRespawn(); npc.broadcastInfo(); _sideNpcs.add(npc); } diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/handlers/admincommandhandlers/AdminSpawn.java b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/handlers/admincommandhandlers/AdminSpawn.java index 19857bc7da..60bcced355 100644 --- a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/handlers/admincommandhandlers/AdminSpawn.java +++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/handlers/admincommandhandlers/AdminSpawn.java @@ -495,7 +495,7 @@ public class AdminSpawn implements IAdminCommandHandler SpawnTable.getInstance().addNewSpawn(spawn, permanent); spawn.init(); - if (!permanent) + if (!permanent || (respawnTime <= 0)) { spawn.stopRespawn(); } diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/handlers/admincommandhandlers/AdminTeleport.java b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/handlers/admincommandhandlers/AdminTeleport.java index 6daff49915..5156b0d577 100644 --- a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/handlers/admincommandhandlers/AdminTeleport.java +++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/handlers/admincommandhandlers/AdminTeleport.java @@ -558,6 +558,10 @@ public class AdminTeleport implements IAdminCommandHandler } SpawnTable.getInstance().addNewSpawn(spawn, true); spawn.init(); + if (respawnTime <= 0) + { + spawn.stopRespawn(); + } BuilderUtil.sendSysMessage(activeChar, "Created " + template1.getName() + " on " + target.getObjectId() + "."); } diff --git a/L2J_Mobius_5.0_Salvation/java/com/l2jmobius/gameserver/instancemanager/DBSpawnManager.java b/L2J_Mobius_5.0_Salvation/java/com/l2jmobius/gameserver/instancemanager/DBSpawnManager.java index 1d7bce8941..3333b479c6 100644 --- a/L2J_Mobius_5.0_Salvation/java/com/l2jmobius/gameserver/instancemanager/DBSpawnManager.java +++ b/L2J_Mobius_5.0_Salvation/java/com/l2jmobius/gameserver/instancemanager/DBSpawnManager.java @@ -133,6 +133,7 @@ public class DBSpawnManager } else { + spawn.stopRespawn(); LOGGER.warning(getClass().getSimpleName() + ": Found database spawns without respawn for npc: " + template.getId() + " - " + template.getName() + " " + spawnTemplate); continue; } diff --git a/L2J_Mobius_5.0_Salvation/java/com/l2jmobius/gameserver/instancemanager/SiegeGuardManager.java b/L2J_Mobius_5.0_Salvation/java/com/l2jmobius/gameserver/instancemanager/SiegeGuardManager.java index fe296e2e53..25bbfa5649 100644 --- a/L2J_Mobius_5.0_Salvation/java/com/l2jmobius/gameserver/instancemanager/SiegeGuardManager.java +++ b/L2J_Mobius_5.0_Salvation/java/com/l2jmobius/gameserver/instancemanager/SiegeGuardManager.java @@ -332,7 +332,7 @@ public final class SiegeGuardManager if (spawn != null) { spawn.init(); - if (isHired) + if (isHired || (spawn.getRespawnDelay() == 0)) { spawn.stopRespawn(); } diff --git a/L2J_Mobius_5.0_Salvation/java/com/l2jmobius/gameserver/model/L2Spawn.java b/L2J_Mobius_5.0_Salvation/java/com/l2jmobius/gameserver/model/L2Spawn.java index 4d52ad29e2..0f49eccdd8 100644 --- a/L2J_Mobius_5.0_Salvation/java/com/l2jmobius/gameserver/model/L2Spawn.java +++ b/L2J_Mobius_5.0_Salvation/java/com/l2jmobius/gameserver/model/L2Spawn.java @@ -291,7 +291,7 @@ public class L2Spawn extends Location implements IIdentifiable, INamable { doSpawn(); } - _doRespawn = _respawnMinDelay != 0; + _doRespawn = _respawnMinDelay > 0; return _currentCount; } diff --git a/L2J_Mobius_5.0_Salvation/java/com/l2jmobius/gameserver/model/entity/Castle.java b/L2J_Mobius_5.0_Salvation/java/com/l2jmobius/gameserver/model/entity/Castle.java index 241f6b8d9f..9a0f2042ab 100644 --- a/L2J_Mobius_5.0_Salvation/java/com/l2jmobius/gameserver/model/entity/Castle.java +++ b/L2J_Mobius_5.0_Salvation/java/com/l2jmobius/gameserver/model/entity/Castle.java @@ -1191,6 +1191,7 @@ public final class Castle extends AbstractResidence spawn.setXYZ(holder); spawn.setHeading(holder.getHeading()); final L2Npc npc = spawn.doSpawn(false); + spawn.stopRespawn(); npc.broadcastInfo(); _sideNpcs.add(npc); } diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/handlers/admincommandhandlers/AdminSpawn.java b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/handlers/admincommandhandlers/AdminSpawn.java index 19857bc7da..60bcced355 100644 --- a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/handlers/admincommandhandlers/AdminSpawn.java +++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/handlers/admincommandhandlers/AdminSpawn.java @@ -495,7 +495,7 @@ public class AdminSpawn implements IAdminCommandHandler SpawnTable.getInstance().addNewSpawn(spawn, permanent); spawn.init(); - if (!permanent) + if (!permanent || (respawnTime <= 0)) { spawn.stopRespawn(); } diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/handlers/admincommandhandlers/AdminTeleport.java b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/handlers/admincommandhandlers/AdminTeleport.java index 6daff49915..5156b0d577 100644 --- a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/handlers/admincommandhandlers/AdminTeleport.java +++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/handlers/admincommandhandlers/AdminTeleport.java @@ -558,6 +558,10 @@ public class AdminTeleport implements IAdminCommandHandler } SpawnTable.getInstance().addNewSpawn(spawn, true); spawn.init(); + if (respawnTime <= 0) + { + spawn.stopRespawn(); + } BuilderUtil.sendSysMessage(activeChar, "Created " + template1.getName() + " on " + target.getObjectId() + "."); } diff --git a/L2J_Mobius_5.5_EtinasFate/java/com/l2jmobius/gameserver/instancemanager/DBSpawnManager.java b/L2J_Mobius_5.5_EtinasFate/java/com/l2jmobius/gameserver/instancemanager/DBSpawnManager.java index 1d7bce8941..3333b479c6 100644 --- a/L2J_Mobius_5.5_EtinasFate/java/com/l2jmobius/gameserver/instancemanager/DBSpawnManager.java +++ b/L2J_Mobius_5.5_EtinasFate/java/com/l2jmobius/gameserver/instancemanager/DBSpawnManager.java @@ -133,6 +133,7 @@ public class DBSpawnManager } else { + spawn.stopRespawn(); LOGGER.warning(getClass().getSimpleName() + ": Found database spawns without respawn for npc: " + template.getId() + " - " + template.getName() + " " + spawnTemplate); continue; } diff --git a/L2J_Mobius_5.5_EtinasFate/java/com/l2jmobius/gameserver/instancemanager/SiegeGuardManager.java b/L2J_Mobius_5.5_EtinasFate/java/com/l2jmobius/gameserver/instancemanager/SiegeGuardManager.java index fe296e2e53..25bbfa5649 100644 --- a/L2J_Mobius_5.5_EtinasFate/java/com/l2jmobius/gameserver/instancemanager/SiegeGuardManager.java +++ b/L2J_Mobius_5.5_EtinasFate/java/com/l2jmobius/gameserver/instancemanager/SiegeGuardManager.java @@ -332,7 +332,7 @@ public final class SiegeGuardManager if (spawn != null) { spawn.init(); - if (isHired) + if (isHired || (spawn.getRespawnDelay() == 0)) { spawn.stopRespawn(); } diff --git a/L2J_Mobius_5.5_EtinasFate/java/com/l2jmobius/gameserver/model/L2Spawn.java b/L2J_Mobius_5.5_EtinasFate/java/com/l2jmobius/gameserver/model/L2Spawn.java index 4d52ad29e2..0f49eccdd8 100644 --- a/L2J_Mobius_5.5_EtinasFate/java/com/l2jmobius/gameserver/model/L2Spawn.java +++ b/L2J_Mobius_5.5_EtinasFate/java/com/l2jmobius/gameserver/model/L2Spawn.java @@ -291,7 +291,7 @@ public class L2Spawn extends Location implements IIdentifiable, INamable { doSpawn(); } - _doRespawn = _respawnMinDelay != 0; + _doRespawn = _respawnMinDelay > 0; return _currentCount; } diff --git a/L2J_Mobius_5.5_EtinasFate/java/com/l2jmobius/gameserver/model/entity/Castle.java b/L2J_Mobius_5.5_EtinasFate/java/com/l2jmobius/gameserver/model/entity/Castle.java index 241f6b8d9f..9a0f2042ab 100644 --- a/L2J_Mobius_5.5_EtinasFate/java/com/l2jmobius/gameserver/model/entity/Castle.java +++ b/L2J_Mobius_5.5_EtinasFate/java/com/l2jmobius/gameserver/model/entity/Castle.java @@ -1191,6 +1191,7 @@ public final class Castle extends AbstractResidence spawn.setXYZ(holder); spawn.setHeading(holder.getHeading()); final L2Npc npc = spawn.doSpawn(false); + spawn.stopRespawn(); npc.broadcastInfo(); _sideNpcs.add(npc); } diff --git a/L2J_Mobius_CT_2.6_HighFive/dist/game/data/scripts/ai/areas/ForgeOfTheGods/TarBeetleSpawn.java b/L2J_Mobius_CT_2.6_HighFive/dist/game/data/scripts/ai/areas/ForgeOfTheGods/TarBeetleSpawn.java index bed0333b05..24b1911d8b 100644 --- a/L2J_Mobius_CT_2.6_HighFive/dist/game/data/scripts/ai/areas/ForgeOfTheGods/TarBeetleSpawn.java +++ b/L2J_Mobius_CT_2.6_HighFive/dist/game/data/scripts/ai/areas/ForgeOfTheGods/TarBeetleSpawn.java @@ -228,8 +228,8 @@ public class TarBeetleSpawn implements IGameXmlReader final L2Spawn spawn = new L2Spawn(18804); spawn.setHeading(Rnd.get(65535)); spawn.setXYZ(location.getX(), location.getY(), GeoEngine.getInstance().getHeight(location.getX(), location.getY(), location.getZ())); - final L2Npc npc = spawn.doSpawn(); + spawn.stopRespawn(); npc.setRandomWalking(false); npc.setIsImmobilized(true); npc.setIsInvul(true); diff --git a/L2J_Mobius_CT_2.6_HighFive/dist/game/data/scripts/handlers/admincommandhandlers/AdminSpawn.java b/L2J_Mobius_CT_2.6_HighFive/dist/game/data/scripts/handlers/admincommandhandlers/AdminSpawn.java index 9ead73c334..847782ed0c 100644 --- a/L2J_Mobius_CT_2.6_HighFive/dist/game/data/scripts/handlers/admincommandhandlers/AdminSpawn.java +++ b/L2J_Mobius_CT_2.6_HighFive/dist/game/data/scripts/handlers/admincommandhandlers/AdminSpawn.java @@ -489,7 +489,7 @@ public class AdminSpawn implements IAdminCommandHandler SpawnTable.getInstance().addNewSpawn(spawn, permanent); spawn.init(); } - if (!permanent) + if (!permanent || (respawnTime <= 0)) { spawn.stopRespawn(); } diff --git a/L2J_Mobius_CT_2.6_HighFive/dist/game/data/scripts/handlers/admincommandhandlers/AdminTeleport.java b/L2J_Mobius_CT_2.6_HighFive/dist/game/data/scripts/handlers/admincommandhandlers/AdminTeleport.java index f4d84f13c3..14aaa23558 100644 --- a/L2J_Mobius_CT_2.6_HighFive/dist/game/data/scripts/handlers/admincommandhandlers/AdminTeleport.java +++ b/L2J_Mobius_CT_2.6_HighFive/dist/game/data/scripts/handlers/admincommandhandlers/AdminTeleport.java @@ -562,6 +562,10 @@ public class AdminTeleport implements IAdminCommandHandler } SpawnTable.getInstance().addNewSpawn(spawn, true); spawn.init(); + if (respawnTime <= 0) + { + spawn.stopRespawn(); + } BuilderUtil.sendSysMessage(activeChar, "Created " + target.getTemplate().getName() + " on " + target.getObjectId() + "."); } diff --git a/L2J_Mobius_CT_2.6_HighFive/java/com/l2jmobius/gameserver/instancemanager/SiegeGuardManager.java b/L2J_Mobius_CT_2.6_HighFive/java/com/l2jmobius/gameserver/instancemanager/SiegeGuardManager.java index 1f802255fb..51351c9bc3 100644 --- a/L2J_Mobius_CT_2.6_HighFive/java/com/l2jmobius/gameserver/instancemanager/SiegeGuardManager.java +++ b/L2J_Mobius_CT_2.6_HighFive/java/com/l2jmobius/gameserver/instancemanager/SiegeGuardManager.java @@ -160,6 +160,10 @@ public final class SiegeGuardManager return; } } + else if (spawn.getRespawnDelay() == 0) + { + spawn.stopRespawn(); + } } } } diff --git a/L2J_Mobius_CT_2.6_HighFive/java/com/l2jmobius/gameserver/model/AutoSpawnHandler.java b/L2J_Mobius_CT_2.6_HighFive/java/com/l2jmobius/gameserver/model/AutoSpawnHandler.java index eb0ab499f9..9c711b4cbb 100644 --- a/L2J_Mobius_CT_2.6_HighFive/java/com/l2jmobius/gameserver/model/AutoSpawnHandler.java +++ b/L2J_Mobius_CT_2.6_HighFive/java/com/l2jmobius/gameserver/model/AutoSpawnHandler.java @@ -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)]); diff --git a/L2J_Mobius_CT_2.6_HighFive/java/com/l2jmobius/gameserver/model/L2Spawn.java b/L2J_Mobius_CT_2.6_HighFive/java/com/l2jmobius/gameserver/model/L2Spawn.java index 649880f1eb..0a1d145190 100644 --- a/L2J_Mobius_CT_2.6_HighFive/java/com/l2jmobius/gameserver/model/L2Spawn.java +++ b/L2J_Mobius_CT_2.6_HighFive/java/com/l2jmobius/gameserver/model/L2Spawn.java @@ -286,7 +286,7 @@ public class L2Spawn extends Location implements IIdentifiable, INamable { doSpawn(); } - _doRespawn = _respawnMinDelay != 0; + _doRespawn = _respawnMinDelay > 0; return _currentCount; } diff --git a/L2J_Mobius_CT_2.6_HighFive/java/com/l2jmobius/gameserver/model/entity/clanhall/ClanHallSiegeEngine.java b/L2J_Mobius_CT_2.6_HighFive/java/com/l2jmobius/gameserver/model/entity/clanhall/ClanHallSiegeEngine.java index 0e3e24c083..d230ee19d8 100644 --- a/L2J_Mobius_CT_2.6_HighFive/java/com/l2jmobius/gameserver/model/entity/clanhall/ClanHallSiegeEngine.java +++ b/L2J_Mobius_CT_2.6_HighFive/java/com/l2jmobius/gameserver/model/entity/clanhall/ClanHallSiegeEngine.java @@ -174,6 +174,10 @@ public abstract class ClanHallSiegeEngine extends Quest implements Siegable for (L2Spawn guard : _guards) { guard.init(); + if (guard.getRespawnDelay() == 0) + { + guard.stopRespawn(); + } } } diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/handlers/admincommandhandlers/AdminSpawn.java b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/handlers/admincommandhandlers/AdminSpawn.java index 19857bc7da..60bcced355 100644 --- a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/handlers/admincommandhandlers/AdminSpawn.java +++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/handlers/admincommandhandlers/AdminSpawn.java @@ -495,7 +495,7 @@ public class AdminSpawn implements IAdminCommandHandler SpawnTable.getInstance().addNewSpawn(spawn, permanent); spawn.init(); - if (!permanent) + if (!permanent || (respawnTime <= 0)) { spawn.stopRespawn(); } diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/handlers/admincommandhandlers/AdminTeleport.java b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/handlers/admincommandhandlers/AdminTeleport.java index 6daff49915..5156b0d577 100644 --- a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/handlers/admincommandhandlers/AdminTeleport.java +++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/handlers/admincommandhandlers/AdminTeleport.java @@ -558,6 +558,10 @@ public class AdminTeleport implements IAdminCommandHandler } SpawnTable.getInstance().addNewSpawn(spawn, true); spawn.init(); + if (respawnTime <= 0) + { + spawn.stopRespawn(); + } BuilderUtil.sendSysMessage(activeChar, "Created " + template1.getName() + " on " + target.getObjectId() + "."); } diff --git a/L2J_Mobius_Classic_2.0_Saviors/java/com/l2jmobius/gameserver/instancemanager/DBSpawnManager.java b/L2J_Mobius_Classic_2.0_Saviors/java/com/l2jmobius/gameserver/instancemanager/DBSpawnManager.java index 1d7bce8941..3333b479c6 100644 --- a/L2J_Mobius_Classic_2.0_Saviors/java/com/l2jmobius/gameserver/instancemanager/DBSpawnManager.java +++ b/L2J_Mobius_Classic_2.0_Saviors/java/com/l2jmobius/gameserver/instancemanager/DBSpawnManager.java @@ -133,6 +133,7 @@ public class DBSpawnManager } else { + spawn.stopRespawn(); LOGGER.warning(getClass().getSimpleName() + ": Found database spawns without respawn for npc: " + template.getId() + " - " + template.getName() + " " + spawnTemplate); continue; } diff --git a/L2J_Mobius_Classic_2.0_Saviors/java/com/l2jmobius/gameserver/instancemanager/SiegeGuardManager.java b/L2J_Mobius_Classic_2.0_Saviors/java/com/l2jmobius/gameserver/instancemanager/SiegeGuardManager.java index fe296e2e53..25bbfa5649 100644 --- a/L2J_Mobius_Classic_2.0_Saviors/java/com/l2jmobius/gameserver/instancemanager/SiegeGuardManager.java +++ b/L2J_Mobius_Classic_2.0_Saviors/java/com/l2jmobius/gameserver/instancemanager/SiegeGuardManager.java @@ -332,7 +332,7 @@ public final class SiegeGuardManager if (spawn != null) { spawn.init(); - if (isHired) + if (isHired || (spawn.getRespawnDelay() == 0)) { spawn.stopRespawn(); } diff --git a/L2J_Mobius_Classic_2.0_Saviors/java/com/l2jmobius/gameserver/model/L2Spawn.java b/L2J_Mobius_Classic_2.0_Saviors/java/com/l2jmobius/gameserver/model/L2Spawn.java index 4d52ad29e2..0f49eccdd8 100644 --- a/L2J_Mobius_Classic_2.0_Saviors/java/com/l2jmobius/gameserver/model/L2Spawn.java +++ b/L2J_Mobius_Classic_2.0_Saviors/java/com/l2jmobius/gameserver/model/L2Spawn.java @@ -291,7 +291,7 @@ public class L2Spawn extends Location implements IIdentifiable, INamable { doSpawn(); } - _doRespawn = _respawnMinDelay != 0; + _doRespawn = _respawnMinDelay > 0; return _currentCount; } diff --git a/L2J_Mobius_Classic_2.0_Saviors/java/com/l2jmobius/gameserver/model/entity/Castle.java b/L2J_Mobius_Classic_2.0_Saviors/java/com/l2jmobius/gameserver/model/entity/Castle.java index 561ef10af7..c9b8fe5393 100644 --- a/L2J_Mobius_Classic_2.0_Saviors/java/com/l2jmobius/gameserver/model/entity/Castle.java +++ b/L2J_Mobius_Classic_2.0_Saviors/java/com/l2jmobius/gameserver/model/entity/Castle.java @@ -1190,6 +1190,7 @@ public final class Castle extends AbstractResidence spawn.setXYZ(holder); spawn.setHeading(holder.getHeading()); final L2Npc npc = spawn.doSpawn(false); + spawn.stopRespawn(); npc.broadcastInfo(); _sideNpcs.add(npc); } diff --git a/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/handlers/admincommandhandlers/AdminSpawn.java b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/handlers/admincommandhandlers/AdminSpawn.java index 19857bc7da..60bcced355 100644 --- a/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/handlers/admincommandhandlers/AdminSpawn.java +++ b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/handlers/admincommandhandlers/AdminSpawn.java @@ -495,7 +495,7 @@ public class AdminSpawn implements IAdminCommandHandler SpawnTable.getInstance().addNewSpawn(spawn, permanent); spawn.init(); - if (!permanent) + if (!permanent || (respawnTime <= 0)) { spawn.stopRespawn(); } diff --git a/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/handlers/admincommandhandlers/AdminTeleport.java b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/handlers/admincommandhandlers/AdminTeleport.java index 6daff49915..5156b0d577 100644 --- a/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/handlers/admincommandhandlers/AdminTeleport.java +++ b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/handlers/admincommandhandlers/AdminTeleport.java @@ -558,6 +558,10 @@ public class AdminTeleport implements IAdminCommandHandler } SpawnTable.getInstance().addNewSpawn(spawn, true); spawn.init(); + if (respawnTime <= 0) + { + spawn.stopRespawn(); + } BuilderUtil.sendSysMessage(activeChar, "Created " + template1.getName() + " on " + target.getObjectId() + "."); } diff --git a/L2J_Mobius_Classic_2.1_Zaken/java/com/l2jmobius/gameserver/instancemanager/DBSpawnManager.java b/L2J_Mobius_Classic_2.1_Zaken/java/com/l2jmobius/gameserver/instancemanager/DBSpawnManager.java index 1d7bce8941..3333b479c6 100644 --- a/L2J_Mobius_Classic_2.1_Zaken/java/com/l2jmobius/gameserver/instancemanager/DBSpawnManager.java +++ b/L2J_Mobius_Classic_2.1_Zaken/java/com/l2jmobius/gameserver/instancemanager/DBSpawnManager.java @@ -133,6 +133,7 @@ public class DBSpawnManager } else { + spawn.stopRespawn(); LOGGER.warning(getClass().getSimpleName() + ": Found database spawns without respawn for npc: " + template.getId() + " - " + template.getName() + " " + spawnTemplate); continue; } diff --git a/L2J_Mobius_Classic_2.1_Zaken/java/com/l2jmobius/gameserver/instancemanager/SiegeGuardManager.java b/L2J_Mobius_Classic_2.1_Zaken/java/com/l2jmobius/gameserver/instancemanager/SiegeGuardManager.java index fe296e2e53..25bbfa5649 100644 --- a/L2J_Mobius_Classic_2.1_Zaken/java/com/l2jmobius/gameserver/instancemanager/SiegeGuardManager.java +++ b/L2J_Mobius_Classic_2.1_Zaken/java/com/l2jmobius/gameserver/instancemanager/SiegeGuardManager.java @@ -332,7 +332,7 @@ public final class SiegeGuardManager if (spawn != null) { spawn.init(); - if (isHired) + if (isHired || (spawn.getRespawnDelay() == 0)) { spawn.stopRespawn(); } diff --git a/L2J_Mobius_Classic_2.1_Zaken/java/com/l2jmobius/gameserver/model/L2Spawn.java b/L2J_Mobius_Classic_2.1_Zaken/java/com/l2jmobius/gameserver/model/L2Spawn.java index 4d52ad29e2..0f49eccdd8 100644 --- a/L2J_Mobius_Classic_2.1_Zaken/java/com/l2jmobius/gameserver/model/L2Spawn.java +++ b/L2J_Mobius_Classic_2.1_Zaken/java/com/l2jmobius/gameserver/model/L2Spawn.java @@ -291,7 +291,7 @@ public class L2Spawn extends Location implements IIdentifiable, INamable { doSpawn(); } - _doRespawn = _respawnMinDelay != 0; + _doRespawn = _respawnMinDelay > 0; return _currentCount; } diff --git a/L2J_Mobius_Classic_2.1_Zaken/java/com/l2jmobius/gameserver/model/entity/Castle.java b/L2J_Mobius_Classic_2.1_Zaken/java/com/l2jmobius/gameserver/model/entity/Castle.java index 561ef10af7..c9b8fe5393 100644 --- a/L2J_Mobius_Classic_2.1_Zaken/java/com/l2jmobius/gameserver/model/entity/Castle.java +++ b/L2J_Mobius_Classic_2.1_Zaken/java/com/l2jmobius/gameserver/model/entity/Castle.java @@ -1190,6 +1190,7 @@ public final class Castle extends AbstractResidence spawn.setXYZ(holder); spawn.setHeading(holder.getHeading()); final L2Npc npc = spawn.doSpawn(false); + spawn.stopRespawn(); npc.broadcastInfo(); _sideNpcs.add(npc); } diff --git a/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/handlers/admincommandhandlers/AdminSpawn.java b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/handlers/admincommandhandlers/AdminSpawn.java index 19857bc7da..60bcced355 100644 --- a/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/handlers/admincommandhandlers/AdminSpawn.java +++ b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/handlers/admincommandhandlers/AdminSpawn.java @@ -495,7 +495,7 @@ public class AdminSpawn implements IAdminCommandHandler SpawnTable.getInstance().addNewSpawn(spawn, permanent); spawn.init(); - if (!permanent) + if (!permanent || (respawnTime <= 0)) { spawn.stopRespawn(); } diff --git a/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/handlers/admincommandhandlers/AdminTeleport.java b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/handlers/admincommandhandlers/AdminTeleport.java index 6daff49915..5156b0d577 100644 --- a/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/handlers/admincommandhandlers/AdminTeleport.java +++ b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/handlers/admincommandhandlers/AdminTeleport.java @@ -558,6 +558,10 @@ public class AdminTeleport implements IAdminCommandHandler } SpawnTable.getInstance().addNewSpawn(spawn, true); spawn.init(); + if (respawnTime <= 0) + { + spawn.stopRespawn(); + } BuilderUtil.sendSysMessage(activeChar, "Created " + template1.getName() + " on " + target.getObjectId() + "."); } diff --git a/L2J_Mobius_Classic_2.2_Antharas/java/com/l2jmobius/gameserver/instancemanager/DBSpawnManager.java b/L2J_Mobius_Classic_2.2_Antharas/java/com/l2jmobius/gameserver/instancemanager/DBSpawnManager.java index 1d7bce8941..3333b479c6 100644 --- a/L2J_Mobius_Classic_2.2_Antharas/java/com/l2jmobius/gameserver/instancemanager/DBSpawnManager.java +++ b/L2J_Mobius_Classic_2.2_Antharas/java/com/l2jmobius/gameserver/instancemanager/DBSpawnManager.java @@ -133,6 +133,7 @@ public class DBSpawnManager } else { + spawn.stopRespawn(); LOGGER.warning(getClass().getSimpleName() + ": Found database spawns without respawn for npc: " + template.getId() + " - " + template.getName() + " " + spawnTemplate); continue; } diff --git a/L2J_Mobius_Classic_2.2_Antharas/java/com/l2jmobius/gameserver/instancemanager/SiegeGuardManager.java b/L2J_Mobius_Classic_2.2_Antharas/java/com/l2jmobius/gameserver/instancemanager/SiegeGuardManager.java index fe296e2e53..25bbfa5649 100644 --- a/L2J_Mobius_Classic_2.2_Antharas/java/com/l2jmobius/gameserver/instancemanager/SiegeGuardManager.java +++ b/L2J_Mobius_Classic_2.2_Antharas/java/com/l2jmobius/gameserver/instancemanager/SiegeGuardManager.java @@ -332,7 +332,7 @@ public final class SiegeGuardManager if (spawn != null) { spawn.init(); - if (isHired) + if (isHired || (spawn.getRespawnDelay() == 0)) { spawn.stopRespawn(); } diff --git a/L2J_Mobius_Classic_2.2_Antharas/java/com/l2jmobius/gameserver/model/L2Spawn.java b/L2J_Mobius_Classic_2.2_Antharas/java/com/l2jmobius/gameserver/model/L2Spawn.java index 4d52ad29e2..0f49eccdd8 100644 --- a/L2J_Mobius_Classic_2.2_Antharas/java/com/l2jmobius/gameserver/model/L2Spawn.java +++ b/L2J_Mobius_Classic_2.2_Antharas/java/com/l2jmobius/gameserver/model/L2Spawn.java @@ -291,7 +291,7 @@ public class L2Spawn extends Location implements IIdentifiable, INamable { doSpawn(); } - _doRespawn = _respawnMinDelay != 0; + _doRespawn = _respawnMinDelay > 0; return _currentCount; } diff --git a/L2J_Mobius_Classic_2.2_Antharas/java/com/l2jmobius/gameserver/model/entity/Castle.java b/L2J_Mobius_Classic_2.2_Antharas/java/com/l2jmobius/gameserver/model/entity/Castle.java index 561ef10af7..c9b8fe5393 100644 --- a/L2J_Mobius_Classic_2.2_Antharas/java/com/l2jmobius/gameserver/model/entity/Castle.java +++ b/L2J_Mobius_Classic_2.2_Antharas/java/com/l2jmobius/gameserver/model/entity/Castle.java @@ -1190,6 +1190,7 @@ public final class Castle extends AbstractResidence spawn.setXYZ(holder); spawn.setHeading(holder.getHeading()); final L2Npc npc = spawn.doSpawn(false); + spawn.stopRespawn(); npc.broadcastInfo(); _sideNpcs.add(npc); } diff --git a/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/scripts/handlers/admincommandhandlers/AdminSpawn.java b/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/scripts/handlers/admincommandhandlers/AdminSpawn.java index 19857bc7da..60bcced355 100644 --- a/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/scripts/handlers/admincommandhandlers/AdminSpawn.java +++ b/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/scripts/handlers/admincommandhandlers/AdminSpawn.java @@ -495,7 +495,7 @@ public class AdminSpawn implements IAdminCommandHandler SpawnTable.getInstance().addNewSpawn(spawn, permanent); spawn.init(); - if (!permanent) + if (!permanent || (respawnTime <= 0)) { spawn.stopRespawn(); } diff --git a/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/scripts/handlers/admincommandhandlers/AdminTeleport.java b/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/scripts/handlers/admincommandhandlers/AdminTeleport.java index 6daff49915..5156b0d577 100644 --- a/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/scripts/handlers/admincommandhandlers/AdminTeleport.java +++ b/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/scripts/handlers/admincommandhandlers/AdminTeleport.java @@ -558,6 +558,10 @@ public class AdminTeleport implements IAdminCommandHandler } SpawnTable.getInstance().addNewSpawn(spawn, true); spawn.init(); + if (respawnTime <= 0) + { + spawn.stopRespawn(); + } BuilderUtil.sendSysMessage(activeChar, "Created " + template1.getName() + " on " + target.getObjectId() + "."); } diff --git a/L2J_Mobius_Classic_2.3_SevenSigns/java/com/l2jmobius/gameserver/instancemanager/DBSpawnManager.java b/L2J_Mobius_Classic_2.3_SevenSigns/java/com/l2jmobius/gameserver/instancemanager/DBSpawnManager.java index 1d7bce8941..3333b479c6 100644 --- a/L2J_Mobius_Classic_2.3_SevenSigns/java/com/l2jmobius/gameserver/instancemanager/DBSpawnManager.java +++ b/L2J_Mobius_Classic_2.3_SevenSigns/java/com/l2jmobius/gameserver/instancemanager/DBSpawnManager.java @@ -133,6 +133,7 @@ public class DBSpawnManager } else { + spawn.stopRespawn(); LOGGER.warning(getClass().getSimpleName() + ": Found database spawns without respawn for npc: " + template.getId() + " - " + template.getName() + " " + spawnTemplate); continue; } diff --git a/L2J_Mobius_Classic_2.3_SevenSigns/java/com/l2jmobius/gameserver/instancemanager/SiegeGuardManager.java b/L2J_Mobius_Classic_2.3_SevenSigns/java/com/l2jmobius/gameserver/instancemanager/SiegeGuardManager.java index fe296e2e53..25bbfa5649 100644 --- a/L2J_Mobius_Classic_2.3_SevenSigns/java/com/l2jmobius/gameserver/instancemanager/SiegeGuardManager.java +++ b/L2J_Mobius_Classic_2.3_SevenSigns/java/com/l2jmobius/gameserver/instancemanager/SiegeGuardManager.java @@ -332,7 +332,7 @@ public final class SiegeGuardManager if (spawn != null) { spawn.init(); - if (isHired) + if (isHired || (spawn.getRespawnDelay() == 0)) { spawn.stopRespawn(); } diff --git a/L2J_Mobius_Classic_2.3_SevenSigns/java/com/l2jmobius/gameserver/model/L2Spawn.java b/L2J_Mobius_Classic_2.3_SevenSigns/java/com/l2jmobius/gameserver/model/L2Spawn.java index 4d52ad29e2..0f49eccdd8 100644 --- a/L2J_Mobius_Classic_2.3_SevenSigns/java/com/l2jmobius/gameserver/model/L2Spawn.java +++ b/L2J_Mobius_Classic_2.3_SevenSigns/java/com/l2jmobius/gameserver/model/L2Spawn.java @@ -291,7 +291,7 @@ public class L2Spawn extends Location implements IIdentifiable, INamable { doSpawn(); } - _doRespawn = _respawnMinDelay != 0; + _doRespawn = _respawnMinDelay > 0; return _currentCount; } diff --git a/L2J_Mobius_Classic_2.3_SevenSigns/java/com/l2jmobius/gameserver/model/entity/Castle.java b/L2J_Mobius_Classic_2.3_SevenSigns/java/com/l2jmobius/gameserver/model/entity/Castle.java index 561ef10af7..c9b8fe5393 100644 --- a/L2J_Mobius_Classic_2.3_SevenSigns/java/com/l2jmobius/gameserver/model/entity/Castle.java +++ b/L2J_Mobius_Classic_2.3_SevenSigns/java/com/l2jmobius/gameserver/model/entity/Castle.java @@ -1190,6 +1190,7 @@ public final class Castle extends AbstractResidence spawn.setXYZ(holder); spawn.setHeading(holder.getHeading()); final L2Npc npc = spawn.doSpawn(false); + spawn.stopRespawn(); npc.broadcastInfo(); _sideNpcs.add(npc); }