浏览代码

DataPack for L2Spawn constructor change.

Zoey76 10 年之前
父节点
当前提交
b06918b7d6

+ 1 - 2
L2J_DataPack/dist/game/data/scripts/ai/group_template/AltarsOfSacrifice.java

@@ -23,7 +23,6 @@ import java.util.logging.Level;
 import ai.npc.AbstractNpcAI;
 
 import com.l2jserver.gameserver.GeoData;
-import com.l2jserver.gameserver.data.xml.impl.NpcData;
 import com.l2jserver.gameserver.model.L2Spawn;
 import com.l2jserver.gameserver.model.Location;
 import com.l2jserver.gameserver.model.actor.L2Npc;
@@ -56,7 +55,7 @@ public final class AltarsOfSacrifice extends AbstractNpcAI
 				throw new IllegalStateException();
 			}
 			
-			final L2Spawn spawn = new L2Spawn(NpcData.getInstance().getTemplate(_bossNpcIds[Rnd.get(_bossNpcIds.length)]));
+			final L2Spawn spawn = new L2Spawn(_bossNpcIds[Rnd.get(_bossNpcIds.length)]);
 			spawn.setAmount(1);
 			spawn.setHeading(Rnd.get(65536));
 			

+ 5 - 11
L2J_DataPack/dist/game/data/scripts/ai/individual/Beleth.java

@@ -28,7 +28,6 @@ import com.l2jserver.gameserver.ThreadPoolManager;
 import com.l2jserver.gameserver.ai.CtrlIntention;
 import com.l2jserver.gameserver.cache.HtmCache;
 import com.l2jserver.gameserver.data.xml.impl.DoorData;
-import com.l2jserver.gameserver.data.xml.impl.NpcData;
 import com.l2jserver.gameserver.instancemanager.GrandBossManager;
 import com.l2jserver.gameserver.instancemanager.ZoneManager;
 import com.l2jserver.gameserver.model.L2Object;
@@ -40,7 +39,6 @@ import com.l2jserver.gameserver.model.actor.L2Character;
 import com.l2jserver.gameserver.model.actor.L2Npc;
 import com.l2jserver.gameserver.model.actor.instance.L2DoorInstance;
 import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
-import com.l2jserver.gameserver.model.actor.templates.L2NpcTemplate;
 import com.l2jserver.gameserver.model.effects.L2EffectType;
 import com.l2jserver.gameserver.model.holders.SkillHolder;
 import com.l2jserver.gameserver.model.skills.Skill;
@@ -116,15 +114,11 @@ public final class Beleth extends AbstractNpcAI
 	{
 		try
 		{
-			L2NpcTemplate template = NpcData.getInstance().getTemplate(npcId);
-			if (template != null)
-			{
-				L2Spawn spawn = new L2Spawn(template);
-				spawn.setInstanceId(loc.getInstanceId());
-				spawn.setLocation(loc);
-				spawn.setAmount(spawn.getAmount() + 1);
-				return spawn.doSpawn();
-			}
+			final L2Spawn spawn = new L2Spawn(npcId);
+			spawn.setInstanceId(loc.getInstanceId());
+			spawn.setLocation(loc);
+			spawn.setAmount(spawn.getAmount() + 1);
+			return spawn.doSpawn();
 		}
 		catch (Exception ignored)
 		{

+ 1 - 2
L2J_DataPack/dist/game/data/scripts/ai/npc/ForgeOfTheGods/TarBeetleSpawn.java

@@ -31,7 +31,6 @@ import org.w3c.dom.Node;
 import com.l2jserver.gameserver.GeoData;
 import com.l2jserver.gameserver.ThreadPoolManager;
 import com.l2jserver.gameserver.data.xml.IXmlReader;
-import com.l2jserver.gameserver.data.xml.impl.NpcData;
 import com.l2jserver.gameserver.model.L2Spawn;
 import com.l2jserver.gameserver.model.L2Territory;
 import com.l2jserver.gameserver.model.Location;
@@ -228,7 +227,7 @@ public class TarBeetleSpawn implements IXmlReader
 					final Location location = _zones.get(Rnd.get(_zones.size())).getRandomPoint();
 					if (location != null)
 					{
-						final L2Spawn spawn = new L2Spawn(NpcData.getInstance().getTemplate(18804));
+						final L2Spawn spawn = new L2Spawn(18804);
 						spawn.setHeading(Rnd.get(65535));
 						spawn.setX(location.getX());
 						spawn.setY(location.getY());

+ 1 - 2
L2J_DataPack/dist/game/data/scripts/conquerablehalls/FortressOfResistance/FortressOfResistance.java

@@ -24,7 +24,6 @@ import java.util.Map.Entry;
 
 import com.l2jserver.gameserver.cache.HtmCache;
 import com.l2jserver.gameserver.data.sql.impl.ClanTable;
-import com.l2jserver.gameserver.data.xml.impl.NpcData;
 import com.l2jserver.gameserver.model.L2Clan;
 import com.l2jserver.gameserver.model.L2Spawn;
 import com.l2jserver.gameserver.model.Location;
@@ -65,7 +64,7 @@ public final class FortressOfResistance extends ClanHallSiegeEngine
 		
 		try
 		{
-			_nurka = new L2Spawn(NpcData.getInstance().getTemplate(BLOODY_LORD_NURKA));
+			_nurka = new L2Spawn(BLOODY_LORD_NURKA);
 			_nurka.setAmount(1);
 			_nurka.setRespawnDelay(10800);
 //			@formatter:off

+ 1 - 2
L2J_DataPack/dist/game/data/scripts/conquerablehalls/RainbowSpringsChateau/RainbowSpringsChateau.java

@@ -35,7 +35,6 @@ import com.l2jserver.L2DatabaseFactory;
 import com.l2jserver.gameserver.ThreadPoolManager;
 import com.l2jserver.gameserver.cache.HtmCache;
 import com.l2jserver.gameserver.data.sql.impl.ClanTable;
-import com.l2jserver.gameserver.data.xml.impl.NpcData;
 import com.l2jserver.gameserver.datatables.SpawnTable;
 import com.l2jserver.gameserver.instancemanager.CHSiegeManager;
 import com.l2jserver.gameserver.instancemanager.ZoneManager;
@@ -709,7 +708,7 @@ public final class RainbowSpringsChateau extends ClanHallSiegeEngine
 			{
 				try
 				{
-					_gourds[i] = new L2Spawn(NpcData.getInstance().getTemplate(GOURDS[i]));
+					_gourds[i] = new L2Spawn(GOURDS[i]);
 					_gourds[i].setX(ARENAS[i].getX() + 150);
 					_gourds[i].setY(ARENAS[i].getY() + 150);
 					_gourds[i].setZ(ARENAS[i].getZ());

+ 2 - 18
L2J_DataPack/dist/game/data/scripts/conquerablehalls/flagwar/FlagWar.java

@@ -32,7 +32,6 @@ import com.l2jserver.gameserver.ThreadPoolManager;
 import com.l2jserver.gameserver.ai.CtrlIntention;
 import com.l2jserver.gameserver.ai.L2SpecialSiegeGuardAI;
 import com.l2jserver.gameserver.data.sql.impl.ClanTable;
-import com.l2jserver.gameserver.data.xml.impl.NpcData;
 import com.l2jserver.gameserver.model.L2Clan;
 import com.l2jserver.gameserver.model.L2ClanMember;
 import com.l2jserver.gameserver.model.L2SiegeClan;
@@ -43,7 +42,6 @@ import com.l2jserver.gameserver.model.Location;
 import com.l2jserver.gameserver.model.TeleportWhereType;
 import com.l2jserver.gameserver.model.actor.L2Npc;
 import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
-import com.l2jserver.gameserver.model.actor.templates.L2NpcTemplate;
 import com.l2jserver.gameserver.model.entity.Siegable;
 import com.l2jserver.gameserver.model.entity.clanhall.ClanHallSiegeEngine;
 import com.l2jserver.gameserver.model.entity.clanhall.SiegeStatus;
@@ -629,20 +627,6 @@ public abstract class FlagWar extends ClanHallSiegeEngine
 	{
 		try
 		{
-			L2NpcTemplate mahumTemplate = NpcData.getInstance().getTemplate(data.npc);
-			L2NpcTemplate flagTemplate = NpcData.getInstance().getTemplate(data.flag);
-			
-			if (flagTemplate == null)
-			{
-				_log.warning(getName() + ": Flag L2NpcTemplate[" + data.flag + "] does not exist!");
-				throw new NullPointerException();
-			}
-			else if (mahumTemplate == null)
-			{
-				_log.warning(getName() + ": Ally L2NpcTemplate[" + data.npc + "] does not exist!");
-				throw new NullPointerException();
-			}
-			
 			int index = 0;
 			if (_firstPhase)
 			{
@@ -654,13 +638,13 @@ public abstract class FlagWar extends ClanHallSiegeEngine
 			}
 			Location loc = FLAG_COORDS[index];
 			
-			data.flagInstance = new L2Spawn(flagTemplate);
+			data.flagInstance = new L2Spawn(data.flag);
 			data.flagInstance.setLocation(loc);
 			data.flagInstance.setRespawnDelay(10000);
 			data.flagInstance.setAmount(1);
 			data.flagInstance.init();
 			
-			data.warrior = new L2Spawn(mahumTemplate);
+			data.warrior = new L2Spawn(data.npc);
 			data.warrior.setLocation(loc);
 			data.warrior.setRespawnDelay(10000);
 			data.warrior.setAmount(1);

+ 8 - 10
L2J_DataPack/dist/game/data/scripts/handlers/admincommandhandlers/AdminSpawn.java

@@ -398,23 +398,21 @@ public class AdminSpawn implements IAdminCommandHandler
 			target = activeChar;
 		}
 		
-		L2NpcTemplate template1;
+		L2NpcTemplate template;
 		if (monsterId.matches("[0-9]*"))
 		{
 			// First parameter was an ID number
-			int monsterTemplate = Integer.parseInt(monsterId);
-			template1 = NpcData.getInstance().getTemplate(monsterTemplate);
+			template = NpcData.getInstance().getTemplate(Integer.parseInt(monsterId));
 		}
 		else
 		{
 			// First parameter wasn't just numbers so go by name not ID
-			monsterId = monsterId.replace('_', ' ');
-			template1 = NpcData.getInstance().getTemplateByName(monsterId);
+			template = NpcData.getInstance().getTemplateByName(monsterId.replace('_', ' '));
 		}
 		
 		try
 		{
-			L2Spawn spawn = new L2Spawn(template1);
+			final L2Spawn spawn = new L2Spawn(template);
 			if (Config.SAVE_GMSPAWN_ON_CUSTOM)
 			{
 				spawn.setCustom(true);
@@ -437,15 +435,15 @@ public class AdminSpawn implements IAdminCommandHandler
 			// TODO add checks for GrandBossSpawnManager
 			if (RaidBossSpawnManager.getInstance().isDefined(spawn.getId()))
 			{
-				activeChar.sendMessage("You cannot spawn another instance of " + template1.getName() + ".");
+				activeChar.sendMessage("You cannot spawn another instance of " + template.getName() + ".");
 			}
 			else
 			{
-				if (RaidBossSpawnManager.getInstance().getValidTemplate(spawn.getId()) != null)
+				if (template.isType("L2RaidBoss"))
 				{
 					spawn.setRespawnMinDelay(43200);
 					spawn.setRespawnMaxDelay(129600);
-					RaidBossSpawnManager.getInstance().addNewSpawn(spawn, 0, template1.getBaseHpMax(), template1.getBaseMpMax(), permanent);
+					RaidBossSpawnManager.getInstance().addNewSpawn(spawn, 0, template.getBaseHpMax(), template.getBaseMpMax(), permanent);
 				}
 				else
 				{
@@ -456,7 +454,7 @@ public class AdminSpawn implements IAdminCommandHandler
 				{
 					spawn.stopRespawn();
 				}
-				activeChar.sendMessage("Created " + template1.getName() + " on " + target.getObjectId());
+				activeChar.sendMessage("Created " + template.getName() + " on " + target.getObjectId());
 			}
 		}
 		catch (Exception e)

+ 3 - 18
L2J_DataPack/dist/game/data/scripts/handlers/admincommandhandlers/AdminTeleport.java

@@ -28,7 +28,6 @@ import java.util.logging.Logger;
 import com.l2jserver.Config;
 import com.l2jserver.L2DatabaseFactory;
 import com.l2jserver.gameserver.ai.CtrlIntention;
-import com.l2jserver.gameserver.data.xml.impl.NpcData;
 import com.l2jserver.gameserver.datatables.SpawnTable;
 import com.l2jserver.gameserver.handler.IAdminCommandHandler;
 import com.l2jserver.gameserver.instancemanager.MapRegionManager;
@@ -41,7 +40,6 @@ import com.l2jserver.gameserver.model.actor.L2Npc;
 import com.l2jserver.gameserver.model.actor.instance.L2GrandBossInstance;
 import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
 import com.l2jserver.gameserver.model.actor.instance.L2RaidBossInstance;
-import com.l2jserver.gameserver.model.actor.templates.L2NpcTemplate;
 import com.l2jserver.gameserver.network.SystemMessageId;
 import com.l2jserver.gameserver.network.serverpackets.NpcHtmlMessage;
 import com.l2jserver.util.StringUtil;
@@ -526,16 +524,6 @@ public class AdminTeleport implements IAdminCommandHandler
 		if ((obj instanceof L2Npc) && !((L2Npc) obj).isMinion() && !(obj instanceof L2RaidBossInstance) && !(obj instanceof L2GrandBossInstance))
 		{
 			L2Npc target = (L2Npc) obj;
-			
-			int monsterTemplate = target.getTemplate().getId();
-			L2NpcTemplate template1 = NpcData.getInstance().getTemplate(monsterTemplate);
-			if (template1 == null)
-			{
-				activeChar.sendMessage("Incorrect monster template.");
-				_log.warning("ERROR: NPC " + target.getObjectId() + " has a 'null' template.");
-				return;
-			}
-			
 			L2Spawn spawn = target.getSpawn();
 			if (spawn == null)
 			{
@@ -551,9 +539,7 @@ public class AdminTeleport implements IAdminCommandHandler
 			
 			try
 			{
-				// L2MonsterInstance mob = new L2MonsterInstance(monsterTemplate, template1);
-				
-				spawn = new L2Spawn(template1);
+				spawn = new L2Spawn(target.getTemplate().getId());
 				if (Config.SAVE_GMSPAWN_ON_CUSTOM)
 				{
 					spawn.setCustom(true);
@@ -575,7 +561,7 @@ public class AdminTeleport implements IAdminCommandHandler
 				SpawnTable.getInstance().addNewSpawn(spawn, true);
 				spawn.init();
 				
-				activeChar.sendMessage("Created " + template1.getName() + " on " + target.getObjectId() + ".");
+				activeChar.sendMessage("Created " + target.getTemplate().getName() + " on " + target.getObjectId() + ".");
 				
 				if (Config.DEBUG)
 				{
@@ -604,8 +590,7 @@ public class AdminTeleport implements IAdminCommandHandler
 			RaidBossSpawnManager.getInstance().deleteSpawn(spawn, true);
 			try
 			{
-				L2NpcTemplate template = NpcData.getInstance().getTemplate(target.getId());
-				L2Spawn spawnDat = new L2Spawn(template);
+				final L2Spawn spawnDat = new L2Spawn(target.getId());
 				if (Config.SAVE_GMSPAWN_ON_CUSTOM)
 				{
 					spawn.setCustom(true);

+ 1 - 1
L2J_DataPack/dist/game/data/scripts/handlers/effecthandlers/SummonNpc.java

@@ -145,7 +145,7 @@ public final class SummonNpc extends AbstractEffect
 				L2Spawn spawn;
 				try
 				{
-					spawn = new L2Spawn(npcTemplate);
+					spawn = new L2Spawn(_npcId);
 				}
 				catch (Exception e)
 				{

+ 1 - 10
L2J_DataPack/dist/game/data/scripts/hellbound/HellboundSpawns.java

@@ -28,11 +28,9 @@ import org.w3c.dom.NamedNodeMap;
 import org.w3c.dom.Node;
 
 import com.l2jserver.gameserver.data.xml.IXmlReader;
-import com.l2jserver.gameserver.data.xml.impl.NpcData;
 import com.l2jserver.gameserver.datatables.SpawnTable;
 import com.l2jserver.gameserver.model.L2Spawn;
 import com.l2jserver.gameserver.model.Location;
-import com.l2jserver.gameserver.model.actor.templates.L2NpcTemplate;
 
 /**
  * Hellbound Spawns parser.
@@ -88,13 +86,6 @@ public final class HellboundSpawns implements IXmlReader
 			}
 			
 			final int npcId = Integer.parseInt(id.getNodeValue());
-			final L2NpcTemplate template = NpcData.getInstance().getTemplate(npcId);
-			if (template == null)
-			{
-				LOGGER.warning(getClass().getSimpleName() + ": Missing NPC template for ID: " + npcId + "!");
-				return;
-			}
-			
 			Location loc = null;
 			int delay = 0;
 			int randomInterval = 0;
@@ -129,7 +120,7 @@ public final class HellboundSpawns implements IXmlReader
 			
 			try
 			{
-				final L2Spawn spawn = new L2Spawn(template);
+				final L2Spawn spawn = new L2Spawn(npcId);
 				spawn.setAmount(1);
 				if (loc == null)
 				{