From 0f912f9b94d81ff2c98ebfc1c5129d4c1225028b Mon Sep 17 00:00:00 2001
From: Zealar <Zealar@users.noreply.github.com>
Date: Sun, 3 Aug 2014 21:05:32 +0000
Subject: [PATCH] BETA: Fix time Limited Items and Freight function:    * Store
 in Freight    * Store in Clan Warehouse    * Fix not working Freight

   Reported by: marcoviny
   Tested by: marcoviny
   Reviewed by: Zoey76
---
 .../game/data/html/{default => warehouse}/32478-1.htm     | 0
 .../dist/game/data/html/{default => warehouse}/32478.htm  | 0
 .../scripts/handlers/bypasshandlers/ClanWarehouse.java    | 8 ++++++++
 .../data/scripts/handlers/bypasshandlers/Freight.java     | 8 ++++++++
 .../dist/game/data/stats/npcs/32400-32500.xml             | 2 +-
 5 files changed, 17 insertions(+), 1 deletion(-)
 rename L2J_DataPack_BETA/dist/game/data/html/{default => warehouse}/32478-1.htm (100%)
 rename L2J_DataPack_BETA/dist/game/data/html/{default => warehouse}/32478.htm (100%)

diff --git a/L2J_DataPack_BETA/dist/game/data/html/default/32478-1.htm b/L2J_DataPack_BETA/dist/game/data/html/warehouse/32478-1.htm
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/html/default/32478-1.htm
rename to L2J_DataPack_BETA/dist/game/data/html/warehouse/32478-1.htm
diff --git a/L2J_DataPack_BETA/dist/game/data/html/default/32478.htm b/L2J_DataPack_BETA/dist/game/data/html/warehouse/32478.htm
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/html/default/32478.htm
rename to L2J_DataPack_BETA/dist/game/data/html/warehouse/32478.htm
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/bypasshandlers/ClanWarehouse.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/bypasshandlers/ClanWarehouse.java
index 5fdb099ad0..259e8871f6 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/bypasshandlers/ClanWarehouse.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/bypasshandlers/ClanWarehouse.java
@@ -28,6 +28,7 @@ import com.l2jserver.gameserver.model.actor.L2Npc;
 import com.l2jserver.gameserver.model.actor.instance.L2ClanHallManagerInstance;
 import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
 import com.l2jserver.gameserver.model.actor.instance.L2WarehouseInstance;
+import com.l2jserver.gameserver.model.items.instance.L2ItemInstance;
 import com.l2jserver.gameserver.network.SystemMessageId;
 import com.l2jserver.gameserver.network.serverpackets.ActionFailed;
 import com.l2jserver.gameserver.network.serverpackets.NpcHtmlMessage;
@@ -147,6 +148,13 @@ public class ClanWarehouse implements IBypassHandler
 			return;
 		}
 		
+		for (L2ItemInstance i : player.getActiveWarehouse().getItems())
+		{
+			if (i.isTimeLimitedItem() && (i.getRemainingTime() <= 0))
+			{
+				player.getActiveWarehouse().destroyItem("L2ItemInstance", i, player, null);
+			}
+		}
 		if (itemtype != null)
 		{
 			player.sendPacket(new SortedWareHouseWithdrawalList(player, WareHouseWithdrawalList.CLAN, itemtype, sortorder));
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/bypasshandlers/Freight.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/bypasshandlers/Freight.java
index 37858d53eb..17e50d9a06 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/bypasshandlers/Freight.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/bypasshandlers/Freight.java
@@ -22,6 +22,7 @@ import com.l2jserver.gameserver.handler.IBypassHandler;
 import com.l2jserver.gameserver.model.actor.L2Character;
 import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
 import com.l2jserver.gameserver.model.itemcontainer.PcFreight;
+import com.l2jserver.gameserver.model.items.instance.L2ItemInstance;
 import com.l2jserver.gameserver.network.SystemMessageId;
 import com.l2jserver.gameserver.network.serverpackets.PackageToList;
 import com.l2jserver.gameserver.network.serverpackets.WareHouseWithdrawalList;
@@ -53,6 +54,13 @@ public class Freight implements IBypassHandler
 				if (freight.getSize() > 0)
 				{
 					activeChar.setActiveWarehouse(freight);
+					for (L2ItemInstance i : activeChar.getActiveWarehouse().getItems())
+					{
+						if (i.isTimeLimitedItem() && (i.getRemainingTime() <= 0))
+						{
+							activeChar.getActiveWarehouse().destroyItem("L2ItemInstance", i, activeChar, null);
+						}
+					}
 					activeChar.sendPacket(new WareHouseWithdrawalList(activeChar, WareHouseWithdrawalList.FREIGHT));
 				}
 				else
diff --git a/L2J_DataPack_BETA/dist/game/data/stats/npcs/32400-32500.xml b/L2J_DataPack_BETA/dist/game/data/stats/npcs/32400-32500.xml
index c999388a18..3356c1a929 100644
--- a/L2J_DataPack_BETA/dist/game/data/stats/npcs/32400-32500.xml
+++ b/L2J_DataPack_BETA/dist/game/data/stats/npcs/32400-32500.xml
@@ -2643,7 +2643,7 @@
 			<height normal="25" />
 		</collision>
 	</npc>
-	<npc id="32478" level="70" type="L2Npc" name="Dimensional Merchant" title="Life Energy">
+	<npc id="32478" level="70" type="L2Warehouse" name="Dimensional Merchant" title="Life Energy">
 		<!-- Confirmed CT2.5 -->
 		<race>HUMAN</race>
 		<sex>FEMALE</sex>
-- 
GitLab