SHOW:
|
|
- or go back to the newest paste.
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 |