Store if item is ensoul stone at EtcItem.
This commit is contained in:
parent
acba6347c0
commit
f186d811e2
@ -28,10 +28,12 @@ import org.w3c.dom.NamedNodeMap;
|
||||
import org.w3c.dom.Node;
|
||||
|
||||
import org.l2jmobius.commons.util.IXmlReader;
|
||||
import org.l2jmobius.gameserver.data.ItemTable;
|
||||
import org.l2jmobius.gameserver.model.ensoul.EnsoulFee;
|
||||
import org.l2jmobius.gameserver.model.ensoul.EnsoulOption;
|
||||
import org.l2jmobius.gameserver.model.ensoul.EnsoulStone;
|
||||
import org.l2jmobius.gameserver.model.holders.ItemHolder;
|
||||
import org.l2jmobius.gameserver.model.item.EtcItem;
|
||||
|
||||
/**
|
||||
* @author UnAfraid
|
||||
@ -175,6 +177,7 @@ public class EnsoulData implements IXmlReader
|
||||
final EnsoulStone stone = new EnsoulStone(id, slotType);
|
||||
forEach(ensoulNode, "option", optionNode -> stone.addOption(parseInteger(optionNode.getAttributes(), "id")));
|
||||
_ensoulStones.put(stone.getId(), stone);
|
||||
((EtcItem) ItemTable.getInstance().getTemplate(stone.getId())).setEnsoulStone();
|
||||
}
|
||||
|
||||
public ItemHolder getEnsoulFee(int stoneId, int index)
|
||||
|
@ -36,6 +36,7 @@ public class EtcItem extends ItemTemplate
|
||||
private int _extractableCountMax;
|
||||
private boolean _isInfinite;
|
||||
private boolean _isMineral = false;
|
||||
private boolean _isEnsoulStone = false;
|
||||
|
||||
/**
|
||||
* Constructor for EtcItem.
|
||||
@ -164,4 +165,14 @@ public class EtcItem extends ItemTemplate
|
||||
{
|
||||
_isMineral = true;
|
||||
}
|
||||
|
||||
public boolean isEnsoulStone()
|
||||
{
|
||||
return _isEnsoulStone;
|
||||
}
|
||||
|
||||
public void setEnsoulStone()
|
||||
{
|
||||
_isEnsoulStone = true;
|
||||
}
|
||||
}
|
||||
|
@ -54,6 +54,7 @@ import org.l2jmobius.gameserver.network.SystemMessageId;
|
||||
import org.l2jmobius.gameserver.network.serverpackets.ActionFailed;
|
||||
import org.l2jmobius.gameserver.network.serverpackets.ExUseSharedGroupItem;
|
||||
import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
|
||||
import org.l2jmobius.gameserver.network.serverpackets.ensoul.ExShowEnsoulWindow;
|
||||
import org.l2jmobius.gameserver.network.serverpackets.variation.ExShowVariationMakeWindow;
|
||||
|
||||
public class UseItem implements IClientIncomingPacket
|
||||
@ -327,9 +328,16 @@ public class UseItem implements IClientIncomingPacket
|
||||
}
|
||||
}
|
||||
|
||||
if ((etcItem != null) && etcItem.isMineral())
|
||||
if (etcItem != null)
|
||||
{
|
||||
player.sendPacket(ExShowVariationMakeWindow.STATIC_PACKET);
|
||||
if (etcItem.isMineral())
|
||||
{
|
||||
player.sendPacket(ExShowVariationMakeWindow.STATIC_PACKET);
|
||||
}
|
||||
else if (etcItem.isEnsoulStone())
|
||||
{
|
||||
player.sendPacket(ExShowEnsoulWindow.STATIC_PACKET);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user