소스 검색

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

Zealar 10 년 전
부모
커밋
0f912f9b94

+ 0 - 0
L2J_DataPack_BETA/dist/game/data/html/default/32478-1.htm → L2J_DataPack_BETA/dist/game/data/html/warehouse/32478-1.htm


+ 0 - 0
L2J_DataPack_BETA/dist/game/data/html/default/32478.htm → L2J_DataPack_BETA/dist/game/data/html/warehouse/32478.htm


+ 8 - 0
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));

+ 8 - 0
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

+ 1 - 1
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>