Removal of blessing scroll id player variable.
This commit is contained in:
@ -19,8 +19,8 @@ package handlers.itemhandlers;
|
|||||||
import org.l2jmobius.gameserver.handler.IItemHandler;
|
import org.l2jmobius.gameserver.handler.IItemHandler;
|
||||||
import org.l2jmobius.gameserver.model.actor.Playable;
|
import org.l2jmobius.gameserver.model.actor.Playable;
|
||||||
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
||||||
|
import org.l2jmobius.gameserver.model.actor.request.BlessingItemRequest;
|
||||||
import org.l2jmobius.gameserver.model.items.instance.ItemInstance;
|
import org.l2jmobius.gameserver.model.items.instance.ItemInstance;
|
||||||
import org.l2jmobius.gameserver.model.variables.PlayerVariables;
|
|
||||||
import org.l2jmobius.gameserver.network.SystemMessageId;
|
import org.l2jmobius.gameserver.network.SystemMessageId;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.blessing.ExOpenBlessOptionScroll;
|
import org.l2jmobius.gameserver.network.serverpackets.blessing.ExOpenBlessOptionScroll;
|
||||||
|
|
||||||
@ -47,8 +47,7 @@ public class BlessingScrolls implements IItemHandler
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
player.getVariables().set(PlayerVariables.USED_BLESS_SCROLL_ID, item.getId());
|
player.addRequest(new BlessingItemRequest(player, item.getId()));
|
||||||
|
|
||||||
player.sendPacket(new ExOpenBlessOptionScroll(item.getId()));
|
player.sendPacket(new ExOpenBlessOptionScroll(item.getId()));
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
@ -17,57 +17,28 @@
|
|||||||
package org.l2jmobius.gameserver.model.actor.request;
|
package org.l2jmobius.gameserver.model.actor.request;
|
||||||
|
|
||||||
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
||||||
import org.l2jmobius.gameserver.model.items.instance.ItemInstance;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author Horus
|
* @author Mobius
|
||||||
*/
|
*/
|
||||||
public class BlessingItemRequest extends AbstractRequest
|
public class BlessingItemRequest extends AbstractRequest
|
||||||
{
|
{
|
||||||
private volatile int _blessingItemObjectId;
|
private volatile int _blessScrollId;
|
||||||
private volatile int _blessingScrollObjectId;
|
|
||||||
|
|
||||||
public BlessingItemRequest(PlayerInstance player, int enchantingScrollObjectId)
|
public BlessingItemRequest(PlayerInstance player, int itemId)
|
||||||
{
|
{
|
||||||
super(player);
|
super(player);
|
||||||
_blessingScrollObjectId = enchantingScrollObjectId;
|
_blessScrollId = itemId;
|
||||||
}
|
}
|
||||||
|
|
||||||
public ItemInstance getBlessingItem()
|
public int getBlessScrollId()
|
||||||
{
|
{
|
||||||
return getActiveChar().getInventory().getItemByObjectId(_blessingItemObjectId);
|
return _blessScrollId;
|
||||||
}
|
|
||||||
|
|
||||||
public void setBlessingItem(int objectId)
|
|
||||||
{
|
|
||||||
_blessingItemObjectId = objectId;
|
|
||||||
}
|
|
||||||
|
|
||||||
public ItemInstance getBlessScroll()
|
|
||||||
{
|
|
||||||
return getActiveChar().getInventory().getItemByObjectId(_blessingScrollObjectId);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setBlessScroll(int objectId)
|
|
||||||
{
|
|
||||||
_blessingScrollObjectId = objectId;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean isItemRequest()
|
|
||||||
{
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean canWorkWith(AbstractRequest request)
|
|
||||||
{
|
|
||||||
return !request.isItemRequest();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean isUsing(int objectId)
|
public boolean isUsing(int objectId)
|
||||||
{
|
{
|
||||||
return (objectId > 0) && ((objectId == _blessingItemObjectId) || (objectId == _blessingScrollObjectId));
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -77,7 +77,6 @@ public class PlayerVariables extends AbstractVariables
|
|||||||
public static final String STAT_INT = "STAT_INT";
|
public static final String STAT_INT = "STAT_INT";
|
||||||
public static final String STAT_WIT = "STAT_WIT";
|
public static final String STAT_WIT = "STAT_WIT";
|
||||||
public static final String STAT_MEN = "STAT_MEN";
|
public static final String STAT_MEN = "STAT_MEN";
|
||||||
public static final String USED_BLESS_SCROLL_ID = "USED_BLESS_SCROLL_ID";
|
|
||||||
|
|
||||||
private final int _objectId;
|
private final int _objectId;
|
||||||
|
|
||||||
|
@ -18,6 +18,7 @@ package org.l2jmobius.gameserver.network.clientpackets.blessing;
|
|||||||
|
|
||||||
import org.l2jmobius.commons.network.PacketReader;
|
import org.l2jmobius.commons.network.PacketReader;
|
||||||
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
||||||
|
import org.l2jmobius.gameserver.model.actor.request.BlessingItemRequest;
|
||||||
import org.l2jmobius.gameserver.network.GameClient;
|
import org.l2jmobius.gameserver.network.GameClient;
|
||||||
import org.l2jmobius.gameserver.network.clientpackets.IClientIncomingPacket;
|
import org.l2jmobius.gameserver.network.clientpackets.IClientIncomingPacket;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.blessing.ExBlessOptionCancel;
|
import org.l2jmobius.gameserver.network.serverpackets.blessing.ExBlessOptionCancel;
|
||||||
@ -27,7 +28,6 @@ import org.l2jmobius.gameserver.network.serverpackets.blessing.ExBlessOptionCanc
|
|||||||
*/
|
*/
|
||||||
public class RequestBlessOptionCancel implements IClientIncomingPacket
|
public class RequestBlessOptionCancel implements IClientIncomingPacket
|
||||||
{
|
{
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean read(GameClient client, PacketReader packet)
|
public boolean read(GameClient client, PacketReader packet)
|
||||||
{
|
{
|
||||||
@ -43,6 +43,7 @@ public class RequestBlessOptionCancel implements IClientIncomingPacket
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
player.removeRequest(BlessingItemRequest.class);
|
||||||
player.sendPacket(new ExBlessOptionCancel(1));
|
player.sendPacket(new ExBlessOptionCancel(1));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -26,7 +26,6 @@ import org.l2jmobius.gameserver.model.items.Item;
|
|||||||
import org.l2jmobius.gameserver.model.items.instance.ItemInstance;
|
import org.l2jmobius.gameserver.model.items.instance.ItemInstance;
|
||||||
import org.l2jmobius.gameserver.model.skills.CommonSkill;
|
import org.l2jmobius.gameserver.model.skills.CommonSkill;
|
||||||
import org.l2jmobius.gameserver.model.skills.Skill;
|
import org.l2jmobius.gameserver.model.skills.Skill;
|
||||||
import org.l2jmobius.gameserver.model.variables.PlayerVariables;
|
|
||||||
import org.l2jmobius.gameserver.network.GameClient;
|
import org.l2jmobius.gameserver.network.GameClient;
|
||||||
import org.l2jmobius.gameserver.network.SystemMessageId;
|
import org.l2jmobius.gameserver.network.SystemMessageId;
|
||||||
import org.l2jmobius.gameserver.network.clientpackets.IClientIncomingPacket;
|
import org.l2jmobius.gameserver.network.clientpackets.IClientIncomingPacket;
|
||||||
@ -69,51 +68,30 @@ public class RequestBlessOptionEnchant implements IClientIncomingPacket
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
ItemInstance targetScroll = player.getInventory().getItemByItemId(player.getVariables().getInt(PlayerVariables.USED_BLESS_SCROLL_ID, 0));
|
|
||||||
if (targetScroll == null)
|
|
||||||
{
|
|
||||||
targetScroll = player.getInventory().getItemByItemId(94208); // Scroll of Blessing - Event
|
|
||||||
}
|
|
||||||
if (targetScroll == null)
|
|
||||||
{
|
|
||||||
targetScroll = player.getInventory().getItemByItemId(94184); // Scroll of Blessing
|
|
||||||
}
|
|
||||||
if (targetScroll == null)
|
|
||||||
{
|
|
||||||
player.sendPacket(new ExBlessOptionEnchant(EnchantResult.ERROR));
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
player.addRequest(new BlessingItemRequest(player, targetInstance.getObjectId()));
|
|
||||||
final BlessingItemRequest request = player.getRequest(BlessingItemRequest.class);
|
final BlessingItemRequest request = player.getRequest(BlessingItemRequest.class);
|
||||||
if ((request == null) || request.isProcessing())
|
if ((request == null) || request.isProcessing())
|
||||||
{
|
{
|
||||||
player.sendPacket(new ExBlessOptionEnchant(EnchantResult.ERROR));
|
player.sendPacket(new ExBlessOptionEnchant(EnchantResult.ERROR));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
request.setBlessingItem(_itemObjId);
|
|
||||||
request.setProcessing(true);
|
request.setProcessing(true);
|
||||||
request.setTimestamp(System.currentTimeMillis());
|
request.setTimestamp(System.currentTimeMillis());
|
||||||
|
|
||||||
if (!player.isOnline() || client.isDetached())
|
if (!player.isOnline() || client.isDetached())
|
||||||
{
|
{
|
||||||
player.removeRequest(request.getClass());
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (player.isInStoreMode())
|
if (player.isInStoreMode())
|
||||||
{
|
{
|
||||||
player.sendPacket(SystemMessageId.YOU_CANNOT_ENCHANT_WHILE_OPERATING_A_PRIVATE_STORE_OR_PRIVATE_WORKSHOP);
|
player.sendPacket(SystemMessageId.YOU_CANNOT_ENCHANT_WHILE_OPERATING_A_PRIVATE_STORE_OR_PRIVATE_WORKSHOP);
|
||||||
player.removeRequest(request.getClass());
|
|
||||||
player.sendPacket(new ExBlessOptionEnchant(EnchantResult.ERROR));
|
player.sendPacket(new ExBlessOptionEnchant(EnchantResult.ERROR));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
final ItemInstance item = request.getBlessingItem();
|
final ItemInstance item = player.getInventory().getItemByObjectId(_itemObjId);
|
||||||
if (item == null)
|
if (item == null)
|
||||||
{
|
{
|
||||||
player.removeRequest(request.getClass());
|
|
||||||
player.sendPacket(new ExBlessOptionEnchant(EnchantResult.ERROR));
|
player.sendPacket(new ExBlessOptionEnchant(EnchantResult.ERROR));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -122,17 +100,22 @@ public class RequestBlessOptionEnchant implements IClientIncomingPacket
|
|||||||
if (item.isBlessed())
|
if (item.isBlessed())
|
||||||
{
|
{
|
||||||
client.sendPacket(SystemMessageId.INAPPROPRIATE_ENCHANT_CONDITIONS);
|
client.sendPacket(SystemMessageId.INAPPROPRIATE_ENCHANT_CONDITIONS);
|
||||||
player.removeRequest(request.getClass());
|
|
||||||
player.sendPacket(new ExBlessOptionPutItem(0));
|
player.sendPacket(new ExBlessOptionPutItem(0));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
final ItemInstance targetScroll = player.getInventory().getItemByItemId(request.getBlessScrollId());
|
||||||
|
if (targetScroll == null)
|
||||||
|
{
|
||||||
|
player.sendPacket(new ExBlessOptionEnchant(EnchantResult.ERROR));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
// attempting to destroy scroll
|
// attempting to destroy scroll
|
||||||
if (player.getInventory().destroyItem("Blessing", targetScroll.getObjectId(), 1, player, item) == null)
|
if (player.getInventory().destroyItem("Blessing", targetScroll.getObjectId(), 1, player, item) == null)
|
||||||
{
|
{
|
||||||
client.sendPacket(SystemMessageId.INCORRECT_ITEM_COUNT_2);
|
client.sendPacket(SystemMessageId.INCORRECT_ITEM_COUNT_2);
|
||||||
Util.handleIllegalPlayerAction(player, "Player " + player.getName() + " tried to bless with a scroll he doesn't have", Config.DEFAULT_PUNISH);
|
Util.handleIllegalPlayerAction(player, "Player " + player.getName() + " tried to bless with a scroll he doesn't have", Config.DEFAULT_PUNISH);
|
||||||
player.removeRequest(request.getClass());
|
|
||||||
player.sendPacket(new ExBlessOptionEnchant(EnchantResult.ERROR));
|
player.sendPacket(new ExBlessOptionEnchant(EnchantResult.ERROR));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -179,10 +162,8 @@ public class RequestBlessOptionEnchant implements IClientIncomingPacket
|
|||||||
player.sendPacket(new ExBlessOptionEnchant(0));
|
player.sendPacket(new ExBlessOptionEnchant(0));
|
||||||
}
|
}
|
||||||
|
|
||||||
player.sendItemList();
|
|
||||||
|
|
||||||
request.setProcessing(false);
|
request.setProcessing(false);
|
||||||
player.removeRequest(request.getClass());
|
player.sendItemList();
|
||||||
player.broadcastUserInfo();
|
player.broadcastUserInfo();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -29,7 +29,6 @@ import org.l2jmobius.gameserver.network.serverpackets.blessing.ExBlessOptionPutI
|
|||||||
*/
|
*/
|
||||||
public class RequestBlessOptionPutItem implements IClientIncomingPacket
|
public class RequestBlessOptionPutItem implements IClientIncomingPacket
|
||||||
{
|
{
|
||||||
|
|
||||||
private int _objectId;
|
private int _objectId;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -25,7 +25,6 @@ import org.l2jmobius.gameserver.network.serverpackets.IClientOutgoingPacket;
|
|||||||
*/
|
*/
|
||||||
public class ExBlessOptionCancel implements IClientOutgoingPacket
|
public class ExBlessOptionCancel implements IClientOutgoingPacket
|
||||||
{
|
{
|
||||||
|
|
||||||
private final int _result;
|
private final int _result;
|
||||||
|
|
||||||
public ExBlessOptionCancel(int result)
|
public ExBlessOptionCancel(int result)
|
||||||
|
@ -25,7 +25,6 @@ import org.l2jmobius.gameserver.network.serverpackets.IClientOutgoingPacket;
|
|||||||
*/
|
*/
|
||||||
public class ExBlessOptionPutItem implements IClientOutgoingPacket
|
public class ExBlessOptionPutItem implements IClientOutgoingPacket
|
||||||
{
|
{
|
||||||
|
|
||||||
private final int _result;
|
private final int _result;
|
||||||
|
|
||||||
public ExBlessOptionPutItem(int result)
|
public ExBlessOptionPutItem(int result)
|
||||||
|
@ -19,8 +19,8 @@ package handlers.itemhandlers;
|
|||||||
import org.l2jmobius.gameserver.handler.IItemHandler;
|
import org.l2jmobius.gameserver.handler.IItemHandler;
|
||||||
import org.l2jmobius.gameserver.model.actor.Playable;
|
import org.l2jmobius.gameserver.model.actor.Playable;
|
||||||
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
||||||
|
import org.l2jmobius.gameserver.model.actor.request.BlessingItemRequest;
|
||||||
import org.l2jmobius.gameserver.model.items.instance.ItemInstance;
|
import org.l2jmobius.gameserver.model.items.instance.ItemInstance;
|
||||||
import org.l2jmobius.gameserver.model.variables.PlayerVariables;
|
|
||||||
import org.l2jmobius.gameserver.network.SystemMessageId;
|
import org.l2jmobius.gameserver.network.SystemMessageId;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.blessing.ExOpenBlessOptionScroll;
|
import org.l2jmobius.gameserver.network.serverpackets.blessing.ExOpenBlessOptionScroll;
|
||||||
|
|
||||||
@ -47,8 +47,7 @@ public class BlessingScrolls implements IItemHandler
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
player.getVariables().set(PlayerVariables.USED_BLESS_SCROLL_ID, item.getId());
|
player.addRequest(new BlessingItemRequest(player, item.getId()));
|
||||||
|
|
||||||
player.sendPacket(new ExOpenBlessOptionScroll(item.getId()));
|
player.sendPacket(new ExOpenBlessOptionScroll(item.getId()));
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
@ -17,57 +17,28 @@
|
|||||||
package org.l2jmobius.gameserver.model.actor.request;
|
package org.l2jmobius.gameserver.model.actor.request;
|
||||||
|
|
||||||
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
||||||
import org.l2jmobius.gameserver.model.items.instance.ItemInstance;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author Horus
|
* @author Mobius
|
||||||
*/
|
*/
|
||||||
public class BlessingItemRequest extends AbstractRequest
|
public class BlessingItemRequest extends AbstractRequest
|
||||||
{
|
{
|
||||||
private volatile int _blessingItemObjectId;
|
private volatile int _blessScrollId;
|
||||||
private volatile int _blessingScrollObjectId;
|
|
||||||
|
|
||||||
public BlessingItemRequest(PlayerInstance player, int enchantingScrollObjectId)
|
public BlessingItemRequest(PlayerInstance player, int itemId)
|
||||||
{
|
{
|
||||||
super(player);
|
super(player);
|
||||||
_blessingScrollObjectId = enchantingScrollObjectId;
|
_blessScrollId = itemId;
|
||||||
}
|
}
|
||||||
|
|
||||||
public ItemInstance getBlessingItem()
|
public int getBlessScrollId()
|
||||||
{
|
{
|
||||||
return getActiveChar().getInventory().getItemByObjectId(_blessingItemObjectId);
|
return _blessScrollId;
|
||||||
}
|
|
||||||
|
|
||||||
public void setBlessingItem(int objectId)
|
|
||||||
{
|
|
||||||
_blessingItemObjectId = objectId;
|
|
||||||
}
|
|
||||||
|
|
||||||
public ItemInstance getBlessScroll()
|
|
||||||
{
|
|
||||||
return getActiveChar().getInventory().getItemByObjectId(_blessingScrollObjectId);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setBlessScroll(int objectId)
|
|
||||||
{
|
|
||||||
_blessingScrollObjectId = objectId;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean isItemRequest()
|
|
||||||
{
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean canWorkWith(AbstractRequest request)
|
|
||||||
{
|
|
||||||
return !request.isItemRequest();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean isUsing(int objectId)
|
public boolean isUsing(int objectId)
|
||||||
{
|
{
|
||||||
return (objectId > 0) && ((objectId == _blessingItemObjectId) || (objectId == _blessingScrollObjectId));
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -77,7 +77,6 @@ public class PlayerVariables extends AbstractVariables
|
|||||||
public static final String STAT_INT = "STAT_INT";
|
public static final String STAT_INT = "STAT_INT";
|
||||||
public static final String STAT_WIT = "STAT_WIT";
|
public static final String STAT_WIT = "STAT_WIT";
|
||||||
public static final String STAT_MEN = "STAT_MEN";
|
public static final String STAT_MEN = "STAT_MEN";
|
||||||
public static final String USED_BLESS_SCROLL_ID = "USED_BLESS_SCROLL_ID";
|
|
||||||
|
|
||||||
private final int _objectId;
|
private final int _objectId;
|
||||||
|
|
||||||
|
@ -18,6 +18,7 @@ package org.l2jmobius.gameserver.network.clientpackets.blessing;
|
|||||||
|
|
||||||
import org.l2jmobius.commons.network.PacketReader;
|
import org.l2jmobius.commons.network.PacketReader;
|
||||||
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
||||||
|
import org.l2jmobius.gameserver.model.actor.request.BlessingItemRequest;
|
||||||
import org.l2jmobius.gameserver.network.GameClient;
|
import org.l2jmobius.gameserver.network.GameClient;
|
||||||
import org.l2jmobius.gameserver.network.clientpackets.IClientIncomingPacket;
|
import org.l2jmobius.gameserver.network.clientpackets.IClientIncomingPacket;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.blessing.ExBlessOptionCancel;
|
import org.l2jmobius.gameserver.network.serverpackets.blessing.ExBlessOptionCancel;
|
||||||
@ -27,7 +28,6 @@ import org.l2jmobius.gameserver.network.serverpackets.blessing.ExBlessOptionCanc
|
|||||||
*/
|
*/
|
||||||
public class RequestBlessOptionCancel implements IClientIncomingPacket
|
public class RequestBlessOptionCancel implements IClientIncomingPacket
|
||||||
{
|
{
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean read(GameClient client, PacketReader packet)
|
public boolean read(GameClient client, PacketReader packet)
|
||||||
{
|
{
|
||||||
@ -43,6 +43,7 @@ public class RequestBlessOptionCancel implements IClientIncomingPacket
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
player.removeRequest(BlessingItemRequest.class);
|
||||||
player.sendPacket(new ExBlessOptionCancel(1));
|
player.sendPacket(new ExBlessOptionCancel(1));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -26,7 +26,6 @@ import org.l2jmobius.gameserver.model.items.Item;
|
|||||||
import org.l2jmobius.gameserver.model.items.instance.ItemInstance;
|
import org.l2jmobius.gameserver.model.items.instance.ItemInstance;
|
||||||
import org.l2jmobius.gameserver.model.skills.CommonSkill;
|
import org.l2jmobius.gameserver.model.skills.CommonSkill;
|
||||||
import org.l2jmobius.gameserver.model.skills.Skill;
|
import org.l2jmobius.gameserver.model.skills.Skill;
|
||||||
import org.l2jmobius.gameserver.model.variables.PlayerVariables;
|
|
||||||
import org.l2jmobius.gameserver.network.GameClient;
|
import org.l2jmobius.gameserver.network.GameClient;
|
||||||
import org.l2jmobius.gameserver.network.SystemMessageId;
|
import org.l2jmobius.gameserver.network.SystemMessageId;
|
||||||
import org.l2jmobius.gameserver.network.clientpackets.IClientIncomingPacket;
|
import org.l2jmobius.gameserver.network.clientpackets.IClientIncomingPacket;
|
||||||
@ -69,51 +68,30 @@ public class RequestBlessOptionEnchant implements IClientIncomingPacket
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
ItemInstance targetScroll = player.getInventory().getItemByItemId(player.getVariables().getInt(PlayerVariables.USED_BLESS_SCROLL_ID, 0));
|
|
||||||
if (targetScroll == null)
|
|
||||||
{
|
|
||||||
targetScroll = player.getInventory().getItemByItemId(94208); // Scroll of Blessing - Event
|
|
||||||
}
|
|
||||||
if (targetScroll == null)
|
|
||||||
{
|
|
||||||
targetScroll = player.getInventory().getItemByItemId(94184); // Scroll of Blessing
|
|
||||||
}
|
|
||||||
if (targetScroll == null)
|
|
||||||
{
|
|
||||||
player.sendPacket(new ExBlessOptionEnchant(EnchantResult.ERROR));
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
player.addRequest(new BlessingItemRequest(player, targetInstance.getObjectId()));
|
|
||||||
final BlessingItemRequest request = player.getRequest(BlessingItemRequest.class);
|
final BlessingItemRequest request = player.getRequest(BlessingItemRequest.class);
|
||||||
if ((request == null) || request.isProcessing())
|
if ((request == null) || request.isProcessing())
|
||||||
{
|
{
|
||||||
player.sendPacket(new ExBlessOptionEnchant(EnchantResult.ERROR));
|
player.sendPacket(new ExBlessOptionEnchant(EnchantResult.ERROR));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
request.setBlessingItem(_itemObjId);
|
|
||||||
request.setProcessing(true);
|
request.setProcessing(true);
|
||||||
request.setTimestamp(System.currentTimeMillis());
|
request.setTimestamp(System.currentTimeMillis());
|
||||||
|
|
||||||
if (!player.isOnline() || client.isDetached())
|
if (!player.isOnline() || client.isDetached())
|
||||||
{
|
{
|
||||||
player.removeRequest(request.getClass());
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (player.isInStoreMode())
|
if (player.isInStoreMode())
|
||||||
{
|
{
|
||||||
player.sendPacket(SystemMessageId.YOU_CANNOT_ENCHANT_WHILE_OPERATING_A_PRIVATE_STORE_OR_PRIVATE_WORKSHOP);
|
player.sendPacket(SystemMessageId.YOU_CANNOT_ENCHANT_WHILE_OPERATING_A_PRIVATE_STORE_OR_PRIVATE_WORKSHOP);
|
||||||
player.removeRequest(request.getClass());
|
|
||||||
player.sendPacket(new ExBlessOptionEnchant(EnchantResult.ERROR));
|
player.sendPacket(new ExBlessOptionEnchant(EnchantResult.ERROR));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
final ItemInstance item = request.getBlessingItem();
|
final ItemInstance item = player.getInventory().getItemByObjectId(_itemObjId);
|
||||||
if (item == null)
|
if (item == null)
|
||||||
{
|
{
|
||||||
player.removeRequest(request.getClass());
|
|
||||||
player.sendPacket(new ExBlessOptionEnchant(EnchantResult.ERROR));
|
player.sendPacket(new ExBlessOptionEnchant(EnchantResult.ERROR));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -122,17 +100,22 @@ public class RequestBlessOptionEnchant implements IClientIncomingPacket
|
|||||||
if (item.isBlessed())
|
if (item.isBlessed())
|
||||||
{
|
{
|
||||||
client.sendPacket(SystemMessageId.AUGMENTATION_REQUIREMENTS_ARE_NOT_FULFILLED);
|
client.sendPacket(SystemMessageId.AUGMENTATION_REQUIREMENTS_ARE_NOT_FULFILLED);
|
||||||
player.removeRequest(request.getClass());
|
|
||||||
player.sendPacket(new ExBlessOptionPutItem(0));
|
player.sendPacket(new ExBlessOptionPutItem(0));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
final ItemInstance targetScroll = player.getInventory().getItemByItemId(request.getBlessScrollId());
|
||||||
|
if (targetScroll == null)
|
||||||
|
{
|
||||||
|
player.sendPacket(new ExBlessOptionEnchant(EnchantResult.ERROR));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
// attempting to destroy scroll
|
// attempting to destroy scroll
|
||||||
if (player.getInventory().destroyItem("Blessing", targetScroll.getObjectId(), 1, player, item) == null)
|
if (player.getInventory().destroyItem("Blessing", targetScroll.getObjectId(), 1, player, item) == null)
|
||||||
{
|
{
|
||||||
client.sendPacket(SystemMessageId.INCORRECT_ITEM_COUNT_2);
|
client.sendPacket(SystemMessageId.INCORRECT_ITEM_COUNT_2);
|
||||||
Util.handleIllegalPlayerAction(player, "Player " + player.getName() + " tried to bless with a scroll he doesn't have", Config.DEFAULT_PUNISH);
|
Util.handleIllegalPlayerAction(player, "Player " + player.getName() + " tried to bless with a scroll he doesn't have", Config.DEFAULT_PUNISH);
|
||||||
player.removeRequest(request.getClass());
|
|
||||||
player.sendPacket(new ExBlessOptionEnchant(EnchantResult.ERROR));
|
player.sendPacket(new ExBlessOptionEnchant(EnchantResult.ERROR));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -179,10 +162,8 @@ public class RequestBlessOptionEnchant implements IClientIncomingPacket
|
|||||||
player.sendPacket(new ExBlessOptionEnchant(0));
|
player.sendPacket(new ExBlessOptionEnchant(0));
|
||||||
}
|
}
|
||||||
|
|
||||||
player.sendItemList();
|
|
||||||
|
|
||||||
request.setProcessing(false);
|
request.setProcessing(false);
|
||||||
player.removeRequest(request.getClass());
|
player.sendItemList();
|
||||||
player.broadcastUserInfo();
|
player.broadcastUserInfo();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -29,7 +29,6 @@ import org.l2jmobius.gameserver.network.serverpackets.blessing.ExBlessOptionPutI
|
|||||||
*/
|
*/
|
||||||
public class RequestBlessOptionPutItem implements IClientIncomingPacket
|
public class RequestBlessOptionPutItem implements IClientIncomingPacket
|
||||||
{
|
{
|
||||||
|
|
||||||
private int _objectId;
|
private int _objectId;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -25,7 +25,6 @@ import org.l2jmobius.gameserver.network.serverpackets.IClientOutgoingPacket;
|
|||||||
*/
|
*/
|
||||||
public class ExBlessOptionCancel implements IClientOutgoingPacket
|
public class ExBlessOptionCancel implements IClientOutgoingPacket
|
||||||
{
|
{
|
||||||
|
|
||||||
private final int _result;
|
private final int _result;
|
||||||
|
|
||||||
public ExBlessOptionCancel(int result)
|
public ExBlessOptionCancel(int result)
|
||||||
|
@ -25,7 +25,6 @@ import org.l2jmobius.gameserver.network.serverpackets.IClientOutgoingPacket;
|
|||||||
*/
|
*/
|
||||||
public class ExBlessOptionPutItem implements IClientOutgoingPacket
|
public class ExBlessOptionPutItem implements IClientOutgoingPacket
|
||||||
{
|
{
|
||||||
|
|
||||||
private final int _result;
|
private final int _result;
|
||||||
|
|
||||||
public ExBlessOptionPutItem(int result)
|
public ExBlessOptionPutItem(int result)
|
||||||
|
Reference in New Issue
Block a user