Show soul crystal options on items that are in trade window or in commission system.

Contributed by Mathael.
This commit is contained in:
MobiusDev 2016-03-06 16:10:41 +00:00
parent cab0df2bcb
commit b2605801b8
2 changed files with 12 additions and 9 deletions

View File

@ -21,6 +21,9 @@ import com.l2jmobius.gameserver.model.actor.L2Character;
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance; import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
import com.l2jmobius.gameserver.network.serverpackets.ensoul.ExShowEnsoulWindow; import com.l2jmobius.gameserver.network.serverpackets.ensoul.ExShowEnsoulWindow;
/**
* @author Mathael
*/
public class Ensoul implements IBypassHandler public class Ensoul implements IBypassHandler
{ {
private static final String[] COMMANDS = private static final String[] COMMANDS =

View File

@ -79,7 +79,9 @@ public abstract class AbstractItemPacket extends AbstractMaskPacket<ItemListType
writeH(0x00); // Equipped : 00-No, 01-yes writeH(0x00); // Equipped : 00-No, 01-yes
writeC(item.getCustomType2()); writeC(item.getCustomType2());
writeD(0); writeD(0);
writeItemElementalAndEnchant(new ItemInfo(item)); final ItemInfo iteminfo = new ItemInfo(item);
writeItemElementalAndEnchant(iteminfo);
writeItemSoulCrystalOptions(iteminfo);
} }
protected void writeItem(ItemInfo item) protected void writeItem(ItemInfo item)
@ -164,7 +166,11 @@ public abstract class AbstractItemPacket extends AbstractMaskPacket<ItemListType
mask |= ItemListType.VISUAL_ID.getMask(); mask |= ItemListType.VISUAL_ID.getMask();
} }
if ((item.getCommonSoulCrystalOptions().length != 0) || (item.getSpecialSoulCrystalOption() != null)) if (item.getSpecialSoulCrystalOption() != null)
{
mask |= ItemListType.SOUL_CRYSTAL.getMask();
}
else
{ {
for (SoulCrystalOption sco : item.getCommonSoulCrystalOptions()) for (SoulCrystalOption sco : item.getCommonSoulCrystalOptions())
{ {
@ -174,11 +180,6 @@ public abstract class AbstractItemPacket extends AbstractMaskPacket<ItemListType
break; break;
} }
} }
if (item.getSpecialSoulCrystalOption() != null)
{
mask |= ItemListType.SOUL_CRYSTAL.getMask();
}
} }
return mask; return mask;
@ -237,8 +238,7 @@ public abstract class AbstractItemPacket extends AbstractMaskPacket<ItemListType
writeH(item.getCustomType2()); writeH(item.getCustomType2());
writeItemElementalAndEnchant(item); writeItemElementalAndEnchant(item);
writeD(item.getVisualId()); writeD(item.getVisualId());
writeC(0); writeItemSoulCrystalOptions(item);
writeC(0);
} }
protected void writeItemSoulCrystalOptions(ItemInfo item) protected void writeItemSoulCrystalOptions(ItemInfo item)