Make use of original spawn location for deletion and info.
This commit is contained in:
parent
35e9f2dd5a
commit
569faf521d
@ -128,8 +128,7 @@ public class NpcActionShift implements IActionShiftHandler
|
||||
}
|
||||
html.replace("%spawnai%", "<font color=FF0000>" + template.getSpawnTemplate().getAI() + "</font>");
|
||||
}
|
||||
|
||||
html.replace("%spawn%", npc.getSpawn().getX() + " " + npc.getSpawn().getY() + " " + npc.getSpawn().getZ());
|
||||
html.replace("%spawn%", (template != null ? template.getSpawnLocation().getX() : npc.getSpawn().getX()) + " " + (template != null ? template.getSpawnLocation().getY() : npc.getSpawn().getY()) + " " + (template != null ? template.getSpawnLocation().getZ() : npc.getSpawn().getZ()));
|
||||
if (npc.getSpawn().getRespawnMinDelay() == 0)
|
||||
{
|
||||
html.replace("%resp%", "None");
|
||||
|
@ -32,6 +32,7 @@ import org.l2jmobius.Config;
|
||||
import org.l2jmobius.gameserver.data.xml.NpcData;
|
||||
import org.l2jmobius.gameserver.model.Spawn;
|
||||
import org.l2jmobius.gameserver.model.World;
|
||||
import org.l2jmobius.gameserver.model.spawns.NpcSpawnTemplate;
|
||||
|
||||
/**
|
||||
* Spawn data retriever.
|
||||
@ -194,16 +195,17 @@ public class SpawnTable
|
||||
{
|
||||
final int x = ((spawn.getX() - World.WORLD_X_MIN) >> 15) + World.TILE_X_MIN;
|
||||
final int y = ((spawn.getY() - World.WORLD_Y_MIN) >> 15) + World.TILE_Y_MIN;
|
||||
final File spawnFile = spawn.getNpcSpawnTemplate() != null ? spawn.getNpcSpawnTemplate().getSpawnTemplate().getFile() : new File(OTHER_XML_FOLDER + "/" + x + "_" + y + ".xml");
|
||||
final NpcSpawnTemplate npcSpawnTemplate = spawn.getNpcSpawnTemplate();
|
||||
final File spawnFile = npcSpawnTemplate != null ? npcSpawnTemplate.getSpawnTemplate().getFile() : new File(OTHER_XML_FOLDER + "/" + x + "_" + y + ".xml");
|
||||
final File tempFile = new File(spawnFile.getAbsolutePath().substring(Config.DATAPACK_ROOT.getAbsolutePath().length() + 1).replace('\\', '/') + ".tmp");
|
||||
try
|
||||
{
|
||||
final BufferedReader reader = new BufferedReader(new FileReader(spawnFile));
|
||||
final BufferedWriter writer = new BufferedWriter(new FileWriter(tempFile));
|
||||
final String spawnId = String.valueOf(spawn.getId());
|
||||
final String spawnX = String.valueOf(spawn.getX());
|
||||
final String spawnY = String.valueOf(spawn.getY());
|
||||
final String spawnZ = String.valueOf(spawn.getZ());
|
||||
final String spawnX = String.valueOf(npcSpawnTemplate != null ? npcSpawnTemplate.getSpawnLocation().getX() : spawn.getX());
|
||||
final String spawnY = String.valueOf(npcSpawnTemplate != null ? npcSpawnTemplate.getSpawnLocation().getY() : spawn.getY());
|
||||
final String spawnZ = String.valueOf(npcSpawnTemplate != null ? npcSpawnTemplate.getSpawnLocation().getZ() : spawn.getZ());
|
||||
boolean found = false; // in XML you can have more than one spawn with same coords
|
||||
boolean isMultiLine = false; // in case spawn has more stats
|
||||
boolean lastLineFound = false; // used to check for empty file
|
||||
|
@ -128,8 +128,7 @@ public class NpcActionShift implements IActionShiftHandler
|
||||
}
|
||||
html.replace("%spawnai%", "<font color=FF0000>" + template.getSpawnTemplate().getAI() + "</font>");
|
||||
}
|
||||
|
||||
html.replace("%spawn%", npc.getSpawn().getX() + " " + npc.getSpawn().getY() + " " + npc.getSpawn().getZ());
|
||||
html.replace("%spawn%", (template != null ? template.getSpawnLocation().getX() : npc.getSpawn().getX()) + " " + (template != null ? template.getSpawnLocation().getY() : npc.getSpawn().getY()) + " " + (template != null ? template.getSpawnLocation().getZ() : npc.getSpawn().getZ()));
|
||||
if (npc.getSpawn().getRespawnMinDelay() == 0)
|
||||
{
|
||||
html.replace("%resp%", "None");
|
||||
|
@ -32,6 +32,7 @@ import org.l2jmobius.Config;
|
||||
import org.l2jmobius.gameserver.data.xml.NpcData;
|
||||
import org.l2jmobius.gameserver.model.Spawn;
|
||||
import org.l2jmobius.gameserver.model.World;
|
||||
import org.l2jmobius.gameserver.model.spawns.NpcSpawnTemplate;
|
||||
|
||||
/**
|
||||
* Spawn data retriever.
|
||||
@ -194,16 +195,17 @@ public class SpawnTable
|
||||
{
|
||||
final int x = ((spawn.getX() - World.WORLD_X_MIN) >> 15) + World.TILE_X_MIN;
|
||||
final int y = ((spawn.getY() - World.WORLD_Y_MIN) >> 15) + World.TILE_Y_MIN;
|
||||
final File spawnFile = spawn.getNpcSpawnTemplate() != null ? spawn.getNpcSpawnTemplate().getSpawnTemplate().getFile() : new File(OTHER_XML_FOLDER + "/" + x + "_" + y + ".xml");
|
||||
final NpcSpawnTemplate npcSpawnTemplate = spawn.getNpcSpawnTemplate();
|
||||
final File spawnFile = npcSpawnTemplate != null ? npcSpawnTemplate.getSpawnTemplate().getFile() : new File(OTHER_XML_FOLDER + "/" + x + "_" + y + ".xml");
|
||||
final File tempFile = new File(spawnFile.getAbsolutePath().substring(Config.DATAPACK_ROOT.getAbsolutePath().length() + 1).replace('\\', '/') + ".tmp");
|
||||
try
|
||||
{
|
||||
final BufferedReader reader = new BufferedReader(new FileReader(spawnFile));
|
||||
final BufferedWriter writer = new BufferedWriter(new FileWriter(tempFile));
|
||||
final String spawnId = String.valueOf(spawn.getId());
|
||||
final String spawnX = String.valueOf(spawn.getX());
|
||||
final String spawnY = String.valueOf(spawn.getY());
|
||||
final String spawnZ = String.valueOf(spawn.getZ());
|
||||
final String spawnX = String.valueOf(npcSpawnTemplate != null ? npcSpawnTemplate.getSpawnLocation().getX() : spawn.getX());
|
||||
final String spawnY = String.valueOf(npcSpawnTemplate != null ? npcSpawnTemplate.getSpawnLocation().getY() : spawn.getY());
|
||||
final String spawnZ = String.valueOf(npcSpawnTemplate != null ? npcSpawnTemplate.getSpawnLocation().getZ() : spawn.getZ());
|
||||
boolean found = false; // in XML you can have more than one spawn with same coords
|
||||
boolean isMultiLine = false; // in case spawn has more stats
|
||||
boolean lastLineFound = false; // used to check for empty file
|
||||
|
@ -128,8 +128,7 @@ public class NpcActionShift implements IActionShiftHandler
|
||||
}
|
||||
html.replace("%spawnai%", "<font color=FF0000>" + template.getSpawnTemplate().getAI() + "</font>");
|
||||
}
|
||||
|
||||
html.replace("%spawn%", npc.getSpawn().getX() + " " + npc.getSpawn().getY() + " " + npc.getSpawn().getZ());
|
||||
html.replace("%spawn%", (template != null ? template.getSpawnLocation().getX() : npc.getSpawn().getX()) + " " + (template != null ? template.getSpawnLocation().getY() : npc.getSpawn().getY()) + " " + (template != null ? template.getSpawnLocation().getZ() : npc.getSpawn().getZ()));
|
||||
if (npc.getSpawn().getRespawnMinDelay() == 0)
|
||||
{
|
||||
html.replace("%resp%", "None");
|
||||
|
@ -32,6 +32,7 @@ import org.l2jmobius.Config;
|
||||
import org.l2jmobius.gameserver.data.xml.NpcData;
|
||||
import org.l2jmobius.gameserver.model.Spawn;
|
||||
import org.l2jmobius.gameserver.model.World;
|
||||
import org.l2jmobius.gameserver.model.spawns.NpcSpawnTemplate;
|
||||
|
||||
/**
|
||||
* Spawn data retriever.
|
||||
@ -194,16 +195,17 @@ public class SpawnTable
|
||||
{
|
||||
final int x = ((spawn.getX() - World.WORLD_X_MIN) >> 15) + World.TILE_X_MIN;
|
||||
final int y = ((spawn.getY() - World.WORLD_Y_MIN) >> 15) + World.TILE_Y_MIN;
|
||||
final File spawnFile = spawn.getNpcSpawnTemplate() != null ? spawn.getNpcSpawnTemplate().getSpawnTemplate().getFile() : new File(OTHER_XML_FOLDER + "/" + x + "_" + y + ".xml");
|
||||
final NpcSpawnTemplate npcSpawnTemplate = spawn.getNpcSpawnTemplate();
|
||||
final File spawnFile = npcSpawnTemplate != null ? npcSpawnTemplate.getSpawnTemplate().getFile() : new File(OTHER_XML_FOLDER + "/" + x + "_" + y + ".xml");
|
||||
final File tempFile = new File(spawnFile.getAbsolutePath().substring(Config.DATAPACK_ROOT.getAbsolutePath().length() + 1).replace('\\', '/') + ".tmp");
|
||||
try
|
||||
{
|
||||
final BufferedReader reader = new BufferedReader(new FileReader(spawnFile));
|
||||
final BufferedWriter writer = new BufferedWriter(new FileWriter(tempFile));
|
||||
final String spawnId = String.valueOf(spawn.getId());
|
||||
final String spawnX = String.valueOf(spawn.getX());
|
||||
final String spawnY = String.valueOf(spawn.getY());
|
||||
final String spawnZ = String.valueOf(spawn.getZ());
|
||||
final String spawnX = String.valueOf(npcSpawnTemplate != null ? npcSpawnTemplate.getSpawnLocation().getX() : spawn.getX());
|
||||
final String spawnY = String.valueOf(npcSpawnTemplate != null ? npcSpawnTemplate.getSpawnLocation().getY() : spawn.getY());
|
||||
final String spawnZ = String.valueOf(npcSpawnTemplate != null ? npcSpawnTemplate.getSpawnLocation().getZ() : spawn.getZ());
|
||||
boolean found = false; // in XML you can have more than one spawn with same coords
|
||||
boolean isMultiLine = false; // in case spawn has more stats
|
||||
boolean lastLineFound = false; // used to check for empty file
|
||||
|
@ -128,8 +128,7 @@ public class NpcActionShift implements IActionShiftHandler
|
||||
}
|
||||
html.replace("%spawnai%", "<font color=FF0000>" + template.getSpawnTemplate().getAI() + "</font>");
|
||||
}
|
||||
|
||||
html.replace("%spawn%", npc.getSpawn().getX() + " " + npc.getSpawn().getY() + " " + npc.getSpawn().getZ());
|
||||
html.replace("%spawn%", (template != null ? template.getSpawnLocation().getX() : npc.getSpawn().getX()) + " " + (template != null ? template.getSpawnLocation().getY() : npc.getSpawn().getY()) + " " + (template != null ? template.getSpawnLocation().getZ() : npc.getSpawn().getZ()));
|
||||
if (npc.getSpawn().getRespawnMinDelay() == 0)
|
||||
{
|
||||
html.replace("%resp%", "None");
|
||||
|
@ -32,6 +32,7 @@ import org.l2jmobius.Config;
|
||||
import org.l2jmobius.gameserver.data.xml.NpcData;
|
||||
import org.l2jmobius.gameserver.model.Spawn;
|
||||
import org.l2jmobius.gameserver.model.World;
|
||||
import org.l2jmobius.gameserver.model.spawns.NpcSpawnTemplate;
|
||||
|
||||
/**
|
||||
* Spawn data retriever.
|
||||
@ -194,16 +195,17 @@ public class SpawnTable
|
||||
{
|
||||
final int x = ((spawn.getX() - World.WORLD_X_MIN) >> 15) + World.TILE_X_MIN;
|
||||
final int y = ((spawn.getY() - World.WORLD_Y_MIN) >> 15) + World.TILE_Y_MIN;
|
||||
final File spawnFile = spawn.getNpcSpawnTemplate() != null ? spawn.getNpcSpawnTemplate().getSpawnTemplate().getFile() : new File(OTHER_XML_FOLDER + "/" + x + "_" + y + ".xml");
|
||||
final NpcSpawnTemplate npcSpawnTemplate = spawn.getNpcSpawnTemplate();
|
||||
final File spawnFile = npcSpawnTemplate != null ? npcSpawnTemplate.getSpawnTemplate().getFile() : new File(OTHER_XML_FOLDER + "/" + x + "_" + y + ".xml");
|
||||
final File tempFile = new File(spawnFile.getAbsolutePath().substring(Config.DATAPACK_ROOT.getAbsolutePath().length() + 1).replace('\\', '/') + ".tmp");
|
||||
try
|
||||
{
|
||||
final BufferedReader reader = new BufferedReader(new FileReader(spawnFile));
|
||||
final BufferedWriter writer = new BufferedWriter(new FileWriter(tempFile));
|
||||
final String spawnId = String.valueOf(spawn.getId());
|
||||
final String spawnX = String.valueOf(spawn.getX());
|
||||
final String spawnY = String.valueOf(spawn.getY());
|
||||
final String spawnZ = String.valueOf(spawn.getZ());
|
||||
final String spawnX = String.valueOf(npcSpawnTemplate != null ? npcSpawnTemplate.getSpawnLocation().getX() : spawn.getX());
|
||||
final String spawnY = String.valueOf(npcSpawnTemplate != null ? npcSpawnTemplate.getSpawnLocation().getY() : spawn.getY());
|
||||
final String spawnZ = String.valueOf(npcSpawnTemplate != null ? npcSpawnTemplate.getSpawnLocation().getZ() : spawn.getZ());
|
||||
boolean found = false; // in XML you can have more than one spawn with same coords
|
||||
boolean isMultiLine = false; // in case spawn has more stats
|
||||
boolean lastLineFound = false; // used to check for empty file
|
||||
|
@ -128,8 +128,7 @@ public class NpcActionShift implements IActionShiftHandler
|
||||
}
|
||||
html.replace("%spawnai%", "<font color=FF0000>" + template.getSpawnTemplate().getAI() + "</font>");
|
||||
}
|
||||
|
||||
html.replace("%spawn%", npc.getSpawn().getX() + " " + npc.getSpawn().getY() + " " + npc.getSpawn().getZ());
|
||||
html.replace("%spawn%", (template != null ? template.getSpawnLocation().getX() : npc.getSpawn().getX()) + " " + (template != null ? template.getSpawnLocation().getY() : npc.getSpawn().getY()) + " " + (template != null ? template.getSpawnLocation().getZ() : npc.getSpawn().getZ()));
|
||||
if (npc.getSpawn().getRespawnMinDelay() == 0)
|
||||
{
|
||||
html.replace("%resp%", "None");
|
||||
|
@ -32,6 +32,7 @@ import org.l2jmobius.Config;
|
||||
import org.l2jmobius.gameserver.data.xml.NpcData;
|
||||
import org.l2jmobius.gameserver.model.Spawn;
|
||||
import org.l2jmobius.gameserver.model.World;
|
||||
import org.l2jmobius.gameserver.model.spawns.NpcSpawnTemplate;
|
||||
|
||||
/**
|
||||
* Spawn data retriever.
|
||||
@ -194,16 +195,17 @@ public class SpawnTable
|
||||
{
|
||||
final int x = ((spawn.getX() - World.WORLD_X_MIN) >> 15) + World.TILE_X_MIN;
|
||||
final int y = ((spawn.getY() - World.WORLD_Y_MIN) >> 15) + World.TILE_Y_MIN;
|
||||
final File spawnFile = spawn.getNpcSpawnTemplate() != null ? spawn.getNpcSpawnTemplate().getSpawnTemplate().getFile() : new File(OTHER_XML_FOLDER + "/" + x + "_" + y + ".xml");
|
||||
final NpcSpawnTemplate npcSpawnTemplate = spawn.getNpcSpawnTemplate();
|
||||
final File spawnFile = npcSpawnTemplate != null ? npcSpawnTemplate.getSpawnTemplate().getFile() : new File(OTHER_XML_FOLDER + "/" + x + "_" + y + ".xml");
|
||||
final File tempFile = new File(spawnFile.getAbsolutePath().substring(Config.DATAPACK_ROOT.getAbsolutePath().length() + 1).replace('\\', '/') + ".tmp");
|
||||
try
|
||||
{
|
||||
final BufferedReader reader = new BufferedReader(new FileReader(spawnFile));
|
||||
final BufferedWriter writer = new BufferedWriter(new FileWriter(tempFile));
|
||||
final String spawnId = String.valueOf(spawn.getId());
|
||||
final String spawnX = String.valueOf(spawn.getX());
|
||||
final String spawnY = String.valueOf(spawn.getY());
|
||||
final String spawnZ = String.valueOf(spawn.getZ());
|
||||
final String spawnX = String.valueOf(npcSpawnTemplate != null ? npcSpawnTemplate.getSpawnLocation().getX() : spawn.getX());
|
||||
final String spawnY = String.valueOf(npcSpawnTemplate != null ? npcSpawnTemplate.getSpawnLocation().getY() : spawn.getY());
|
||||
final String spawnZ = String.valueOf(npcSpawnTemplate != null ? npcSpawnTemplate.getSpawnLocation().getZ() : spawn.getZ());
|
||||
boolean found = false; // in XML you can have more than one spawn with same coords
|
||||
boolean isMultiLine = false; // in case spawn has more stats
|
||||
boolean lastLineFound = false; // used to check for empty file
|
||||
|
@ -128,8 +128,7 @@ public class NpcActionShift implements IActionShiftHandler
|
||||
}
|
||||
html.replace("%spawnai%", "<font color=FF0000>" + template.getSpawnTemplate().getAI() + "</font>");
|
||||
}
|
||||
|
||||
html.replace("%spawn%", npc.getSpawn().getX() + " " + npc.getSpawn().getY() + " " + npc.getSpawn().getZ());
|
||||
html.replace("%spawn%", (template != null ? template.getSpawnLocation().getX() : npc.getSpawn().getX()) + " " + (template != null ? template.getSpawnLocation().getY() : npc.getSpawn().getY()) + " " + (template != null ? template.getSpawnLocation().getZ() : npc.getSpawn().getZ()));
|
||||
if (npc.getSpawn().getRespawnMinDelay() == 0)
|
||||
{
|
||||
html.replace("%resp%", "None");
|
||||
|
@ -32,6 +32,7 @@ import org.l2jmobius.Config;
|
||||
import org.l2jmobius.gameserver.data.xml.NpcData;
|
||||
import org.l2jmobius.gameserver.model.Spawn;
|
||||
import org.l2jmobius.gameserver.model.World;
|
||||
import org.l2jmobius.gameserver.model.spawns.NpcSpawnTemplate;
|
||||
|
||||
/**
|
||||
* Spawn data retriever.
|
||||
@ -194,16 +195,17 @@ public class SpawnTable
|
||||
{
|
||||
final int x = ((spawn.getX() - World.WORLD_X_MIN) >> 15) + World.TILE_X_MIN;
|
||||
final int y = ((spawn.getY() - World.WORLD_Y_MIN) >> 15) + World.TILE_Y_MIN;
|
||||
final File spawnFile = spawn.getNpcSpawnTemplate() != null ? spawn.getNpcSpawnTemplate().getSpawnTemplate().getFile() : new File(OTHER_XML_FOLDER + "/" + x + "_" + y + ".xml");
|
||||
final NpcSpawnTemplate npcSpawnTemplate = spawn.getNpcSpawnTemplate();
|
||||
final File spawnFile = npcSpawnTemplate != null ? npcSpawnTemplate.getSpawnTemplate().getFile() : new File(OTHER_XML_FOLDER + "/" + x + "_" + y + ".xml");
|
||||
final File tempFile = new File(spawnFile.getAbsolutePath().substring(Config.DATAPACK_ROOT.getAbsolutePath().length() + 1).replace('\\', '/') + ".tmp");
|
||||
try
|
||||
{
|
||||
final BufferedReader reader = new BufferedReader(new FileReader(spawnFile));
|
||||
final BufferedWriter writer = new BufferedWriter(new FileWriter(tempFile));
|
||||
final String spawnId = String.valueOf(spawn.getId());
|
||||
final String spawnX = String.valueOf(spawn.getX());
|
||||
final String spawnY = String.valueOf(spawn.getY());
|
||||
final String spawnZ = String.valueOf(spawn.getZ());
|
||||
final String spawnX = String.valueOf(npcSpawnTemplate != null ? npcSpawnTemplate.getSpawnLocation().getX() : spawn.getX());
|
||||
final String spawnY = String.valueOf(npcSpawnTemplate != null ? npcSpawnTemplate.getSpawnLocation().getY() : spawn.getY());
|
||||
final String spawnZ = String.valueOf(npcSpawnTemplate != null ? npcSpawnTemplate.getSpawnLocation().getZ() : spawn.getZ());
|
||||
boolean found = false; // in XML you can have more than one spawn with same coords
|
||||
boolean isMultiLine = false; // in case spawn has more stats
|
||||
boolean lastLineFound = false; // used to check for empty file
|
||||
|
@ -128,8 +128,7 @@ public class NpcActionShift implements IActionShiftHandler
|
||||
}
|
||||
html.replace("%spawnai%", "<font color=FF0000>" + template.getSpawnTemplate().getAI() + "</font>");
|
||||
}
|
||||
|
||||
html.replace("%spawn%", npc.getSpawn().getX() + " " + npc.getSpawn().getY() + " " + npc.getSpawn().getZ());
|
||||
html.replace("%spawn%", (template != null ? template.getSpawnLocation().getX() : npc.getSpawn().getX()) + " " + (template != null ? template.getSpawnLocation().getY() : npc.getSpawn().getY()) + " " + (template != null ? template.getSpawnLocation().getZ() : npc.getSpawn().getZ()));
|
||||
if (npc.getSpawn().getRespawnMinDelay() == 0)
|
||||
{
|
||||
html.replace("%resp%", "None");
|
||||
|
@ -32,6 +32,7 @@ import org.l2jmobius.Config;
|
||||
import org.l2jmobius.gameserver.data.xml.NpcData;
|
||||
import org.l2jmobius.gameserver.model.Spawn;
|
||||
import org.l2jmobius.gameserver.model.World;
|
||||
import org.l2jmobius.gameserver.model.spawns.NpcSpawnTemplate;
|
||||
|
||||
/**
|
||||
* Spawn data retriever.
|
||||
@ -194,16 +195,17 @@ public class SpawnTable
|
||||
{
|
||||
final int x = ((spawn.getX() - World.WORLD_X_MIN) >> 15) + World.TILE_X_MIN;
|
||||
final int y = ((spawn.getY() - World.WORLD_Y_MIN) >> 15) + World.TILE_Y_MIN;
|
||||
final File spawnFile = spawn.getNpcSpawnTemplate() != null ? spawn.getNpcSpawnTemplate().getSpawnTemplate().getFile() : new File(OTHER_XML_FOLDER + "/" + x + "_" + y + ".xml");
|
||||
final NpcSpawnTemplate npcSpawnTemplate = spawn.getNpcSpawnTemplate();
|
||||
final File spawnFile = npcSpawnTemplate != null ? npcSpawnTemplate.getSpawnTemplate().getFile() : new File(OTHER_XML_FOLDER + "/" + x + "_" + y + ".xml");
|
||||
final File tempFile = new File(spawnFile.getAbsolutePath().substring(Config.DATAPACK_ROOT.getAbsolutePath().length() + 1).replace('\\', '/') + ".tmp");
|
||||
try
|
||||
{
|
||||
final BufferedReader reader = new BufferedReader(new FileReader(spawnFile));
|
||||
final BufferedWriter writer = new BufferedWriter(new FileWriter(tempFile));
|
||||
final String spawnId = String.valueOf(spawn.getId());
|
||||
final String spawnX = String.valueOf(spawn.getX());
|
||||
final String spawnY = String.valueOf(spawn.getY());
|
||||
final String spawnZ = String.valueOf(spawn.getZ());
|
||||
final String spawnX = String.valueOf(npcSpawnTemplate != null ? npcSpawnTemplate.getSpawnLocation().getX() : spawn.getX());
|
||||
final String spawnY = String.valueOf(npcSpawnTemplate != null ? npcSpawnTemplate.getSpawnLocation().getY() : spawn.getY());
|
||||
final String spawnZ = String.valueOf(npcSpawnTemplate != null ? npcSpawnTemplate.getSpawnLocation().getZ() : spawn.getZ());
|
||||
boolean found = false; // in XML you can have more than one spawn with same coords
|
||||
boolean isMultiLine = false; // in case spawn has more stats
|
||||
boolean lastLineFound = false; // used to check for empty file
|
||||
|
@ -128,8 +128,7 @@ public class NpcActionShift implements IActionShiftHandler
|
||||
}
|
||||
html.replace("%spawnai%", "<font color=FF0000>" + template.getSpawnTemplate().getAI() + "</font>");
|
||||
}
|
||||
|
||||
html.replace("%spawn%", npc.getSpawn().getX() + " " + npc.getSpawn().getY() + " " + npc.getSpawn().getZ());
|
||||
html.replace("%spawn%", (template != null ? template.getSpawnLocation().getX() : npc.getSpawn().getX()) + " " + (template != null ? template.getSpawnLocation().getY() : npc.getSpawn().getY()) + " " + (template != null ? template.getSpawnLocation().getZ() : npc.getSpawn().getZ()));
|
||||
if (npc.getSpawn().getRespawnMinDelay() == 0)
|
||||
{
|
||||
html.replace("%resp%", "None");
|
||||
|
@ -32,6 +32,7 @@ import org.l2jmobius.Config;
|
||||
import org.l2jmobius.gameserver.data.xml.NpcData;
|
||||
import org.l2jmobius.gameserver.model.Spawn;
|
||||
import org.l2jmobius.gameserver.model.World;
|
||||
import org.l2jmobius.gameserver.model.spawns.NpcSpawnTemplate;
|
||||
|
||||
/**
|
||||
* Spawn data retriever.
|
||||
@ -194,16 +195,17 @@ public class SpawnTable
|
||||
{
|
||||
final int x = ((spawn.getX() - World.WORLD_X_MIN) >> 15) + World.TILE_X_MIN;
|
||||
final int y = ((spawn.getY() - World.WORLD_Y_MIN) >> 15) + World.TILE_Y_MIN;
|
||||
final File spawnFile = spawn.getNpcSpawnTemplate() != null ? spawn.getNpcSpawnTemplate().getSpawnTemplate().getFile() : new File(OTHER_XML_FOLDER + "/" + x + "_" + y + ".xml");
|
||||
final NpcSpawnTemplate npcSpawnTemplate = spawn.getNpcSpawnTemplate();
|
||||
final File spawnFile = npcSpawnTemplate != null ? npcSpawnTemplate.getSpawnTemplate().getFile() : new File(OTHER_XML_FOLDER + "/" + x + "_" + y + ".xml");
|
||||
final File tempFile = new File(spawnFile.getAbsolutePath().substring(Config.DATAPACK_ROOT.getAbsolutePath().length() + 1).replace('\\', '/') + ".tmp");
|
||||
try
|
||||
{
|
||||
final BufferedReader reader = new BufferedReader(new FileReader(spawnFile));
|
||||
final BufferedWriter writer = new BufferedWriter(new FileWriter(tempFile));
|
||||
final String spawnId = String.valueOf(spawn.getId());
|
||||
final String spawnX = String.valueOf(spawn.getX());
|
||||
final String spawnY = String.valueOf(spawn.getY());
|
||||
final String spawnZ = String.valueOf(spawn.getZ());
|
||||
final String spawnX = String.valueOf(npcSpawnTemplate != null ? npcSpawnTemplate.getSpawnLocation().getX() : spawn.getX());
|
||||
final String spawnY = String.valueOf(npcSpawnTemplate != null ? npcSpawnTemplate.getSpawnLocation().getY() : spawn.getY());
|
||||
final String spawnZ = String.valueOf(npcSpawnTemplate != null ? npcSpawnTemplate.getSpawnLocation().getZ() : spawn.getZ());
|
||||
boolean found = false; // in XML you can have more than one spawn with same coords
|
||||
boolean isMultiLine = false; // in case spawn has more stats
|
||||
boolean lastLineFound = false; // used to check for empty file
|
||||
|
@ -128,8 +128,7 @@ public class NpcActionShift implements IActionShiftHandler
|
||||
}
|
||||
html.replace("%spawnai%", "<font color=FF0000>" + template.getSpawnTemplate().getAI() + "</font>");
|
||||
}
|
||||
|
||||
html.replace("%spawn%", npc.getSpawn().getX() + " " + npc.getSpawn().getY() + " " + npc.getSpawn().getZ());
|
||||
html.replace("%spawn%", (template != null ? template.getSpawnLocation().getX() : npc.getSpawn().getX()) + " " + (template != null ? template.getSpawnLocation().getY() : npc.getSpawn().getY()) + " " + (template != null ? template.getSpawnLocation().getZ() : npc.getSpawn().getZ()));
|
||||
if (npc.getSpawn().getRespawnMinDelay() == 0)
|
||||
{
|
||||
html.replace("%resp%", "None");
|
||||
|
@ -32,6 +32,7 @@ import org.l2jmobius.Config;
|
||||
import org.l2jmobius.gameserver.data.xml.NpcData;
|
||||
import org.l2jmobius.gameserver.model.Spawn;
|
||||
import org.l2jmobius.gameserver.model.World;
|
||||
import org.l2jmobius.gameserver.model.spawns.NpcSpawnTemplate;
|
||||
|
||||
/**
|
||||
* Spawn data retriever.
|
||||
@ -194,16 +195,17 @@ public class SpawnTable
|
||||
{
|
||||
final int x = ((spawn.getX() - World.WORLD_X_MIN) >> 15) + World.TILE_X_MIN;
|
||||
final int y = ((spawn.getY() - World.WORLD_Y_MIN) >> 15) + World.TILE_Y_MIN;
|
||||
final File spawnFile = spawn.getNpcSpawnTemplate() != null ? spawn.getNpcSpawnTemplate().getSpawnTemplate().getFile() : new File(OTHER_XML_FOLDER + "/" + x + "_" + y + ".xml");
|
||||
final NpcSpawnTemplate npcSpawnTemplate = spawn.getNpcSpawnTemplate();
|
||||
final File spawnFile = npcSpawnTemplate != null ? npcSpawnTemplate.getSpawnTemplate().getFile() : new File(OTHER_XML_FOLDER + "/" + x + "_" + y + ".xml");
|
||||
final File tempFile = new File(spawnFile.getAbsolutePath().substring(Config.DATAPACK_ROOT.getAbsolutePath().length() + 1).replace('\\', '/') + ".tmp");
|
||||
try
|
||||
{
|
||||
final BufferedReader reader = new BufferedReader(new FileReader(spawnFile));
|
||||
final BufferedWriter writer = new BufferedWriter(new FileWriter(tempFile));
|
||||
final String spawnId = String.valueOf(spawn.getId());
|
||||
final String spawnX = String.valueOf(spawn.getX());
|
||||
final String spawnY = String.valueOf(spawn.getY());
|
||||
final String spawnZ = String.valueOf(spawn.getZ());
|
||||
final String spawnX = String.valueOf(npcSpawnTemplate != null ? npcSpawnTemplate.getSpawnLocation().getX() : spawn.getX());
|
||||
final String spawnY = String.valueOf(npcSpawnTemplate != null ? npcSpawnTemplate.getSpawnLocation().getY() : spawn.getY());
|
||||
final String spawnZ = String.valueOf(npcSpawnTemplate != null ? npcSpawnTemplate.getSpawnLocation().getZ() : spawn.getZ());
|
||||
boolean found = false; // in XML you can have more than one spawn with same coords
|
||||
boolean isMultiLine = false; // in case spawn has more stats
|
||||
boolean lastLineFound = false; // used to check for empty file
|
||||
|
@ -128,8 +128,7 @@ public class NpcActionShift implements IActionShiftHandler
|
||||
}
|
||||
html.replace("%spawnai%", "<font color=FF0000>" + template.getSpawnTemplate().getAI() + "</font>");
|
||||
}
|
||||
|
||||
html.replace("%spawn%", npc.getSpawn().getX() + " " + npc.getSpawn().getY() + " " + npc.getSpawn().getZ());
|
||||
html.replace("%spawn%", (template != null ? template.getSpawnLocation().getX() : npc.getSpawn().getX()) + " " + (template != null ? template.getSpawnLocation().getY() : npc.getSpawn().getY()) + " " + (template != null ? template.getSpawnLocation().getZ() : npc.getSpawn().getZ()));
|
||||
if (npc.getSpawn().getRespawnMinDelay() == 0)
|
||||
{
|
||||
html.replace("%resp%", "None");
|
||||
|
@ -32,6 +32,7 @@ import org.l2jmobius.Config;
|
||||
import org.l2jmobius.gameserver.data.xml.NpcData;
|
||||
import org.l2jmobius.gameserver.model.Spawn;
|
||||
import org.l2jmobius.gameserver.model.World;
|
||||
import org.l2jmobius.gameserver.model.spawns.NpcSpawnTemplate;
|
||||
|
||||
/**
|
||||
* Spawn data retriever.
|
||||
@ -194,16 +195,17 @@ public class SpawnTable
|
||||
{
|
||||
final int x = ((spawn.getX() - World.WORLD_X_MIN) >> 15) + World.TILE_X_MIN;
|
||||
final int y = ((spawn.getY() - World.WORLD_Y_MIN) >> 15) + World.TILE_Y_MIN;
|
||||
final File spawnFile = spawn.getNpcSpawnTemplate() != null ? spawn.getNpcSpawnTemplate().getSpawnTemplate().getFile() : new File(OTHER_XML_FOLDER + "/" + x + "_" + y + ".xml");
|
||||
final NpcSpawnTemplate npcSpawnTemplate = spawn.getNpcSpawnTemplate();
|
||||
final File spawnFile = npcSpawnTemplate != null ? npcSpawnTemplate.getSpawnTemplate().getFile() : new File(OTHER_XML_FOLDER + "/" + x + "_" + y + ".xml");
|
||||
final File tempFile = new File(spawnFile.getAbsolutePath().substring(Config.DATAPACK_ROOT.getAbsolutePath().length() + 1).replace('\\', '/') + ".tmp");
|
||||
try
|
||||
{
|
||||
final BufferedReader reader = new BufferedReader(new FileReader(spawnFile));
|
||||
final BufferedWriter writer = new BufferedWriter(new FileWriter(tempFile));
|
||||
final String spawnId = String.valueOf(spawn.getId());
|
||||
final String spawnX = String.valueOf(spawn.getX());
|
||||
final String spawnY = String.valueOf(spawn.getY());
|
||||
final String spawnZ = String.valueOf(spawn.getZ());
|
||||
final String spawnX = String.valueOf(npcSpawnTemplate != null ? npcSpawnTemplate.getSpawnLocation().getX() : spawn.getX());
|
||||
final String spawnY = String.valueOf(npcSpawnTemplate != null ? npcSpawnTemplate.getSpawnLocation().getY() : spawn.getY());
|
||||
final String spawnZ = String.valueOf(npcSpawnTemplate != null ? npcSpawnTemplate.getSpawnLocation().getZ() : spawn.getZ());
|
||||
boolean found = false; // in XML you can have more than one spawn with same coords
|
||||
boolean isMultiLine = false; // in case spawn has more stats
|
||||
boolean lastLineFound = false; // used to check for empty file
|
||||
|
@ -128,8 +128,7 @@ public class NpcActionShift implements IActionShiftHandler
|
||||
}
|
||||
html.replace("%spawnai%", "<font color=FF0000>" + template.getSpawnTemplate().getAI() + "</font>");
|
||||
}
|
||||
|
||||
html.replace("%spawn%", npc.getSpawn().getX() + " " + npc.getSpawn().getY() + " " + npc.getSpawn().getZ());
|
||||
html.replace("%spawn%", (template != null ? template.getSpawnLocation().getX() : npc.getSpawn().getX()) + " " + (template != null ? template.getSpawnLocation().getY() : npc.getSpawn().getY()) + " " + (template != null ? template.getSpawnLocation().getZ() : npc.getSpawn().getZ()));
|
||||
if (npc.getSpawn().getRespawnMinDelay() == 0)
|
||||
{
|
||||
html.replace("%resp%", "None");
|
||||
|
@ -32,6 +32,7 @@ import org.l2jmobius.Config;
|
||||
import org.l2jmobius.gameserver.data.xml.NpcData;
|
||||
import org.l2jmobius.gameserver.model.Spawn;
|
||||
import org.l2jmobius.gameserver.model.World;
|
||||
import org.l2jmobius.gameserver.model.spawns.NpcSpawnTemplate;
|
||||
|
||||
/**
|
||||
* Spawn data retriever.
|
||||
@ -194,16 +195,17 @@ public class SpawnTable
|
||||
{
|
||||
final int x = ((spawn.getX() - World.WORLD_X_MIN) >> 15) + World.TILE_X_MIN;
|
||||
final int y = ((spawn.getY() - World.WORLD_Y_MIN) >> 15) + World.TILE_Y_MIN;
|
||||
final File spawnFile = spawn.getNpcSpawnTemplate() != null ? spawn.getNpcSpawnTemplate().getSpawnTemplate().getFile() : new File(OTHER_XML_FOLDER + "/" + x + "_" + y + ".xml");
|
||||
final NpcSpawnTemplate npcSpawnTemplate = spawn.getNpcSpawnTemplate();
|
||||
final File spawnFile = npcSpawnTemplate != null ? npcSpawnTemplate.getSpawnTemplate().getFile() : new File(OTHER_XML_FOLDER + "/" + x + "_" + y + ".xml");
|
||||
final File tempFile = new File(spawnFile.getAbsolutePath().substring(Config.DATAPACK_ROOT.getAbsolutePath().length() + 1).replace('\\', '/') + ".tmp");
|
||||
try
|
||||
{
|
||||
final BufferedReader reader = new BufferedReader(new FileReader(spawnFile));
|
||||
final BufferedWriter writer = new BufferedWriter(new FileWriter(tempFile));
|
||||
final String spawnId = String.valueOf(spawn.getId());
|
||||
final String spawnX = String.valueOf(spawn.getX());
|
||||
final String spawnY = String.valueOf(spawn.getY());
|
||||
final String spawnZ = String.valueOf(spawn.getZ());
|
||||
final String spawnX = String.valueOf(npcSpawnTemplate != null ? npcSpawnTemplate.getSpawnLocation().getX() : spawn.getX());
|
||||
final String spawnY = String.valueOf(npcSpawnTemplate != null ? npcSpawnTemplate.getSpawnLocation().getY() : spawn.getY());
|
||||
final String spawnZ = String.valueOf(npcSpawnTemplate != null ? npcSpawnTemplate.getSpawnLocation().getZ() : spawn.getZ());
|
||||
boolean found = false; // in XML you can have more than one spawn with same coords
|
||||
boolean isMultiLine = false; // in case spawn has more stats
|
||||
boolean lastLineFound = false; // used to check for empty file
|
||||
|
@ -128,8 +128,7 @@ public class NpcActionShift implements IActionShiftHandler
|
||||
}
|
||||
html.replace("%spawnai%", "<font color=FF0000>" + template.getSpawnTemplate().getAI() + "</font>");
|
||||
}
|
||||
|
||||
html.replace("%spawn%", npc.getSpawn().getX() + " " + npc.getSpawn().getY() + " " + npc.getSpawn().getZ());
|
||||
html.replace("%spawn%", (template != null ? template.getSpawnLocation().getX() : npc.getSpawn().getX()) + " " + (template != null ? template.getSpawnLocation().getY() : npc.getSpawn().getY()) + " " + (template != null ? template.getSpawnLocation().getZ() : npc.getSpawn().getZ()));
|
||||
if (npc.getSpawn().getRespawnMinDelay() == 0)
|
||||
{
|
||||
html.replace("%resp%", "None");
|
||||
|
@ -32,6 +32,7 @@ import org.l2jmobius.Config;
|
||||
import org.l2jmobius.gameserver.data.xml.NpcData;
|
||||
import org.l2jmobius.gameserver.model.Spawn;
|
||||
import org.l2jmobius.gameserver.model.World;
|
||||
import org.l2jmobius.gameserver.model.spawns.NpcSpawnTemplate;
|
||||
|
||||
/**
|
||||
* Spawn data retriever.
|
||||
@ -194,16 +195,17 @@ public class SpawnTable
|
||||
{
|
||||
final int x = ((spawn.getX() - World.WORLD_X_MIN) >> 15) + World.TILE_X_MIN;
|
||||
final int y = ((spawn.getY() - World.WORLD_Y_MIN) >> 15) + World.TILE_Y_MIN;
|
||||
final File spawnFile = spawn.getNpcSpawnTemplate() != null ? spawn.getNpcSpawnTemplate().getSpawnTemplate().getFile() : new File(OTHER_XML_FOLDER + "/" + x + "_" + y + ".xml");
|
||||
final NpcSpawnTemplate npcSpawnTemplate = spawn.getNpcSpawnTemplate();
|
||||
final File spawnFile = npcSpawnTemplate != null ? npcSpawnTemplate.getSpawnTemplate().getFile() : new File(OTHER_XML_FOLDER + "/" + x + "_" + y + ".xml");
|
||||
final File tempFile = new File(spawnFile.getAbsolutePath().substring(Config.DATAPACK_ROOT.getAbsolutePath().length() + 1).replace('\\', '/') + ".tmp");
|
||||
try
|
||||
{
|
||||
final BufferedReader reader = new BufferedReader(new FileReader(spawnFile));
|
||||
final BufferedWriter writer = new BufferedWriter(new FileWriter(tempFile));
|
||||
final String spawnId = String.valueOf(spawn.getId());
|
||||
final String spawnX = String.valueOf(spawn.getX());
|
||||
final String spawnY = String.valueOf(spawn.getY());
|
||||
final String spawnZ = String.valueOf(spawn.getZ());
|
||||
final String spawnX = String.valueOf(npcSpawnTemplate != null ? npcSpawnTemplate.getSpawnLocation().getX() : spawn.getX());
|
||||
final String spawnY = String.valueOf(npcSpawnTemplate != null ? npcSpawnTemplate.getSpawnLocation().getY() : spawn.getY());
|
||||
final String spawnZ = String.valueOf(npcSpawnTemplate != null ? npcSpawnTemplate.getSpawnLocation().getZ() : spawn.getZ());
|
||||
boolean found = false; // in XML you can have more than one spawn with same coords
|
||||
boolean isMultiLine = false; // in case spawn has more stats
|
||||
boolean lastLineFound = false; // used to check for empty file
|
||||
|
@ -111,7 +111,8 @@ public class NpcActionShift implements IActionShiftHandler
|
||||
else
|
||||
{
|
||||
html.replace("%spawntype%", "Fixed");
|
||||
html.replace("%spawn%", ((Npc) target).getSpawn().getX() + " " + ((Npc) target).getSpawn().getY() + " " + ((Npc) target).getSpawn().getZ());
|
||||
final Location spawnLoc = ((Npc) target).getSpawn().getSpawnLocation() != null ? ((Npc) target).getSpawn().getSpawnLocation() : ((Npc) target).getSpawn();
|
||||
html.replace("%spawn%", spawnLoc.getX() + " " + spawnLoc.getY() + " " + spawnLoc.getZ());
|
||||
}
|
||||
if (((Npc) target).getSpawn().getRespawnMinDelay() == 0)
|
||||
{
|
||||
|
@ -42,6 +42,7 @@ import org.l2jmobius.commons.util.IXmlReader;
|
||||
import org.l2jmobius.gameserver.data.xml.NpcData;
|
||||
import org.l2jmobius.gameserver.instancemanager.DayNightSpawnManager;
|
||||
import org.l2jmobius.gameserver.instancemanager.ZoneManager;
|
||||
import org.l2jmobius.gameserver.model.Location;
|
||||
import org.l2jmobius.gameserver.model.Spawn;
|
||||
import org.l2jmobius.gameserver.model.StatSet;
|
||||
import org.l2jmobius.gameserver.model.World;
|
||||
@ -592,6 +593,7 @@ public class SpawnTable implements IXmlReader
|
||||
final int x = ((spawn.getX() - World.WORLD_X_MIN) >> 15) + World.TILE_X_MIN;
|
||||
final int y = ((spawn.getY() - World.WORLD_Y_MIN) >> 15) + World.TILE_Y_MIN;
|
||||
final int npcSpawnTemplateId = spawn.getNpcSpawnTemplateId();
|
||||
final Location spawnLocation = spawn.getSpawnLocation();
|
||||
final File spawnFile = npcSpawnTemplateId > 0 ? new File(_spawnTemplates.get(npcSpawnTemplateId)) : new File(OTHER_XML_FOLDER + "/" + x + "_" + y + ".xml");
|
||||
final File tempFile = new File(spawnFile.getAbsolutePath().substring(Config.DATAPACK_ROOT.getAbsolutePath().length() + 1).replace('\\', '/') + ".tmp");
|
||||
try
|
||||
@ -599,9 +601,9 @@ public class SpawnTable implements IXmlReader
|
||||
final BufferedReader reader = new BufferedReader(new FileReader(spawnFile));
|
||||
final BufferedWriter writer = new BufferedWriter(new FileWriter(tempFile));
|
||||
final String spawnId = String.valueOf(spawn.getId());
|
||||
final String spawnX = String.valueOf(spawn.getX());
|
||||
final String spawnY = String.valueOf(spawn.getY());
|
||||
final String spawnZ = String.valueOf(spawn.getZ());
|
||||
final String spawnX = String.valueOf(spawnLocation != null ? spawnLocation.getX() : spawn.getX());
|
||||
final String spawnY = String.valueOf(spawnLocation != null ? spawnLocation.getY() : spawn.getY());
|
||||
final String spawnZ = String.valueOf(spawnLocation != null ? spawnLocation.getX() : spawn.getZ());
|
||||
boolean found = false; // in XML you can have more than one spawn with same coords
|
||||
boolean isMultiLine = false; // in case spawn has more stats
|
||||
boolean lastLineFound = false; // used to check for empty file
|
||||
|
@ -81,6 +81,7 @@ public class Spawn extends Location implements IIdentifiable, INamable
|
||||
private final Deque<Npc> _spawnedNpcs = new ConcurrentLinkedDeque<>();
|
||||
private boolean _randomWalk = false; // Is random walk
|
||||
private int _spawnTemplateId = 0;
|
||||
private Location _spawnLocation = null;
|
||||
|
||||
/**
|
||||
* Constructor of Spawn.<br>
|
||||
@ -382,9 +383,14 @@ public class Spawn extends Location implements IIdentifiable, INamable
|
||||
else
|
||||
{
|
||||
// The Npc is spawned at the exact position (Lox, Locy, Locz)
|
||||
newlocx = getX();
|
||||
newlocy = getY();
|
||||
newlocz = getZ();
|
||||
newlocx = _spawnLocation != null ? _spawnLocation.getX() : getX();
|
||||
newlocy = _spawnLocation != null ? _spawnLocation.getY() : getY();
|
||||
newlocz = _spawnLocation != null ? _spawnLocation.getZ() : getZ();
|
||||
|
||||
if (_spawnLocation == null)
|
||||
{
|
||||
_spawnLocation = new Location(newlocx, newlocy, newlocz);
|
||||
}
|
||||
}
|
||||
|
||||
// Check if npc is in water.
|
||||
@ -618,6 +624,11 @@ public class Spawn extends Location implements IIdentifiable, INamable
|
||||
return _spawnTemplateId;
|
||||
}
|
||||
|
||||
public Location getSpawnLocation()
|
||||
{
|
||||
return _spawnLocation;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString()
|
||||
{
|
||||
|
@ -122,7 +122,8 @@ public class NpcActionShift implements IActionShiftHandler
|
||||
else
|
||||
{
|
||||
html.replace("%spawntype%", "Fixed");
|
||||
html.replace("%spawn%", ((Npc) target).getSpawn().getX() + " " + ((Npc) target).getSpawn().getY() + " " + ((Npc) target).getSpawn().getZ());
|
||||
final Location spawnLoc = ((Npc) target).getSpawn().getSpawnLocation() != null ? ((Npc) target).getSpawn().getSpawnLocation() : ((Npc) target).getSpawn();
|
||||
html.replace("%spawn%", spawnLoc.getX() + " " + spawnLoc.getY() + " " + spawnLoc.getZ());
|
||||
}
|
||||
if (((Npc) target).getSpawn().getRespawnMinDelay() == 0)
|
||||
{
|
||||
|
@ -42,6 +42,7 @@ import org.l2jmobius.commons.util.IXmlReader;
|
||||
import org.l2jmobius.gameserver.data.xml.NpcData;
|
||||
import org.l2jmobius.gameserver.instancemanager.DayNightSpawnManager;
|
||||
import org.l2jmobius.gameserver.instancemanager.ZoneManager;
|
||||
import org.l2jmobius.gameserver.model.Location;
|
||||
import org.l2jmobius.gameserver.model.Spawn;
|
||||
import org.l2jmobius.gameserver.model.StatSet;
|
||||
import org.l2jmobius.gameserver.model.World;
|
||||
@ -592,6 +593,7 @@ public class SpawnTable implements IXmlReader
|
||||
final int x = ((spawn.getX() - World.WORLD_X_MIN) >> 15) + World.TILE_X_MIN;
|
||||
final int y = ((spawn.getY() - World.WORLD_Y_MIN) >> 15) + World.TILE_Y_MIN;
|
||||
final int npcSpawnTemplateId = spawn.getNpcSpawnTemplateId();
|
||||
final Location spawnLocation = spawn.getSpawnLocation();
|
||||
final File spawnFile = npcSpawnTemplateId > 0 ? new File(_spawnTemplates.get(npcSpawnTemplateId)) : new File(OTHER_XML_FOLDER + "/" + x + "_" + y + ".xml");
|
||||
final File tempFile = new File(spawnFile.getAbsolutePath().substring(Config.DATAPACK_ROOT.getAbsolutePath().length() + 1).replace('\\', '/') + ".tmp");
|
||||
try
|
||||
@ -599,9 +601,9 @@ public class SpawnTable implements IXmlReader
|
||||
final BufferedReader reader = new BufferedReader(new FileReader(spawnFile));
|
||||
final BufferedWriter writer = new BufferedWriter(new FileWriter(tempFile));
|
||||
final String spawnId = String.valueOf(spawn.getId());
|
||||
final String spawnX = String.valueOf(spawn.getX());
|
||||
final String spawnY = String.valueOf(spawn.getY());
|
||||
final String spawnZ = String.valueOf(spawn.getZ());
|
||||
final String spawnX = String.valueOf(spawnLocation != null ? spawnLocation.getX() : spawn.getX());
|
||||
final String spawnY = String.valueOf(spawnLocation != null ? spawnLocation.getY() : spawn.getY());
|
||||
final String spawnZ = String.valueOf(spawnLocation != null ? spawnLocation.getX() : spawn.getZ());
|
||||
boolean found = false; // in XML you can have more than one spawn with same coords
|
||||
boolean isMultiLine = false; // in case spawn has more stats
|
||||
boolean lastLineFound = false; // used to check for empty file
|
||||
|
@ -81,6 +81,7 @@ public class Spawn extends Location implements IIdentifiable, INamable
|
||||
private final Deque<Npc> _spawnedNpcs = new ConcurrentLinkedDeque<>();
|
||||
private boolean _randomWalk = false; // Is random walk
|
||||
private int _spawnTemplateId = 0;
|
||||
private Location _spawnLocation = null;
|
||||
|
||||
/**
|
||||
* Constructor of Spawn.<br>
|
||||
@ -382,9 +383,14 @@ public class Spawn extends Location implements IIdentifiable, INamable
|
||||
else
|
||||
{
|
||||
// The Npc is spawned at the exact position (Lox, Locy, Locz)
|
||||
newlocx = getX();
|
||||
newlocy = getY();
|
||||
newlocz = getZ();
|
||||
newlocx = _spawnLocation != null ? _spawnLocation.getX() : getX();
|
||||
newlocy = _spawnLocation != null ? _spawnLocation.getY() : getY();
|
||||
newlocz = _spawnLocation != null ? _spawnLocation.getZ() : getZ();
|
||||
|
||||
if (_spawnLocation == null)
|
||||
{
|
||||
_spawnLocation = new Location(newlocx, newlocy, newlocz);
|
||||
}
|
||||
}
|
||||
|
||||
// Check if npc is in water.
|
||||
@ -612,6 +618,11 @@ public class Spawn extends Location implements IIdentifiable, INamable
|
||||
return _spawnTemplateId;
|
||||
}
|
||||
|
||||
public Location getSpawnLocation()
|
||||
{
|
||||
return _spawnLocation;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString()
|
||||
{
|
||||
|
@ -122,7 +122,8 @@ public class NpcActionShift implements IActionShiftHandler
|
||||
else
|
||||
{
|
||||
html.replace("%spawntype%", "Fixed");
|
||||
html.replace("%spawn%", ((Npc) target).getSpawn().getX() + " " + ((Npc) target).getSpawn().getY() + " " + ((Npc) target).getSpawn().getZ());
|
||||
final Location spawnLoc = ((Npc) target).getSpawn().getSpawnLocation() != null ? ((Npc) target).getSpawn().getSpawnLocation() : ((Npc) target).getSpawn();
|
||||
html.replace("%spawn%", spawnLoc.getX() + " " + spawnLoc.getY() + " " + spawnLoc.getZ());
|
||||
}
|
||||
if (((Npc) target).getSpawn().getRespawnMinDelay() == 0)
|
||||
{
|
||||
|
@ -42,6 +42,7 @@ import org.l2jmobius.commons.util.IXmlReader;
|
||||
import org.l2jmobius.gameserver.data.xml.NpcData;
|
||||
import org.l2jmobius.gameserver.instancemanager.DayNightSpawnManager;
|
||||
import org.l2jmobius.gameserver.instancemanager.ZoneManager;
|
||||
import org.l2jmobius.gameserver.model.Location;
|
||||
import org.l2jmobius.gameserver.model.Spawn;
|
||||
import org.l2jmobius.gameserver.model.StatSet;
|
||||
import org.l2jmobius.gameserver.model.World;
|
||||
@ -592,6 +593,7 @@ public class SpawnTable implements IXmlReader
|
||||
final int x = ((spawn.getX() - World.WORLD_X_MIN) >> 15) + World.TILE_X_MIN;
|
||||
final int y = ((spawn.getY() - World.WORLD_Y_MIN) >> 15) + World.TILE_Y_MIN;
|
||||
final int npcSpawnTemplateId = spawn.getNpcSpawnTemplateId();
|
||||
final Location spawnLocation = spawn.getSpawnLocation();
|
||||
final File spawnFile = npcSpawnTemplateId > 0 ? new File(_spawnTemplates.get(npcSpawnTemplateId)) : new File(OTHER_XML_FOLDER + "/" + x + "_" + y + ".xml");
|
||||
final File tempFile = new File(spawnFile.getAbsolutePath().substring(Config.DATAPACK_ROOT.getAbsolutePath().length() + 1).replace('\\', '/') + ".tmp");
|
||||
try
|
||||
@ -599,9 +601,9 @@ public class SpawnTable implements IXmlReader
|
||||
final BufferedReader reader = new BufferedReader(new FileReader(spawnFile));
|
||||
final BufferedWriter writer = new BufferedWriter(new FileWriter(tempFile));
|
||||
final String spawnId = String.valueOf(spawn.getId());
|
||||
final String spawnX = String.valueOf(spawn.getX());
|
||||
final String spawnY = String.valueOf(spawn.getY());
|
||||
final String spawnZ = String.valueOf(spawn.getZ());
|
||||
final String spawnX = String.valueOf(spawnLocation != null ? spawnLocation.getX() : spawn.getX());
|
||||
final String spawnY = String.valueOf(spawnLocation != null ? spawnLocation.getY() : spawn.getY());
|
||||
final String spawnZ = String.valueOf(spawnLocation != null ? spawnLocation.getX() : spawn.getZ());
|
||||
boolean found = false; // in XML you can have more than one spawn with same coords
|
||||
boolean isMultiLine = false; // in case spawn has more stats
|
||||
boolean lastLineFound = false; // used to check for empty file
|
||||
|
@ -81,6 +81,7 @@ public class Spawn extends Location implements IIdentifiable, INamable
|
||||
private final Deque<Npc> _spawnedNpcs = new ConcurrentLinkedDeque<>();
|
||||
private boolean _randomWalk = false; // Is random walk
|
||||
private int _spawnTemplateId = 0;
|
||||
private Location _spawnLocation = null;
|
||||
|
||||
/**
|
||||
* Constructor of Spawn.<br>
|
||||
@ -382,9 +383,14 @@ public class Spawn extends Location implements IIdentifiable, INamable
|
||||
else
|
||||
{
|
||||
// The Npc is spawned at the exact position (Lox, Locy, Locz)
|
||||
newlocx = getX();
|
||||
newlocy = getY();
|
||||
newlocz = getZ();
|
||||
newlocx = _spawnLocation != null ? _spawnLocation.getX() : getX();
|
||||
newlocy = _spawnLocation != null ? _spawnLocation.getY() : getY();
|
||||
newlocz = _spawnLocation != null ? _spawnLocation.getZ() : getZ();
|
||||
|
||||
if (_spawnLocation == null)
|
||||
{
|
||||
_spawnLocation = new Location(newlocx, newlocy, newlocz);
|
||||
}
|
||||
}
|
||||
|
||||
// Check if npc is in water.
|
||||
@ -618,6 +624,11 @@ public class Spawn extends Location implements IIdentifiable, INamable
|
||||
return _spawnTemplateId;
|
||||
}
|
||||
|
||||
public Location getSpawnLocation()
|
||||
{
|
||||
return _spawnLocation;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString()
|
||||
{
|
||||
|
@ -128,8 +128,7 @@ public class NpcActionShift implements IActionShiftHandler
|
||||
}
|
||||
html.replace("%spawnai%", "<font color=FF0000>" + template.getSpawnTemplate().getAI() + "</font>");
|
||||
}
|
||||
|
||||
html.replace("%spawn%", npc.getSpawn().getX() + " " + npc.getSpawn().getY() + " " + npc.getSpawn().getZ());
|
||||
html.replace("%spawn%", (template != null ? template.getSpawnLocation().getX() : npc.getSpawn().getX()) + " " + (template != null ? template.getSpawnLocation().getY() : npc.getSpawn().getY()) + " " + (template != null ? template.getSpawnLocation().getZ() : npc.getSpawn().getZ()));
|
||||
if (npc.getSpawn().getRespawnMinDelay() == 0)
|
||||
{
|
||||
html.replace("%resp%", "None");
|
||||
|
@ -32,6 +32,7 @@ import org.l2jmobius.Config;
|
||||
import org.l2jmobius.gameserver.data.xml.NpcData;
|
||||
import org.l2jmobius.gameserver.model.Spawn;
|
||||
import org.l2jmobius.gameserver.model.World;
|
||||
import org.l2jmobius.gameserver.model.spawns.NpcSpawnTemplate;
|
||||
|
||||
/**
|
||||
* Spawn data retriever.
|
||||
@ -194,16 +195,17 @@ public class SpawnTable
|
||||
{
|
||||
final int x = ((spawn.getX() - World.WORLD_X_MIN) >> 15) + World.TILE_X_MIN;
|
||||
final int y = ((spawn.getY() - World.WORLD_Y_MIN) >> 15) + World.TILE_Y_MIN;
|
||||
final File spawnFile = spawn.getNpcSpawnTemplate() != null ? spawn.getNpcSpawnTemplate().getSpawnTemplate().getFile() : new File(OTHER_XML_FOLDER + "/" + x + "_" + y + ".xml");
|
||||
final NpcSpawnTemplate npcSpawnTemplate = spawn.getNpcSpawnTemplate();
|
||||
final File spawnFile = npcSpawnTemplate != null ? npcSpawnTemplate.getSpawnTemplate().getFile() : new File(OTHER_XML_FOLDER + "/" + x + "_" + y + ".xml");
|
||||
final File tempFile = new File(spawnFile.getAbsolutePath().substring(Config.DATAPACK_ROOT.getAbsolutePath().length() + 1).replace('\\', '/') + ".tmp");
|
||||
try
|
||||
{
|
||||
final BufferedReader reader = new BufferedReader(new FileReader(spawnFile));
|
||||
final BufferedWriter writer = new BufferedWriter(new FileWriter(tempFile));
|
||||
final String spawnId = String.valueOf(spawn.getId());
|
||||
final String spawnX = String.valueOf(spawn.getX());
|
||||
final String spawnY = String.valueOf(spawn.getY());
|
||||
final String spawnZ = String.valueOf(spawn.getZ());
|
||||
final String spawnX = String.valueOf(npcSpawnTemplate != null ? npcSpawnTemplate.getSpawnLocation().getX() : spawn.getX());
|
||||
final String spawnY = String.valueOf(npcSpawnTemplate != null ? npcSpawnTemplate.getSpawnLocation().getY() : spawn.getY());
|
||||
final String spawnZ = String.valueOf(npcSpawnTemplate != null ? npcSpawnTemplate.getSpawnLocation().getZ() : spawn.getZ());
|
||||
boolean found = false; // in XML you can have more than one spawn with same coords
|
||||
boolean isMultiLine = false; // in case spawn has more stats
|
||||
boolean lastLineFound = false; // used to check for empty file
|
||||
|
@ -128,8 +128,7 @@ public class NpcActionShift implements IActionShiftHandler
|
||||
}
|
||||
html.replace("%spawnai%", "<font color=FF0000>" + template.getSpawnTemplate().getAI() + "</font>");
|
||||
}
|
||||
|
||||
html.replace("%spawn%", npc.getSpawn().getX() + " " + npc.getSpawn().getY() + " " + npc.getSpawn().getZ());
|
||||
html.replace("%spawn%", (template != null ? template.getSpawnLocation().getX() : npc.getSpawn().getX()) + " " + (template != null ? template.getSpawnLocation().getY() : npc.getSpawn().getY()) + " " + (template != null ? template.getSpawnLocation().getZ() : npc.getSpawn().getZ()));
|
||||
if (npc.getSpawn().getRespawnMinDelay() == 0)
|
||||
{
|
||||
html.replace("%resp%", "None");
|
||||
|
@ -32,6 +32,7 @@ import org.l2jmobius.Config;
|
||||
import org.l2jmobius.gameserver.data.xml.NpcData;
|
||||
import org.l2jmobius.gameserver.model.Spawn;
|
||||
import org.l2jmobius.gameserver.model.World;
|
||||
import org.l2jmobius.gameserver.model.spawns.NpcSpawnTemplate;
|
||||
|
||||
/**
|
||||
* Spawn data retriever.
|
||||
@ -194,16 +195,17 @@ public class SpawnTable
|
||||
{
|
||||
final int x = ((spawn.getX() - World.WORLD_X_MIN) >> 15) + World.TILE_X_MIN;
|
||||
final int y = ((spawn.getY() - World.WORLD_Y_MIN) >> 15) + World.TILE_Y_MIN;
|
||||
final File spawnFile = spawn.getNpcSpawnTemplate() != null ? spawn.getNpcSpawnTemplate().getSpawnTemplate().getFile() : new File(OTHER_XML_FOLDER + "/" + x + "_" + y + ".xml");
|
||||
final NpcSpawnTemplate npcSpawnTemplate = spawn.getNpcSpawnTemplate();
|
||||
final File spawnFile = npcSpawnTemplate != null ? npcSpawnTemplate.getSpawnTemplate().getFile() : new File(OTHER_XML_FOLDER + "/" + x + "_" + y + ".xml");
|
||||
final File tempFile = new File(spawnFile.getAbsolutePath().substring(Config.DATAPACK_ROOT.getAbsolutePath().length() + 1).replace('\\', '/') + ".tmp");
|
||||
try
|
||||
{
|
||||
final BufferedReader reader = new BufferedReader(new FileReader(spawnFile));
|
||||
final BufferedWriter writer = new BufferedWriter(new FileWriter(tempFile));
|
||||
final String spawnId = String.valueOf(spawn.getId());
|
||||
final String spawnX = String.valueOf(spawn.getX());
|
||||
final String spawnY = String.valueOf(spawn.getY());
|
||||
final String spawnZ = String.valueOf(spawn.getZ());
|
||||
final String spawnX = String.valueOf(npcSpawnTemplate != null ? npcSpawnTemplate.getSpawnLocation().getX() : spawn.getX());
|
||||
final String spawnY = String.valueOf(npcSpawnTemplate != null ? npcSpawnTemplate.getSpawnLocation().getY() : spawn.getY());
|
||||
final String spawnZ = String.valueOf(npcSpawnTemplate != null ? npcSpawnTemplate.getSpawnLocation().getZ() : spawn.getZ());
|
||||
boolean found = false; // in XML you can have more than one spawn with same coords
|
||||
boolean isMultiLine = false; // in case spawn has more stats
|
||||
boolean lastLineFound = false; // used to check for empty file
|
||||
|
@ -128,8 +128,7 @@ public class NpcActionShift implements IActionShiftHandler
|
||||
}
|
||||
html.replace("%spawnai%", "<font color=FF0000>" + template.getSpawnTemplate().getAI() + "</font>");
|
||||
}
|
||||
|
||||
html.replace("%spawn%", npc.getSpawn().getX() + " " + npc.getSpawn().getY() + " " + npc.getSpawn().getZ());
|
||||
html.replace("%spawn%", (template != null ? template.getSpawnLocation().getX() : npc.getSpawn().getX()) + " " + (template != null ? template.getSpawnLocation().getY() : npc.getSpawn().getY()) + " " + (template != null ? template.getSpawnLocation().getZ() : npc.getSpawn().getZ()));
|
||||
if (npc.getSpawn().getRespawnMinDelay() == 0)
|
||||
{
|
||||
html.replace("%resp%", "None");
|
||||
|
@ -32,6 +32,7 @@ import org.l2jmobius.Config;
|
||||
import org.l2jmobius.gameserver.data.xml.NpcData;
|
||||
import org.l2jmobius.gameserver.model.Spawn;
|
||||
import org.l2jmobius.gameserver.model.World;
|
||||
import org.l2jmobius.gameserver.model.spawns.NpcSpawnTemplate;
|
||||
|
||||
/**
|
||||
* Spawn data retriever.
|
||||
@ -194,16 +195,17 @@ public class SpawnTable
|
||||
{
|
||||
final int x = ((spawn.getX() - World.WORLD_X_MIN) >> 15) + World.TILE_X_MIN;
|
||||
final int y = ((spawn.getY() - World.WORLD_Y_MIN) >> 15) + World.TILE_Y_MIN;
|
||||
final File spawnFile = spawn.getNpcSpawnTemplate() != null ? spawn.getNpcSpawnTemplate().getSpawnTemplate().getFile() : new File(OTHER_XML_FOLDER + "/" + x + "_" + y + ".xml");
|
||||
final NpcSpawnTemplate npcSpawnTemplate = spawn.getNpcSpawnTemplate();
|
||||
final File spawnFile = npcSpawnTemplate != null ? npcSpawnTemplate.getSpawnTemplate().getFile() : new File(OTHER_XML_FOLDER + "/" + x + "_" + y + ".xml");
|
||||
final File tempFile = new File(spawnFile.getAbsolutePath().substring(Config.DATAPACK_ROOT.getAbsolutePath().length() + 1).replace('\\', '/') + ".tmp");
|
||||
try
|
||||
{
|
||||
final BufferedReader reader = new BufferedReader(new FileReader(spawnFile));
|
||||
final BufferedWriter writer = new BufferedWriter(new FileWriter(tempFile));
|
||||
final String spawnId = String.valueOf(spawn.getId());
|
||||
final String spawnX = String.valueOf(spawn.getX());
|
||||
final String spawnY = String.valueOf(spawn.getY());
|
||||
final String spawnZ = String.valueOf(spawn.getZ());
|
||||
final String spawnX = String.valueOf(npcSpawnTemplate != null ? npcSpawnTemplate.getSpawnLocation().getX() : spawn.getX());
|
||||
final String spawnY = String.valueOf(npcSpawnTemplate != null ? npcSpawnTemplate.getSpawnLocation().getY() : spawn.getY());
|
||||
final String spawnZ = String.valueOf(npcSpawnTemplate != null ? npcSpawnTemplate.getSpawnLocation().getZ() : spawn.getZ());
|
||||
boolean found = false; // in XML you can have more than one spawn with same coords
|
||||
boolean isMultiLine = false; // in case spawn has more stats
|
||||
boolean lastLineFound = false; // used to check for empty file
|
||||
|
@ -128,8 +128,7 @@ public class NpcActionShift implements IActionShiftHandler
|
||||
}
|
||||
html.replace("%spawnai%", "<font color=FF0000>" + template.getSpawnTemplate().getAI() + "</font>");
|
||||
}
|
||||
|
||||
html.replace("%spawn%", npc.getSpawn().getX() + " " + npc.getSpawn().getY() + " " + npc.getSpawn().getZ());
|
||||
html.replace("%spawn%", (template != null ? template.getSpawnLocation().getX() : npc.getSpawn().getX()) + " " + (template != null ? template.getSpawnLocation().getY() : npc.getSpawn().getY()) + " " + (template != null ? template.getSpawnLocation().getZ() : npc.getSpawn().getZ()));
|
||||
if (npc.getSpawn().getRespawnMinDelay() == 0)
|
||||
{
|
||||
html.replace("%resp%", "None");
|
||||
|
@ -32,6 +32,7 @@ import org.l2jmobius.Config;
|
||||
import org.l2jmobius.gameserver.data.xml.NpcData;
|
||||
import org.l2jmobius.gameserver.model.Spawn;
|
||||
import org.l2jmobius.gameserver.model.World;
|
||||
import org.l2jmobius.gameserver.model.spawns.NpcSpawnTemplate;
|
||||
|
||||
/**
|
||||
* Spawn data retriever.
|
||||
@ -194,16 +195,17 @@ public class SpawnTable
|
||||
{
|
||||
final int x = ((spawn.getX() - World.WORLD_X_MIN) >> 15) + World.TILE_X_MIN;
|
||||
final int y = ((spawn.getY() - World.WORLD_Y_MIN) >> 15) + World.TILE_Y_MIN;
|
||||
final File spawnFile = spawn.getNpcSpawnTemplate() != null ? spawn.getNpcSpawnTemplate().getSpawnTemplate().getFile() : new File(OTHER_XML_FOLDER + "/" + x + "_" + y + ".xml");
|
||||
final NpcSpawnTemplate npcSpawnTemplate = spawn.getNpcSpawnTemplate();
|
||||
final File spawnFile = npcSpawnTemplate != null ? npcSpawnTemplate.getSpawnTemplate().getFile() : new File(OTHER_XML_FOLDER + "/" + x + "_" + y + ".xml");
|
||||
final File tempFile = new File(spawnFile.getAbsolutePath().substring(Config.DATAPACK_ROOT.getAbsolutePath().length() + 1).replace('\\', '/') + ".tmp");
|
||||
try
|
||||
{
|
||||
final BufferedReader reader = new BufferedReader(new FileReader(spawnFile));
|
||||
final BufferedWriter writer = new BufferedWriter(new FileWriter(tempFile));
|
||||
final String spawnId = String.valueOf(spawn.getId());
|
||||
final String spawnX = String.valueOf(spawn.getX());
|
||||
final String spawnY = String.valueOf(spawn.getY());
|
||||
final String spawnZ = String.valueOf(spawn.getZ());
|
||||
final String spawnX = String.valueOf(npcSpawnTemplate != null ? npcSpawnTemplate.getSpawnLocation().getX() : spawn.getX());
|
||||
final String spawnY = String.valueOf(npcSpawnTemplate != null ? npcSpawnTemplate.getSpawnLocation().getY() : spawn.getY());
|
||||
final String spawnZ = String.valueOf(npcSpawnTemplate != null ? npcSpawnTemplate.getSpawnLocation().getZ() : spawn.getZ());
|
||||
boolean found = false; // in XML you can have more than one spawn with same coords
|
||||
boolean isMultiLine = false; // in case spawn has more stats
|
||||
boolean lastLineFound = false; // used to check for empty file
|
||||
|
@ -128,8 +128,7 @@ public class NpcActionShift implements IActionShiftHandler
|
||||
}
|
||||
html.replace("%spawnai%", "<font color=FF0000>" + template.getSpawnTemplate().getAI() + "</font>");
|
||||
}
|
||||
|
||||
html.replace("%spawn%", npc.getSpawn().getX() + " " + npc.getSpawn().getY() + " " + npc.getSpawn().getZ());
|
||||
html.replace("%spawn%", (template != null ? template.getSpawnLocation().getX() : npc.getSpawn().getX()) + " " + (template != null ? template.getSpawnLocation().getY() : npc.getSpawn().getY()) + " " + (template != null ? template.getSpawnLocation().getZ() : npc.getSpawn().getZ()));
|
||||
if (npc.getSpawn().getRespawnMinDelay() == 0)
|
||||
{
|
||||
html.replace("%resp%", "None");
|
||||
|
@ -32,6 +32,7 @@ import org.l2jmobius.Config;
|
||||
import org.l2jmobius.gameserver.data.xml.NpcData;
|
||||
import org.l2jmobius.gameserver.model.Spawn;
|
||||
import org.l2jmobius.gameserver.model.World;
|
||||
import org.l2jmobius.gameserver.model.spawns.NpcSpawnTemplate;
|
||||
|
||||
/**
|
||||
* Spawn data retriever.
|
||||
@ -194,16 +195,17 @@ public class SpawnTable
|
||||
{
|
||||
final int x = ((spawn.getX() - World.WORLD_X_MIN) >> 15) + World.TILE_X_MIN;
|
||||
final int y = ((spawn.getY() - World.WORLD_Y_MIN) >> 15) + World.TILE_Y_MIN;
|
||||
final File spawnFile = spawn.getNpcSpawnTemplate() != null ? spawn.getNpcSpawnTemplate().getSpawnTemplate().getFile() : new File(OTHER_XML_FOLDER + "/" + x + "_" + y + ".xml");
|
||||
final NpcSpawnTemplate npcSpawnTemplate = spawn.getNpcSpawnTemplate();
|
||||
final File spawnFile = npcSpawnTemplate != null ? npcSpawnTemplate.getSpawnTemplate().getFile() : new File(OTHER_XML_FOLDER + "/" + x + "_" + y + ".xml");
|
||||
final File tempFile = new File(spawnFile.getAbsolutePath().substring(Config.DATAPACK_ROOT.getAbsolutePath().length() + 1).replace('\\', '/') + ".tmp");
|
||||
try
|
||||
{
|
||||
final BufferedReader reader = new BufferedReader(new FileReader(spawnFile));
|
||||
final BufferedWriter writer = new BufferedWriter(new FileWriter(tempFile));
|
||||
final String spawnId = String.valueOf(spawn.getId());
|
||||
final String spawnX = String.valueOf(spawn.getX());
|
||||
final String spawnY = String.valueOf(spawn.getY());
|
||||
final String spawnZ = String.valueOf(spawn.getZ());
|
||||
final String spawnX = String.valueOf(npcSpawnTemplate != null ? npcSpawnTemplate.getSpawnLocation().getX() : spawn.getX());
|
||||
final String spawnY = String.valueOf(npcSpawnTemplate != null ? npcSpawnTemplate.getSpawnLocation().getY() : spawn.getY());
|
||||
final String spawnZ = String.valueOf(npcSpawnTemplate != null ? npcSpawnTemplate.getSpawnLocation().getZ() : spawn.getZ());
|
||||
boolean found = false; // in XML you can have more than one spawn with same coords
|
||||
boolean isMultiLine = false; // in case spawn has more stats
|
||||
boolean lastLineFound = false; // used to check for empty file
|
||||
|
@ -128,8 +128,7 @@ public class NpcActionShift implements IActionShiftHandler
|
||||
}
|
||||
html.replace("%spawnai%", "<font color=FF0000>" + template.getSpawnTemplate().getAI() + "</font>");
|
||||
}
|
||||
|
||||
html.replace("%spawn%", npc.getSpawn().getX() + " " + npc.getSpawn().getY() + " " + npc.getSpawn().getZ());
|
||||
html.replace("%spawn%", (template != null ? template.getSpawnLocation().getX() : npc.getSpawn().getX()) + " " + (template != null ? template.getSpawnLocation().getY() : npc.getSpawn().getY()) + " " + (template != null ? template.getSpawnLocation().getZ() : npc.getSpawn().getZ()));
|
||||
if (npc.getSpawn().getRespawnMinDelay() == 0)
|
||||
{
|
||||
html.replace("%resp%", "None");
|
||||
|
@ -32,6 +32,7 @@ import org.l2jmobius.Config;
|
||||
import org.l2jmobius.gameserver.data.xml.NpcData;
|
||||
import org.l2jmobius.gameserver.model.Spawn;
|
||||
import org.l2jmobius.gameserver.model.World;
|
||||
import org.l2jmobius.gameserver.model.spawns.NpcSpawnTemplate;
|
||||
|
||||
/**
|
||||
* Spawn data retriever.
|
||||
@ -194,16 +195,17 @@ public class SpawnTable
|
||||
{
|
||||
final int x = ((spawn.getX() - World.WORLD_X_MIN) >> 15) + World.TILE_X_MIN;
|
||||
final int y = ((spawn.getY() - World.WORLD_Y_MIN) >> 15) + World.TILE_Y_MIN;
|
||||
final File spawnFile = spawn.getNpcSpawnTemplate() != null ? spawn.getNpcSpawnTemplate().getSpawnTemplate().getFile() : new File(OTHER_XML_FOLDER + "/" + x + "_" + y + ".xml");
|
||||
final NpcSpawnTemplate npcSpawnTemplate = spawn.getNpcSpawnTemplate();
|
||||
final File spawnFile = npcSpawnTemplate != null ? npcSpawnTemplate.getSpawnTemplate().getFile() : new File(OTHER_XML_FOLDER + "/" + x + "_" + y + ".xml");
|
||||
final File tempFile = new File(spawnFile.getAbsolutePath().substring(Config.DATAPACK_ROOT.getAbsolutePath().length() + 1).replace('\\', '/') + ".tmp");
|
||||
try
|
||||
{
|
||||
final BufferedReader reader = new BufferedReader(new FileReader(spawnFile));
|
||||
final BufferedWriter writer = new BufferedWriter(new FileWriter(tempFile));
|
||||
final String spawnId = String.valueOf(spawn.getId());
|
||||
final String spawnX = String.valueOf(spawn.getX());
|
||||
final String spawnY = String.valueOf(spawn.getY());
|
||||
final String spawnZ = String.valueOf(spawn.getZ());
|
||||
final String spawnX = String.valueOf(npcSpawnTemplate != null ? npcSpawnTemplate.getSpawnLocation().getX() : spawn.getX());
|
||||
final String spawnY = String.valueOf(npcSpawnTemplate != null ? npcSpawnTemplate.getSpawnLocation().getY() : spawn.getY());
|
||||
final String spawnZ = String.valueOf(npcSpawnTemplate != null ? npcSpawnTemplate.getSpawnLocation().getZ() : spawn.getZ());
|
||||
boolean found = false; // in XML you can have more than one spawn with same coords
|
||||
boolean isMultiLine = false; // in case spawn has more stats
|
||||
boolean lastLineFound = false; // used to check for empty file
|
||||
|
@ -128,8 +128,7 @@ public class NpcActionShift implements IActionShiftHandler
|
||||
}
|
||||
html.replace("%spawnai%", "<font color=FF0000>" + template.getSpawnTemplate().getAI() + "</font>");
|
||||
}
|
||||
|
||||
html.replace("%spawn%", npc.getSpawn().getX() + " " + npc.getSpawn().getY() + " " + npc.getSpawn().getZ());
|
||||
html.replace("%spawn%", (template != null ? template.getSpawnLocation().getX() : npc.getSpawn().getX()) + " " + (template != null ? template.getSpawnLocation().getY() : npc.getSpawn().getY()) + " " + (template != null ? template.getSpawnLocation().getZ() : npc.getSpawn().getZ()));
|
||||
if (npc.getSpawn().getRespawnMinDelay() == 0)
|
||||
{
|
||||
html.replace("%resp%", "None");
|
||||
|
@ -32,6 +32,7 @@ import org.l2jmobius.Config;
|
||||
import org.l2jmobius.gameserver.data.xml.NpcData;
|
||||
import org.l2jmobius.gameserver.model.Spawn;
|
||||
import org.l2jmobius.gameserver.model.World;
|
||||
import org.l2jmobius.gameserver.model.spawns.NpcSpawnTemplate;
|
||||
|
||||
/**
|
||||
* Spawn data retriever.
|
||||
@ -194,16 +195,17 @@ public class SpawnTable
|
||||
{
|
||||
final int x = ((spawn.getX() - World.WORLD_X_MIN) >> 15) + World.TILE_X_MIN;
|
||||
final int y = ((spawn.getY() - World.WORLD_Y_MIN) >> 15) + World.TILE_Y_MIN;
|
||||
final File spawnFile = spawn.getNpcSpawnTemplate() != null ? spawn.getNpcSpawnTemplate().getSpawnTemplate().getFile() : new File(OTHER_XML_FOLDER + "/" + x + "_" + y + ".xml");
|
||||
final NpcSpawnTemplate npcSpawnTemplate = spawn.getNpcSpawnTemplate();
|
||||
final File spawnFile = npcSpawnTemplate != null ? npcSpawnTemplate.getSpawnTemplate().getFile() : new File(OTHER_XML_FOLDER + "/" + x + "_" + y + ".xml");
|
||||
final File tempFile = new File(spawnFile.getAbsolutePath().substring(Config.DATAPACK_ROOT.getAbsolutePath().length() + 1).replace('\\', '/') + ".tmp");
|
||||
try
|
||||
{
|
||||
final BufferedReader reader = new BufferedReader(new FileReader(spawnFile));
|
||||
final BufferedWriter writer = new BufferedWriter(new FileWriter(tempFile));
|
||||
final String spawnId = String.valueOf(spawn.getId());
|
||||
final String spawnX = String.valueOf(spawn.getX());
|
||||
final String spawnY = String.valueOf(spawn.getY());
|
||||
final String spawnZ = String.valueOf(spawn.getZ());
|
||||
final String spawnX = String.valueOf(npcSpawnTemplate != null ? npcSpawnTemplate.getSpawnLocation().getX() : spawn.getX());
|
||||
final String spawnY = String.valueOf(npcSpawnTemplate != null ? npcSpawnTemplate.getSpawnLocation().getY() : spawn.getY());
|
||||
final String spawnZ = String.valueOf(npcSpawnTemplate != null ? npcSpawnTemplate.getSpawnLocation().getZ() : spawn.getZ());
|
||||
boolean found = false; // in XML you can have more than one spawn with same coords
|
||||
boolean isMultiLine = false; // in case spawn has more stats
|
||||
boolean lastLineFound = false; // used to check for empty file
|
||||
|
@ -128,8 +128,7 @@ public class NpcActionShift implements IActionShiftHandler
|
||||
}
|
||||
html.replace("%spawnai%", "<font color=FF0000>" + template.getSpawnTemplate().getAI() + "</font>");
|
||||
}
|
||||
|
||||
html.replace("%spawn%", npc.getSpawn().getX() + " " + npc.getSpawn().getY() + " " + npc.getSpawn().getZ());
|
||||
html.replace("%spawn%", (template != null ? template.getSpawnLocation().getX() : npc.getSpawn().getX()) + " " + (template != null ? template.getSpawnLocation().getY() : npc.getSpawn().getY()) + " " + (template != null ? template.getSpawnLocation().getZ() : npc.getSpawn().getZ()));
|
||||
if (npc.getSpawn().getRespawnMinDelay() == 0)
|
||||
{
|
||||
html.replace("%resp%", "None");
|
||||
|
@ -32,6 +32,7 @@ import org.l2jmobius.Config;
|
||||
import org.l2jmobius.gameserver.data.xml.NpcData;
|
||||
import org.l2jmobius.gameserver.model.Spawn;
|
||||
import org.l2jmobius.gameserver.model.World;
|
||||
import org.l2jmobius.gameserver.model.spawns.NpcSpawnTemplate;
|
||||
|
||||
/**
|
||||
* Spawn data retriever.
|
||||
@ -194,16 +195,17 @@ public class SpawnTable
|
||||
{
|
||||
final int x = ((spawn.getX() - World.WORLD_X_MIN) >> 15) + World.TILE_X_MIN;
|
||||
final int y = ((spawn.getY() - World.WORLD_Y_MIN) >> 15) + World.TILE_Y_MIN;
|
||||
final File spawnFile = spawn.getNpcSpawnTemplate() != null ? spawn.getNpcSpawnTemplate().getSpawnTemplate().getFile() : new File(OTHER_XML_FOLDER + "/" + x + "_" + y + ".xml");
|
||||
final NpcSpawnTemplate npcSpawnTemplate = spawn.getNpcSpawnTemplate();
|
||||
final File spawnFile = npcSpawnTemplate != null ? npcSpawnTemplate.getSpawnTemplate().getFile() : new File(OTHER_XML_FOLDER + "/" + x + "_" + y + ".xml");
|
||||
final File tempFile = new File(spawnFile.getAbsolutePath().substring(Config.DATAPACK_ROOT.getAbsolutePath().length() + 1).replace('\\', '/') + ".tmp");
|
||||
try
|
||||
{
|
||||
final BufferedReader reader = new BufferedReader(new FileReader(spawnFile));
|
||||
final BufferedWriter writer = new BufferedWriter(new FileWriter(tempFile));
|
||||
final String spawnId = String.valueOf(spawn.getId());
|
||||
final String spawnX = String.valueOf(spawn.getX());
|
||||
final String spawnY = String.valueOf(spawn.getY());
|
||||
final String spawnZ = String.valueOf(spawn.getZ());
|
||||
final String spawnX = String.valueOf(npcSpawnTemplate != null ? npcSpawnTemplate.getSpawnLocation().getX() : spawn.getX());
|
||||
final String spawnY = String.valueOf(npcSpawnTemplate != null ? npcSpawnTemplate.getSpawnLocation().getY() : spawn.getY());
|
||||
final String spawnZ = String.valueOf(npcSpawnTemplate != null ? npcSpawnTemplate.getSpawnLocation().getZ() : spawn.getZ());
|
||||
boolean found = false; // in XML you can have more than one spawn with same coords
|
||||
boolean isMultiLine = false; // in case spawn has more stats
|
||||
boolean lastLineFound = false; // used to check for empty file
|
||||
|
@ -128,8 +128,7 @@ public class NpcActionShift implements IActionShiftHandler
|
||||
}
|
||||
html.replace("%spawnai%", "<font color=FF0000>" + template.getSpawnTemplate().getAI() + "</font>");
|
||||
}
|
||||
|
||||
html.replace("%spawn%", npc.getSpawn().getX() + " " + npc.getSpawn().getY() + " " + npc.getSpawn().getZ());
|
||||
html.replace("%spawn%", (template != null ? template.getSpawnLocation().getX() : npc.getSpawn().getX()) + " " + (template != null ? template.getSpawnLocation().getY() : npc.getSpawn().getY()) + " " + (template != null ? template.getSpawnLocation().getZ() : npc.getSpawn().getZ()));
|
||||
if (npc.getSpawn().getRespawnMinDelay() == 0)
|
||||
{
|
||||
html.replace("%resp%", "None");
|
||||
|
@ -32,6 +32,7 @@ import org.l2jmobius.Config;
|
||||
import org.l2jmobius.gameserver.data.xml.NpcData;
|
||||
import org.l2jmobius.gameserver.model.Spawn;
|
||||
import org.l2jmobius.gameserver.model.World;
|
||||
import org.l2jmobius.gameserver.model.spawns.NpcSpawnTemplate;
|
||||
|
||||
/**
|
||||
* Spawn data retriever.
|
||||
@ -194,16 +195,17 @@ public class SpawnTable
|
||||
{
|
||||
final int x = ((spawn.getX() - World.WORLD_X_MIN) >> 15) + World.TILE_X_MIN;
|
||||
final int y = ((spawn.getY() - World.WORLD_Y_MIN) >> 15) + World.TILE_Y_MIN;
|
||||
final File spawnFile = spawn.getNpcSpawnTemplate() != null ? spawn.getNpcSpawnTemplate().getSpawnTemplate().getFile() : new File(OTHER_XML_FOLDER + "/" + x + "_" + y + ".xml");
|
||||
final NpcSpawnTemplate npcSpawnTemplate = spawn.getNpcSpawnTemplate();
|
||||
final File spawnFile = npcSpawnTemplate != null ? npcSpawnTemplate.getSpawnTemplate().getFile() : new File(OTHER_XML_FOLDER + "/" + x + "_" + y + ".xml");
|
||||
final File tempFile = new File(spawnFile.getAbsolutePath().substring(Config.DATAPACK_ROOT.getAbsolutePath().length() + 1).replace('\\', '/') + ".tmp");
|
||||
try
|
||||
{
|
||||
final BufferedReader reader = new BufferedReader(new FileReader(spawnFile));
|
||||
final BufferedWriter writer = new BufferedWriter(new FileWriter(tempFile));
|
||||
final String spawnId = String.valueOf(spawn.getId());
|
||||
final String spawnX = String.valueOf(spawn.getX());
|
||||
final String spawnY = String.valueOf(spawn.getY());
|
||||
final String spawnZ = String.valueOf(spawn.getZ());
|
||||
final String spawnX = String.valueOf(npcSpawnTemplate != null ? npcSpawnTemplate.getSpawnLocation().getX() : spawn.getX());
|
||||
final String spawnY = String.valueOf(npcSpawnTemplate != null ? npcSpawnTemplate.getSpawnLocation().getY() : spawn.getY());
|
||||
final String spawnZ = String.valueOf(npcSpawnTemplate != null ? npcSpawnTemplate.getSpawnLocation().getZ() : spawn.getZ());
|
||||
boolean found = false; // in XML you can have more than one spawn with same coords
|
||||
boolean isMultiLine = false; // in case spawn has more stats
|
||||
boolean lastLineFound = false; // used to check for empty file
|
||||
|
@ -128,8 +128,7 @@ public class NpcActionShift implements IActionShiftHandler
|
||||
}
|
||||
html.replace("%spawnai%", "<font color=FF0000>" + template.getSpawnTemplate().getAI() + "</font>");
|
||||
}
|
||||
|
||||
html.replace("%spawn%", npc.getSpawn().getX() + " " + npc.getSpawn().getY() + " " + npc.getSpawn().getZ());
|
||||
html.replace("%spawn%", (template != null ? template.getSpawnLocation().getX() : npc.getSpawn().getX()) + " " + (template != null ? template.getSpawnLocation().getY() : npc.getSpawn().getY()) + " " + (template != null ? template.getSpawnLocation().getZ() : npc.getSpawn().getZ()));
|
||||
if (npc.getSpawn().getRespawnMinDelay() == 0)
|
||||
{
|
||||
html.replace("%resp%", "None");
|
||||
|
@ -32,6 +32,7 @@ import org.l2jmobius.Config;
|
||||
import org.l2jmobius.gameserver.data.xml.NpcData;
|
||||
import org.l2jmobius.gameserver.model.Spawn;
|
||||
import org.l2jmobius.gameserver.model.World;
|
||||
import org.l2jmobius.gameserver.model.spawns.NpcSpawnTemplate;
|
||||
|
||||
/**
|
||||
* Spawn data retriever.
|
||||
@ -194,16 +195,17 @@ public class SpawnTable
|
||||
{
|
||||
final int x = ((spawn.getX() - World.WORLD_X_MIN) >> 15) + World.TILE_X_MIN;
|
||||
final int y = ((spawn.getY() - World.WORLD_Y_MIN) >> 15) + World.TILE_Y_MIN;
|
||||
final File spawnFile = spawn.getNpcSpawnTemplate() != null ? spawn.getNpcSpawnTemplate().getSpawnTemplate().getFile() : new File(OTHER_XML_FOLDER + "/" + x + "_" + y + ".xml");
|
||||
final NpcSpawnTemplate npcSpawnTemplate = spawn.getNpcSpawnTemplate();
|
||||
final File spawnFile = npcSpawnTemplate != null ? npcSpawnTemplate.getSpawnTemplate().getFile() : new File(OTHER_XML_FOLDER + "/" + x + "_" + y + ".xml");
|
||||
final File tempFile = new File(spawnFile.getAbsolutePath().substring(Config.DATAPACK_ROOT.getAbsolutePath().length() + 1).replace('\\', '/') + ".tmp");
|
||||
try
|
||||
{
|
||||
final BufferedReader reader = new BufferedReader(new FileReader(spawnFile));
|
||||
final BufferedWriter writer = new BufferedWriter(new FileWriter(tempFile));
|
||||
final String spawnId = String.valueOf(spawn.getId());
|
||||
final String spawnX = String.valueOf(spawn.getX());
|
||||
final String spawnY = String.valueOf(spawn.getY());
|
||||
final String spawnZ = String.valueOf(spawn.getZ());
|
||||
final String spawnX = String.valueOf(npcSpawnTemplate != null ? npcSpawnTemplate.getSpawnLocation().getX() : spawn.getX());
|
||||
final String spawnY = String.valueOf(npcSpawnTemplate != null ? npcSpawnTemplate.getSpawnLocation().getY() : spawn.getY());
|
||||
final String spawnZ = String.valueOf(npcSpawnTemplate != null ? npcSpawnTemplate.getSpawnLocation().getZ() : spawn.getZ());
|
||||
boolean found = false; // in XML you can have more than one spawn with same coords
|
||||
boolean isMultiLine = false; // in case spawn has more stats
|
||||
boolean lastLineFound = false; // used to check for empty file
|
||||
|
@ -128,8 +128,7 @@ public class NpcActionShift implements IActionShiftHandler
|
||||
}
|
||||
html.replace("%spawnai%", "<font color=FF0000>" + template.getSpawnTemplate().getAI() + "</font>");
|
||||
}
|
||||
|
||||
html.replace("%spawn%", npc.getSpawn().getX() + " " + npc.getSpawn().getY() + " " + npc.getSpawn().getZ());
|
||||
html.replace("%spawn%", (template != null ? template.getSpawnLocation().getX() : npc.getSpawn().getX()) + " " + (template != null ? template.getSpawnLocation().getY() : npc.getSpawn().getY()) + " " + (template != null ? template.getSpawnLocation().getZ() : npc.getSpawn().getZ()));
|
||||
if (npc.getSpawn().getRespawnMinDelay() == 0)
|
||||
{
|
||||
html.replace("%resp%", "None");
|
||||
|
@ -32,6 +32,7 @@ import org.l2jmobius.Config;
|
||||
import org.l2jmobius.gameserver.data.xml.NpcData;
|
||||
import org.l2jmobius.gameserver.model.Spawn;
|
||||
import org.l2jmobius.gameserver.model.World;
|
||||
import org.l2jmobius.gameserver.model.spawns.NpcSpawnTemplate;
|
||||
|
||||
/**
|
||||
* Spawn data retriever.
|
||||
@ -194,16 +195,17 @@ public class SpawnTable
|
||||
{
|
||||
final int x = ((spawn.getX() - World.WORLD_X_MIN) >> 15) + World.TILE_X_MIN;
|
||||
final int y = ((spawn.getY() - World.WORLD_Y_MIN) >> 15) + World.TILE_Y_MIN;
|
||||
final File spawnFile = spawn.getNpcSpawnTemplate() != null ? spawn.getNpcSpawnTemplate().getSpawnTemplate().getFile() : new File(OTHER_XML_FOLDER + "/" + x + "_" + y + ".xml");
|
||||
final NpcSpawnTemplate npcSpawnTemplate = spawn.getNpcSpawnTemplate();
|
||||
final File spawnFile = npcSpawnTemplate != null ? npcSpawnTemplate.getSpawnTemplate().getFile() : new File(OTHER_XML_FOLDER + "/" + x + "_" + y + ".xml");
|
||||
final File tempFile = new File(spawnFile.getAbsolutePath().substring(Config.DATAPACK_ROOT.getAbsolutePath().length() + 1).replace('\\', '/') + ".tmp");
|
||||
try
|
||||
{
|
||||
final BufferedReader reader = new BufferedReader(new FileReader(spawnFile));
|
||||
final BufferedWriter writer = new BufferedWriter(new FileWriter(tempFile));
|
||||
final String spawnId = String.valueOf(spawn.getId());
|
||||
final String spawnX = String.valueOf(spawn.getX());
|
||||
final String spawnY = String.valueOf(spawn.getY());
|
||||
final String spawnZ = String.valueOf(spawn.getZ());
|
||||
final String spawnX = String.valueOf(npcSpawnTemplate != null ? npcSpawnTemplate.getSpawnLocation().getX() : spawn.getX());
|
||||
final String spawnY = String.valueOf(npcSpawnTemplate != null ? npcSpawnTemplate.getSpawnLocation().getY() : spawn.getY());
|
||||
final String spawnZ = String.valueOf(npcSpawnTemplate != null ? npcSpawnTemplate.getSpawnLocation().getZ() : spawn.getZ());
|
||||
boolean found = false; // in XML you can have more than one spawn with same coords
|
||||
boolean isMultiLine = false; // in case spawn has more stats
|
||||
boolean lastLineFound = false; // used to check for empty file
|
||||
|
@ -128,8 +128,7 @@ public class NpcActionShift implements IActionShiftHandler
|
||||
}
|
||||
html.replace("%spawnai%", "<font color=FF0000>" + template.getSpawnTemplate().getAI() + "</font>");
|
||||
}
|
||||
|
||||
html.replace("%spawn%", npc.getSpawn().getX() + " " + npc.getSpawn().getY() + " " + npc.getSpawn().getZ());
|
||||
html.replace("%spawn%", (template != null ? template.getSpawnLocation().getX() : npc.getSpawn().getX()) + " " + (template != null ? template.getSpawnLocation().getY() : npc.getSpawn().getY()) + " " + (template != null ? template.getSpawnLocation().getZ() : npc.getSpawn().getZ()));
|
||||
if (npc.getSpawn().getRespawnMinDelay() == 0)
|
||||
{
|
||||
html.replace("%resp%", "None");
|
||||
|
@ -32,6 +32,7 @@ import org.l2jmobius.Config;
|
||||
import org.l2jmobius.gameserver.data.xml.NpcData;
|
||||
import org.l2jmobius.gameserver.model.Spawn;
|
||||
import org.l2jmobius.gameserver.model.World;
|
||||
import org.l2jmobius.gameserver.model.spawns.NpcSpawnTemplate;
|
||||
|
||||
/**
|
||||
* Spawn data retriever.
|
||||
@ -194,16 +195,17 @@ public class SpawnTable
|
||||
{
|
||||
final int x = ((spawn.getX() - World.WORLD_X_MIN) >> 15) + World.TILE_X_MIN;
|
||||
final int y = ((spawn.getY() - World.WORLD_Y_MIN) >> 15) + World.TILE_Y_MIN;
|
||||
final File spawnFile = spawn.getNpcSpawnTemplate() != null ? spawn.getNpcSpawnTemplate().getSpawnTemplate().getFile() : new File(OTHER_XML_FOLDER + "/" + x + "_" + y + ".xml");
|
||||
final NpcSpawnTemplate npcSpawnTemplate = spawn.getNpcSpawnTemplate();
|
||||
final File spawnFile = npcSpawnTemplate != null ? npcSpawnTemplate.getSpawnTemplate().getFile() : new File(OTHER_XML_FOLDER + "/" + x + "_" + y + ".xml");
|
||||
final File tempFile = new File(spawnFile.getAbsolutePath().substring(Config.DATAPACK_ROOT.getAbsolutePath().length() + 1).replace('\\', '/') + ".tmp");
|
||||
try
|
||||
{
|
||||
final BufferedReader reader = new BufferedReader(new FileReader(spawnFile));
|
||||
final BufferedWriter writer = new BufferedWriter(new FileWriter(tempFile));
|
||||
final String spawnId = String.valueOf(spawn.getId());
|
||||
final String spawnX = String.valueOf(spawn.getX());
|
||||
final String spawnY = String.valueOf(spawn.getY());
|
||||
final String spawnZ = String.valueOf(spawn.getZ());
|
||||
final String spawnX = String.valueOf(npcSpawnTemplate != null ? npcSpawnTemplate.getSpawnLocation().getX() : spawn.getX());
|
||||
final String spawnY = String.valueOf(npcSpawnTemplate != null ? npcSpawnTemplate.getSpawnLocation().getY() : spawn.getY());
|
||||
final String spawnZ = String.valueOf(npcSpawnTemplate != null ? npcSpawnTemplate.getSpawnLocation().getZ() : spawn.getZ());
|
||||
boolean found = false; // in XML you can have more than one spawn with same coords
|
||||
boolean isMultiLine = false; // in case spawn has more stats
|
||||
boolean lastLineFound = false; // used to check for empty file
|
||||
|
@ -128,8 +128,7 @@ public class NpcActionShift implements IActionShiftHandler
|
||||
}
|
||||
html.replace("%spawnai%", "<font color=FF0000>" + template.getSpawnTemplate().getAI() + "</font>");
|
||||
}
|
||||
|
||||
html.replace("%spawn%", npc.getSpawn().getX() + " " + npc.getSpawn().getY() + " " + npc.getSpawn().getZ());
|
||||
html.replace("%spawn%", (template != null ? template.getSpawnLocation().getX() : npc.getSpawn().getX()) + " " + (template != null ? template.getSpawnLocation().getY() : npc.getSpawn().getY()) + " " + (template != null ? template.getSpawnLocation().getZ() : npc.getSpawn().getZ()));
|
||||
if (npc.getSpawn().getRespawnMinDelay() == 0)
|
||||
{
|
||||
html.replace("%resp%", "None");
|
||||
|
@ -32,6 +32,7 @@ import org.l2jmobius.Config;
|
||||
import org.l2jmobius.gameserver.data.xml.NpcData;
|
||||
import org.l2jmobius.gameserver.model.Spawn;
|
||||
import org.l2jmobius.gameserver.model.World;
|
||||
import org.l2jmobius.gameserver.model.spawns.NpcSpawnTemplate;
|
||||
|
||||
/**
|
||||
* Spawn data retriever.
|
||||
@ -194,16 +195,17 @@ public class SpawnTable
|
||||
{
|
||||
final int x = ((spawn.getX() - World.WORLD_X_MIN) >> 15) + World.TILE_X_MIN;
|
||||
final int y = ((spawn.getY() - World.WORLD_Y_MIN) >> 15) + World.TILE_Y_MIN;
|
||||
final File spawnFile = spawn.getNpcSpawnTemplate() != null ? spawn.getNpcSpawnTemplate().getSpawnTemplate().getFile() : new File(OTHER_XML_FOLDER + "/" + x + "_" + y + ".xml");
|
||||
final NpcSpawnTemplate npcSpawnTemplate = spawn.getNpcSpawnTemplate();
|
||||
final File spawnFile = npcSpawnTemplate != null ? npcSpawnTemplate.getSpawnTemplate().getFile() : new File(OTHER_XML_FOLDER + "/" + x + "_" + y + ".xml");
|
||||
final File tempFile = new File(spawnFile.getAbsolutePath().substring(Config.DATAPACK_ROOT.getAbsolutePath().length() + 1).replace('\\', '/') + ".tmp");
|
||||
try
|
||||
{
|
||||
final BufferedReader reader = new BufferedReader(new FileReader(spawnFile));
|
||||
final BufferedWriter writer = new BufferedWriter(new FileWriter(tempFile));
|
||||
final String spawnId = String.valueOf(spawn.getId());
|
||||
final String spawnX = String.valueOf(spawn.getX());
|
||||
final String spawnY = String.valueOf(spawn.getY());
|
||||
final String spawnZ = String.valueOf(spawn.getZ());
|
||||
final String spawnX = String.valueOf(npcSpawnTemplate != null ? npcSpawnTemplate.getSpawnLocation().getX() : spawn.getX());
|
||||
final String spawnY = String.valueOf(npcSpawnTemplate != null ? npcSpawnTemplate.getSpawnLocation().getY() : spawn.getY());
|
||||
final String spawnZ = String.valueOf(npcSpawnTemplate != null ? npcSpawnTemplate.getSpawnLocation().getZ() : spawn.getZ());
|
||||
boolean found = false; // in XML you can have more than one spawn with same coords
|
||||
boolean isMultiLine = false; // in case spawn has more stats
|
||||
boolean lastLineFound = false; // used to check for empty file
|
||||
|
Loading…
Reference in New Issue
Block a user