Advertisement
tensador125

Upgrade boss jewels change icon +3 +4 +5

Jun 30th, 2023 (edited)
799
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 10.11 KB | Gaming | 0 0
  1. ### Eclipse Workspace Patch 1.0
  2. #P L2jMega_Interlude
  3. diff --git java/com/l2jmega/Config.java java/com/l2jmega/Config.java
  4. index 4db31f9..1f32640 100644
  5. --- java/com/l2jmega/Config.java
  6. +++ java/com/l2jmega/Config.java
  7. @@ -119,6 +119,8 @@
  8.     public static boolean ALLOW_DRESS_ME_FOR_PREMIUM;
  9.     public static boolean ALLOW_DRESS_ME_IN_OLY;
  10.    
  11. +   public static boolean UPGRADE_BOSS_JEWELS_ENCHANT;
  12. +  
  13.     public static int RANDOM_CRAFT_ITEM_ID_CONSUME;
  14.     public static int RANDOM_CRAFT_ITEM_CONSUME_REFRESH;
  15.     public static int RANDOM_CRAFT_ITEM_CONSUME_CREATE;
  16. @@ -4299,6 +4301,8 @@
  17.         ALLOW_DRESS_ME_FOR_PREMIUM = l2jmega.getProperty("AllowDressMeForPremiumOnly", false);
  18.         ALLOW_DRESS_ME_IN_OLY = l2jmega.getProperty("AllowDressMeInOly", false);
  19.        
  20. +       UPGRADE_BOSS_JEWELS_ENCHANT = l2jmega.getProperty("UpgradeBossJewels", false);
  21. +      
  22.         RANDOM_CRAFT_ITEM_ID_CONSUME = l2jmega.getProperty("RandomCraftItemId", 57);
  23.        
  24.         RANDOM_CRAFT_ITEM_CONSUME_REFRESH = l2jmega.getProperty("RandomCraftConsumeRefresh", 50000);
  25. diff --git java/com/l2jmega/gameserver/handler/admincommandhandlers/AdminEnchant.java java/com/l2jmega/gameserver/handler/admincommandhandlers/AdminEnchant.java
  26. index 6157e18..add3d43 100644
  27. --- java/com/l2jmega/gameserver/handler/admincommandhandlers/AdminEnchant.java
  28. +++ java/com/l2jmega/gameserver/handler/admincommandhandlers/AdminEnchant.java
  29. @@ -1,8 +1,10 @@
  30.  package com.l2jmega.gameserver.handler.admincommandhandlers;
  31.  
  32. +import com.l2jmega.Config;
  33.  import com.l2jmega.gameserver.data.SkillTable;
  34.  import com.l2jmega.gameserver.data.xml.ArmorSetData;
  35.  import com.l2jmega.gameserver.handler.IAdminCommandHandler;
  36. +import com.l2jmega.gameserver.idfactory.IdFactory;
  37.  import com.l2jmega.gameserver.model.L2Skill;
  38.  import com.l2jmega.gameserver.model.WorldObject;
  39.  import com.l2jmega.gameserver.model.actor.instance.Player;
  40. @@ -119,6 +121,42 @@
  41.             final int oldEnchant = item.getEnchantLevel();
  42.            
  43.             item.setEnchantLevel(ench);
  44. +          
  45. +           if(Config.UPGRADE_BOSS_JEWELS_ENCHANT)
  46. +           {
  47. +               if (item.getEnchantLevel() >= 3 && (item.getItemId() == 6660 || item.getItemId() == 6658 || item.getItemId() == 6656 || item.getItemId() == 6659 || item.getItemId() == 8191) || item.getItemId() == 62228 || item.getItemId() == 62227 || item.getItemId() == 62212 || item.getItemId() == 62214 || item.getItemId() == 62216 || item.getItemId() == 62217 || item.getItemId() == 61212 || item.getItemId() == 61214 || item.getItemId() == 61216 || item.getItemId() == 61217) {
  48. +                   int nextEnchantLevel2 = item.getEnchantLevel();
  49. +                   int newItemId = 0;
  50. +
  51. +                   if (nextEnchantLevel2 == 3) {
  52. +                       newItemId = getNewItemIdForEnchant3(item.getItemId());
  53. +                   }
  54. +                   else if (nextEnchantLevel2 == 4) {
  55. +                       newItemId = getNewItemIdForEnchant4(item.getItemId());
  56. +                   }
  57. +                   else if (nextEnchantLevel2 == 5) {
  58. +                       newItemId = getNewItemIdForEnchant5(item.getItemId());
  59. +                   }
  60. +
  61. +                   if (newItemId != 0) {
  62. +                       activeChar.destroyItem("Consume", item.getObjectId(), 1, null, false); // Eliminar el item actual
  63. +
  64. +                       // Crear el nuevo item con la nueva ID y enchant level
  65. +                       ItemInstance newItem = new ItemInstance(IdFactory.getInstance().getNextId(), newItemId);
  66. +                       newItem.setEnchantLevel(nextEnchantLevel2);
  67. +                       activeChar.addItem("Enchant", newItem, activeChar, true);
  68. +                       activeChar.getInventory().equipItemAndRecord(newItem);
  69. +
  70. +                       // Actualizar la base de datos
  71. +                       newItem.updateDatabase();
  72. +                   }
  73. +               }
  74. +           }
  75. +
  76. +          
  77. +          
  78. +          
  79. +          
  80.             item.updateDatabase();
  81.            
  82.             // If item is equipped, verify the skill obtention/drop (+4 duals, +6 armorset).
  83. @@ -214,6 +252,57 @@
  84.         AdminHelpPage.showHelpPage(activeChar, "enchant.htm");
  85.     }
  86.    
  87. +   private static int getNewItemIdForEnchant3(int itemId) {
  88. +       switch (itemId) {
  89. +           case 6660:
  90. +               return 61212; // Nueva ID del item para enchant +3
  91. +           case 6658:
  92. +               return 61214; // Nueva ID del item para enchant +3
  93. +           case 6656:
  94. +               return 61217; // Nueva ID del item para enchant +3
  95. +           case 6659:
  96. +               return 61216; // Nueva ID del item para enchant +3
  97. +           case 8191:
  98. +               return 62227; // Nueva ID del item para enchant +3
  99. +           default:
  100. +               return 0; // En caso de no encontrar la ID correspondiente
  101. +       }
  102. +   }
  103. +
  104. +   private static int getNewItemIdForEnchant4(int itemId) {
  105. +       switch (itemId) {
  106. +           case 61212:
  107. +               return 62212; // Nueva ID del item para enchant +4
  108. +           case 61214:
  109. +               return 62214; // Nueva ID del item para enchant +4
  110. +           case 61217:
  111. +               return 62217; // Nueva ID del item para enchant +4
  112. +           case 61216:
  113. +               return 62216; // Nueva ID del item para enchant +4
  114. +           case 62227:
  115. +               return 62228; // Nueva ID del item para enchant +4
  116. +           default:
  117. +               return 0; // En caso de no encontrar la ID correspondiente
  118. +       }
  119. +   }
  120. +
  121. +   private static int getNewItemIdForEnchant5(int itemId) {
  122. +       switch (itemId) {
  123. +           case 62212:
  124. +               return 63212; // Nueva ID del item para enchant +5
  125. +           case 62214:
  126. +               return 63214; // Nueva ID del item para enchant +5
  127. +           case 62217:
  128. +               return 63217; // Nueva ID del item para enchant +5
  129. +           case 62216:
  130. +               return 63216; // Nueva ID del item para enchant +5
  131. +           case 62228:
  132. +               return 63227; // Nueva ID del item para enchant +5
  133. +           default:
  134. +               return 0; // En caso de no encontrar la ID correspondiente
  135. +       }
  136. +   }
  137. +  
  138.     @Override
  139.     public String[] getAdminCommandList()
  140.     {
  141. diff --git java/com/l2jmega/gameserver/network/clientpackets/RequestEnchantItem.java java/com/l2jmega/gameserver/network/clientpackets/RequestEnchantItem.java
  142. index 5158806..b3b8fc0 100644
  143. --- java/com/l2jmega/gameserver/network/clientpackets/RequestEnchantItem.java
  144. +++ java/com/l2jmega/gameserver/network/clientpackets/RequestEnchantItem.java
  145. @@ -16,6 +16,7 @@
  146.  
  147.  import com.l2jmega.Config;
  148.  import com.l2jmega.L2DatabaseFactory;
  149. +import com.l2jmega.gameserver.idfactory.IdFactory;
  150.  import com.l2jmega.gameserver.model.Announcement;
  151.  import com.l2jmega.gameserver.model.World;
  152.  import com.l2jmega.gameserver.model.actor.instance.Player;
  153. @@ -733,7 +734,46 @@
  154.                    
  155.                 }
  156.                
  157. +              
  158. +              
  159. +              
  160.                 item.setEnchantLevel(item.getEnchantLevel() + 1);
  161. +              
  162. +               if(Config.UPGRADE_BOSS_JEWELS_ENCHANT)
  163. +               {
  164. +                   if (item.getEnchantLevel() >= 3 && (item.getItemId() == 6660 || item.getItemId() == 6658 || item.getItemId() == 6656 || item.getItemId() == 6659 || item.getItemId() == 8191) || item.getItemId() == 62228 || item.getItemId() == 62227 || item.getItemId() == 62212 || item.getItemId() == 62214 || item.getItemId() == 62216 || item.getItemId() == 62217 || item.getItemId() == 61212 || item.getItemId() == 61214 || item.getItemId() == 61216 || item.getItemId() == 61217) {
  165. +                       int nextEnchantLevel2 = item.getEnchantLevel();
  166. +                       int newItemId = 0;
  167. +
  168. +                       if (nextEnchantLevel2 == 3) {
  169. +                           newItemId = getNewItemIdForEnchant3(item.getItemId());
  170. +                       }
  171. +                       else if (nextEnchantLevel2 == 4) {
  172. +                           newItemId = getNewItemIdForEnchant4(item.getItemId());
  173. +                       }
  174. +                       else if (nextEnchantLevel2 == 5) {
  175. +                           newItemId = getNewItemIdForEnchant5(item.getItemId());
  176. +                       }
  177. +
  178. +                       if (newItemId != 0) {
  179. +                           activeChar.destroyItem("Consume", item.getObjectId(), 1, null, false); // Eliminar el item actual
  180. +
  181. +                           // Crear el nuevo item con la nueva ID y enchant level
  182. +                           ItemInstance newItem = new ItemInstance(IdFactory.getInstance().getNextId(), newItemId);
  183. +                           newItem.setEnchantLevel(nextEnchantLevel2);
  184. +                           activeChar.addItem("Enchant", newItem, activeChar, true);
  185. +                           activeChar.getInventory().equipItemAndRecord(newItem);
  186. +
  187. +                           // Actualizar la base de datos
  188. +                           newItem.updateDatabase();
  189. +                       }
  190. +                   }
  191. +               }
  192. +
  193. +
  194. +
  195. +              
  196. +              
  197.                 item.updateDatabase();
  198.             }
  199.             else
  200. @@ -958,6 +998,59 @@
  201.         }
  202.     }
  203.    
  204. +   private static int getNewItemIdForEnchant3(int itemId) {
  205. +       switch (itemId) {
  206. +           case 6660:
  207. +               return 61212; // Nueva ID del item para enchant +3
  208. +           case 6658:
  209. +               return 61214; // Nueva ID del item para enchant +3
  210. +           case 6656:
  211. +               return 61217; // Nueva ID del item para enchant +3
  212. +           case 6659:
  213. +               return 61216; // Nueva ID del item para enchant +3
  214. +           case 8191:
  215. +               return 62227; // Nueva ID del item para enchant +3
  216. +           default:
  217. +               return 0; // En caso de no encontrar la ID correspondiente
  218. +       }
  219. +   }
  220. +
  221. +   private static int getNewItemIdForEnchant4(int itemId) {
  222. +       switch (itemId) {
  223. +           case 61212:
  224. +               return 62212; // Nueva ID del item para enchant +4
  225. +           case 61214:
  226. +               return 62214; // Nueva ID del item para enchant +4
  227. +           case 61217:
  228. +               return 62217; // Nueva ID del item para enchant +4
  229. +           case 61216:
  230. +               return 62216; // Nueva ID del item para enchant +4
  231. +           case 62227:
  232. +               return 62228; // Nueva ID del item para enchant +4
  233. +           default:
  234. +               return 0; // En caso de no encontrar la ID correspondiente
  235. +       }
  236. +   }
  237. +
  238. +   private static int getNewItemIdForEnchant5(int itemId) {
  239. +       switch (itemId) {
  240. +           case 62212:
  241. +               return 63212; // Nueva ID del item para enchant +5
  242. +           case 62214:
  243. +               return 63214; // Nueva ID del item para enchant +5
  244. +           case 62217:
  245. +               return 63217; // Nueva ID del item para enchant +5
  246. +           case 62216:
  247. +               return 63216; // Nueva ID del item para enchant +5
  248. +           case 62228:
  249. +               return 63228; // Nueva ID del item para enchant +5
  250. +           default:
  251. +               return 0; // En caso de no encontrar la ID correspondiente
  252. +       }
  253. +   }
  254. +  
  255. +  
  256. +  
  257.     @Override
  258.     public String getType()
  259.     {
  260.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement