Fixed game assistant package deposit.

This commit is contained in:
MobiusDevelopment 2021-06-19 21:05:57 +00:00
parent 25e5dd1c8f
commit 69fd203633
12 changed files with 56 additions and 120 deletions

View File

@ -185,25 +185,22 @@ public class GameAssistant extends AbstractNpcAI
case "package_withdraw":
{
final PlayerFreight freight = player.getFreight();
if (freight != null)
if ((freight != null) && (freight.getSize() > 0))
{
if (freight.getSize() > 0)
player.setActiveWarehouse(freight);
for (ItemInstance i : player.getActiveWarehouse().getItems())
{
player.setActiveWarehouse(freight);
for (ItemInstance i : player.getActiveWarehouse().getItems())
if (i.isTimeLimitedItem() && (i.getRemainingTime() <= 0))
{
if (i.isTimeLimitedItem() && (i.getRemainingTime() <= 0))
{
player.getActiveWarehouse().destroyItem("ItemInstance", i, player, null);
}
player.getActiveWarehouse().destroyItem("ItemInstance", i, player, null);
}
player.sendPacket(new WareHouseWithdrawalList(1, player, WareHouseWithdrawalList.FREIGHT));
player.sendPacket(new WareHouseWithdrawalList(2, player, WareHouseWithdrawalList.FREIGHT));
}
else
{
player.sendPacket(SystemMessageId.YOU_HAVE_NOT_DEPOSITED_ANY_ITEMS_IN_YOUR_WAREHOUSE);
}
player.sendPacket(new WareHouseWithdrawalList(1, player, WareHouseWithdrawalList.FREIGHT));
player.sendPacket(new WareHouseWithdrawalList(2, player, WareHouseWithdrawalList.FREIGHT));
}
else
{
player.sendPacket(SystemMessageId.YOU_HAVE_NOT_DEPOSITED_ANY_ITEMS_IN_YOUR_WAREHOUSE);
}
break;
}

View File

@ -19,7 +19,6 @@ package org.l2jmobius.gameserver.network.clientpackets;
import org.l2jmobius.Config;
import org.l2jmobius.commons.network.PacketReader;
import org.l2jmobius.gameserver.model.World;
import org.l2jmobius.gameserver.model.actor.Npc;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
import org.l2jmobius.gameserver.model.holders.ItemHolder;
import org.l2jmobius.gameserver.model.itemcontainer.Inventory;
@ -84,12 +83,6 @@ public class RequestPackageSend implements IClientIncomingPacket
return;
}
final Npc manager = player.getLastFolkNPC();
if (((manager == null) || !player.isInsideRadius2D(manager, Npc.INTERACTION_DISTANCE)))
{
return;
}
if (player.hasItemRequest())
{
Util.handleIllegalPlayerAction(player, "Player " + player.getName() + " tried to use enchant Exploit!", Config.DEFAULT_PUNISH);
@ -154,7 +147,7 @@ public class RequestPackageSend implements IClientIncomingPacket
}
// Check if enough adena and charge the fee
if ((currentAdena < fee) || !player.reduceAdena(warehouse.getName(), fee, manager, false))
if ((currentAdena < fee) || !player.reduceAdena(warehouse.getName(), fee, player, false))
{
player.sendPacket(SystemMessageId.YOU_DO_NOT_HAVE_ENOUGH_ADENA);
warehouse.deleteMe();

View File

@ -18,7 +18,6 @@ package org.l2jmobius.gameserver.network.clientpackets;
import org.l2jmobius.Config;
import org.l2jmobius.commons.network.PacketReader;
import org.l2jmobius.gameserver.model.actor.Npc;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
import org.l2jmobius.gameserver.model.clan.ClanPrivilege;
import org.l2jmobius.gameserver.model.holders.ItemHolder;
@ -90,12 +89,6 @@ public class SendWareHouseWithDrawList implements IClientIncomingPacket
return;
}
final Npc manager = player.getLastFolkNPC();
if (((manager == null) || !manager.isWarehouse() || !manager.canInteract(player)) && !player.isGM())
{
return;
}
if (!(warehouse instanceof PlayerWarehouse) && !player.getAccessLevel().allowTransaction())
{
player.sendMessage("Transactions are disabled for your Access Level.");
@ -168,7 +161,8 @@ public class SendWareHouseWithDrawList implements IClientIncomingPacket
LOGGER.warning("Error withdrawing a warehouse object for char " + player.getName() + " (olditem == null)");
return;
}
final ItemInstance newItem = warehouse.transferItem(warehouse.getName(), i.getId(), i.getCount(), player.getInventory(), player, manager);
final ItemInstance newItem = warehouse.transferItem(warehouse.getName(), i.getId(), i.getCount(), player.getInventory(), player, player.getLastFolkNPC());
if (newItem == null)
{
LOGGER.warning("Error withdrawing a warehouse object for char " + player.getName() + " (newitem == null)");

View File

@ -185,25 +185,22 @@ public class GameAssistant extends AbstractNpcAI
case "package_withdraw":
{
final PlayerFreight freight = player.getFreight();
if (freight != null)
if ((freight != null) && (freight.getSize() > 0))
{
if (freight.getSize() > 0)
player.setActiveWarehouse(freight);
for (ItemInstance i : player.getActiveWarehouse().getItems())
{
player.setActiveWarehouse(freight);
for (ItemInstance i : player.getActiveWarehouse().getItems())
if (i.isTimeLimitedItem() && (i.getRemainingTime() <= 0))
{
if (i.isTimeLimitedItem() && (i.getRemainingTime() <= 0))
{
player.getActiveWarehouse().destroyItem("ItemInstance", i, player, null);
}
player.getActiveWarehouse().destroyItem("ItemInstance", i, player, null);
}
player.sendPacket(new WareHouseWithdrawalList(1, player, WareHouseWithdrawalList.FREIGHT));
player.sendPacket(new WareHouseWithdrawalList(2, player, WareHouseWithdrawalList.FREIGHT));
}
else
{
player.sendPacket(SystemMessageId.YOU_HAVE_NOT_DEPOSITED_ANY_ITEMS_IN_YOUR_WAREHOUSE);
}
player.sendPacket(new WareHouseWithdrawalList(1, player, WareHouseWithdrawalList.FREIGHT));
player.sendPacket(new WareHouseWithdrawalList(2, player, WareHouseWithdrawalList.FREIGHT));
}
else
{
player.sendPacket(SystemMessageId.YOU_HAVE_NOT_DEPOSITED_ANY_ITEMS_IN_YOUR_WAREHOUSE);
}
break;
}

View File

@ -19,7 +19,6 @@ package org.l2jmobius.gameserver.network.clientpackets;
import org.l2jmobius.Config;
import org.l2jmobius.commons.network.PacketReader;
import org.l2jmobius.gameserver.model.World;
import org.l2jmobius.gameserver.model.actor.Npc;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
import org.l2jmobius.gameserver.model.holders.ItemHolder;
import org.l2jmobius.gameserver.model.itemcontainer.Inventory;
@ -84,12 +83,6 @@ public class RequestPackageSend implements IClientIncomingPacket
return;
}
final Npc manager = player.getLastFolkNPC();
if (((manager == null) || !player.isInsideRadius2D(manager, Npc.INTERACTION_DISTANCE)))
{
return;
}
if (player.hasItemRequest())
{
Util.handleIllegalPlayerAction(player, "Player " + player.getName() + " tried to use enchant Exploit!", Config.DEFAULT_PUNISH);
@ -154,7 +147,7 @@ public class RequestPackageSend implements IClientIncomingPacket
}
// Check if enough adena and charge the fee
if ((currentAdena < fee) || !player.reduceAdena(warehouse.getName(), fee, manager, false))
if ((currentAdena < fee) || !player.reduceAdena(warehouse.getName(), fee, player, false))
{
player.sendPacket(SystemMessageId.YOU_DO_NOT_HAVE_ENOUGH_ADENA);
warehouse.deleteMe();

View File

@ -18,7 +18,6 @@ package org.l2jmobius.gameserver.network.clientpackets;
import org.l2jmobius.Config;
import org.l2jmobius.commons.network.PacketReader;
import org.l2jmobius.gameserver.model.actor.Npc;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
import org.l2jmobius.gameserver.model.clan.ClanPrivilege;
import org.l2jmobius.gameserver.model.holders.ItemHolder;
@ -90,12 +89,6 @@ public class SendWareHouseWithDrawList implements IClientIncomingPacket
return;
}
final Npc manager = player.getLastFolkNPC();
if (((manager == null) || !manager.isWarehouse() || !manager.canInteract(player)) && !player.isGM())
{
return;
}
if (!(warehouse instanceof PlayerWarehouse) && !player.getAccessLevel().allowTransaction())
{
player.sendMessage("Transactions are disabled for your Access Level.");
@ -168,7 +161,8 @@ public class SendWareHouseWithDrawList implements IClientIncomingPacket
LOGGER.warning("Error withdrawing a warehouse object for char " + player.getName() + " (olditem == null)");
return;
}
final ItemInstance newItem = warehouse.transferItem(warehouse.getName(), i.getId(), i.getCount(), player.getInventory(), player, manager);
final ItemInstance newItem = warehouse.transferItem(warehouse.getName(), i.getId(), i.getCount(), player.getInventory(), player, player.getLastFolkNPC());
if (newItem == null)
{
LOGGER.warning("Error withdrawing a warehouse object for char " + player.getName() + " (newitem == null)");

View File

@ -129,25 +129,22 @@ public class GameAssistant extends AbstractNpcAI
case "package_withdraw":
{
final PlayerFreight freight = player.getFreight();
if (freight != null)
if ((freight != null) && (freight.getSize() > 0))
{
if (freight.getSize() > 0)
player.setActiveWarehouse(freight);
for (ItemInstance i : player.getActiveWarehouse().getItems())
{
player.setActiveWarehouse(freight);
for (ItemInstance i : player.getActiveWarehouse().getItems())
if (i.isTimeLimitedItem() && (i.getRemainingTime() <= 0))
{
if (i.isTimeLimitedItem() && (i.getRemainingTime() <= 0))
{
player.getActiveWarehouse().destroyItem("ItemInstance", i, player, null);
}
player.getActiveWarehouse().destroyItem("ItemInstance", i, player, null);
}
player.sendPacket(new WareHouseWithdrawalList(1, player, WareHouseWithdrawalList.FREIGHT));
player.sendPacket(new WareHouseWithdrawalList(2, player, WareHouseWithdrawalList.FREIGHT));
}
else
{
player.sendPacket(SystemMessageId.YOU_HAVE_NOT_DEPOSITED_ANY_ITEMS_IN_YOUR_WAREHOUSE);
}
player.sendPacket(new WareHouseWithdrawalList(1, player, WareHouseWithdrawalList.FREIGHT));
player.sendPacket(new WareHouseWithdrawalList(2, player, WareHouseWithdrawalList.FREIGHT));
}
else
{
player.sendPacket(SystemMessageId.YOU_HAVE_NOT_DEPOSITED_ANY_ITEMS_IN_YOUR_WAREHOUSE);
}
break;
}

View File

@ -19,7 +19,6 @@ package org.l2jmobius.gameserver.network.clientpackets;
import org.l2jmobius.Config;
import org.l2jmobius.commons.network.PacketReader;
import org.l2jmobius.gameserver.model.World;
import org.l2jmobius.gameserver.model.actor.Npc;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
import org.l2jmobius.gameserver.model.holders.ItemHolder;
import org.l2jmobius.gameserver.model.itemcontainer.Inventory;
@ -84,12 +83,6 @@ public class RequestPackageSend implements IClientIncomingPacket
return;
}
final Npc manager = player.getLastFolkNPC();
if (((manager == null) || !player.isInsideRadius2D(manager, Npc.INTERACTION_DISTANCE)))
{
return;
}
if (player.hasItemRequest())
{
Util.handleIllegalPlayerAction(player, "Player " + player.getName() + " tried to use enchant Exploit!", Config.DEFAULT_PUNISH);
@ -154,7 +147,7 @@ public class RequestPackageSend implements IClientIncomingPacket
}
// Check if enough adena and charge the fee
if ((currentAdena < fee) || !player.reduceAdena(warehouse.getName(), fee, manager, false))
if ((currentAdena < fee) || !player.reduceAdena(warehouse.getName(), fee, player, false))
{
player.sendPacket(SystemMessageId.YOU_DO_NOT_HAVE_ENOUGH_ADENA);
warehouse.deleteMe();

View File

@ -18,7 +18,6 @@ package org.l2jmobius.gameserver.network.clientpackets;
import org.l2jmobius.Config;
import org.l2jmobius.commons.network.PacketReader;
import org.l2jmobius.gameserver.model.actor.Npc;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
import org.l2jmobius.gameserver.model.clan.ClanPrivilege;
import org.l2jmobius.gameserver.model.holders.ItemHolder;
@ -90,12 +89,6 @@ public class SendWareHouseWithDrawList implements IClientIncomingPacket
return;
}
final Npc manager = player.getLastFolkNPC();
if (((manager == null) || !manager.isWarehouse() || !manager.canInteract(player)) && !player.isGM())
{
return;
}
if (!(warehouse instanceof PlayerWarehouse) && !player.getAccessLevel().allowTransaction())
{
player.sendMessage("Transactions are disabled for your Access Level.");
@ -168,7 +161,8 @@ public class SendWareHouseWithDrawList implements IClientIncomingPacket
LOGGER.warning("Error withdrawing a warehouse object for char " + player.getName() + " (olditem == null)");
return;
}
final ItemInstance newItem = warehouse.transferItem(warehouse.getName(), i.getId(), i.getCount(), player.getInventory(), player, manager);
final ItemInstance newItem = warehouse.transferItem(warehouse.getName(), i.getId(), i.getCount(), player.getInventory(), player, player.getLastFolkNPC());
if (newItem == null)
{
LOGGER.warning("Error withdrawing a warehouse object for char " + player.getName() + " (newitem == null)");

View File

@ -105,25 +105,22 @@ public class GameAssistant extends AbstractNpcAI
case "package_withdraw":
{
final PlayerFreight freight = player.getFreight();
if (freight != null)
if ((freight != null) && (freight.getSize() > 0))
{
if (freight.getSize() > 0)
player.setActiveWarehouse(freight);
for (ItemInstance i : player.getActiveWarehouse().getItems())
{
player.setActiveWarehouse(freight);
for (ItemInstance i : player.getActiveWarehouse().getItems())
if (i.isTimeLimitedItem() && (i.getRemainingTime() <= 0))
{
if (i.isTimeLimitedItem() && (i.getRemainingTime() <= 0))
{
player.getActiveWarehouse().destroyItem("ItemInstance", i, player, null);
}
player.getActiveWarehouse().destroyItem("ItemInstance", i, player, null);
}
player.sendPacket(new WareHouseWithdrawalList(1, player, WareHouseWithdrawalList.FREIGHT));
player.sendPacket(new WareHouseWithdrawalList(2, player, WareHouseWithdrawalList.FREIGHT));
}
else
{
player.sendPacket(SystemMessageId.YOU_HAVE_NOT_DEPOSITED_ANY_ITEMS_IN_YOUR_WAREHOUSE);
}
player.sendPacket(new WareHouseWithdrawalList(1, player, WareHouseWithdrawalList.FREIGHT));
player.sendPacket(new WareHouseWithdrawalList(2, player, WareHouseWithdrawalList.FREIGHT));
}
else
{
player.sendPacket(SystemMessageId.YOU_HAVE_NOT_DEPOSITED_ANY_ITEMS_IN_YOUR_WAREHOUSE);
}
break;
}

View File

@ -19,7 +19,6 @@ package org.l2jmobius.gameserver.network.clientpackets;
import org.l2jmobius.Config;
import org.l2jmobius.commons.network.PacketReader;
import org.l2jmobius.gameserver.model.World;
import org.l2jmobius.gameserver.model.actor.Npc;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
import org.l2jmobius.gameserver.model.holders.ItemHolder;
import org.l2jmobius.gameserver.model.itemcontainer.Inventory;
@ -84,12 +83,6 @@ public class RequestPackageSend implements IClientIncomingPacket
return;
}
final Npc manager = player.getLastFolkNPC();
if (((manager == null) || !player.isInsideRadius2D(manager, Npc.INTERACTION_DISTANCE)))
{
return;
}
if (player.hasItemRequest())
{
Util.handleIllegalPlayerAction(player, "Player " + player.getName() + " tried to use enchant Exploit!", Config.DEFAULT_PUNISH);
@ -154,7 +147,7 @@ public class RequestPackageSend implements IClientIncomingPacket
}
// Check if enough adena and charge the fee
if ((currentAdena < fee) || !player.reduceAdena(warehouse.getName(), fee, manager, false))
if ((currentAdena < fee) || !player.reduceAdena(warehouse.getName(), fee, player, false))
{
player.sendPacket(SystemMessageId.YOU_DO_NOT_HAVE_ENOUGH_ADENA);
warehouse.deleteMe();

View File

@ -18,7 +18,6 @@ package org.l2jmobius.gameserver.network.clientpackets;
import org.l2jmobius.Config;
import org.l2jmobius.commons.network.PacketReader;
import org.l2jmobius.gameserver.model.actor.Npc;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
import org.l2jmobius.gameserver.model.clan.ClanPrivilege;
import org.l2jmobius.gameserver.model.holders.ItemHolder;
@ -90,12 +89,6 @@ public class SendWareHouseWithDrawList implements IClientIncomingPacket
return;
}
final Npc manager = player.getLastFolkNPC();
if (((manager == null) || !manager.isWarehouse() || !manager.canInteract(player)) && !player.isGM())
{
return;
}
if (!(warehouse instanceof PlayerWarehouse) && !player.getAccessLevel().allowTransaction())
{
player.sendMessage("Transactions are disabled for your Access Level.");
@ -168,7 +161,8 @@ public class SendWareHouseWithDrawList implements IClientIncomingPacket
LOGGER.warning("Error withdrawing a warehouse object for char " + player.getName() + " (olditem == null)");
return;
}
final ItemInstance newItem = warehouse.transferItem(warehouse.getName(), i.getId(), i.getCount(), player.getInventory(), player, manager);
final ItemInstance newItem = warehouse.transferItem(warehouse.getName(), i.getId(), i.getCount(), player.getInventory(), player, player.getLastFolkNPC());
if (newItem == null)
{
LOGGER.warning("Error withdrawing a warehouse object for char " + player.getName() + " (newitem == null)");