Advertisement
-JRGames-

[RUSaCis] Newbie System Manager - Core

Dec 31st, 2022
2,443
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. ### Eclipse Workspace Patch 1.0
  2. #P aCis_gameserver
  3. Index: config/en/rus_acis.properties
  4. ===================================================================
  5. --- config/en/rus_acis.properties   (revision 20)
  6. +++ config/en/rus_acis.properties   (working copy)
  7. @@ -237,6 +237,23 @@
  8.  BuyPremiumDays28Price = 28
  9.  
  10.  #=============================================================
  11. +#                          Newbie System
  12. +#=============================================================
  13. +# If True newbie system will be enabled
  14. +NewbieSystemEnabled = True
  15. +
  16. +# Value 81 for 80 lvl & 100%
  17. +NewbieSystemSetLevel = 81
  18. +
  19. +#Set of fighter buffs
  20. ++NewbieSystemFighterSet = 1087,1243,1204,1068,1388,1040,1036,1035,1048,1045,1077,1242,1086,1043,1268,1036,1363,1240,1062,271,274,275,310,304,308,306,264,267,269,349,364,268,270,1416
  21. +#Set of Mage buffs
  22. +NewbieSystemMageSet = 1087,1243,1204,1040,1036,1048,1045,1389,1062,1363,1085,1059,1303,1304,273,276,365,268,270,349,264,267,268,306,308,1416
  23. +
  24. +# Telepot to location
  25. +NewbieSystemTeleToLocation = 83480,148614,-3407
  26. +
  27. +#=============================================================
  28.  #                        DressMe system
  29.  #=============================================================
  30.  AllowDressMeSystem = True
  31. Index: java/net/sf/l2j/gameserver/model/actor/Player.java
  32. ===================================================================
  33. --- java/net/sf/l2j/gameserver/model/actor/Player.java  (revision 20)
  34. +++ java/net/sf/l2j/gameserver/model/actor/Player.java  (working copy)
  35. @@ -484,6 +484,10 @@
  36.     private final CachedDataValueInt _setTitleColor = _cachedData.newInt("titleColor");
  37.     private final CachedDataValueBoolean _stopExp = _cachedData.newBoolean("stopexp");
  38.     private final CachedDataValueBoolean _tradeRefusal = _cachedData.newBoolean("traderefusal");
  39. +   private final CachedDataValueBoolean _isNewbieChar = _cachedData.newBoolean("isNewbieChar");
  40. +   private final CachedDataValueBoolean _isNewbieEquip = _cachedData.newBoolean("isNewbieEquip");
  41. +   private final CachedDataValueBoolean _isNewbieWeaponEquip = _cachedData.newBoolean("isNewbieWeaponEquip");
  42. +   private final CachedDataValueBoolean _isNewbieTeleport = _cachedData.newBoolean("isNewbieTeleport");
  43.     private final CachedDataValueBoolean _hairSkin = _cachedData.newBoolean("hair_skin");
  44.    
  45.     public int _activeBoxes = -1;
  46. @@ -7819,6 +7823,46 @@
  47.        
  48.         return gms;
  49.     }
  50. +      
  51. +   public boolean isNewbieChar()
  52. +   {
  53. +       return _isNewbieChar.get();
  54. +   }
  55. +      
  56. +   public void setNewbieChar(boolean value)
  57. +   {
  58. +       _isNewbieChar.set(value);
  59. +   }
  60. +      
  61. +   public boolean isNewbieEquip()
  62. +   {
  63. +       return _isNewbieEquip.get();
  64. +   }
  65. +      
  66. +   public void setNewbieEquip(boolean value)
  67. +   {
  68. +       _isNewbieEquip.set(value);
  69. +   }
  70. +      
  71. +   public boolean isNewbieWeaponEquip()
  72. +   {
  73. +       return _isNewbieWeaponEquip.get();
  74. +   }
  75. +      
  76. +   public void setNewbieWeaponEquip(boolean value)
  77. +   {
  78. +       _isNewbieWeaponEquip.set(value);
  79. +   }
  80. +      
  81. +   public boolean isNewbieTeleport()
  82. +   {
  83. +       return _isNewbieTeleport.get();
  84. +   }
  85. +      
  86. +   public void setNewbieTeleport(boolean value)
  87. +   {
  88. +       _isNewbieTeleport.set(value);
  89. +   }
  90.    
  91.     public final void dispelSkillEffect(int skillId, int skillLevel)
  92.     {
  93. Index: java/net/sf/l2j/gameserver/data/manager/NewbieSystemManager.java
  94. ===================================================================
  95. --- java/net/sf/l2j/gameserver/data/manager/NewbieSystemManager.java    (nonexistent)
  96. +++ java/net/sf/l2j/gameserver/data/manager/NewbieSystemManager.java    (working copy)
  97. @@ -0,0 +1,1053 @@
  98. +package net.sf.l2j.gameserver.data.manager;
  99. +
  100. +import java.util.Arrays;
  101. +import java.util.List;
  102. +
  103. +import net.sf.l2j.commons.pool.ThreadPool;
  104. +
  105. +import net.sf.l2j.Config;
  106. +import net.sf.l2j.gameserver.data.SkillTable;
  107. +import net.sf.l2j.gameserver.data.xml.PlayerLevelData;
  108. +import net.sf.l2j.gameserver.enums.SayType;
  109. +import net.sf.l2j.gameserver.enums.actors.ClassId;
  110. +import net.sf.l2j.gameserver.model.PlayerLevel;
  111. +import net.sf.l2j.gameserver.model.actor.Player;
  112. +import net.sf.l2j.gameserver.model.item.instance.ItemInstance;
  113. +import net.sf.l2j.gameserver.network.serverpackets.CreatureSay;
  114. +import net.sf.l2j.gameserver.network.serverpackets.ExShowScreenMessage;
  115. +import net.sf.l2j.gameserver.network.serverpackets.HennaInfo;
  116. +import net.sf.l2j.gameserver.network.serverpackets.ItemList;
  117. +import net.sf.l2j.gameserver.network.serverpackets.NpcHtmlMessage;
  118. +import net.sf.l2j.gameserver.network.serverpackets.SocialAction;
  119. +import net.sf.l2j.gameserver.skills.L2Skill;
  120. +
  121. +/**
  122. + * @author Baggos
  123. + */
  124. +public class NewbieSystemManager
  125. +{
  126. +   public static void onEnterNewChar(Player player)
  127. +   {
  128. +       NpcHtmlMessage html = new NpcHtmlMessage(1);
  129. +       switch (player.getClassId().getId())
  130. +       {
  131. +           case 0:
  132. +               html.setFile("data/html/mods/newbie/classes/humanclasses.htm");
  133. +               player.sendPacket(html);
  134. +               break;
  135. +           case 10:
  136. +               html.setFile("data/html/mods/newbie/classes/humanmageclasses.htm");
  137. +               player.sendPacket(html);
  138. +               break;
  139. +           case 18:
  140. +               html.setFile("data/html/mods/newbie/classes/elfclasses.htm");
  141. +               player.sendPacket(html);
  142. +               break;
  143. +           case 25:
  144. +               html.setFile("data/html/mods/newbie/classes/elfmageclasses.htm");
  145. +               player.sendPacket(html);
  146. +               break;
  147. +           case 31:
  148. +               html.setFile("data/html/mods/newbie/classes/darkelfclasses.htm");
  149. +               player.sendPacket(html);
  150. +               break;
  151. +           case 38:
  152. +               html.setFile("data/html/mods/newbie/classes/darkelfmageclasses.htm");
  153. +               player.sendPacket(html);
  154. +               break;
  155. +           case 44:
  156. +               html.setFile("data/html/mods/newbie/classes/orcclasses.htm");
  157. +               player.sendPacket(html);
  158. +               break;
  159. +           case 49:
  160. +               html.setFile("data/html/mods/newbie/classes/orcmageclasses.htm");
  161. +               player.sendPacket(html);
  162. +               break;
  163. +           case 53:
  164. +               html.setFile("data/html/mods/newbie/classes/dwarfclasses.htm");
  165. +               player.sendPacket(html);
  166. +               break;
  167. +       }
  168. +      
  169. +       player.setIsParalyzed(true);
  170. +       player.getAppearance().setVisible(false);
  171. +       ThreadPool.schedule(() -> player.sendPacket(new ExShowScreenMessage("Complete your character and get ready for RUSaCis world!", 10000)), 2000);
  172. +   }
  173. +  
  174. +   public void MageClasses(String command, Player player)
  175. +   {
  176. +       String params = command.substring(command.indexOf("_") + 1);
  177. +       switch (params)
  178. +       {
  179. +           case "necromancer":
  180. +               player.setClassId(13);
  181. +               player.setBaseClass(13);
  182. +               player.sendPacket(new ExShowScreenMessage("Your class has changed to Necromancer!", 3000));
  183. +               break;
  184. +           case "sorceror":
  185. +               player.setClassId(12);
  186. +               player.setBaseClass(12);
  187. +               player.sendPacket(new ExShowScreenMessage("Your class has changed to Sorceror!", 3000));
  188. +               break;
  189. +           case "warlock":
  190. +               player.setClassId(14);
  191. +               player.setBaseClass(14);
  192. +               player.sendPacket(new ExShowScreenMessage("Your class has changed to Warlock!", 3000));
  193. +               break;
  194. +           case "cleric":
  195. +               player.setClassId(15);
  196. +               player.setBaseClass(15);
  197. +               player.sendPacket(new ExShowScreenMessage("Your class has changed to Cleric!", 3000));
  198. +               break;
  199. +           case "bishop":
  200. +               player.setClassId(16);
  201. +               player.setBaseClass(16);
  202. +               player.sendPacket(new ExShowScreenMessage("Your class has changed to Bishop!", 3000));
  203. +               break;
  204. +           case "prophet":
  205. +               player.setClassId(17);
  206. +               player.setBaseClass(17);
  207. +               player.sendPacket(new ExShowScreenMessage("Your class has changed to Prophet!", 3000));
  208. +               break;
  209. +           case "spellsinger":
  210. +               player.setClassId(27);
  211. +               player.setBaseClass(27);
  212. +               player.sendPacket(new ExShowScreenMessage("Your class has changed to Spellsinger!", 3000));
  213. +               break;
  214. +           case "elemental":
  215. +               player.setClassId(28);
  216. +               player.setBaseClass(28);
  217. +               player.sendPacket(new ExShowScreenMessage("Your class has changed to Elemental Summoner!", 3000));
  218. +               break;
  219. +           case "elder":
  220. +               player.setClassId(30);
  221. +               player.setBaseClass(30);
  222. +               player.sendPacket(new ExShowScreenMessage("Your class has changed to Elven Elder!", 3000));
  223. +               break;
  224. +           case "spellhowler":
  225. +               player.setClassId(40);
  226. +               player.setBaseClass(40);
  227. +               player.sendPacket(new ExShowScreenMessage("Your class has changed to Spellhowler!", 3000));
  228. +               break;
  229. +           case "shilliene":
  230. +               player.setClassId(43);
  231. +               player.setBaseClass(43);
  232. +               player.sendPacket(new ExShowScreenMessage("Your class has changed to Shillien Elder!", 3000));
  233. +               break;
  234. +           case "overlord":
  235. +               player.setClassId(51);
  236. +               player.setBaseClass(51);
  237. +               player.sendPacket(new ExShowScreenMessage("Your class has changed to Overlord!", 3000));
  238. +               break;
  239. +           case "warcryer":
  240. +               player.setClassId(52);
  241. +               player.setBaseClass(52);
  242. +               player.sendPacket(new ExShowScreenMessage("Your class has changed to Warcryer!", 3000));
  243. +               break;
  244. +       }
  245. +      
  246. +       final PlayerLevel pl = PlayerLevelData.getInstance().getPlayerLevel(Config.NEWBIE_SYSTEM_SET_LVL);
  247. +       player.addExpAndSp(pl.getRequiredExpToLevelUp(), 0);
  248. +       player.broadcastPacket(new SocialAction(player, 3));
  249. +       player.refreshWeightPenalty();
  250. +       player.sendPacket(new HennaInfo(player));
  251. +       player.store();
  252. +       player.setNewbieChar(false);
  253. +       NpcHtmlMessage html = new NpcHtmlMessage(1);
  254. +       html.setFile("data/html/mods/newbie/armors/magearmors.htm");
  255. +       player.sendPacket(html);
  256. +   }
  257. +  
  258. +   public void FighterClasses(String command, Player player)
  259. +   {
  260. +       ClassId classes = player.getClassId();     
  261. +       String params = command.substring(command.indexOf("_") + 1);
  262. +       switch (params)
  263. +       {
  264. +           case "gladiator":
  265. +               player.setClassId(2);
  266. +               player.setBaseClass(2);
  267. +               player.sendPacket(new ExShowScreenMessage("Your class has changed to Gladiator!", 3000));
  268. +               break;
  269. +           case "warlord":
  270. +               player.setClassId(3);
  271. +               player.setBaseClass(3);
  272. +               player.sendPacket(new ExShowScreenMessage("Your class has changed to Warlord!", 3000));
  273. +               break;
  274. +           case "paladin":
  275. +               player.setClassId(5);
  276. +               player.setBaseClass(5);
  277. +               player.sendPacket(new ExShowScreenMessage("Your class has changed to Paladin!", 3000));
  278. +               break;
  279. +           case "darkavenger":
  280. +               player.setClassId(6);
  281. +               player.setBaseClass(6);
  282. +               player.sendPacket(new ExShowScreenMessage("Your class has changed to Dark Avenger!", 3000));
  283. +               break;
  284. +           case "temple":
  285. +               player.setClassId(20);
  286. +               player.setBaseClass(20);
  287. +               player.sendPacket(new ExShowScreenMessage("Your class has changed to Temple Knight!", 3000));
  288. +               break;
  289. +           case "swordsinger":
  290. +               player.setClassId(21);
  291. +               player.setBaseClass(21);
  292. +               player.sendPacket(new ExShowScreenMessage("Your class has changed to Swordsinger!", 3000));
  293. +               break;
  294. +           case "shillien":
  295. +               player.setClassId(33);
  296. +               player.setBaseClass(33);
  297. +               player.sendPacket(new ExShowScreenMessage("Your class has changed to Shillien Knight!", 3000));
  298. +               break;
  299. +           case "bladedancer":
  300. +               player.setClassId(34);
  301. +               player.setBaseClass(34);
  302. +               player.sendPacket(new ExShowScreenMessage("Your class has changed to Bladedancer!", 3000));
  303. +               break;
  304. +           case "phantoms":
  305. +               player.setClassId(41);
  306. +               player.setBaseClass(41);
  307. +               player.sendPacket(new ExShowScreenMessage("Your class has changed to Phantom Summoner!", 3000));
  308. +               break;
  309. +           case "destroyer":
  310. +               player.setClassId(46);
  311. +               player.setBaseClass(46);
  312. +               player.sendPacket(new ExShowScreenMessage("Your class has changed to Destroyer!", 3000));
  313. +               break;
  314. +           case "tyrant":
  315. +               player.setClassId(48);
  316. +               player.setBaseClass(48);
  317. +               player.sendPacket(new ExShowScreenMessage("Your class has changed to Tyrant!", 3000));
  318. +               break;
  319. +           case "bounty":
  320. +               player.setClassId(55);
  321. +               player.setBaseClass(55);
  322. +               player.sendPacket(new ExShowScreenMessage("Your class has changed to Bounty Hunter!", 3000));
  323. +               break;
  324. +           case "warsmith":
  325. +               player.setClassId(57);
  326. +               player.setBaseClass(57);
  327. +               player.sendPacket(new ExShowScreenMessage("Your class has changed to Warsmith!", 3000));
  328. +               break;
  329. +       }
  330. +      
  331. +       final PlayerLevel pl = PlayerLevelData.getInstance().getPlayerLevel(Config.NEWBIE_SYSTEM_SET_LVL);
  332. +       player.addExpAndSp(pl.getRequiredExpToLevelUp(), 0);
  333. +       player.broadcastPacket(new SocialAction(player, 3));
  334. +       player.refreshWeightPenalty();
  335. +       player.sendPacket(new HennaInfo(player));
  336. +       player.store();
  337. +       player.setNewbieChar(false);
  338. +       NpcHtmlMessage html = new NpcHtmlMessage(1);
  339. +       if (classes == ClassId.TREASURE_HUNTER || classes == ClassId.HAWKEYE || classes == ClassId.PLAINS_WALKER || classes == ClassId.SILVER_RANGER || classes == ClassId.ABYSS_WALKER || classes == ClassId.PHANTOM_RANGER)
  340. +           html.setFile("data/html/mods/newbie/armors/lightarmors.htm");
  341. +       html.setFile("data/html/mods/newbie/armors/fighterarmors.htm");
  342. +       player.sendPacket(html);
  343. +   }
  344. +  
  345. +   public void LightClasses(String command, Player player)
  346. +   {
  347. +       String params = command.substring(command.indexOf("_") + 1);
  348. +       switch (params)
  349. +       {
  350. +           case "treasurehunter":
  351. +               player.setClassId(8);
  352. +               player.setBaseClass(8);
  353. +               player.sendPacket(new ExShowScreenMessage("Your class has changed to Treasure Hunter!", 3000));
  354. +               break;
  355. +           case "hawkeye":
  356. +               player.setClassId(9);
  357. +               player.setBaseClass(9);
  358. +               player.sendPacket(new ExShowScreenMessage("Your class has changed to Hawkeye!", 3000));
  359. +               break;
  360. +           case "plain":
  361. +               player.setClassId(23);
  362. +               player.setBaseClass(23);
  363. +               player.sendPacket(new ExShowScreenMessage("Your class has changed to Plainswalker!", 3000));
  364. +               break;
  365. +           case "silver":
  366. +               player.setClassId(24);
  367. +               player.setBaseClass(24);
  368. +               player.sendPacket(new ExShowScreenMessage("Your class has changed to Silver Ranger!", 3000));
  369. +               break;
  370. +           case "abyss":
  371. +               player.setClassId(36);
  372. +               player.setBaseClass(36);
  373. +               player.sendPacket(new ExShowScreenMessage("Your class has changed to Abyss Walker!", 3000));
  374. +               break;
  375. +           case "phantom":
  376. +               player.setClassId(37);
  377. +               player.setBaseClass(37);
  378. +               player.sendPacket(new ExShowScreenMessage("Your class has changed to Phantom Ranger!", 3000));
  379. +               break;
  380. +       }
  381. +      
  382. +       final PlayerLevel pl = PlayerLevelData.getInstance().getPlayerLevel(Config.NEWBIE_SYSTEM_SET_LVL);
  383. +       player.addExpAndSp(pl.getRequiredExpToLevelUp(), 0);
  384. +       player.broadcastPacket(new SocialAction(player, 3));
  385. +       player.refreshWeightPenalty();
  386. +       player.sendPacket(new HennaInfo(player));
  387. +       player.store();
  388. +       player.setNewbieChar(false);
  389. +       NpcHtmlMessage html = new NpcHtmlMessage(1);
  390. +       html.setFile("data/html/mods/newbie/armors/lightarmors.htm");
  391. +       player.sendPacket(html);
  392. +   }
  393. +  
  394. +   public static void onEnterEquip(Player activeChar)
  395. +   {
  396. +       ClassId classes = activeChar.getClassId();     
  397. +       if (activeChar.isMageClass())
  398. +       {
  399. +           activeChar.setIsParalyzed(true);
  400. +           activeChar.getAppearance().setVisible(false);
  401. +           NpcHtmlMessage html = new NpcHtmlMessage(1);
  402. +           html.setFile("data/html/mods/newbie/armors/magearmors.htm");
  403. +           activeChar.sendPacket(html);
  404. +       }
  405. +       else if (classes == ClassId.TREASURE_HUNTER || classes == ClassId.HAWKEYE || classes == ClassId.PLAINS_WALKER || classes == ClassId.SILVER_RANGER || classes == ClassId.ABYSS_WALKER || classes == ClassId.PHANTOM_RANGER)
  406. +       {
  407. +           activeChar.setIsParalyzed(true);
  408. +           activeChar.getAppearance().setVisible(false);
  409. +           NpcHtmlMessage html = new NpcHtmlMessage(1);
  410. +           html.setFile("data/html/mods/newbie/armors/lightarmors.htm");
  411. +           activeChar.sendPacket(html);
  412. +       }
  413. +       else
  414. +       {
  415. +           activeChar.setIsParalyzed(true);
  416. +           activeChar.getAppearance().setVisible(false);
  417. +           NpcHtmlMessage html = new NpcHtmlMessage(1);
  418. +           html.setFile("data/html/mods/newbie/armors/fighterarmors.htm");
  419. +           activeChar.sendPacket(html);
  420. +       }
  421. +   }
  422. +  
  423. +   public static void onEnterWepEquip(Player activeChar)
  424. +   {
  425. +       if (activeChar.isMageClass())
  426. +       {
  427. +           activeChar.setIsParalyzed(true);
  428. +           activeChar.getAppearance().setVisible(false);
  429. +           NpcHtmlMessage html = new NpcHtmlMessage(1);
  430. +           html.setFile("data/html/mods/newbie/weapons/weapons.htm");
  431. +           activeChar.sendPacket(html);
  432. +       }
  433. +       else
  434. +       {
  435. +           activeChar.setIsParalyzed(true);
  436. +           activeChar.getAppearance().setVisible(false);
  437. +           NpcHtmlMessage html = new NpcHtmlMessage(1);
  438. +           html.setFile("data/html/mods/newbie/weapons/weapons.htm");
  439. +           activeChar.sendPacket(html);
  440. +       }
  441. +   }
  442. +  
  443. +   public void Classes(String command, Player player)
  444. +   {
  445. +       String params = command.substring(command.indexOf("_") + 1);
  446. +       ItemInstance items = null;
  447. +       if (params.startsWith("tlh"))
  448. +       {
  449. +           List<Integer> TallumH = Arrays.asList(2382, 547, 5768, 5780, 924, 862, 893, 871, 902, 8185);
  450. +           for (int id : TallumH)
  451. +           {
  452. +               if (TallumH.contains(id))
  453. +               {
  454. +                   player.getInventory().addItem("Armors", id, 1, player, null);
  455. +                   items = player.getInventory().getItemByItemId(id);
  456. +                   player.getInventory().equipItemAndRecord(items);
  457. +                   player.sendPacket(new ItemList(player, false));
  458. +                   player.setNewbieEquip(false);
  459. +                   NpcHtmlMessage html = new NpcHtmlMessage(1);
  460. +                   html.setFile("data/html/mods/newbie/weapons/weapons.htm");
  461. +                   player.sendPacket(html);
  462. +               }
  463. +           }
  464. +       }
  465. +       else if (params.startsWith("majheavy"))
  466. +       {
  467. +           List<Integer> MAJH = Arrays.asList(2383, 2419, 5774, 5786, 924, 862, 893, 871, 902, 8185);
  468. +           for (int id : MAJH)
  469. +           {
  470. +               if (MAJH.contains(id))
  471. +               {
  472. +                   player.getInventory().addItem("Armors", id, 1, player, null);
  473. +                   items = player.getInventory().getItemByItemId(id);
  474. +                   player.getInventory().equipItemAndRecord(items);
  475. +                   player.sendPacket(new ItemList(player, false));
  476. +                   player.setNewbieEquip(false);
  477. +                   NpcHtmlMessage html = new NpcHtmlMessage(1);
  478. +                   html.setFile("data/html/mods/newbie/weapons/weapons.htm");
  479. +                   player.sendPacket(html);
  480. +               }
  481. +           }
  482. +       }
  483. +       else if (params.startsWith("mjlight"))
  484. +       {
  485. +           List<Integer> MJL = Arrays.asList(2395, 2419, 5775, 5787, 924, 862, 893, 871, 902, 8185);
  486. +           for (int id : MJL)
  487. +           {
  488. +               if (MJL.contains(id))
  489. +               {
  490. +                   player.getInventory().addItem("Armors", id, 1, player, null);
  491. +                   items = player.getInventory().getItemByItemId(id);
  492. +                   player.getInventory().equipItemAndRecord(items);
  493. +                   player.sendPacket(new ItemList(player, false));
  494. +                   player.setNewbieEquip(false);
  495. +                   NpcHtmlMessage html = new NpcHtmlMessage(1);
  496. +                   html.setFile("data/html/mods/newbie/weapons/weapons.htm");
  497. +                   player.sendPacket(html);
  498. +               }
  499. +           }
  500. +       }
  501. +       else if (params.startsWith("nightlight"))
  502. +       {
  503. +           List<Integer> MJL = Arrays.asList(2418, 2394, 5772, 5784, 924, 862, 893, 871, 902, 8185);
  504. +           for (int id : MJL)
  505. +           {
  506. +               if (MJL.contains(id))
  507. +               {
  508. +                   player.getInventory().addItem("Armors", id, 1, player, null);
  509. +                   items = player.getInventory().getItemByItemId(id);
  510. +                   player.getInventory().equipItemAndRecord(items);
  511. +                   player.sendPacket(new ItemList(player, false));
  512. +                   player.setNewbieEquip(false);
  513. +                   NpcHtmlMessage html = new NpcHtmlMessage(1);
  514. +                   html.setFile("data/html/mods/newbie/weapons/weapons.htm");
  515. +                   player.sendPacket(html);
  516. +               }
  517. +           }
  518. +       }
  519. +       else if (params.startsWith("tll"))
  520. +       {
  521. +           List<Integer> TLL = Arrays.asList(2393, 547, 5769, 5781, 924, 862, 893, 871, 902, 8185);
  522. +           for (int id : TLL)
  523. +           {
  524. +               if (TLL.contains(id))
  525. +               {
  526. +                   player.getInventory().addItem("Armors", id, 1, player, null);
  527. +                   items = player.getInventory().getItemByItemId(id);
  528. +                   player.getInventory().equipItemAndRecord(items);
  529. +                   player.sendPacket(new ItemList(player, false));
  530. +                   player.setNewbieEquip(false);
  531. +                   NpcHtmlMessage html = new NpcHtmlMessage(1);
  532. +                   html.setFile("data/html/mods/newbie/weapons/weapons.htm");
  533. +                   player.sendPacket(html);
  534. +               }
  535. +           }
  536. +       }
  537. +       else if (params.startsWith("dc"))
  538. +       {
  539. +           List<Integer> MageArmorDC = Arrays.asList(2407, 512, 5767, 5779, 924, 862, 893, 871, 902, 8563);
  540. +           for (int id : MageArmorDC)
  541. +           {
  542. +               if (MageArmorDC.contains(id))
  543. +               {
  544. +                   player.getInventory().addItem("Armors", id, 1, player, null);
  545. +                   items = player.getInventory().getItemByItemId(id);
  546. +                   player.getInventory().equipItemAndRecord(items);
  547. +                   player.sendPacket(new ItemList(player, false));
  548. +                   player.setNewbieEquip(false);
  549. +                   NpcHtmlMessage html = new NpcHtmlMessage(1);
  550. +                   html.setFile("data/html/mods/newbie/weapons/weapons.htm");
  551. +                   player.sendPacket(html);
  552. +               }
  553. +           }
  554. +       }
  555. +       else if (params.startsWith("tl"))
  556. +       {
  557. +           List<Integer> MageArmorTL = Arrays.asList(2400, 2405, 547, 5770, 5782, 924, 862, 893, 871, 902, 8563);
  558. +           for (int id : MageArmorTL)
  559. +           {
  560. +               if (MageArmorTL.contains(id))
  561. +               {
  562. +                   player.getInventory().addItem("Armors", id, 1, player, null);
  563. +                   items = player.getInventory().getItemByItemId(id);
  564. +                   player.getInventory().equipItemAndRecord(items);
  565. +                   player.sendPacket(new ItemList(player, false));
  566. +                   player.setNewbieEquip(false);
  567. +                   NpcHtmlMessage html = new NpcHtmlMessage(1);
  568. +                   html.setFile("data/html/mods/newbie/weapons/weapons.htm");
  569. +                   player.sendPacket(html);
  570. +               }
  571. +           }
  572. +       }
  573. +       else if (params.startsWith("darkheavy"))
  574. +       {
  575. +           List<Integer> darkheavy = Arrays.asList(365, 388, 512, 5765, 5777, 924, 862, 893, 871, 902, 8185);
  576. +           for (int id : darkheavy)
  577. +           {
  578. +               if (darkheavy.contains(id))
  579. +               {
  580. +                   player.getInventory().addItem("Armors", id, 1, player, null);
  581. +                   items = player.getInventory().getItemByItemId(id);
  582. +                   player.getInventory().equipItemAndRecord(items);
  583. +                   player.sendPacket(new ItemList(player, false));
  584. +                   player.setNewbieEquip(false);
  585. +                   NpcHtmlMessage html = new NpcHtmlMessage(1);
  586. +                   html.setFile("data/html/mods/newbie/weapons/weapons.htm");
  587. +                   player.sendPacket(html);
  588. +               }
  589. +           }
  590. +       }
  591. +       else if (params.startsWith("nmh"))
  592. +       {
  593. +           List<Integer> NMH = Arrays.asList(374, 2418, 5771, 5783, 924, 862, 893, 871, 902, 8185);
  594. +           for (int id : NMH)
  595. +           {
  596. +               if (NMH.contains(id))
  597. +               {
  598. +                   player.getInventory().addItem("Armors", id, 1, player, null);
  599. +                   items = player.getInventory().getItemByItemId(id);
  600. +                   player.getInventory().equipItemAndRecord(items);
  601. +                   player.sendPacket(new ItemList(player, false));
  602. +                   player.setNewbieEquip(false);
  603. +                   NpcHtmlMessage html = new NpcHtmlMessage(1);
  604. +                   html.setFile("data/html/mods/newbie/weapons/weapons.htm");
  605. +                   player.sendPacket(html);
  606. +               }
  607. +           }
  608. +       }
  609. +       else if (params.startsWith("darkhealth"))
  610. +       {
  611. +           List<Integer> darkhealth = Arrays.asList(5648, 2498);
  612. +           for (int id : darkhealth)
  613. +           {
  614. +               if (darkhealth.contains(id))
  615. +               {
  616. +                   player.getInventory().addItem("Weapon", id, 1, player, null);
  617. +                   items = player.getInventory().getItemByItemId(id);
  618. +                   player.getInventory().equipItemAndRecord(items);
  619. +                   getEnchantEffect(player);
  620. +                   player.sendPacket(new ItemList(player, false));
  621. +                   player.setNewbieWeaponEquip(false);
  622. +                   onNewbieBuff(player);
  623. +               }
  624. +           }
  625. +       }
  626. +       else if (params.startsWith("darkcdmg"))
  627. +       {
  628. +           List<Integer> darkcdmg = Arrays.asList(5647, 2498);
  629. +           for (int id : darkcdmg)
  630. +           {
  631. +               if (darkcdmg.contains(id))
  632. +               {
  633. +                   player.getInventory().addItem("Weapon", id, 1, player, null);
  634. +                   items = player.getInventory().getItemByItemId(id);
  635. +                   player.getInventory().equipItemAndRecord(items);
  636. +                   getEnchantEffect(player);
  637. +                   player.sendPacket(new ItemList(player, false));
  638. +                   player.setNewbieWeaponEquip(false);
  639. +                   onNewbieBuff(player);
  640. +               }
  641. +           }
  642. +       }
  643. +       else if (params.startsWith("darkrfocus"))
  644. +       {
  645. +           List<Integer> darkrfocus = Arrays.asList(5649, 2498);
  646. +           for (int id : darkrfocus)
  647. +           {
  648. +               if (darkrfocus.contains(id))
  649. +               {
  650. +                   player.getInventory().addItem("Weapon", id, 1, player, null);
  651. +                   items = player.getInventory().getItemByItemId(id);
  652. +                   player.getInventory().equipItemAndRecord(items);
  653. +                   getEnchantEffect(player);
  654. +                   player.sendPacket(new ItemList(player, false));
  655. +                   player.setNewbieWeaponEquip(false);
  656. +                   onNewbieBuff(player);
  657. +               }
  658. +           }
  659. +       }
  660. +       else if (params.startsWith("dragonhealth"))
  661. +       {
  662. +           List<Integer> dragonhealth = Arrays.asList(5644);
  663. +           for (int id : dragonhealth)
  664. +           {
  665. +               if (dragonhealth.contains(id))
  666. +               {
  667. +                   player.getInventory().addItem("Weapon", id, 1, player, null);
  668. +                   items = player.getInventory().getItemByItemId(id);
  669. +                   player.getInventory().equipItemAndRecord(items);
  670. +                   getEnchantEffect(player);
  671. +                   player.sendPacket(new ItemList(player, false));
  672. +                   player.setNewbieWeaponEquip(false);
  673. +                   onNewbieBuff(player);
  674. +               }
  675. +           }
  676. +       }
  677. +       else if (params.startsWith("dragoncbleed"))
  678. +       {
  679. +           List<Integer> dragoncbleed = Arrays.asList(5645);
  680. +           for (int id : dragoncbleed)
  681. +           {
  682. +               if (dragoncbleed.contains(id))
  683. +               {
  684. +                   player.getInventory().addItem("Weapon", id, 1, player, null);
  685. +                   items = player.getInventory().getItemByItemId(id);
  686. +                   player.getInventory().equipItemAndRecord(items);
  687. +                   getEnchantEffect(player);
  688. +                   player.sendPacket(new ItemList(player, false));
  689. +                   player.setNewbieWeaponEquip(false);
  690. +                   onNewbieBuff(player);
  691. +               }
  692. +           }
  693. +       }
  694. +       else if (params.startsWith("dragoncdrain"))
  695. +       {
  696. +           List<Integer> dragoncdrain = Arrays.asList(5646);
  697. +           for (int id : dragoncdrain)
  698. +           {
  699. +               if (dragoncdrain.contains(id))
  700. +               {
  701. +                   player.getInventory().addItem("Weapon", id, 1, player, null);
  702. +                   items = player.getInventory().getItemByItemId(id);
  703. +                   player.getInventory().equipItemAndRecord(items);
  704. +                   getEnchantEffect(player);
  705. +                   player.sendPacket(new ItemList(player, false));
  706. +                   player.setNewbieWeaponEquip(false);
  707. +                   onNewbieBuff(player);
  708. +               }
  709. +           }
  710. +       }
  711. +       else if (params.startsWith("doomanger"))
  712. +       {
  713. +           List<Integer> doomanger = Arrays.asList(8136);
  714. +           for (int id : doomanger)
  715. +           {
  716. +               if (doomanger.contains(id))
  717. +               {
  718. +                   player.getInventory().addItem("Weapon", id, 1, player, null);
  719. +                   items = player.getInventory().getItemByItemId(id);
  720. +                   player.getInventory().equipItemAndRecord(items);
  721. +                   getEnchantEffect(player);
  722. +                   player.sendPacket(new ItemList(player, false));
  723. +                   player.setNewbieWeaponEquip(false);
  724. +                   onNewbieBuff(player);
  725. +               }
  726. +           }
  727. +       }
  728. +       else if (params.startsWith("doomhealth"))
  729. +       {
  730. +           List<Integer> doomhealth = Arrays.asList(8135);
  731. +           for (int id : doomhealth)
  732. +           {
  733. +               if (doomhealth.contains(id))
  734. +               {
  735. +                   player.getInventory().addItem("Weapon", id, 1, player, null);
  736. +                   items = player.getInventory().getItemByItemId(id);
  737. +                   player.getInventory().equipItemAndRecord(items);
  738. +                   getEnchantEffect(player);
  739. +                   player.sendPacket(new ItemList(player, false));
  740. +                   player.setNewbieWeaponEquip(false);
  741. +                   onNewbieBuff(player);
  742. +               }
  743. +           }
  744. +       }
  745. +       else if (params.startsWith("doomrhaste"))
  746. +       {
  747. +           List<Integer> doomrhaste = Arrays.asList(8137);
  748. +           for (int id : doomrhaste)
  749. +           {
  750. +               if (doomrhaste.contains(id))
  751. +               {
  752. +                   player.getInventory().addItem("Weapon", id, 1, player, null);
  753. +                   items = player.getInventory().getItemByItemId(id);
  754. +                   player.getInventory().equipItemAndRecord(items);
  755. +                   getEnchantEffect(player);
  756. +                   player.sendPacket(new ItemList(player, false));
  757. +                   player.setNewbieWeaponEquip(false);
  758. +                   onNewbieBuff(player);
  759. +               }
  760. +           }
  761. +       }
  762. +       else if (params.startsWith("sepacdamage"))
  763. +       {
  764. +           List<Integer> sepacdamage = Arrays.asList(5618);
  765. +           for (int id : sepacdamage)
  766. +           {
  767. +               if (sepacdamage.contains(id))
  768. +               {
  769. +                   player.getInventory().addItem("Weapon", id, 1, player, null);
  770. +                   items = player.getInventory().getItemByItemId(id);
  771. +                   player.getInventory().equipItemAndRecord(items);
  772. +                   getEnchantEffect(player);
  773. +                   player.sendPacket(new ItemList(player, false));
  774. +                   player.setNewbieWeaponEquip(false);
  775. +                   onNewbieBuff(player);
  776. +               }
  777. +           }
  778. +       }
  779. +       else if (params.startsWith("sepaguidance"))
  780. +       {
  781. +           List<Integer> sepaguidance = Arrays.asList(5617);
  782. +           for (int id : sepaguidance)
  783. +           {
  784. +               if (sepaguidance.contains(id))
  785. +               {
  786. +                   player.getInventory().addItem("Weapon", id, 1, player, null);
  787. +                   items = player.getInventory().getItemByItemId(id);
  788. +                   player.getInventory().equipItemAndRecord(items);
  789. +                   getEnchantEffect(player);
  790. +                   player.sendPacket(new ItemList(player, false));
  791. +                   player.setNewbieWeaponEquip(false);
  792. +                   onNewbieBuff(player);
  793. +               }
  794. +           }
  795. +       }
  796. +       else if (params.startsWith("separhaste"))
  797. +       {
  798. +           List<Integer> separhaste = Arrays.asList(5619);
  799. +           for (int id : separhaste)
  800. +           {
  801. +               if (separhaste.contains(id))
  802. +               {
  803. +                   player.getInventory().addItem("Weapon", id, 1, player, null);
  804. +                   items = player.getInventory().getItemByItemId(id);
  805. +                   player.getInventory().equipItemAndRecord(items);
  806. +                   getEnchantEffect(player);
  807. +                   player.sendPacket(new ItemList(player, false));
  808. +                   player.setNewbieWeaponEquip(false);
  809. +                   onNewbieBuff(player);
  810. +               }
  811. +           }
  812. +       }
  813. +       else if (params.startsWith("soulshot"))
  814. +       {
  815. +           List<Integer> soulshot = Arrays.asList(5611, 1344);
  816. +           for (int id : soulshot)
  817. +           {
  818. +               if (soulshot.contains(id))
  819. +               {
  820. +                   player.getInventory().addItem("Weapon", id, 1, player, null);
  821. +                   items = player.getInventory().getItemByItemId(id);
  822. +                   player.getInventory().equipItemAndRecord(items);
  823. +                   getEnchantEffect(player);
  824. +                   player.sendPacket(new ItemList(player, false));
  825. +                   player.setNewbieWeaponEquip(false);
  826. +                   onNewbieBuff(player);
  827. +               }
  828. +           }
  829. +       }
  830. +       else if (params.startsWith("soulpoison"))
  831. +       {
  832. +           List<Integer> soulpoison = Arrays.asList(5613, 1344);
  833. +           for (int id : soulpoison)
  834. +           {
  835. +               if (soulpoison.contains(id))
  836. +               {
  837. +                   player.getInventory().addItem("Weapon", id, 1, player, null);
  838. +                   items = player.getInventory().getItemByItemId(id);
  839. +                   player.getInventory().equipItemAndRecord(items);
  840. +                   getEnchantEffect(player);
  841. +                   player.sendPacket(new ItemList(player, false));
  842. +                   player.setNewbieWeaponEquip(false);
  843. +                   onNewbieBuff(player);
  844. +               }
  845. +           }
  846. +       }
  847. +       else if (params.startsWith("soulrecov"))
  848. +       {
  849. +           List<Integer> soulrecov = Arrays.asList(5612, 1344);
  850. +           for (int id : soulrecov)
  851. +           {
  852. +               if (soulrecov.contains(id))
  853. +               {
  854. +                   player.getInventory().addItem("Weapon", id, 1, player, null);
  855. +                   items = player.getInventory().getItemByItemId(id);
  856. +                   player.getInventory().equipItemAndRecord(items);
  857. +                   getEnchantEffect(player);
  858. +                   player.sendPacket(new ItemList(player, false));
  859. +                   player.setNewbieWeaponEquip(false);
  860. +                   onNewbieBuff(player);
  861. +               }
  862. +           }
  863. +       }
  864. +       else if (params.startsWith("grindergui"))
  865. +       {
  866. +           List<Integer> grindergui = Arrays.asList(5624);
  867. +           for (int id : grindergui)
  868. +           {
  869. +               if (grindergui.contains(id))
  870. +               {
  871. +                   player.getInventory().addItem("Weapon", id, 1, player, null);
  872. +                   items = player.getInventory().getItemByItemId(id);
  873. +                   player.getInventory().equipItemAndRecord(items);
  874. +                   getEnchantEffect(player);
  875. +                   player.sendPacket(new ItemList(player, false));
  876. +                   player.setNewbieWeaponEquip(false);
  877. +                   onNewbieBuff(player);
  878. +               }
  879. +           }
  880. +       }
  881. +       else if (params.startsWith("grinderhealth"))
  882. +       {
  883. +           List<Integer> grinderhealth = Arrays.asList(5625);
  884. +           for (int id : grinderhealth)
  885. +           {
  886. +               if (grinderhealth.contains(id))
  887. +               {
  888. +                   player.getInventory().addItem("Weapon", id, 1, player, null);
  889. +                   items = player.getInventory().getItemByItemId(id);
  890. +                   player.getInventory().equipItemAndRecord(items);
  891. +                   getEnchantEffect(player);
  892. +                   player.sendPacket(new ItemList(player, false));
  893. +                   player.setNewbieWeaponEquip(false);
  894. +                   onNewbieBuff(player);
  895. +               }
  896. +           }
  897. +       }
  898. +       else if (params.startsWith("grinderrevas"))
  899. +       {
  900. +           List<Integer> grinderrevas = Arrays.asList(5623);
  901. +           for (int id : grinderrevas)
  902. +           {
  903. +               if (grinderrevas.contains(id))
  904. +               {
  905. +                   player.getInventory().addItem("Weapon", id, 1, player, null);
  906. +                   items = player.getInventory().getItemByItemId(id);
  907. +                   player.getInventory().equipItemAndRecord(items);
  908. +                   getEnchantEffect(player);
  909. +                   player.sendPacket(new ItemList(player, false));
  910. +                   player.setNewbieWeaponEquip(false);
  911. +                   onNewbieBuff(player);
  912. +               }
  913. +           }
  914. +       }
  915. +       else if (params.startsWith("tallumguid"))
  916. +       {
  917. +           List<Integer> tallumguid = Arrays.asList(5632);
  918. +           for (int id : tallumguid)
  919. +           {
  920. +               if (tallumguid.contains(id))
  921. +               {
  922. +                   player.getInventory().addItem("Weapon", id, 1, player, null);
  923. +                   items = player.getInventory().getItemByItemId(id);
  924. +                   player.getInventory().equipItemAndRecord(items);
  925. +                   getEnchantEffect(player);
  926. +                   player.sendPacket(new ItemList(player, false));
  927. +                   player.setNewbieWeaponEquip(false);
  928. +                   onNewbieBuff(player);
  929. +               }
  930. +           }
  931. +       }
  932. +       else if (params.startsWith("tallumhealth"))
  933. +       {
  934. +           List<Integer> tallumhealth = Arrays.asList(5633);
  935. +           for (int id : tallumhealth)
  936. +           {
  937. +               if (tallumhealth.contains(id))
  938. +               {
  939. +                   player.getInventory().addItem("Weapon", id, 1, player, null);
  940. +                   items = player.getInventory().getItemByItemId(id);
  941. +                   player.getInventory().equipItemAndRecord(items);
  942. +                   getEnchantEffect(player);
  943. +                   player.sendPacket(new ItemList(player, false));
  944. +                   player.setNewbieWeaponEquip(false);
  945. +                   onNewbieBuff(player);
  946. +               }
  947. +           }
  948. +       }
  949. +       else if (params.startsWith("tallumblow"))
  950. +       {
  951. +           List<Integer> tallumblow = Arrays.asList(5634);
  952. +           for (int id : tallumblow)
  953. +           {
  954. +               if (tallumblow.contains(id))
  955. +               {
  956. +                   player.getInventory().addItem("Weapon", id, 1, player, null);
  957. +                   items = player.getInventory().getItemByItemId(id);
  958. +                   player.getInventory().equipItemAndRecord(items);
  959. +                   getEnchantEffect(player);
  960. +                   player.sendPacket(new ItemList(player, false));
  961. +                   player.setNewbieWeaponEquip(false);
  962. +                   onNewbieBuff(player);
  963. +               }
  964. +           }
  965. +       }
  966. +       else if (params.startsWith("somacume"))
  967. +       {
  968. +           List<Integer> somacume = Arrays.asList(5643, 2498);
  969. +           for (int id : somacume)
  970. +           {
  971. +               if (somacume.contains(id))
  972. +               {
  973. +                   player.getInventory().addItem("Weapon", id, 1, player, null);
  974. +                   items = player.getInventory().getItemByItemId(id);
  975. +                   player.getInventory().equipItemAndRecord(items);
  976. +                   getEnchantEffect(player);
  977. +                   player.sendPacket(new ItemList(player, false));
  978. +                   player.setNewbieWeaponEquip(false);
  979. +                   onNewbieBuff(player);
  980. +               }
  981. +           }
  982. +       }
  983. +       else if (params.startsWith("sompower"))
  984. +       {
  985. +           List<Integer> sompower = Arrays.asList(5641, 2498);
  986. +           for (int id : sompower)
  987. +           {
  988. +               if (sompower.contains(id))
  989. +               {
  990. +                   player.getInventory().addItem("Weapon", id, 1, player, null);
  991. +                   items = player.getInventory().getItemByItemId(id);
  992. +                   player.getInventory().equipItemAndRecord(items);
  993. +                   getEnchantEffect(player);
  994. +                   player.sendPacket(new ItemList(player, false));
  995. +                   player.setNewbieWeaponEquip(false);
  996. +                   onNewbieBuff(player);
  997. +               }
  998. +           }
  999. +       }
  1000. +       else if (params.startsWith("somsilence"))
  1001. +       {
  1002. +           List<Integer> somsilence = Arrays.asList(5642, 2498);
  1003. +           for (int id : somsilence)
  1004. +           {
  1005. +               if (somsilence.contains(id))
  1006. +               {
  1007. +                   player.getInventory().addItem("Weapon", id, 1, player, null);
  1008. +                   items = player.getInventory().getItemByItemId(id);
  1009. +                   player.getInventory().equipItemAndRecord(items);
  1010. +                   getEnchantEffect(player);
  1011. +                   player.sendPacket(new ItemList(player, false));
  1012. +                   player.setNewbieWeaponEquip(false);
  1013. +                   onNewbieBuff(player);
  1014. +               }
  1015. +           }
  1016. +       }
  1017. +       else if (params.startsWith("elysiananger"))
  1018. +       {
  1019. +           List<Integer> elysiananger = Arrays.asList(5603, 2498);
  1020. +           for (int id : elysiananger)
  1021. +           {
  1022. +               if (elysiananger.contains(id))
  1023. +               {
  1024. +                   player.getInventory().addItem("Weapon", id, 1, player, null);
  1025. +                   items = player.getInventory().getItemByItemId(id);
  1026. +                   player.getInventory().equipItemAndRecord(items);
  1027. +                   getEnchantEffect(player);
  1028. +                   player.sendPacket(new ItemList(player, false));
  1029. +                   player.setNewbieWeaponEquip(false);
  1030. +                   onNewbieBuff(player);
  1031. +               }
  1032. +           }
  1033. +       }
  1034. +       else if (params.startsWith("elysiacdrain"))
  1035. +       {
  1036. +           List<Integer> elysiacdrain = Arrays.asList(5604, 2498);
  1037. +           for (int id : elysiacdrain)
  1038. +           {
  1039. +               if (elysiacdrain.contains(id))
  1040. +               {
  1041. +                   player.getInventory().addItem("Weapon", id, 1, player, null);
  1042. +                   items = player.getInventory().getItemByItemId(id);
  1043. +                   player.getInventory().equipItemAndRecord(items);
  1044. +                   getEnchantEffect(player);
  1045. +                   player.sendPacket(new ItemList(player, false));
  1046. +                   player.setNewbieWeaponEquip(false);
  1047. +                   onNewbieBuff(player);
  1048. +               }
  1049. +           }
  1050. +       }
  1051. +       else if (params.startsWith("elysiahealth"))
  1052. +       {
  1053. +           List<Integer> elysiahealth = Arrays.asList(5602, 2498);
  1054. +           for (int id : elysiahealth)
  1055. +           {
  1056. +               if (elysiahealth.contains(id))
  1057. +               {
  1058. +                   player.getInventory().addItem("Weapon", id, 1, player, null);
  1059. +                   items = player.getInventory().getItemByItemId(id);
  1060. +                   player.getInventory().equipItemAndRecord(items);
  1061. +                   getEnchantEffect(player);
  1062. +                   player.sendPacket(new ItemList(player, false));
  1063. +                   player.setNewbieWeaponEquip(false);
  1064. +                   onNewbieBuff(player);
  1065. +               }
  1066. +           }
  1067. +       }
  1068. +       else if (params.startsWith("damascusdual"))
  1069. +       {
  1070. +           List<Integer> damascusdual = Arrays.asList(5706);
  1071. +           for (int id : damascusdual)
  1072. +           {
  1073. +               if (damascusdual.contains(id))
  1074. +               {
  1075. +                   player.getInventory().addItem("Weapon", id, 1, player, null);
  1076. +                   items = player.getInventory().getItemByItemId(id);
  1077. +                   player.getInventory().equipItemAndRecord(items);
  1078. +                   getEnchantEffect(player);
  1079. +                   player.sendPacket(new ItemList(player, false));
  1080. +                   player.setNewbieWeaponEquip(false);
  1081. +                   onNewbieBuff(player);
  1082. +               }
  1083. +           }
  1084. +       }
  1085. +       else if (params.startsWith("teleport"))
  1086. +       {
  1087. +           ThreadPool.schedule(() -> player.sendPacket(new ExShowScreenMessage(player.getName() + " you are ready to play!", 5000)), 1000);
  1088. +           ThreadPool.schedule(() -> NewbieSystemManager.onNewbieTeleport(player), 5000);         
  1089. +       }
  1090. +   }
  1091. +  
  1092. +   public void getEnchantEffect(Player player)
  1093. +   {
  1094. +       final ItemInstance wpn = player.getActiveWeaponInstance();
  1095. +       if (wpn == null)
  1096. +           return;
  1097. +       wpn.setEnchantLevel(4);
  1098. +   }
  1099. +  
  1100. +   public static void onNewbieBuff(Player player)
  1101. +   {
  1102. +       NpcHtmlMessage html = new NpcHtmlMessage(1);
  1103. +       for (int id : (player.isMageClass() || player.getClassId() == ClassId.DOMINATOR || player.getClassId() == ClassId.DOOMCRYER) ? Config.NEWBIE_SYSTEM_MAGE_BUFFS : Config.NEWBIE_SYSTEM_FIGHTER_BUFFS)
  1104. +       {
  1105. +           L2Skill buff = SkillTable.getInstance().getInfo(id, SkillTable.getInstance().getMaxLevel(id));
  1106. +           buff.getEffects(player, player);
  1107. +           player.getStatus().setHp(player.getStatus().getMaxHp());
  1108. +           player.getStatus().setCp(player.getStatus().getMaxCp());
  1109. +           player.getStatus().setMp(player.getStatus().getMaxMp());
  1110. +           player.broadcastPacket(new SocialAction(player, 9));
  1111. +       }
  1112. +       html.setFile("data/html/mods/newbie/teleport.htm");
  1113. +       player.sendPacket(html);
  1114. +   }
  1115. +  
  1116. +   public static void onEnterNewbieTeleport(Player activeChar)
  1117. +   {
  1118. +       activeChar.setIsParalyzed(true);
  1119. +       activeChar.getAppearance().setVisible(false);
  1120. +       NpcHtmlMessage html = new NpcHtmlMessage(1);
  1121. +       html.setFile("data/html/mods/newbie/teleport.htm");
  1122. +       activeChar.sendPacket(html);
  1123. +   }
  1124. +  
  1125. +   public static void onNewbieTeleport(Player player)
  1126. +   {
  1127. +       NpcHtmlMessage html = new NpcHtmlMessage(1);
  1128. +       player.getAppearance().setVisible(true);
  1129. +       player.setIsParalyzed(false);
  1130. +       player.setInvul(false);
  1131. +       player.teleportTo(Config.NEWBIE_SYSTEM_TELE_TO_LOCATION[0], Config.NEWBIE_SYSTEM_TELE_TO_LOCATION[1], Config.NEWBIE_SYSTEM_TELE_TO_LOCATION[2], 40);
  1132. +       player.setNewbieTeleport(false);
  1133. +       ThreadPool.schedule(() ->
  1134. +       {
  1135. +           player.sendPacket(new CreatureSay(0, SayType.PARTYROOM_COMMANDER, player.getName(), "welcome to RUSaCis server!"));
  1136. +           html.setFile("data/html/mods/newbie/servnews.htm");
  1137. +           player.sendPacket(html);
  1138. +       }, 1000 * 2);
  1139. +   }
  1140. +  
  1141. +   public static final NewbieSystemManager getInstance()
  1142. +   {
  1143. +       return SingletonHolder.INSTANCE;
  1144. +   }
  1145. +  
  1146. +   private static class SingletonHolder
  1147. +   {
  1148. +       protected static final NewbieSystemManager INSTANCE = new NewbieSystemManager();
  1149. +   }
  1150. +}
  1151. \ No newline at end of file
  1152. Index: config/rus_acis.properties
  1153. ===================================================================
  1154. --- config/rus_acis.properties  (revision 20)
  1155. +++ config/rus_acis.properties  (working copy)
  1156. @@ -237,6 +237,23 @@
  1157.  BuyPremiumDays28Price = 28
  1158.  
  1159.  #=============================================================
  1160. +#                          Newbie System
  1161. +#=============================================================
  1162. +# Если True система новичков будет включена
  1163. +NewbieSystemEnabled = True
  1164. +
  1165. +# Значение 81 для 80 уровня и 100%
  1166. +NewbieSystemSetLevel = 81
  1167. +
  1168. +# Набор баффов истребителя
  1169. +NewbieSystemFighterSet = 1087,1243,1204,1068,1388,1040,1036,1035,1048,1045,1077,1242,1086,1043,1268,1036,1363,1240,1062,271,274,275,310,304,308,306,264,267,269,349,364,268,270,1416
  1170. +# Набор баффов Мага
  1171. +NewbieSystemMageSet = 1087,1243,1204,1040,1036,1048,1045,1389,1062,1363,1085,1059,1303,1304,273,276,365,268,270,349,264,267,268,306,308,1416
  1172. +
  1173. +# Телепорт в локацию
  1174. +NewbieSystemTeleToLocation = 83480,148614,-3407
  1175. +
  1176. +#=============================================================
  1177.  #                        DressMe system
  1178.  #=============================================================
  1179.  AllowDressMeSystem = True
  1180. Index: java/net/sf/l2j/gameserver/network/GameClient.java
  1181. ===================================================================
  1182. --- java/net/sf/l2j/gameserver/network/GameClient.java  (revision 20)
  1183. +++ java/net/sf/l2j/gameserver/network/GameClient.java  (working copy)
  1184. @@ -65,6 +65,7 @@
  1185.     private static final String DELETE_CHAR_ITEMS = "DELETE FROM items WHERE owner_id=?";
  1186.     private static final String DELETE_CHAR_RBP = "DELETE FROM character_raid_points WHERE char_id=?";
  1187.     private static final String DELETE_CHAR = "DELETE FROM characters WHERE obj_Id=?";
  1188. +   private static final String DELETE_CHAR_CACHE = "DELETE FROM character_data WHERE charId=?";
  1189.    
  1190.     public enum GameClientState
  1191.     {
  1192. @@ -572,6 +573,12 @@
  1193.                 ps.setInt(1, objectId);
  1194.                 ps.execute();
  1195.             }
  1196. +          
  1197. +           try (PreparedStatement ps = con.prepareStatement(DELETE_CHAR_CACHE))
  1198. +           {
  1199. +               ps.setInt(1, objectId);
  1200. +               ps.execute();
  1201. +           }
  1202.         }
  1203.         catch (Exception e)
  1204.         {
  1205. Index: java/net/sf/l2j/Config.java
  1206. ===================================================================
  1207. --- java/net/sf/l2j/Config.java (revision 20)
  1208. +++ java/net/sf/l2j/Config.java (working copy)
  1209. @@ -781,6 +781,15 @@
  1210.     public static int BUY_PREMIUM_DAYS_28;
  1211.     public static int BUY_PREMIUM_DAYS_28_PRICE;
  1212.    
  1213. +   /** Newbie System */
  1214. +   public static boolean NEWBIE_SYSTEM_ENABLED;
  1215. +   public static int NEWBIE_SYSTEM_SET_LVL;
  1216. +   public static String NEWBIE_SYSTEM_MAGE_SET;
  1217. +   public static int[] NEWBIE_SYSTEM_MAGE_BUFFS;
  1218. +   public static String NEWBIE_SYSTEM_FIGHTER_SET;
  1219. +   public static int[] NEWBIE_SYSTEM_FIGHTER_BUFFS;   
  1220. +   public static int[] NEWBIE_SYSTEM_TELE_TO_LOCATION = new int[3];
  1221. +  
  1222.     public static boolean CABAL_BUFFER;
  1223.     public static int[] NO_DROP_ITEMS;
  1224.    
  1225. @@ -1654,6 +1663,27 @@
  1226.         BUY_PREMIUM_DAYS_28 = rusacis.getProperty("BuyPremiumDays28", 28);
  1227.         BUY_PREMIUM_DAYS_28_PRICE = rusacis.getProperty("BuyPremiumDays28Price", 28);
  1228.        
  1229. +       NEWBIE_SYSTEM_ENABLED = rusacis.getProperty("NewbieSystemEnabled", true);
  1230. +       NEWBIE_SYSTEM_SET_LVL = Integer.parseInt(rusacis.getProperty("NewbieSystemSetLevel", "81"));
  1231. +       NEWBIE_SYSTEM_FIGHTER_SET = rusacis.getProperty("NewbieSystemFighterSet", "2375,3500,3501,3502,4422,4423,4424,4425,6648,6649,6650");
  1232. +       NEWBIE_SYSTEM_MAGE_SET = rusacis.getProperty("NewbieSystemMageSet", "2375,3500,3501,3502,4422,4423,4424,4425,6648,6649,6650");
  1233. +      
  1234. +       String[] NewFighterList = NEWBIE_SYSTEM_FIGHTER_SET.split(",");
  1235. +       NEWBIE_SYSTEM_FIGHTER_BUFFS = new int[NewFighterList.length];
  1236. +       for (int i = 0; i < NewFighterList.length; i++)
  1237. +           NEWBIE_SYSTEM_FIGHTER_BUFFS[i] = Integer.parseInt(NewFighterList[i]);
  1238. +      
  1239. +       String[] NewMageList = NEWBIE_SYSTEM_MAGE_SET.split(",");
  1240. +       NEWBIE_SYSTEM_MAGE_BUFFS = new int[NewMageList.length];
  1241. +       for (int i = 0; i < NewMageList.length; i++)
  1242. +           NEWBIE_SYSTEM_MAGE_BUFFS[i] = Integer.parseInt(NewMageList[i]);
  1243. +      
  1244. +       String[] TelepropertySplit = rusacis.getProperty("NewbieSystemTeleToLocation", "0,0,0").split(",");
  1245. +
  1246. +       NEWBIE_SYSTEM_TELE_TO_LOCATION[0] = Integer.parseInt(TelepropertySplit[0]);
  1247. +       NEWBIE_SYSTEM_TELE_TO_LOCATION[1] = Integer.parseInt(TelepropertySplit[1]);
  1248. +       NEWBIE_SYSTEM_TELE_TO_LOCATION[2] = Integer.parseInt(TelepropertySplit[2]);
  1249. +      
  1250.         CABAL_BUFFER = rusacis.getProperty("CabalBuffer", false);
  1251.         NO_DROP_ITEMS = rusacis.getProperty("NoDropItems", new int[0]);
  1252. Index: java/net/sf/l2j/gameserver/network/clientpackets/EnterWorld.java
  1253. ===================================================================
  1254. --- java/net/sf/l2j/gameserver/network/clientpackets/EnterWorld.java    (revision 22)
  1255. +++ java/net/sf/l2j/gameserver/network/clientpackets/EnterWorld.java    (working copy)
  1256. @@ -12,7 +12,6 @@
  1257.  import net.sf.l2j.gameserver.data.manager.DimensionalRiftManager;
  1258.  import net.sf.l2j.gameserver.data.manager.PetitionManager;
  1259.  import net.sf.l2j.gameserver.data.manager.SevenSignsManager;
  1260. +import net.sf.l2j.gameserver.data.manager.NewbieSystemManager;
  1261.  import net.sf.l2j.gameserver.data.xml.AdminData;
  1262.  import net.sf.l2j.gameserver.data.xml.AnnouncementData;
  1263.  import net.sf.l2j.gameserver.data.xml.MapRegionData.TeleportType;
  1264. @@ -286,19 +285,6 @@
  1265.        
  1266.         player.onPlayerEnter();
  1267.        
  1268. +       // Starting Newbie System
  1269. +       if (Config.NEWBIE_SYSTEM_ENABLED)
  1270. +       {
  1271. +           if (player.isNewbieChar())
  1272. +               NewbieSystemManager.onEnterNewChar(player);
  1273. +           else if (player.isNewbieEquip())
  1274. +               NewbieSystemManager.onEnterEquip(player);      
  1275. +           else if (player.isNewbieWeaponEquip())
  1276. +               NewbieSystemManager.onEnterWepEquip(player);       
  1277. +           else if (player.isNewbieTeleport())
  1278. +               NewbieSystemManager.onEnterNewbieTeleport(player);
  1279. +       }
  1280. +      
  1281.         activeSkin(player);
  1282.        
  1283.         sendPacket(new SkillCoolTime(player));
  1284.  Index: java/net/sf/l2j/gameserver/network/clientpackets/RequestBypassToServer.java
  1285. ===================================================================
  1286. --- java/net/sf/l2j/gameserver/network/clientpackets/RequestBypassToServer.java (revision 22)
  1287. +++ java/net/sf/l2j/gameserver/network/clientpackets/RequestBypassToServer.java (working copy)
  1288. @@ -13,7 +13,6 @@
  1289.  import net.sf.l2j.gameserver.communitybbs.CommunityBoard;
  1290.  import net.sf.l2j.gameserver.data.manager.BotsPreventionManager;
  1291.  import net.sf.l2j.gameserver.data.manager.HeroManager;
  1292. +import net.sf.l2j.gameserver.data.manager.NewbieSystemManager;
  1293.  import net.sf.l2j.gameserver.data.xml.AdminData;
  1294.  import net.sf.l2j.gameserver.data.xml.DressMeData;
  1295.  import net.sf.l2j.gameserver.data.xml.ItemData;
  1296. @@ -116,14 +115,6 @@
  1297.             html.disableValidation();
  1298.             player.sendPacket(html);
  1299.         }
  1300. +       else if (_command.startsWith("mageclass"))
  1301. +           NewbieSystemManager.getInstance().MageClasses(_command, player);
  1302. +       else if (_command.startsWith("fighterclass"))
  1303. +           NewbieSystemManager.getInstance().FighterClasses(_command, player);
  1304. +       else if (_command.startsWith("lightclass"))
  1305. +           NewbieSystemManager.getInstance().LightClasses(_command, player);
  1306. +       else if (_command.startsWith("class"))
  1307. +           NewbieSystemManager.getInstance().Classes(_command, player);
  1308.         else if (_command.startsWith("npc_"))
  1309.         {
  1310.             if (!player.validateBypass(_command))
  1311.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement