瀏覽代碼

A new zone to handle pagan's mark for players. Need dp support.

Charus 15 年之前
父節點
當前提交
173497a629

+ 2 - 0
L2_GameServer/java/net/sf/l2j/gameserver/instancemanager/ZoneManager.java

@@ -184,6 +184,8 @@ public class ZoneManager
 								temp = new L2NoStoreZone(zoneId);
 							else if (zoneType.equals("ScriptZone"))
 								temp = new L2ScriptZone(zoneId);
+							else if (zoneType.equals("PaganZone"))
+								temp = new L2PaganZone(zoneId);
 							
 							// Check for unknown type
 							if (temp == null)

+ 64 - 0
L2_GameServer/java/net/sf/l2j/gameserver/model/zone/type/L2PaganZone.java

@@ -0,0 +1,64 @@
+/*
+ * This program is free software: you can redistribute it and/or modify it under
+ * the terms of the GNU General Public License as published by the Free Software
+ * Foundation, either version 3 of the License, or (at your option) any later
+ * version.
+ * 
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
+ * details.
+ * 
+ * You should have received a copy of the GNU General Public License along with
+ * this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+package net.sf.l2j.gameserver.model.zone.type;
+
+import net.sf.l2j.gameserver.model.L2ItemInstance;
+import net.sf.l2j.gameserver.model.actor.L2Character;
+import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance;
+import net.sf.l2j.gameserver.model.zone.L2ZoneType;
+import net.sf.l2j.gameserver.network.SystemMessageId;
+import net.sf.l2j.gameserver.network.serverpackets.SystemMessage;
+
+public class L2PaganZone extends L2ZoneType
+{
+	public L2PaganZone(int id)
+	{
+		super(id);
+	}
+
+	@Override
+	protected void onEnter(L2Character character)
+	{
+		if (character instanceof L2PcInstance)
+		{
+			L2PcInstance player = (L2PcInstance) character;
+			L2ItemInstance item = player.getInventory().getItemByItemId(8064);
+			if (item != null)
+			{
+				player.destroyItemByItemId("Mark", 8064, 1, player, true);
+				L2ItemInstance fadedMark = player.getInventory().addItem("Faded Mark", 8065, 1, player, player);
+
+				SystemMessage ms = new SystemMessage(SystemMessageId.EARNED_ITEM);
+				ms.addItemName(fadedMark);
+				player.sendPacket(ms);
+			}
+		}
+	}
+
+	@Override
+	protected void onExit(L2Character character)
+	{
+	}
+
+	@Override
+	public void onDieInside(L2Character character)
+	{
+	}
+
+	@Override
+	public void onReviveInside(L2Character character)
+	{
+	}
+}