Index: java/net/sf/l2j/gameserver/Olympiad.java =================================================================== --- java/net/sf/l2j/gameserver/Olympia +++ java/net/sf/l2j/gameserver/Olympiad.java (working copy) @@ -1509,6 +1509,99 @@ party.removePartyMember(player); } + //Remove Boss Jewels + //Neclace + L2ItemInstance jwlneck = player.getInventory().getPaperdollItem(Inventory.PAPERDOLL_NECK); + if (jwlneck != null && (jwlneck.getItemId() == 6657 || jwlneck.getItemId() == 8191)) + { + L2ItemInstance[] unequiped = player.getInventory().unEquipItemInBodySlotAndRecord(jwlneck.getItem().getBodyPart()); + InventoryUpdate iu = new InventoryUpdate(); + for (int i = 0; i < unequiped.length; i++) + iu.addModifiedItem(unequiped[i]); + player.sendPacket(iu); + player.abortAttack(); + player.broadcastUserInfo(); + + // this can be 0 if the user pressed the right mousebutton twice very fast + if (unequiped.length > 0) + { + if (unequiped[0].isWear()) + return; + SystemMessage sm = null; + if (unequiped[0].getEnchantLevel() > 0){ + sm = new SystemMessage(SystemMessageId.EQUIPMENT_S1_S2_REMOVED); + sm.addNumber(unequiped[0].getEnchantLevel()); + sm.addItemName(unequiped[0].getItemId()); + }else{ + sm = new SystemMessage(SystemMessageId.S1_DISARMED); + sm.addItemName(unequiped[0].getItemId()); + } + player.sendPacket(sm); + } + } + + //Earing + L2ItemInstance jwlear = player.getInventory().getPaperdollItem(Inventory.PAPERDOLL_LEAR); + if (jwlear == null) jwlear = player.getInventory().getPaperdollItem(Inventory.PAPERDOLL_REAR); + if (jwlear != null && (jwlear.getItemId() == 6661 || jwlear.getItemId() == 6659 || jwlear.getItemId() == 6656)) + { + L2ItemInstance[] unequiped = player.getInventory().unEquipItemInBodySlotAndRecord(jwlear.getItem().getBodyPart()); + InventoryUpdate iu = new InventoryUpdate(); + for (int i = 0; i < unequiped.length; i++) + iu.addModifiedItem(unequiped[i]); + player.sendPacket(iu); + player.abortAttack(); + player.broadcastUserInfo(); + + // this can be 0 if the user pressed the right mousebutton twice very fast + if (unequiped.length > 0) + { + if (unequiped[0].isWear()) + return; + SystemMessage sm = null; + if (unequiped[0].getEnchantLevel() > 0){ + sm = new SystemMessage(SystemMessageId.EQUIPMENT_S1_S2_REMOVED); + sm.addNumber(unequiped[0].getEnchantLevel()); + sm.addItemName(unequiped[0].getItemId()); + }else{ + sm = new SystemMessage(SystemMessageId.S1_DISARMED); + sm.addItemName(unequiped[0].getItemId()); + } + player.sendPacket(sm); + } + } + + // Fingers + L2ItemInstance jwlfing = player.getInventory().getPaperdollItem(Inventory.PAPERDOLL_LFINGER); + if (jwlfing == null) jwlfing = player.getInventory().getPaperdollItem(Inventory.PAPERDOLL_RFINGER); + if (jwlfing != null && (jwlfing.getItemId() == 6658 || jwlfing.getItemId() == 6660 || jwlfing.getItemId() == 6662)) + { + L2ItemInstance[] unequiped = player.getInventory().unEquipItemInBodySlotAndRecord(jwlfing.getItem().getBodyPart()); + InventoryUpdate iu = new InventoryUpdate(); + for (int i = 0; i < unequiped.length; i++) + iu.addModifiedItem(unequiped[i]); + player.sendPacket(iu); + player.abortAttack(); + player.broadcastUserInfo(); + + // this can be 0 if the user pressed the right mousebutton twice very fast + if (unequiped.length > 0) + { + if (unequiped[0].isWear()) + return; + SystemMessage sm = null; + if (unequiped[0].getEnchantLevel() > 0){ + sm = new SystemMessage(SystemMessageId.EQUIPMENT_S1_S2_REMOVED); + sm.addNumber(unequiped[0].getEnchantLevel()); + sm.addItemName(unequiped[0].getItemId()); + }else{ + sm = new SystemMessage(SystemMessageId.S1_DISARMED); + sm.addItemName(unequiped[0].getItemId()); + } + player.sendPacket(sm); + } + } + + //Remove Chocolate Armor + //Head + L2ItemInstance ChocoHead = player.getInventory().getPaperdollItem(Inventory.PAPERDOLL_HEAD); + if (ChocoHead != null && (ChocoHead.getItemId() == 9722 || ChocoHead.getItemId() == 9738 || ChocoHead.getItemId() == 9729)) + { + L2ItemInstance[] unequiped = player.getInventory().unEquipItemInBodySlotAndRecord(ChocoHead.getItem().getBodyPart()); + InventoryUpdate iu = new InventoryUpdate(); + for (int i = 0; i < unequiped.length; i++) + iu.addModifiedItem(unequiped[i]); + player.sendPacket(iu); + player.abortAttack(); + player.broadcastUserInfo(); + + // this can be 0 if the user pressed the right mousebutton twice very fast + if (unequiped.length > 0) + { + if (unequiped[0].isWear()) + return; + SystemMessage sm = null; + if (unequiped[0].getEnchantLevel() > 0){ + sm = new SystemMessage(SystemMessageId.EQUIPMENT_S1_S2_REMOVED); + sm.addNumber(unequiped[0].getEnchantLevel()); + sm.addItemName(unequiped[0].getItemId()); + }else{ + sm = new SystemMessage(SystemMessageId.S1_DISARMED); + sm.addItemName(unequiped[0].getItemId()); + } + player.sendPacket(sm); + } + } + + //Remove Chocolate Armor + //Chest + L2ItemInstance ChocoChest = player.getInventory().getPaperdollItem(Inventory.PAPERDOLL_CHEST); + if (ChocoChest != null && (ChocoChest.getItemId() == 9716 || ChocoChest.getItemId() == 9732 || ChocoChest.getItemId() == 9725)) + { + L2ItemInstance[] unequiped = player.getInventory().unEquipItemInBodySlotAndRecord(ChocoChest.getItem().getBodyPart()); + InventoryUpdate iu = new InventoryUpdate(); + for (int i = 0; i < unequiped.length; i++) + iu.addModifiedItem(unequiped[i]); + player.sendPacket(iu); + player.abortAttack(); + player.broadcastUserInfo(); + + // this can be 0 if the user pressed the right mousebutton twice very fast + if (unequiped.length > 0) + { + if (unequiped[0].isWear()) + return; + SystemMessage sm = null; + if (unequiped[0].getEnchantLevel() > 0){ + sm = new SystemMessage(SystemMessageId.EQUIPMENT_S1_S2_REMOVED); + sm.addNumber(unequiped[0].getEnchantLevel()); + sm.addItemName(unequiped[0].getItemId()); + }else{ + sm = new SystemMessage(SystemMessageId.S1_DISARMED); + sm.addItemName(unequiped[0].getItemId()); + } + player.sendPacket(sm); + } + } + + //Remove Chocolate Armor + //Legs + L2ItemInstance ChocoLegs = player.getInventory().getPaperdollItem(Inventory.PAPERDOLL_LEGS); + if (ChocoLegs != null && (ChocoLegs.getItemId() == 9721 || ChocoLegs.getItemId() == 9737 || ChocoLegs.getItemId() == 9728)) + { + L2ItemInstance[] unequiped = player.getInventory().unEquipItemInBodySlotAndRecord(ChocoLegs.getItem().getBodyPart()); + InventoryUpdate iu = new InventoryUpdate(); + for (int i = 0; i < unequiped.length; i++) + iu.addModifiedItem(unequiped[i]); + player.sendPacket(iu); + player.abortAttack(); + player.broadcastUserInfo(); + + // this can be 0 if the user pressed the right mousebutton twice very fast + if (unequiped.length > 0) + { + if (unequiped[0].isWear()) + return; + SystemMessage sm = null; + if (unequiped[0].getEnchantLevel() > 0){ + sm = new SystemMessage(SystemMessageId.EQUIPMENT_S1_S2_REMOVED); + sm.addNumber(unequiped[0].getEnchantLevel()); + sm.addItemName(unequiped[0].getItemId()); + }else{ + sm = new SystemMessage(SystemMessageId.S1_DISARMED); + sm.addItemName(unequiped[0].getItemId()); + } + player.sendPacket(sm); + } + } + + //Remove Chocolate Armor + //Gloves + L2ItemInstance ChocoHands = player.getInventory().getPaperdollItem(Inventory.PAPERDOLL_GLOVES); + if (ChocoHands != null && (ChocoHands.getItemId() == 9723 || ChocoHands.getItemId() == 9740 || ChocoHands.getItemId() == 9730)) + { + L2ItemInstance[] unequiped = player.getInventory().unEquipItemInBodySlotAndRecord(ChocoHands.getItem().getBodyPart()); + InventoryUpdate iu = new InventoryUpdate(); + for (int i = 0; i < unequiped.length; i++) + iu.addModifiedItem(unequiped[i]); + player.sendPacket(iu); + player.abortAttack(); + player.broadcastUserInfo(); + + // this can be 0 if the user pressed the right mousebutton twice very fast + if (unequiped.length > 0) + { + if (unequiped[0].isWear()) + return; + SystemMessage sm = null; + if (unequiped[0].getEnchantLevel() > 0){ + sm = new SystemMessage(SystemMessageId.EQUIPMENT_S1_S2_REMOVED); + sm.addNumber(unequiped[0].getEnchantLevel()); + sm.addItemName(unequiped[0].getItemId()); + }else{ + sm = new SystemMessage(SystemMessageId.S1_DISARMED); + sm.addItemName(unequiped[0].getItemId()); + } + player.sendPacket(sm); + } + } + + //Remove Chocolate Armor + //Feat + L2ItemInstance ChocoFeat = player.getInventory().getPaperdollItem(Inventory.PAPERDOLL_FEET); + if (ChocoFeat != null && (ChocoFeat.getItemId() == 9724 || ChocoFeat.getItemId() == 9739 || ChocoFeat.getItemId() == 9731)) + { + L2ItemInstance[] unequiped = player.getInventory().unEquipItemInBodySlotAndRecord(ChocoFeat.getItem().getBodyPart()); + InventoryUpdate iu = new InventoryUpdate(); + for (int i = 0; i < unequiped.length; i++) + iu.addModifiedItem(unequiped[i]); + player.sendPacket(iu); + player.abortAttack(); + player.broadcastUserInfo(); + + // this can be 0 if the user pressed the right mousebutton twice very fast + if (unequiped.length > 0) + { + if (unequiped[0].isWear()) + return; + SystemMessage sm = null; + if (unequiped[0].getEnchantLevel() > 0){ + sm = new SystemMessage(SystemMessageId.EQUIPMENT_S1_S2_REMOVED); + sm.addNumber(unequiped[0].getEnchantLevel()); + sm.addItemName(unequiped[0].getItemId()); + }else{ + sm = new SystemMessage(SystemMessageId.S1_DISARMED); + sm.addItemName(unequiped[0].getItemId()); + } + player.sendPacket(sm); + } + } + //Remove Hero Weapons // check to prevent the using of weapon/shield on strider/wyvern L2ItemInstance wpn = player.getInventory().getPaperdollItem(Inventory.PAPERDOLL_RHAND);