chr2trance

mxc request: 279129.0

Jul 27th, 2013
225
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 4.33 KB | None | 0 0
  1. ### Eclipse Workspace Patch 1.0
  2. #P aCis_gameserver
  3. Index: java/net/sf/l2j/gameserver/network/clientpackets/EnterWorld.java
  4. ===================================================================
  5. --- java/net/sf/l2j/gameserver/network/clientpackets/EnterWorld.java    (revision 37)
  6. +++ java/net/sf/l2j/gameserver/network/clientpackets/EnterWorld.java    (working copy)
  7. @@ -61,6 +61,8 @@
  8.  
  9.  public class EnterWorld extends L2GameClientPacket
  10.  {
  11. +   private int armorType;
  12. +
  13.     @Override
  14.     protected void readImpl()
  15.     {
  16. @@ -84,6 +86,8 @@
  17.                 _log.warning("User already exist in OID map! User " + activeChar.getName() + " is character clone.");
  18.         }
  19.        
  20. +       activeChar.armorRestriction(armorType);
  21. +      
  22.         if (activeChar.isGM())
  23.         {
  24.             if (Config.GM_STARTUP_INVULNERABLE && AdminCommandAccessRights.getInstance().hasAccess("admin_invul", activeChar.getAccessLevel()))
  25. Index: java/net/sf/l2j/gameserver/model/actor/instance/L2PcInstance.java
  26. ===================================================================
  27. --- java/net/sf/l2j/gameserver/model/actor/instance/L2PcInstance.java   (revision 40)
  28. +++ java/net/sf/l2j/gameserver/model/actor/instance/L2PcInstance.java   (working copy)
  29. @@ -706,6 +706,8 @@
  30.    
  31.     // open/close gates
  32.     private final GatesRequest _gatesRequest = new GatesRequest();
  33. +  
  34. +   private int armorType;
  35.    
  36.     /** Task for Herbs */
  37.     private class HerbTask implements Runnable
  38. @@ -8838,6 +8840,8 @@
  39.             _shortCuts.restore();
  40.             sendPacket(new ShortCutInit(this));
  41.            
  42. +           armorRestriction(armorType);
  43. +          
  44.             broadcastPacket(new SocialAction(this, 15));
  45.             sendPacket(new SkillCoolTime(this));
  46.             return true;
  47. @@ -11762,4 +11766,54 @@
  48.     {
  49.         return _seeKillMsg;
  50.     }
  51. +  
  52. +   public void armorRestriction(int armorType)
  53. +   {
  54. +       L2ItemInstance item = getInventory().getPaperdollItem(armorType);
  55. +      
  56. +       switch (getClassId())
  57. +       {
  58. +           case treasureHunter:
  59. +               switch (armorType)
  60. +               {
  61. +                   case Inventory.PAPERDOLL_CHEST:
  62. +                       if (item != null && item.getItemType() == L2ArmorType.HEAVY)
  63. +                       {
  64. +                           int slot = getInventory().getSlotFromItem(item);
  65. +                           getInventory().unEquipItemInBodySlot(slot);
  66. +                       }
  67. +                       break;
  68. +                      
  69. +                   case Inventory.PAPERDOLL_LEGS:
  70. +                       if (item != null && item.getItemType() == L2ArmorType.HEAVY)
  71. +                       {
  72. +                           int slot = getInventory().getSlotFromItem(item);
  73. +                           getInventory().unEquipItemInBodySlot(slot);
  74. +                       }
  75. +                       break;
  76. +               }
  77. +               break;
  78. +              
  79. +           case adventurer:
  80. +               switch (armorType)
  81. +               {
  82. +                   case Inventory.PAPERDOLL_CHEST:
  83. +                       if (item != null && item.getItemType() == L2ArmorType.HEAVY)
  84. +                       {
  85. +                           int slot = getInventory().getSlotFromItem(item);
  86. +                           getInventory().unEquipItemInBodySlot(slot);
  87. +                       }
  88. +                       break;
  89. +                      
  90. +                   case Inventory.PAPERDOLL_LEGS:
  91. +                       if (item != null && item.getItemType() == L2ArmorType.HEAVY)
  92. +                       {
  93. +                           int slot = getInventory().getSlotFromItem(item);
  94. +                           getInventory().unEquipItemInBodySlot(slot);
  95. +                       }
  96. +                       break;
  97. +               }
  98. +               break;
  99. +       }
  100. +   }
  101.  }
  102. \ No newline at end of file
  103. Index: java/net/sf/l2j/gameserver/network/clientpackets/UseItem.java
  104. ===================================================================
  105. --- java/net/sf/l2j/gameserver/network/clientpackets/UseItem.java   (revision 37)
  106. +++ java/net/sf/l2j/gameserver/network/clientpackets/UseItem.java   (working copy)
  107. @@ -31,6 +31,7 @@
  108.  import net.sf.l2j.gameserver.network.serverpackets.PetItemList;
  109.  import net.sf.l2j.gameserver.skills.SkillHolder;
  110.  import net.sf.l2j.gameserver.templates.item.L2ActionType;
  111. +import net.sf.l2j.gameserver.templates.item.L2ArmorType;
  112.  import net.sf.l2j.gameserver.templates.item.L2EtcItemType;
  113.  import net.sf.l2j.gameserver.templates.item.L2Item;
  114.  import net.sf.l2j.gameserver.templates.item.L2Weapon;
  115. @@ -96,6 +97,25 @@
  116.         if (item == null)
  117.             return;
  118.        
  119. +       switch (activeChar.getClassId())
  120. +       {
  121. +           case treasureHunter:
  122. +               if (item.getItemType() == L2ArmorType.HEAVY)
  123. +               {
  124. +                   activeChar.sendPacket(SystemMessageId.CANNOT_EQUIP_ITEM_DUE_TO_BAD_CONDITION);
  125. +                   return;
  126. +               }
  127. +               break;
  128. +              
  129. +           case adventurer:
  130. +               if (item.getItemType() == L2ArmorType.HEAVY)
  131. +               {
  132. +                   activeChar.sendPacket(SystemMessageId.CANNOT_EQUIP_ITEM_DUE_TO_BAD_CONDITION);
  133. +                   return;
  134. +               }
  135. +               break;
  136. +       }
  137. +      
  138.         // Flood protect UseItem
  139.         if (item.isPotion())
  140.         {
Advertisement
Add Comment
Please, Sign In to add comment