Evanth3

Untitled

Jul 15th, 2024
261
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 39.52 KB | None | 0 0
  1. /*
  2.  * This program is free software: you can redistribute it and/or modify it under
  3.  * the terms of the GNU General Public License as published by the Free Software
  4.  * Foundation, either version 3 of the License, or (at your option) any later
  5.  * version.
  6.  *
  7.  * This program is distributed in the hope that it will be useful, but WITHOUT
  8.  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
  9.  * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
  10.  * details.
  11.  *
  12.  * You should have received a copy of the GNU General Public License along with
  13.  * this program. If not, see <http://www.gnu.org/licenses/>.
  14.  */
  15. package l2r.gameserver.model.actor.instance;
  16.  
  17. import gr.sr.aioItem.runnable.TransformFinalizer;
  18. import gr.sr.configsEngine.configs.impl.AioItemsConfigs;
  19. import gr.sr.configsEngine.configs.impl.CustomServerConfigs;
  20. import gr.sr.configsEngine.configs.impl.LeaderboardsConfigs;
  21. import gr.sr.dataHolder.PlayersTopData;
  22. import gr.sr.imageGeneratorEngine.CaptchaImageGenerator;
  23. import gr.sr.leaderboards.ArenaLeaderboard;
  24. import gr.sr.leaderboards.CraftLeaderboard;
  25. import gr.sr.leaderboards.FishermanLeaderboard;
  26. import gr.sr.leaderboards.TvTLeaderboard;
  27. import gr.sr.main.Conditions;
  28. import gr.sr.main.TopListsLoader;
  29. import gr.sr.securityEngine.SecurityActions;
  30. import gr.sr.securityEngine.SecurityType;
  31. import l2r.Config;
  32. import l2r.gameserver.ThreadPoolManager;
  33. import l2r.gameserver.cache.HtmCache;
  34. import l2r.gameserver.data.sql.CharNameTable;
  35. import l2r.gameserver.data.sql.ClanTable;
  36. import l2r.gameserver.data.xml.impl.*;
  37. import l2r.gameserver.enums.InstanceType;
  38. import l2r.gameserver.enums.Race;
  39. import l2r.gameserver.enums.ZoneIdType;
  40. import l2r.gameserver.idfactory.IdFactory;
  41. import l2r.gameserver.instancemanager.CastleManager;
  42. import l2r.gameserver.instancemanager.SiegeManager;
  43. import l2r.gameserver.instancemanager.TownManager;
  44. import l2r.gameserver.model.CursedWeapon;
  45. import l2r.gameserver.model.Elementals;
  46. import l2r.gameserver.model.L2Augmentation;
  47. import l2r.gameserver.model.actor.FakePc;
  48. import l2r.gameserver.model.actor.L2Npc;
  49. import l2r.gameserver.model.actor.templates.L2NpcTemplate;
  50. import l2r.gameserver.model.base.PlayerClass;
  51. import l2r.gameserver.model.base.SubClass;
  52. import l2r.gameserver.model.entity.Castle;
  53. import l2r.gameserver.model.entity.olympiad.OlympiadManager;
  54. import l2r.gameserver.model.holders.SkillHolder;
  55. import l2r.gameserver.model.itemcontainer.Inventory;
  56. import l2r.gameserver.model.items.L2Henna;
  57. import l2r.gameserver.model.items.L2Item;
  58. import l2r.gameserver.model.items.instance.L2ItemInstance;
  59. import l2r.gameserver.model.items.type.CrystalType;
  60. import l2r.gameserver.model.skills.L2Skill;
  61. import l2r.gameserver.network.SystemMessageId;
  62. import l2r.gameserver.network.serverpackets.*;
  63. import l2r.gameserver.util.Broadcast;
  64. import l2r.gameserver.util.Util;
  65. import l2r.util.StringUtil;
  66. import org.slf4j.Logger;
  67. import org.slf4j.LoggerFactory;
  68.  
  69. import java.util.Iterator;
  70. import java.util.List;
  71. import java.util.Set;
  72. import java.util.StringTokenizer;
  73.  
  74. /**
  75.  * @author -=DoctorNo=- Version 3.3 Last Edit: 19-10-2012
  76.  */
  77. public final class L2AugmentNpcInstance extends L2Npc
  78. {
  79.  
  80.     private static Logger _log = LoggerFactory.getLogger(L2AioNpcInstance.class);
  81.  
  82.     public L2AugmentNpcInstance(L2NpcTemplate template)
  83.     {
  84.         super(template);
  85.         setInstanceType(InstanceType.L2AugmentNpcInstance);
  86.         FakePc fpc = getFakePc();
  87.         if (fpc != null)
  88.         {
  89.             setTitle(fpc.title);
  90.         }
  91.     }
  92.  
  93.     @Override
  94.     public void showChatWindow(L2PcInstance player)
  95.     {
  96.         player.sendPacket(ActionFailed.STATIC_PACKET);
  97.         final StringBuilder sb = new StringBuilder();
  98.  
  99.         final L2ItemInstance weapon = player.getInventory().getPaperdollItem(Inventory.PAPERDOLL_RHAND);
  100.         final L2ItemInstance wpn = player.getInventory().getPaperdollItem(Inventory.PAPERDOLL_RHAND);
  101.         if (weapon != null)
  102.         {
  103.             if (weaponCheck(player, weapon))
  104.             {
  105.  
  106.                 sb.append("<table width=\"755\">");
  107.                 sb.append("<tr><td align=center><font name=hs22 color=B59A75>Augment</font></td></tr>");
  108.                 sb.append("<tr>");
  109.                 sb.append("<td width=\"150\" align=center>");
  110.                 sb.append("<center>");
  111.                 sb.append("<table width=\"750\" align=\"center\" border=\"0\">");
  112.                 sb.append("<tr>");
  113.                 sb.append("<td align=\"center\">");
  114.  
  115.                 if (wpn != null && wpn.isAugmented() && wpn.getAugmentation().getAugmentationId() == 1614888917)
  116.                 {
  117.                     sb.append("<table width=370 height=60 background=\"l2ui_ct1_cn.titlebasebarmini\">");
  118.                     sb.append("<tr>");
  119.                     sb.append("<td>");
  120.                     sb.append("<img src=\"L2UI_CT1.clan_DF_clanwaricon_bluecrownleader\" width=32 height=32>");
  121.                     sb.append("</td>");
  122.                     sb.append("<td width=110>");
  123.                     sb.append("Remove Augment<br1>");
  124.                     sb.append("</td>");
  125.                     sb.append("<td><br><br>");
  126.                     sb.append("<combobox width=60 var=ebox; list=STR+1;INT+1;MEN+1;CON+1>");
  127.                     sb.append("</td>");
  128.                     sb.append("<td <br>");
  129.                     sb.append("<button value=\"Remove\" action=\"bypass -h npc_" + getObjectId() + "_removeAugment Might\" width=150 height=33 back=\"L2UI_CT1.button_df\" fore=\"L2UI_CT1.button_df\"></center>");
  130.                     sb.append("</td>");
  131.                     sb.append("</tr>");
  132.                     sb.append("</table>");
  133.                 }
  134.                 else
  135.                 {
  136.                     sb.append("<table width=370 height=60 background=\"l2ui_ct1_cn.titlebasebarmini\">");
  137.                     sb.append("<tr>");
  138.                     sb.append("<td>");
  139.                     sb.append("<img src=\"L2UI_CT1.clan_DF_clanwaricon_redcrownleader\" width=32 height=32>");
  140.                     sb.append("</td>");
  141.                     sb.append("<td width=110>");
  142.                     sb.append("Might<br1>");
  143.                     sb.append("<font color=\"808080\">Passive</font>");
  144.                     sb.append("</td>");
  145.                     sb.append("<td><br><br>");
  146.                     sb.append("<combobox width=60 var=ebox; list=STR+1;INT+1;MEN+1;CON+1>");
  147.                     sb.append("</td>");
  148.                     sb.append("<td <br>");
  149.                     sb.append("<center><button value=\"Select\" action=\"bypass -h npc_" + getObjectId() + "_addAugment STR+1 Might \" width=100 height=33 back=\"L2UI_CT1.button_df\" fore=\"L2UI_CT1.button_df\"></center>");
  150.                     sb.append("</td>");
  151.                     sb.append("</tr>");
  152.                     sb.append("</table>");
  153.                 }
  154.                 if (wpn != null && wpn.isAugmented() && wpn.getAugmentation().getAugmentationId() == 1614757847)
  155.                 {
  156.                     sb.append("<table width=370 height=60 background=\"l2ui_ct1_cn.titlebasebarmini\">");
  157.                     sb.append("<tr>");
  158.                     sb.append("<td>");
  159.                     sb.append("<img src=\"L2UI_CT1.clan_DF_clanwaricon_bluecrownleader\" width=32 height=32>");
  160.                     sb.append("</td>");
  161.                     sb.append("<td width=110>");
  162.                     sb.append("Remove Augment<br1>");
  163.                     sb.append("</td>");
  164.                     sb.append("<td><br><br>");
  165.                     sb.append("<combobox width=60 var=ebox; list=STR+1;INT+1;MEN+1;CON+1>");
  166.                     sb.append("</td>");
  167.                     sb.append("<td <br>");
  168.                     sb.append("<center><button value=\"Remove\" action=\"bypass -h npc_" + getObjectId() + "_removeAugment\" width=150 height=33 back=\"L2UI_CT1.button_df\" fore=\"L2UI_CT1.button_df\"></center>");
  169.                     sb.append("</td>");
  170.                     sb.append("</tr>");
  171.                     sb.append("</table>");
  172.                 }
  173.                 else
  174.                 {
  175.                     sb.append("<table width=370 height=60 background=\"l2ui_ct1_cn.titlebasebarmini\">");
  176.                     sb.append("<tr>");
  177.                     sb.append("<td>");
  178.                     sb.append("<img src=\"L2UI_CT1.clan_DF_clanwaricon_redcrownleader\" width=32 height=32>");
  179.                     sb.append("</td>");
  180.                     sb.append("<td width=110>");
  181.                     sb.append("Empower<br1>");
  182.                     sb.append("<font color=\"808080\">Passive</font>");
  183.                     sb.append("</td>");
  184.                     sb.append("<td><br><br>");
  185.                     sb.append("<combobox width=60 var=ebox; list=STR+1;INT+1;MEN+1;CON+1>");
  186.                     sb.append("</td>");
  187.                     sb.append("<td <br>");
  188.                     sb.append("<center><button value=\"Select\" action=\"bypass -h npc_" + getObjectId() + "_addAugment Empower\" width=100 height=33 back=\"L2UI_CT1.button_df\" fore=\"L2UI_CT1.button_df\"></center>");
  189.                     sb.append("</td>");
  190.                     sb.append("</tr>");
  191.                     sb.append("</table>");
  192.                 }
  193.                 if (wpn != null && wpn.isAugmented() && wpn.getAugmentation().getAugmentationId() == 1618231253)
  194.                 {
  195.                     sb.append("<table width=370 height=60 background=\"l2ui_ct1_cn.titlebasebarmini\">");
  196.                     sb.append("<tr>");
  197.                     sb.append("<td>");
  198.                     sb.append("<img src=\"L2UI_CT1.clan_DF_clanwaricon_bluecrownleader\" width=32 height=32>");
  199.                     sb.append("</td>");
  200.                     sb.append("<td width=110>");
  201.                     sb.append("Remove Augment<br1>");
  202.                     sb.append("</td>");
  203.                     sb.append("<td><br><br>");
  204.                     sb.append("<combobox width=60 var=ebox; list=STR+1;INT+1;MEN+1;CON+1>");
  205.                     sb.append("</td>");
  206.                     sb.append("<td <br>");
  207.                     sb.append("<center><button value=\"Remove\" action=\"bypass -h npc_" + getObjectId() + "_removeAugment\" width=150 height=33 back=\"L2UI_CT1.button_df\" fore=\"L2UI_CT1.button_df\"></center>");
  208.                     sb.append("</td>");
  209.                     sb.append("</tr>");
  210.                     sb.append("</table>");
  211.                 }
  212.                 else
  213.                 {
  214.                     sb.append("<table width=370 height=60 background=\"l2ui_ct1_cn.titlebasebarmini\">");
  215.                     sb.append("<tr>");
  216.                     sb.append("<td>");
  217.                     sb.append("<img src=\"L2UI_CT1.clan_DF_clanwaricon_redcrownleader\" width=32 height=32>");
  218.                     sb.append("</td>");
  219.                     sb.append("<td width=110>");
  220.                     sb.append("Reflect Damage<br1>");
  221.                     sb.append("<font color=\"808080\">Passive</font>");
  222.                     sb.append("</td>");
  223.                     sb.append("<td><br><br>");
  224.                     sb.append("<combobox width=60 var=ebox; list=STR+1;INT+1;MEN+1;CON+1>");
  225.                     sb.append("</td>");
  226.                     sb.append("<td <br>");
  227.                     sb.append("<center><button value=\"Select\" action=\"bypass -h npc_" + getObjectId() + "_addAugment STR+1 Reflect_Damage\" width=100 height=33 back=\"L2UI_CT1.button_df\" fore=\"L2UI_CT1.button_df\"></center>");
  228.                     sb.append("</td>");
  229.                     sb.append("</tr>");
  230.                     sb.append("</table>");
  231.                 }
  232.                 if (wpn != null && wpn.isAugmented() && wpn.getAugmentation().getAugmentationId() == 1509703637)
  233.                 {
  234.                     sb.append("<table width=370 height=60 background=\"l2ui_ct1_cn.titlebasebarmini\">");
  235.                     sb.append("<tr>");
  236.                     sb.append("<td>");
  237.                     sb.append("<img src=\"L2UI_CT1.clan_DF_clanwaricon_bluecrownleader\" width=32 height=32>");
  238.                     sb.append("</td>");
  239.                     sb.append("<td width=110>");
  240.                     sb.append("Remove Augment<br1>");
  241.                     sb.append("</td>");
  242.                     sb.append("<td><br><br>");
  243.                     sb.append("<combobox width=60 var=ebox; list=STR+1;INT+1;MEN+1;CON+1>");
  244.                     sb.append("</td>");
  245.                     sb.append("<td <br>");
  246.                     sb.append("<center><button value=\"Remove\" action=\"bypass -h npc_" + getObjectId() + "_removeAugment Might\" width=150 height=33 back=\"L2UI_CT1.button_df\" fore=\"L2UI_CT1.button_df\"></center>");
  247.                     sb.append("</td>");
  248.                     sb.append("</tr>");
  249.                     sb.append("</table>");
  250.                 }
  251.                 else
  252.                 {
  253.                     sb.append("<table width=370 height=60 background=\"l2ui_ct1_cn.titlebasebarmini\">");
  254.                     sb.append("<tr>");
  255.                     sb.append("<td>");
  256.                     sb.append("<img src=\"L2UI_CT1.clan_DF_clanwaricon_redcrownleader\" width=32 height=32>");
  257.                     sb.append("</td>");
  258.                     sb.append("<td width=110>");
  259.                     sb.append("Prayer<br1>");
  260.                     sb.append("<font color=\"808080\">Passive</font>");
  261.                     sb.append("</td>");
  262.                     sb.append("<td><br><br>");
  263.                     sb.append("<combobox width=60 var=ebox; list=STR+1;INT+1;MEN+1;CON+1>");
  264.                     sb.append("</td>");
  265.                     sb.append("<td <br>");
  266.                     sb.append("<center><button value=\"Select\" action=\"bypass -h npc_" + getObjectId() + "_addAugment STR+1 Prayer\" width=100 height=33 back=\"L2UI_CT1.button_df\" fore=\"L2UI_CT1.button_df\"></center>");
  267.                     sb.append("</td>");
  268.                     sb.append("</tr>");
  269.                     sb.append("</table>");
  270.                 }
  271.                 if (wpn != null && wpn.isAugmented() && wpn.getAugmentation().getAugmentationId() == 1513045973)
  272.                 {
  273.                     sb.append("<table width=370 height=60 background=\"l2ui_ct1_cn.titlebasebarmini\">");
  274.                     sb.append("<tr>");
  275.                     sb.append("<td>");
  276.                     sb.append("<img src=\"L2UI_CT1.clan_DF_clanwaricon_bluecrownleader\" width=32 height=32>");
  277.                     sb.append("</td>");
  278.                     sb.append("<td width=110>");
  279.                     sb.append("Remove Augment<br1>");
  280.                     sb.append("</td>");
  281.                     sb.append("<td><br><br>");
  282.                     sb.append("<combobox width=60 var=ebox; list=STR+1;INT+1;MEN+1;CON+1>");
  283.                     sb.append("</td>");
  284.                     sb.append("<td <br>");
  285.                     sb.append("<center><button value=\"Remove\" action=\"bypass -h npc_" + getObjectId() + "_removeAugment\" width=150 height=33 back=\"L2UI_CT1.button_df\" fore=\"L2UI_CT1.button_df\"></center>");
  286.                     sb.append("</td>");
  287.                     sb.append("</tr>");
  288.                     sb.append("</table>");
  289.                 }
  290.                 else
  291.                 {
  292.                     sb.append("<table width=370 height=60 background=\"l2ui_ct1_cn.titlebasebarmini\">");
  293.                     sb.append("<tr>");
  294.                     sb.append("<td>");
  295.                     sb.append("<img src=\"L2UI_CT1.clan_DF_clanwaricon_redcrownleader\" width=32 height=32>");
  296.                     sb.append("</td>");
  297.                     sb.append("<td width=110>");
  298.                     sb.append("Agility<br1>");
  299.                     sb.append("<font color=\"808080\">Passive</font>");
  300.                     sb.append("</td>");
  301.                     sb.append("<td><br><br>");
  302.                     sb.append("<combobox width=60 var=ebox; list=STR+1;INT+1;MEN+1;CON+1>");
  303.                     sb.append("</td>");
  304.                     sb.append("<td <br>");
  305.                     sb.append("<center><button value=\"Select\" action=\"bypass -h npc_" + getObjectId() + "_addAugment STR+1 Agility\" width=100 height=33 back=\"L2UI_CT1.button_df\" fore=\"L2UI_CT1.button_df\"></center>");
  306.                     sb.append("</td>");
  307.                     sb.append("</tr>");
  308.                     sb.append("</table>");
  309.                 }
  310.                 if (wpn != null && wpn.isAugmented() && wpn.getAugmentation().getAugmentationId() == 1513308117)
  311.                 {
  312.                     sb.append("<table width=370 height=60 background=\"l2ui_ct1_cn.titlebasebarmini\">");
  313.                     sb.append("<tr>");
  314.                     sb.append("<td>");
  315.                     sb.append("<img src=\"L2UI_CT1.clan_DF_clanwaricon_bluecrownleader\" width=32 height=32>");
  316.                     sb.append("</td>");
  317.                     sb.append("<td width=110>");
  318.                     sb.append("Remove Augment<br1>");
  319.                     sb.append("</td>");
  320.                     sb.append("<td><br><br>");
  321.                     sb.append("<combobox width=60 var=ebox; list=STR+1;INT+1;MEN+1;CON+1>");
  322.                     sb.append("</td>");
  323.                     sb.append("<td <br>");
  324.                     sb.append("<center><button value=\"Remove\" action=\"bypass -h npc_" + getObjectId() + "_removeAugment\" width=150 height=33 back=\"L2UI_CT1.button_df\" fore=\"L2UI_CT1.button_df\"></center>");
  325.                     sb.append("</td>");
  326.                     sb.append("</tr>");
  327.                     sb.append("</table>");
  328.                 }
  329.                 else
  330.                 {
  331.                     sb.append("<table width=370 height=60 background=\"l2ui_ct1_cn.titlebasebarmini\">");
  332.                     sb.append("<tr>");
  333.                     sb.append("<td>");
  334.                     sb.append("<img src=\"L2UI_CT1.clan_DF_clanwaricon_redcrownleader\" width=32 height=32>");
  335.                     sb.append("</td>");
  336.                     sb.append("<td width=110>");
  337.                     sb.append("Guidance<br1>");
  338.                     sb.append("<font color=\"808080\">Passive</font>");
  339.                     sb.append("</td>");
  340.                     sb.append("<td><br><br>");
  341.                     sb.append("<combobox width=60 var=ebox; list=STR+1;INT+1;MEN+1;CON+1>");
  342.                     sb.append("</td>");
  343.                     sb.append("<td <br>");
  344.                     sb.append("<center><button value=\"Select\" action=\"bypass -h npc_" + getObjectId() + "_addAugment STR+1 Guidance\" width=100 height=33 back=\"L2UI_CT1.button_df\" fore=\"L2UI_CT1.button_df\"></center>");
  345.                     sb.append("</td>");
  346.                     sb.append("</tr>");
  347.                     sb.append("</table>");
  348.                 }
  349.                 sb.append("<table>");
  350.                 sb.append("<tr><td height=20></td></tr>");
  351.                 sb.append("</table>");
  352.                 sb.append("</td>");
  353.                 sb.append("<td align=\"center\">");
  354.                 if (wpn != null && wpn.isAugmented() && wpn.getAugmentation().getAugmentationId() == 1614626775)
  355.                 {
  356.                     sb.append("<table width=370 height=60 background=\"l2ui_ct1_cn.titlebasebarmini\">");
  357.                     sb.append("<tr>");
  358.                     sb.append("<td>");
  359.                     sb.append("<img src=\"L2UI_CT1.clan_DF_clanwaricon_bluecrownleader\" width=32 height=32>");
  360.                     sb.append("</td>");
  361.                     sb.append("<td width=110>");
  362.                     sb.append("Remove Augment<br1>");
  363.                     sb.append("</td>");
  364.                     sb.append("<td><br><br>");
  365.                     sb.append("<combobox width=60 var=ebox; list=STR+1;INT+1;MEN+1;CON+1>");
  366.                     sb.append("</td>");
  367.                     sb.append("<td <br>");
  368.                     sb.append("<center><button value=\"Remove\" action=\"bypass -h npc_" + getObjectId() + "_removeAugment Might\" width=150 height=33 back=\"L2UI_CT1.button_df\" fore=\"L2UI_CT1.button_df\"></center>");
  369.                     sb.append("</td>");
  370.                     sb.append("</tr>");
  371.                     sb.append("</table>");
  372.                 }
  373.                 else
  374.                 {
  375.                     sb.append("<table width=370 height=60 background=\"l2ui_ct1_cn.titlebasebarmini\">");
  376.                     sb.append("<tr>");
  377.                     sb.append("<td>");
  378.                     sb.append("<img src=\"L2UI_CT1.clan_DF_clanwaricon_redcrownleader\" width=32 height=32>");
  379.                     sb.append("</td>");
  380.                     sb.append("<td width=110>");
  381.                     sb.append("Heal Empower<br1>");
  382.                     sb.append("<font color=\"808080\">Passive</font>");
  383.                     sb.append("</td>");
  384.                     sb.append("<td><br><br>");
  385.                     sb.append("<combobox width=60 var=ebox; list=STR+1;INT+1;MEN+1;CON+1>");
  386.                     sb.append("</td>");
  387.                     sb.append("<td <br>");
  388.                     sb.append("<center><button value=\"Select\" action=\"bypass -h npc_" + getObjectId() + "_addAugment INT+1 Heal_Empower\" width=100 height=33 back=\"L2UI_CT1.button_df\" fore=\"L2UI_CT1.button_df\"></center>");
  389.                     sb.append("</td>");
  390.                     sb.append("</tr>");
  391.                     sb.append("</table>");
  392.                 }
  393.                 if (wpn != null && wpn.isAugmented() && wpn.getAugmentation().getAugmentationId() == 1618362327)
  394.                 {
  395.                     sb.append("<table width=370 height=60 background=\"l2ui_ct1_cn.titlebasebarmini\">");
  396.                     sb.append("<tr>");
  397.                     sb.append("<td>");
  398.                     sb.append("<img src=\"L2UI_CT1.clan_DF_clanwaricon_bluecrownleader\" width=32 height=32>");
  399.                     sb.append("</td>");
  400.                     sb.append("<td width=110>");
  401.                     sb.append("Remove Augment<br1>");
  402.                     sb.append("</td>");
  403.                     sb.append("<td><br><br>");
  404.                     sb.append("<combobox width=60 var=ebox; list=STR+1;INT+1;MEN+1;CON+1>");
  405.                     sb.append("</td>");
  406.                     sb.append("<td <br>");
  407.                     sb.append("<center><button value=\"Remove\" action=\"bypass -h npc_" + getObjectId() + "_removeAugment\" width=150 height=33 back=\"L2UI_CT1.button_df\" fore=\"L2UI_CT1.button_df\"></center>");
  408.                     sb.append("</td>");
  409.                     sb.append("</tr>");
  410.                     sb.append("</table>");
  411.                 }
  412.                 else
  413.                 {
  414.                     sb.append("<table width=370 height=60 background=\"l2ui_ct1_cn.titlebasebarmini\">");
  415.                     sb.append("<tr>");
  416.                     sb.append("<td>");
  417.                     sb.append("<img src=\"L2UI_CT1.clan_DF_clanwaricon_redcrownleader\" width=32 height=32>");
  418.                     sb.append("</td>");
  419.                     sb.append("<td width=110>");
  420.                     sb.append("Wild Magic<br1>");
  421.                     sb.append("<font color=\"808080\">Passive</font>");
  422.                     sb.append("</td>");
  423.                     sb.append("<td><br><br>");
  424.                     sb.append("<combobox width=60 var=ebox; list=STR+1;INT+1;MEN+1;CON+1>");
  425.                     sb.append("</td>");
  426.                     sb.append("<td <br>");
  427.                     sb.append("<center><button value=\"Select\" action=\"bypass -h npc_" + getObjectId() + "_addAugment INT+1 Wild_Magic\" width=100 height=33 back=\"L2UI_CT1.button_df\" fore=\"L2UI_CT1.button_df\"></center>");
  428.                     sb.append("</td>");
  429.                     sb.append("</tr>");
  430.                     sb.append("</table>");
  431.                 }
  432.                 if (wpn != null && wpn.isAugmented() && wpn.getAugmentation().getAugmentationId() == 1614823383)
  433.                 {
  434.                     sb.append("<table width=370 height=60 background=\"l2ui_ct1_cn.titlebasebarmini\">");
  435.                     sb.append("<tr>");
  436.                     sb.append("<td>");
  437.                     sb.append("<img src=\"L2UI_CT1.clan_DF_clanwaricon_bluecrownleader\" width=32 height=32>");
  438.                     sb.append("</td>");
  439.                     sb.append("<td width=110>");
  440.                     sb.append("Remove Augment<br1>");
  441.                     sb.append("</td>");
  442.                     sb.append("<td><br><br>");
  443.                     sb.append("<combobox width=60 var=ebox; list=STR+1;INT+1;MEN+1;CON+1>");
  444.                     sb.append("</td>");
  445.                     sb.append("<td <br>");
  446.                     sb.append("<center><button value=\"Remove\" action=\"bypass -h npc_" + getObjectId() + "_removeAugment\" width=150 height=33 back=\"L2UI_CT1.button_df\" fore=\"L2UI_CT1.button_df\"></center>");
  447.                     sb.append("</td>");
  448.                     sb.append("</tr>");
  449.                     sb.append("</table>");
  450.                 }
  451.                 else
  452.                 {
  453.                     sb.append("<table width=370 height=60 background=\"l2ui_ct1_cn.titlebasebarmini\">");
  454.                     sb.append("<tr>");
  455.                     sb.append("<td>");
  456.                     sb.append("<img src=\"L2UI_CT1.clan_DF_clanwaricon_redcrownleader\" width=32 height=32>");
  457.                     sb.append("</td>");
  458.                     sb.append("<td width=110>");
  459.                     sb.append("Magic Barrier<br1>");
  460.                     sb.append("<font color=\"808080\">Passive</font>");
  461.                     sb.append("</td>");
  462.                     sb.append("<td><br><br>");
  463.                     sb.append("<combobox width=60 var=ebox; list=STR+1;INT+1;MEN+1;CON+1>");
  464.                     sb.append("</td>");
  465.                     sb.append("<td <br>");
  466.                     sb.append("<center><button value=\"Select\" action=\"bypass -h npc_" + getObjectId() + "_addAugment INT+1 Magic_Barrier\" width=100 height=33 back=\"L2UI_CT1.button_df\" fore=\"L2UI_CT1.button_df\"></center>");
  467.                     sb.append("</td>");
  468.                     sb.append("</tr>");
  469.                     sb.append("</table>");
  470.                 }
  471.                 if (wpn != null && wpn.isAugmented() && wpn.getAugmentation().getAugmentationId() == 1614954453)
  472.                 {
  473.                     sb.append("<table width=370 height=60 background=\"l2ui_ct1_cn.titlebasebarmini\">");
  474.                     sb.append("<tr>");
  475.                     sb.append("<td>");
  476.                     sb.append("<img src=\"L2UI_CT1.clan_DF_clanwaricon_bluecrownleader\" width=32 height=32>");
  477.                     sb.append("</td>");
  478.                     sb.append("<td width=110>");
  479.                     sb.append("Remove Augment<br1>");
  480.                     sb.append("</td>");
  481.                     sb.append("<td><br><br>");
  482.                     sb.append("<combobox width=60 var=ebox; list=STR+1;INT+1;MEN+1;CON+1>");
  483.                     sb.append("</td>");
  484.                     sb.append("<td <br>");
  485.                     sb.append("<center><button value=\"Remove\" action=\"bypass -h npc_" + getObjectId() + "_removeAugment Might\" width=150 height=33 back=\"L2UI_CT1.button_df\" fore=\"L2UI_CT1.button_df\"></center>");
  486.                     sb.append("</td>");
  487.                     sb.append("</tr>");
  488.                     sb.append("</table>");
  489.                 }
  490.                 else
  491.                 {
  492.                     sb.append("<table width=370 height=60 background=\"l2ui_ct1_cn.titlebasebarmini\">");
  493.                     sb.append("<tr>");
  494.                     sb.append("<td>");
  495.                     sb.append("<img src=\"L2UI_CT1.clan_DF_clanwaricon_redcrownleader\" width=32 height=32>");
  496.                     sb.append("</td>");
  497.                     sb.append("<td width=110>");
  498.                     sb.append("Shield<br1>");
  499.                     sb.append("<font color=\"808080\">Passive</font>");
  500.                     sb.append("</td>");
  501.                     sb.append("<td><br><br>");
  502.                     sb.append("<combobox width=60 var=ebox; list=STR+1;INT+1;MEN+1;CON+1>");
  503.                     sb.append("</td>");
  504.                     sb.append("<td <br>");
  505.                     sb.append("<center><button value=\"Select\" action=\"bypass -h npc_" + getObjectId() + "_addAugment STR+1 Shield\" width=100 height=33 back=\"L2UI_CT1.button_df\" fore=\"L2UI_CT1.button_df\"></center>");
  506.                     sb.append("</td>");
  507.                     sb.append("</tr>");
  508.                     sb.append("</table>");
  509.                 }
  510.                 if (wpn != null && wpn.isAugmented() && wpn.getAugmentation().getAugmentationId() == 1615019989)
  511.                 {
  512.                     sb.append("<table width=370 height=60 background=\"l2ui_ct1_cn.titlebasebarmini\">");
  513.                     sb.append("<tr>");
  514.                     sb.append("<td>");
  515.                     sb.append("<img src=\"L2UI_CT1.clan_DF_clanwaricon_bluecrownleader\" width=32 height=32>");
  516.                     sb.append("</td>");
  517.                     sb.append("<td width=110>");
  518.                     sb.append("Remove Augment<br1>");
  519.                     sb.append("</td>");
  520.                     sb.append("<td><br><br>");
  521.                     sb.append("<combobox width=60 var=ebox; list=STR+1;INT+1;MEN+1;CON+1>");
  522.                     sb.append("</td>");
  523.                     sb.append("<td <br>");
  524.                     sb.append("<center><button value=\"Remove\" action=\"bypass -h npc_" + getObjectId() + "_removeAugment\" width=150 height=33 back=\"L2UI_CT1.button_df\" fore=\"L2UI_CT1.button_df\"></center>");
  525.                     sb.append("</td>");
  526.                     sb.append("</tr>");
  527.                     sb.append("</table>");
  528.                 }
  529.                 else
  530.                 {
  531.                     sb.append("<table width=370 height=60 background=\"l2ui_ct1_cn.titlebasebarmini\">");
  532.                     sb.append("<tr>");
  533.                     sb.append("<td>");
  534.                     sb.append("<img src=\"L2UI_CT1.clan_DF_clanwaricon_redcrownleader\" width=32 height=32>");
  535.                     sb.append("</td>");
  536.                     sb.append("<td width=110>");
  537.                     sb.append("Duel Might<br1>");
  538.                     sb.append("<font color=\"808080\">Passive</font>");
  539.                     sb.append("</td>");
  540.                     sb.append("<td><br><br>");
  541.                     sb.append("<combobox width=60 var=ebox; list=STR+1;INT+1;MEN+1;CON+1>");
  542.                     sb.append("</td>");
  543.                     sb.append("<td <br>");
  544.                     sb.append("<center><button value=\"Select\" action=\"bypass -h npc_" + getObjectId() + "_addAugment STR+1 Duel_Might\" width=100 height=33 back=\"L2UI_CT1.button_df\" fore=\"L2UI_CT1.button_df\"></center>");
  545.                     sb.append("</td>");
  546.                     sb.append("</tr>");
  547.                     sb.append("</table>");
  548.                 }
  549.                 if (wpn != null && wpn.isAugmented() && wpn.getAugmentation().getAugmentationId() == 1618165717)
  550.                 {
  551.                     sb.append("<table width=370 height=60 background=\"l2ui_ct1_cn.titlebasebarmini\">");
  552.                     sb.append("<tr>");
  553.                     sb.append("<td>");
  554.                     sb.append("<img src=\"L2UI_CT1.clan_DF_clanwaricon_bluecrownleader\" width=32 height=32>");
  555.                     sb.append("</td>");
  556.                     sb.append("<td width=110>");
  557.                     sb.append("Remove Augment<br1>");
  558.                     sb.append("</td>");
  559.                     sb.append("<td><br><br>");
  560.                     sb.append("<combobox width=60 var=ebox; list=STR+1;INT+1;MEN+1;CON+1>");
  561.                     sb.append("</td>");
  562.                     sb.append("<td <br>");
  563.                     sb.append("<center><button value=\"Remove\" action=\"bypass -h npc_" + getObjectId() + "_removeAugment\" width=150 height=33 back=\"L2UI_CT1.button_df\" fore=\"L2UI_CT1.button_df\"></center>");
  564.                     sb.append("</td>");
  565.                     sb.append("</tr>");
  566.                     sb.append("</table>");
  567.                 }
  568.                 else
  569.                 {
  570.                     sb.append("<table width=370 height=60 background=\"l2ui_ct1_cn.titlebasebarmini\">");
  571.                     sb.append("<tr>");
  572.                     sb.append("<td>");
  573.                     sb.append("<img src=\"L2UI_CT1.clan_DF_clanwaricon_redcrownleader\" width=32 height=32>");
  574.                     sb.append("</td>");
  575.                     sb.append("<td width=110>");
  576.                     sb.append("Focus<br1>");
  577.                     sb.append("<font color=\"808080\">Passive</font>");
  578.                     sb.append("</td>");
  579.                     sb.append("<td><br><br>");
  580.                     sb.append("<combobox width=60 var=ebox; list=STR+1;INT+1;MEN+1;CON+1>");
  581.                     sb.append("</td>");
  582.                     sb.append("<td <br>");
  583.                     sb.append("<center><button value=\"Select\" action=\"bypass -h npc_" + getObjectId() + "_addAugment STR+1 Focus\" width=100 height=33 back=\"L2UI_CT1.button_df\" fore=\"L2UI_CT1.button_df\"></center>");
  584.                     sb.append("</td>");
  585.                     sb.append("</tr>");
  586.                     sb.append("</table>");
  587.                 }
  588.                 sb.append("<table>");
  589.                 sb.append("<tr><td height=20></td></tr>");
  590.                 sb.append("</table>");
  591.                 sb.append("</td>");
  592.                 sb.append("</tr>");
  593.                 sb.append("</table>");
  594.                 sb.append("</td>");
  595.                 sb.append("</tr>");
  596.                 sb.append("</table>");
  597.                 sb.append("</center>");
  598.  
  599.                 String html = HtmCache.getInstance().getHtm(player, player.getHtmlPrefix(), "data/html/sunrise/TopAugmentNpc/main.htm");
  600.                 html = html.replace("%name%", player.getName());
  601.                 html = html.replaceAll("%objectId%", String.valueOf(getObjectId()));
  602.                 html = html.replaceAll("%display%", sb.toString());
  603.                 Util.sendCBHtml(player, html);
  604.             }
  605.             else
  606.             {
  607.                 String html = HtmCache.getInstance().getHtm(player, player.getHtmlPrefix(), "data/html/sunrise/TopAugmentNpc/noWeapon.htm");
  608.  
  609.                 sb.append("<html><body><br><center><table border=0><tr><td align=center width=750><font name=hs22 color=B59A75>OH no, equip min S Grade!</font></td></tr></table></center></body></html>");
  610.                 html = html.replaceAll("%noWeapon%", sb.toString());
  611.                 Util.sendCBHtml(player, html);
  612.             }
  613.         }
  614.         else
  615.         {
  616.             player.sendMessage("You need to equip weapon");
  617.         }
  618.         weaponCheck(player, weapon);
  619.  
  620.     }
  621.  
  622.  
  623.     /**
  624.      * Method to manage all player bypasses
  625.      *
  626.      * @param player
  627.      * @param command
  628.      */
  629.     @Override
  630.     public void onBypassFeedback(final L2PcInstance player, String command)
  631.     {
  632.         // No null pointers
  633.         if (player == null)
  634.         {
  635.             return;
  636.         }
  637.         // Restrictions Section
  638.         if (!Conditions.checkPlayerBasicConditions(player))
  639.         {
  640.             return;
  641.         }
  642.  
  643.         if (command.startsWith("removeAugment"))
  644.         {
  645.             Broadcast.toSelfAndKnownPlayersInRadius(player, new MagicSkillUse(player, 1050, 1, 30000, 0), 810000);
  646.             player.getInventory().getPaperdollItem(Inventory.PAPERDOLL_RHAND).removeAugmentation();
  647.             return;
  648.  
  649.         }
  650.         // Method to add specific augment to a weapon
  651.         if (command.startsWith("addAugment"))
  652.         {
  653.             int value = 0;
  654.             int pskill = 0;
  655.  
  656.             String[] stats = command.split(" "); // str, int, men, con
  657.  
  658.             switch (stats[1])
  659.             {
  660.                 case "STR+1":
  661.                     value = 16341;
  662.                     break;
  663.                 case "INT+1":
  664.                     value = 16343;
  665.                     break;
  666.                 case "MEN+1":
  667.                     value = 16344;
  668.                     break;
  669.                 case "CON+1":
  670.                     value = 16342;
  671.                     break;
  672.             }
  673.             switch (stats[2])
  674.             {
  675.                 case "Might":
  676.                     pskill = 16283;
  677.                     break;
  678.                 case "Empower":
  679.                     pskill = 16281;
  680.                     break;
  681.                 case "Reflect_Damage":
  682.                     pskill = 16334;
  683.                     break;
  684.                 case "Prayer":
  685.                     pskill = 14678;
  686.                     break;
  687.                 case "Agility":
  688.                     pskill = 14729;
  689.                     break;
  690.                 case "Guidance":
  691.                     pskill = 14733;
  692.                     break;
  693.                 case "Heal_Empower":
  694.                     pskill = 16279;
  695.                     break;
  696.                 case "Wild_Magic":
  697.                     pskill = 16336;
  698.                     break;
  699.                 case "Magic_Barrier":
  700.                     pskill = 16282;
  701.                     break;
  702.                 case "Shield":
  703.                     pskill = 16284;
  704.                     break;
  705.                 case "Duel_Might":
  706.                     pskill = 16285;
  707.                     break;
  708.                 case "Focus":
  709.                     pskill = 16333;
  710.                     break;
  711.             }
  712.  
  713.             pskill = pskill + 8358;
  714.  
  715.             int armorType = Inventory.PAPERDOLL_RHAND;
  716.  
  717.  
  718.             if (!Conditions.checkPlayerItemCount(player, 57, 1))
  719.             {
  720.                 return;
  721.             }
  722.             final StringBuilder sb = new StringBuilder();
  723.             L2ItemInstance itemInstance = null;
  724.             L2ItemInstance parmorInstance = player.getInventory().getPaperdollItem(armorType);
  725.             if (parmorInstance == null)
  726.             {
  727.                 player.sendMessage("Equip the weapon for augmentation.");
  728.                 return;
  729.             }
  730.             if (parmorInstance.isAugmented())
  731.             {
  732.                 player.sendPacket(SystemMessageId.ONCE_AN_ITEM_IS_AUGMENTED_IT_CANNOT_BE_AUGMENTED_AGAIN);
  733.                 return;
  734.             }
  735.  
  736.             if (parmorInstance.isHeroItem() || (parmorInstance.isShadowItem() || (parmorInstance.isCommonItem() || (parmorInstance.isEtcItem() || (parmorInstance.isTimeLimitedItem())))))
  737.             {
  738.                 player.sendPacket(SystemMessageId.THIS_IS_NOT_A_SUITABLE_ITEM);
  739.                 return;
  740.             }
  741.  
  742.             if (parmorInstance.getLocationSlot() == armorType)
  743.             {
  744.                 itemInstance = parmorInstance;
  745.             }
  746.  
  747.             if (itemInstance != null)
  748.             {
  749.                 // set augment skill
  750.                 player.destroyItemByItemId("augment", 57, 1, player, true);
  751.                 player.getInventory().unEquipItemInSlot(armorType);
  752.                 itemInstance.setAugmentation(new L2Augmentation(((pskill << 16) + value)));
  753.  
  754.                 player.getInventory().equipItem(itemInstance);
  755.                 player.sendPacket(SystemMessageId.THE_ITEM_WAS_SUCCESSFULLY_AUGMENTED);
  756.  
  757.                 // send packets
  758.                 Broadcast.toSelfAndKnownPlayersInRadius(player, new MagicSkillUse(player, 1050, 1, 30000, 0), 810000);
  759.                 InventoryUpdate iu = new InventoryUpdate();
  760.                 iu.addModifiedItem(itemInstance);
  761.                 player.sendInventoryUpdate(iu);
  762.                 player.broadcastUserInfo();
  763.             }
  764.         }
  765.     }
  766.  
  767.     private boolean weaponCheck(L2PcInstance player, L2ItemInstance weapon)
  768.     {
  769.         if (weapon.getItem().getItemGrade() == CrystalType.S)
  770.         {
  771.             return true;
  772.         }
  773.         if (weapon.getItem().getItemGrade() == CrystalType.S80)
  774.         {
  775.             return true;
  776.         }
  777.         if (weapon.getItem().getItemGrade() == CrystalType.S84)
  778.         {
  779.             return true;
  780.         }
  781.         return false;
  782.     }
  783. }
Advertisement
Add Comment
Please, Sign In to add comment