Changeset 5161
- Timestamp:
- Jan 30, 2012 9:12:19 AM (4 months ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/unstable/L2J_Server_BETA/java/com/l2jserver/gameserver/model/actor/instance/L2PcInstance.java
r5155 r5161 6605 6605 /** 6606 6606 * Disarm the player's weapon. 6607 * @return true if the player was disarmed, falseotherwise.6607 * @return {@code true} if the player was disarmed or doesn't have a weapon to disarm, {@code false} otherwise. 6608 6608 */ 6609 6609 public boolean disarmWeapons() 6610 6610 { 6611 // If there is no weapon to disarm then return true. 6612 final L2ItemInstance wpn = getInventory().getPaperdollItem(Inventory.PAPERDOLL_RHAND); 6613 if (wpn == null) 6614 { 6615 return true; 6616 } 6617 6611 6618 // Don't allow disarming a cursed weapon 6612 if (isCursedWeaponEquipped()) 6619 if (isCursedWeaponEquipped()) 6620 { 6613 6621 return false; 6614 6615 // Don't allow disarming a Combat Flag or Territory Ward 6616 else if (isCombatFlagEquipped()) 6622 } 6623 6624 // Don't allow disarming a Combat Flag or Territory Ward. 6625 if (isCombatFlagEquipped()) 6626 { 6617 6627 return false; 6618 6619 // Unequip the weapon6620 L2ItemInstance wpn = getInventory().getPaperdollItem(Inventory.PAPERDOLL_RHAND);6621 if (wpn == null)6628 } 6629 6630 // Don't allow disarming if the weapon is force equip. 6631 if (wpn.getWeaponItem().isForceEquip()) 6622 6632 { 6623 6633 return false; 6624 6634 } 6625 else if (wpn.getWeaponItem().isForceEquip()) 6626 { 6627 return false; 6628 } 6629 else 6630 { 6631 L2ItemInstance[] unequiped = getInventory().unEquipItemInBodySlotAndRecord(wpn.getItem().getBodyPart()); 6632 InventoryUpdate iu = new InventoryUpdate(); 6633 for (L2ItemInstance itm: unequiped) 6634 iu.addModifiedItem(itm); 6635 sendPacket(iu); 6636 6637 abortAttack(); 6638 broadcastUserInfo(); 6639 6640 // this can be 0 if the user pressed the right mousebutton twice very fast 6641 if (unequiped.length > 0) 6642 { 6643 SystemMessage sm = null; 6644 if (unequiped[0].getEnchantLevel() > 0) 6645 { 6646 sm = SystemMessage.getSystemMessage(SystemMessageId.EQUIPMENT_S1_S2_REMOVED); 6647 sm.addNumber(unequiped[0].getEnchantLevel()); 6648 sm.addItemName(unequiped[0]); 6649 } 6650 else 6651 { 6652 sm = SystemMessage.getSystemMessage(SystemMessageId.S1_DISARMED); 6653 sm.addItemName(unequiped[0]); 6654 } 6655 sendPacket(sm); 6656 } 6635 6636 final L2ItemInstance[] unequiped = getInventory().unEquipItemInBodySlotAndRecord(wpn.getItem().getBodyPart()); 6637 final InventoryUpdate iu = new InventoryUpdate(); 6638 for (L2ItemInstance itm: unequiped) 6639 { 6640 iu.addModifiedItem(itm); 6641 } 6642 6643 sendPacket(iu); 6644 abortAttack(); 6645 broadcastUserInfo(); 6646 6647 // This can be 0 if the user pressed the right mousebutton twice very fast. 6648 if (unequiped.length > 0) 6649 { 6650 final SystemMessage sm; 6651 if (unequiped[0].getEnchantLevel() > 0) 6652 { 6653 sm = SystemMessage.getSystemMessage(SystemMessageId.EQUIPMENT_S1_S2_REMOVED); 6654 sm.addNumber(unequiped[0].getEnchantLevel()); 6655 sm.addItemName(unequiped[0]); 6656 } 6657 else 6658 { 6659 sm = SystemMessage.getSystemMessage(SystemMessageId.S1_DISARMED); 6660 sm.addItemName(unequiped[0]); 6661 } 6662 sendPacket(sm); 6657 6663 } 6658 6664 return true; … … 6660 6666 6661 6667 /** 6662 * Disarm the player's shield. <BR><BR>6663 * @return 6668 * Disarm the player's shield. 6669 * @return {@code true}. 6664 6670 */ 6665 6671 public boolean disarmShield()
Note: See TracChangeset
for help on using the changeset viewer.
