Fixed equipping invisible jewels.

This commit is contained in:
MobiusDevelopment
2020-04-26 00:19:28 +00:00
parent 002a8ea745
commit 292a46fd32

View File

@@ -617,23 +617,19 @@ public class UseItem extends GameClientPacket
items = player.getInventory().equipItemAndRecord(item); items = player.getInventory().equipItemAndRecord(item);
if (item.getItem() instanceof Weapon) if (item.getItem() instanceof Weapon)
{ {
// charge Soulshot/Spiritshot like L2OFF // Charge Soulshot/Spiritshot like L2OFF
player.rechargeAutoSoulShot(true, true, false); player.rechargeAutoSoulShot(true, true, false);
item.setChargedSoulshot(ItemInstance.CHARGED_NONE); item.setChargedSoulshot(ItemInstance.CHARGED_NONE);
item.setChargedSpiritshot(ItemInstance.CHARGED_NONE); item.setChargedSpiritshot(ItemInstance.CHARGED_NONE);
} }
// Consume mana - will start a task if required; returns if item is not a shadow item // Consume mana - will start a task if required; returns if item is not a shadow item.
item.decreaseMana(false); item.decreaseMana(false);
} }
/*
* if(item.getItem().getType2() == Item.TYPE2_WEAPON) { activeChar.checkIfWeaponIsAllowed(); }
*/
player.abortAttack(); player.abortAttack();
player.sendPacket(new EtcStatusUpdate(player)); player.sendPacket(new EtcStatusUpdate(player));
// if an "invisible" item has changed (Jewels, helmet), we dont need to send broadcast packet to all other users // If an "invisible" item has changed (Jewels, helmet), we dont need to send broadcast packet to all other users.
if ((((item.getItem().getBodyPart() & Item.SLOT_HEAD) <= 0) && ((item.getItem().getBodyPart() & Item.SLOT_NECK) <= 0) && ((item.getItem().getBodyPart() & Item.SLOT_L_EAR) <= 0) && ((item.getItem().getBodyPart() & Item.SLOT_R_EAR) <= 0) && ((item.getItem().getBodyPart() & Item.SLOT_L_FINGER) <= 0) && ((item.getItem().getBodyPart() & Item.SLOT_R_FINGER) <= 0))) if ((((item.getItem().getBodyPart() & Item.SLOT_HEAD) <= 0) && ((item.getItem().getBodyPart() & Item.SLOT_NECK) <= 0) && ((item.getItem().getBodyPart() & Item.SLOT_L_EAR) <= 0) && ((item.getItem().getBodyPart() & Item.SLOT_R_EAR) <= 0) && ((item.getItem().getBodyPart() & Item.SLOT_L_FINGER) <= 0) && ((item.getItem().getBodyPart() & Item.SLOT_R_FINGER) <= 0)))
{ {
player.broadcastUserInfo(); player.broadcastUserInfo();
@@ -648,11 +644,10 @@ public class UseItem extends GameClientPacket
player.sendPacket(iu); player.sendPacket(iu);
player.sendPacket(new UserInfo(player)); player.sendPacket(new UserInfo(player));
} }
else else // Because of complicated jewels problem I am forced to resend the item list. :(
{ {
// because of complicated jewels problem i'm forced to resend the item list :( player.sendPacket(new UserInfo(player)); // Mobius: send UserInfo before ItemList.
player.sendPacket(new ItemList(player, true)); player.sendPacket(new ItemList(player, true)); // Mobius: send ItemList after UserInfo.
player.sendPacket(new UserInfo(player));
} }
} }
else else