瀏覽代碼

BETA: Misc:
* Datapack part for [L6281]
* Test XML spawnlists and spawn territories are disabled by default now
* Cleanup (patch by jurchiks)

* Reviewed by: jurchiks, xban1x, !UnAfraid

VlLight 11 年之前
父節點
當前提交
d1847154b6

+ 3 - 1
L2J_DataPack_BETA/dist/game/data/scripts/handlers/actionhandlers/L2NpcActionShift.java

@@ -27,6 +27,7 @@ import com.l2jserver.gameserver.model.Elementals;
 import com.l2jserver.gameserver.model.L2DropCategory;
 import com.l2jserver.gameserver.model.L2DropData;
 import com.l2jserver.gameserver.model.L2Object;
+import com.l2jserver.gameserver.model.Location;
 import com.l2jserver.gameserver.model.actor.L2Attackable;
 import com.l2jserver.gameserver.model.actor.L2Character;
 import com.l2jserver.gameserver.model.actor.L2Npc;
@@ -118,7 +119,8 @@ public class L2NpcActionShift implements IActionHandler
 				if (((L2Npc) target).getSpawn().isTerritoryBased())
 				{
 					html.replace("%spawntype%", "Random");
-					html.replace("%spawn%", ((L2Npc) target).getSpawn().getX(target) + " " + ((L2Npc) target).getSpawn().getY(target) + " " + ((L2Npc) target).getSpawn().getZ(target));
+					final Location spawnLoc = ((L2Npc) target).getSpawn().getLocation(target);
+					html.replace("%spawn%", spawnLoc.getX() + " " + spawnLoc.getY() + " " + spawnLoc.getZ());
 				}
 				else
 				{

+ 1 - 1
L2J_DataPack_BETA/dist/game/data/spawnlist/test.xml

@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<list  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../xsd/spawnlist.xsd">
+<list enabled="false" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../xsd/spawnlist.xsd">
 	<spawn zone="spawn_zone_test_01">
 		<npc id="20550" count="3" respawnDelay="15" respawnRandom="5" />
 	</spawn>

+ 41 - 30
L2J_DataPack_BETA/dist/game/data/xsd/spawnlist.xsd

@@ -1,24 +1,33 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
-  <xs:element name="list">
-    <xs:complexType>
-      <xs:sequence maxOccurs="1" minOccurs="1">
-        <xs:element name="spawn" minOccurs="1" maxOccurs="unbounded">
-          <xs:complexType>
-            <xs:sequence minOccurs="1" maxOccurs="unbounded">
-              <xs:element name="npc" minOccurs="1" maxOccurs="unbounded">
-                <xs:complexType>
-                  <xs:simpleContent>
-                    <xs:extension base="xs:string">
-                      <xs:attribute name="id" type="xs:positiveInteger" use="required" />
-                      <xs:attribute name="x" type="xs:integer" use="optional" />
-                      <xs:attribute name="y" type="xs:integer" use="optional" />
-                      <xs:attribute name="z" type="xs:integer" use="optional" />
-                      <xs:attribute name="heading" type="xs:integer" use="optional" />
-                      <xs:attribute name="count" type="xs:positiveInteger" use="optional" />
-                      <xs:attribute name="respawnDelay" type="xs:nonNegativeInteger" use="optional" />
-                      <xs:attribute name="respawnRandom" type="xs:nonNegativeInteger" use="optional" />
-                      <xs:attribute name="periodOfDay" use="optional">
+	<xs:element name="list">
+		<xs:complexType>
+			<xs:sequence maxOccurs="1" minOccurs="1">
+				<xs:element name="spawn" minOccurs="1" maxOccurs="unbounded">
+					<xs:complexType>
+						<xs:sequence minOccurs="1" maxOccurs="unbounded">
+							<xs:element name="AIData" minOccurs="0" maxOccurs="1">
+								<xs:complexType>
+									<xs:sequence minOccurs="1" maxOccurs="1">
+										<xs:element type="xs:nonNegativeInteger" name="aggroRange" minOccurs="0" maxOccurs="1" />
+										<xs:element type="xs:boolean" name="disableRandomAnimation" minOccurs="0" maxOccurs="1" />
+										<xs:element type="xs:boolean" name="disableRandomWalk" minOccurs="0" maxOccurs="1" />
+									</xs:sequence>
+								</xs:complexType>
+							</xs:element>
+							<xs:element name="npc" minOccurs="1" maxOccurs="unbounded">
+								<xs:complexType>
+									<xs:simpleContent>
+										<xs:extension base="xs:string">
+											<xs:attribute name="id" type="xs:positiveInteger" use="required" />
+											<xs:attribute name="x" type="xs:integer" use="optional" />
+											<xs:attribute name="y" type="xs:integer" use="optional" />
+											<xs:attribute name="z" type="xs:integer" use="optional" />
+											<xs:attribute name="heading" type="xs:integer" use="optional" />
+											<xs:attribute name="count" type="xs:positiveInteger" use="optional" />
+											<xs:attribute name="respawnDelay" type="xs:nonNegativeInteger" use="optional" />
+											<xs:attribute name="respawnRandom" type="xs:nonNegativeInteger" use="optional" />
+											<xs:attribute name="periodOfDay" use="optional">
 												<xs:simpleType>
 													<xs:restriction base="xs:token">
 														<xs:enumeration value="day" />
@@ -26,15 +35,17 @@
 													</xs:restriction>
 												</xs:simpleType>
 											</xs:attribute>
-                    </xs:extension>
-                  </xs:simpleContent>
-                </xs:complexType>
-              </xs:element>
-            </xs:sequence>
-            <xs:attribute type="xs:string" name="zone" use="optional"/>
-          </xs:complexType>
-        </xs:element>
-      </xs:sequence>
-    </xs:complexType>
-  </xs:element>
+										</xs:extension>
+									</xs:simpleContent>
+								</xs:complexType>
+							</xs:element>
+						</xs:sequence>
+						<xs:attribute type="xs:string" name="name" use="optional" />
+						<xs:attribute type="xs:string" name="zone" use="optional" />
+					</xs:complexType>
+				</xs:element>
+			</xs:sequence>
+			<xs:attribute name="enabled" type="xs:boolean" use="required" />
+	</xs:complexType>
+	</xs:element>
 </xs:schema>

+ 1 - 1
L2J_DataPack_BETA/dist/game/data/zones/npcSpawnTerritories/npc_spawn_zone_test.xml

@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<list enabled="true" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../xsd/zones.xsd">
+<list enabled="false" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../xsd/zones.xsd">
 	<zone name="spawn_zone_test_01" type="NpcSpawnTerritory" shape="Cuboid" minZ="-3734" maxZ="-3689">
 			<node X="75552" Y="142899" />
 			<node X="76887" Y="144333" />