View difference between Paste ID: HxhztMNS and jmqw0EjJ
SHOW: | | - or go back to the newest paste.
1
### Eclipse Workspace Patch 1.0
2
#P Source Mega 16.06.2023
3
diff --git java/com/l2jmega/Config.java
4
index 781d421..973b099 100644
5
--- java/com/l2jmega/Config.java
6
+++ java/com/l2jmega/Config.java
7
@@ -764,44 +764,44 @@
8
 	/** Community Board */
9
 	public static boolean ENABLE_COMMUNITY_BOARD;
10
 	public static String BBS_DEFAULT;
11
 	
12
 	/** Flood Protectors */
13
 	public static int ROLL_DICE_TIME;
14
 	public static int HERO_VOICE_TIME;
15
 	public static int SUBCLASS_TIME;
16
 	public static int DROP_ITEM_TIME;
17
 	public static int SERVER_BYPASS_TIME;
18
 	public static int MULTISELL_TIME;
19
 	public static int MANUFACTURE_TIME;
20
 	public static int MANOR_TIME;
21
 	public static int SENDMAIL_TIME;
22
 	public static int CHARACTER_SELECT_TIME;
23
 	public static int GLOBAL_CHAT_TIME;
24
 	public static int TRADE_CHAT_TIME;
25
 	public static int SOCIAL_TIME;
26
 	
27
 	/** ThreadPool */
28
-	public static int SCHEDULED_THREAD_POOL_COUNT;
29
-	public static int THREADS_PER_SCHEDULED_THREAD_POOL;
30
-	public static int INSTANT_THREAD_POOL_COUNT;
31
-	public static int THREADS_PER_INSTANT_THREAD_POOL;
32
+	public static int SCHEDULED_THREAD_POOL_COUNT = -1;
33
+	public static int THREADS_PER_SCHEDULED_THREAD_POOL = 1500;
34
+	public static int INSTANT_THREAD_POOL_COUNT = -1;
35
+	public static int THREADS_PER_INSTANT_THREAD_POOL = 8;
36
 	
37
 	/** Misc */
38
 	public static boolean L2WALKER_PROTECTION;
39
 	public static boolean SERVER_NEWS;
40
 	public static int ZONE_TOWN;
41
 	public static boolean DISABLE_TUTORIAL;
42
 	
43
 	/** Chat Filter **/
44
 	public static int CHAT_FILTER_PUNISHMENT_PARAM1;
45
 	public static int CHAT_FILTER_PUNISHMENT_PARAM2;
46
 	public static int CHAT_FILTER_PUNISHMENT_PARAM3;
47
 	public static boolean USE_SAY_FILTER;
48
 	public static String CHAT_FILTER_CHARS;
49
 	public static String CHAT_FILTER_PUNISHMENT;
50
 	public static ArrayList<String> FILTER_LIST = new ArrayList<>();
51
 	
52
 	//----------------------------------------
53
 	//   party.properties
54
 	//----------------------------------------
55
 	/** Party */
56
@@ -3830,45 +3830,40 @@
57
 		LOG_ITEMS = options.getProperty("LogItems", false);
58
 		GMAUDIT = options.getProperty("GMAudit", false);
59
 		
60
 		ENABLE_COMMUNITY_BOARD = options.getProperty("EnableCommunityBoard", false);
61
 		BBS_DEFAULT = options.getProperty("BBSDefault", "_bbshome");
62
 		
63
 		ROLL_DICE_TIME = options.getProperty("RollDiceTime", 4200);
64
 		HERO_VOICE_TIME = options.getProperty("HeroVoiceTime", 10000);
65
 		SUBCLASS_TIME = options.getProperty("SubclassTime", 2000);
66
 		DROP_ITEM_TIME = options.getProperty("DropItemTime", 1000);
67
 		SERVER_BYPASS_TIME = options.getProperty("ServerBypassTime", 500);
68
 		MULTISELL_TIME = options.getProperty("MultisellTime", 100);
69
 		MANUFACTURE_TIME = options.getProperty("ManufactureTime", 300);
70
 		MANOR_TIME = options.getProperty("ManorTime", 3000);
71
 		SENDMAIL_TIME = options.getProperty("SendMailTime", 10000);
72
 		CHARACTER_SELECT_TIME = options.getProperty("CharacterSelectTime", 3000);
73
 		GLOBAL_CHAT_TIME = options.getProperty("GlobalChatTime", 0);
74
 		TRADE_CHAT_TIME = options.getProperty("TradeChatTime", 0);
75
 		SOCIAL_TIME = options.getProperty("SocialTime", 2000);
76
 		
77
-		SCHEDULED_THREAD_POOL_COUNT = options.getProperty("ScheduledThreadPoolCount", -1);
78
-		THREADS_PER_SCHEDULED_THREAD_POOL = options.getProperty("ThreadsPerScheduledThreadPool", 4);
79
-		INSTANT_THREAD_POOL_COUNT = options.getProperty("InstantThreadPoolCount", -1);
80
-		THREADS_PER_INSTANT_THREAD_POOL = options.getProperty("ThreadsPerInstantThreadPool", 2);
81
82
 		L2WALKER_PROTECTION = options.getProperty("L2WalkerProtection", false);
83
 		ZONE_TOWN = options.getProperty("ZoneTown", 0);
84
 		SERVER_NEWS = options.getProperty("ShowServerNews", false);
85
 		DISABLE_TUTORIAL = options.getProperty("DisableTutorial", false);
86
 		
87
 		USE_SAY_FILTER = Boolean.parseBoolean(options.getProperty("UseChatFilter", "false"));
88
 		CHAT_FILTER_CHARS = options.getProperty("ChatFilterChars", "[I love L2JMDS]");
89
 		CHAT_FILTER_PUNISHMENT = options.getProperty("ChatFilterPunishment", "off");
90
 		CHAT_FILTER_PUNISHMENT_PARAM1 = Integer.parseInt(options.getProperty("ChatFilterPunishmentParam1", "1"));
91
 		CHAT_FILTER_PUNISHMENT_PARAM2 = Integer.parseInt(options.getProperty("ChatFilterPunishmentParam2", "1000"));
92
 		
93
 		LineNumberReader lnr = null;
94
 		try
95
 		{
96
 			FILTER_LIST.clear();
97
 			
98
 			File filter_file = new File(FILTER_FILE);
99
 			if (!filter_file.exists())
100
 			{
101
 				return;
102
diff --git java/com/l2jmega/gameserver/handler/itemhandlers/hero/Hero15days.java
103
index 65f96c9..ca5713b 100644
104
--- java/com/l2jmega/gameserver/handler/itemhandlers/hero/Hero15days.java
105
+++ java/com/l2jmega/gameserver/handler/itemhandlers/hero/Hero15days.java
106
@@ -88,58 +88,58 @@
107
 						calendar.roll(Calendar.MONTH, true);
108
 					if (calendar.get(Calendar.DATE) == 30)
109
 					{
110
 						if (calendar.get(Calendar.MONTH) == 11)
111
 							calendar.roll(Calendar.YEAR, true);
112
 						calendar.roll(Calendar.MONTH, true);
113
 						
114
 					}
115
 					calendar.roll(Calendar.DATE, true);
116
 					_daysleft--;
117
 				}
118
 			}
119
 			
120
 			end_day = calendar.getTimeInMillis();
121
 			HeroManager.getInstance().updateHero(activeChar.getObjectId(), end_day);
122
 		}
123
 		else
124
 		{
125
 			long end_day;
126
 			final Calendar calendar = Calendar.getInstance();
127
-			if (mes >= 30)
128
+			if (mes >= 31)
129
 			{
130
-				while (mes >= 30)
131
+				while (mes >= 31)
132
 				{
133
 					if (calendar.get(Calendar.MONTH) == 11)
134
 						calendar.roll(Calendar.YEAR, true);
135
 					calendar.roll(Calendar.MONTH, true);
136
-					mes -= 30;
137
+					mes -= 31;
138
 				}
139
 			}
140
 			
141
-			if (mes < 30 && mes > 0)
142
+			if (mes < 31 && mes > 0)
143
 			{
144
 				while (mes > 0)
145
 				{
146
 					if (calendar.get(Calendar.DATE) == 28 && calendar.get(Calendar.MONTH) == 1)
147
 						calendar.roll(Calendar.MONTH, true);
148
-					if (calendar.get(Calendar.DATE) == 30)
149
+					if (calendar.get(Calendar.DATE) == 31)
150
 					{
151
 						if (calendar.get(Calendar.MONTH) == 11)
152
 							calendar.roll(Calendar.YEAR, true);
153
 						calendar.roll(Calendar.MONTH, true);
154
 						
155
 					}
156
 					calendar.roll(Calendar.DATE, true);
157
 					mes--;
158
 				}
159
 			}
160
 			
161
 			end_day = calendar.getTimeInMillis();
162
 			HeroManager.getInstance().addHero(activeChar.getObjectId(), end_day);
163
 		}
164
 		
165
 		long _daysleft;
166
 		final long now = Calendar.getInstance().getTimeInMillis();
167
 		long duration = HeroManager.getInstance().getHeroDuration(activeChar.getObjectId());
168
 		final long endDay = duration;
169
 		_daysleft = ((endDay - now) / 86400000);
170
diff --git java/com/l2jmega/gameserver/handler/itemhandlers/hero/Hero24h.java
171
index ba73b64..77e2f5a 100644
172
--- java/com/l2jmega/gameserver/handler/itemhandlers/hero/Hero24h.java
173
+++ java/com/l2jmega/gameserver/handler/itemhandlers/hero/Hero24h.java
174
@@ -88,58 +88,58 @@
175
 						calendar.roll(Calendar.MONTH, true);
176
 					if (calendar.get(Calendar.DATE) == 30)
177
 					{
178
 						if (calendar.get(Calendar.MONTH) == 11)
179
 							calendar.roll(Calendar.YEAR, true);
180
 						calendar.roll(Calendar.MONTH, true);
181
 						
182
 					}
183
 					calendar.roll(Calendar.DATE, true);
184
 					_daysleft--;
185
 				}
186
 			}
187
 			
188
 			end_day = calendar.getTimeInMillis();
189
 			HeroManager.getInstance().updateHero(activeChar.getObjectId(), end_day);
190
 		}
191
 		else
192
 		{
193
 			long end_day;
194
 			final Calendar calendar = Calendar.getInstance();
195
-			if (mes >= 30)
196
+			if (mes >= 31)
197
 			{
198
-				while (mes >= 30)
199
+				while (mes >= 31)
200
 				{
201
 					if (calendar.get(Calendar.MONTH) == 11)
202
 						calendar.roll(Calendar.YEAR, true);
203
 					calendar.roll(Calendar.MONTH, true);
204
-					mes -= 30;
205
+					mes -= 31;
206
 				}
207
 			}
208
 			
209
-			if (mes < 30 && mes > 0)
210
+			if (mes < 31 && mes > 0)
211
 			{
212
 				while (mes > 0)
213
 				{
214
 					if (calendar.get(Calendar.DATE) == 28 && calendar.get(Calendar.MONTH) == 1)
215
 						calendar.roll(Calendar.MONTH, true);
216
-					if (calendar.get(Calendar.DATE) == 30)
217
+					if (calendar.get(Calendar.DATE) == 31)
218
 					{
219
 						if (calendar.get(Calendar.MONTH) == 11)
220
 							calendar.roll(Calendar.YEAR, true);
221
 						calendar.roll(Calendar.MONTH, true);
222
 						
223
 					}
224
 					calendar.roll(Calendar.DATE, true);
225
 					mes--;
226
 				}
227
 			}
228
 			
229
 			end_day = calendar.getTimeInMillis();
230
 			HeroManager.getInstance().addHero(activeChar.getObjectId(), end_day);
231
 		}
232
 		
233
 		long _daysleft;
234
 		final long now = Calendar.getInstance().getTimeInMillis();
235
 		long duration = HeroManager.getInstance().getHeroDuration(activeChar.getObjectId());
236
 		final long endDay = duration;
237
 		_daysleft = ((endDay - now) / 86400000);
238
diff --git java/com/l2jmega/gameserver/handler/itemhandlers/hero/Hero30days.java
239
index eb2ab3b..7892642 100644
240
--- java/com/l2jmega/gameserver/handler/itemhandlers/hero/Hero30days.java
241
+++ java/com/l2jmega/gameserver/handler/itemhandlers/hero/Hero30days.java
242
@@ -90,56 +90,56 @@
243
 					{
244
 						if (calendar.get(Calendar.MONTH) == 11)
245
 							calendar.roll(Calendar.YEAR, true);
246
 						calendar.roll(Calendar.MONTH, true);
247
 						
248
 					}
249
 					calendar.roll(Calendar.DATE, true);
250
 					_daysleft--;
251
 				}
252
 			}
253
 			
254
 			end_day = calendar.getTimeInMillis();
255
 			HeroManager.getInstance().updateHero(activeChar.getObjectId(), end_day);
256
 		}
257
 		else
258
 		{
259
 			long end_day;
260
 			final Calendar calendar = Calendar.getInstance();
261
 			if (mes >= 30)
262
 			{
263
-				while (mes >= 30)
264
+				while (mes >= 31)
265
 				{
266
 					if (calendar.get(Calendar.MONTH) == 11)
267
 						calendar.roll(Calendar.YEAR, true);
268
 					calendar.roll(Calendar.MONTH, true);
269
-					mes -= 30;
270
+					mes -= 31;
271
 				}
272
 			}
273
 			
274
-			if (mes < 30 && mes > 0)
275
+			if (mes < 31 && mes > 0)
276
 			{
277
 				while (mes > 0)
278
 				{
279
 					if (calendar.get(Calendar.DATE) == 28 && calendar.get(Calendar.MONTH) == 1)
280
 						calendar.roll(Calendar.MONTH, true);
281
-					if (calendar.get(Calendar.DATE) == 30)
282
+					if (calendar.get(Calendar.DATE) == 31)
283
 					{
284
 						if (calendar.get(Calendar.MONTH) == 11)
285
 							calendar.roll(Calendar.YEAR, true);
286
 						calendar.roll(Calendar.MONTH, true);
287
 						
288
 					}
289
 					calendar.roll(Calendar.DATE, true);
290
 					mes--;
291
 				}
292
 			}
293
 			
294
 			end_day = calendar.getTimeInMillis();
295
 			HeroManager.getInstance().addHero(activeChar.getObjectId(), end_day);
296
 		}
297
 		
298
 		long _daysleft;
299
 		final long now = Calendar.getInstance().getTimeInMillis();
300
 		long duration = HeroManager.getInstance().getHeroDuration(activeChar.getObjectId());
301
 		final long endDay = duration;
302
 		_daysleft = ((endDay - now) / 86400000);
303
diff --git java/com/l2jmega/gameserver/handler/itemhandlers/hero/Hero7days.java
304
index 6e44b07..7449215 100644
305
--- java/com/l2jmega/gameserver/handler/itemhandlers/hero/Hero7days.java
306
+++ java/com/l2jmega/gameserver/handler/itemhandlers/hero/Hero7days.java
307
@@ -88,58 +88,58 @@
308
 						calendar.roll(Calendar.MONTH, true);
309
 					if (calendar.get(Calendar.DATE) == 30)
310
 					{
311
 						if (calendar.get(Calendar.MONTH) == 11)
312
 							calendar.roll(Calendar.YEAR, true);
313
 						calendar.roll(Calendar.MONTH, true);
314
 						
315
 					}
316
 					calendar.roll(Calendar.DATE, true);
317
 					_daysleft--;
318
 				}
319
 			}
320
 			
321
 			end_day = calendar.getTimeInMillis();
322
 			HeroManager.getInstance().updateHero(activeChar.getObjectId(), end_day);
323
 		}
324
 		else
325
 		{
326
 			long end_day;
327
 			final Calendar calendar = Calendar.getInstance();
328
-			if (mes >= 30)
329
+			if (mes >= 31)
330
 			{
331
-				while (mes >= 30)
332
+				while (mes >= 31)
333
 				{
334
 					if (calendar.get(Calendar.MONTH) == 11)
335
 						calendar.roll(Calendar.YEAR, true);
336
 					calendar.roll(Calendar.MONTH, true);
337
-					mes -= 30;
338
+					mes -= 31;
339
 				}
340
 			}
341
 			
342
-			if (mes < 30 && mes > 0)
343
+			if (mes < 31 && mes > 0)
344
 			{
345
 				while (mes > 0)
346
 				{
347
 					if (calendar.get(Calendar.DATE) == 28 && calendar.get(Calendar.MONTH) == 1)
348
 						calendar.roll(Calendar.MONTH, true);
349
-					if (calendar.get(Calendar.DATE) == 30)
350
+					if (calendar.get(Calendar.DATE) == 31)
351
 					{
352
 						if (calendar.get(Calendar.MONTH) == 11)
353
 							calendar.roll(Calendar.YEAR, true);
354
 						calendar.roll(Calendar.MONTH, true);
355
 						
356
 					}
357
 					calendar.roll(Calendar.DATE, true);
358
 					mes--;
359
 				}
360
 			}
361
 			
362
 			end_day = calendar.getTimeInMillis();
363
 			HeroManager.getInstance().addHero(activeChar.getObjectId(), end_day);
364
 		}
365
 		
366
 		long _daysleft;
367
 		final long now = Calendar.getInstance().getTimeInMillis();
368
 		long duration = HeroManager.getInstance().getHeroDuration(activeChar.getObjectId());
369
 		final long endDay = duration;
370
 		_daysleft = ((endDay - now) / 86400000);
371
diff --git java/com/l2jmega/gameserver/handler/itemhandlers/vip/Vip15days.java
372
index 1c954e3..45107c3 100644
373
--- java/com/l2jmega/gameserver/handler/itemhandlers/vip/Vip15days.java
374
+++ java/com/l2jmega/gameserver/handler/itemhandlers/vip/Vip15days.java
375
@@ -89,58 +89,58 @@
376
 						calendar.roll(Calendar.MONTH, true);
377
 					if (calendar.get(Calendar.DATE) == 30)
378
 					{
379
 						if (calendar.get(Calendar.MONTH) == 11)
380
 							calendar.roll(Calendar.YEAR, true);
381
 						calendar.roll(Calendar.MONTH, true);
382
 						
383
 					}
384
 					calendar.roll(Calendar.DATE, true);
385
 					_daysleft--;
386
 				}
387
 			}
388
 			
389
 			end_day = calendar.getTimeInMillis();
390
 			VipManager.getInstance().updateVip(activeChar.getObjectId(), end_day);
391
 		}
392
 		else
393
 		{
394
 			long end_day;
395
 			final Calendar calendar = Calendar.getInstance();
396
-			if (mes >= 30)
397
+			if (mes >= 31)
398
 			{
399
-				while (mes >= 30)
400
+				while (mes >= 31)
401
 				{
402
 					if (calendar.get(Calendar.MONTH) == 11)
403
 						calendar.roll(Calendar.YEAR, true);
404
 					calendar.roll(Calendar.MONTH, true);
405
-					mes -= 30;
406
+					mes -= 31;
407
 				}
408
 			}
409
 			
410
-			if (mes < 30 && mes > 0)
411
+			if (mes < 31 && mes > 0)
412
 			{
413
 				while (mes > 0)
414
 				{
415
 					if (calendar.get(Calendar.DATE) == 28 && calendar.get(Calendar.MONTH) == 1)
416
 						calendar.roll(Calendar.MONTH, true);
417
-					if (calendar.get(Calendar.DATE) == 30)
418
+					if (calendar.get(Calendar.DATE) == 31)
419
 					{
420
 						if (calendar.get(Calendar.MONTH) == 11)
421
 							calendar.roll(Calendar.YEAR, true);
422
 						calendar.roll(Calendar.MONTH, true);
423
 						
424
 					}
425
 					calendar.roll(Calendar.DATE, true);
426
 					mes--;
427
 				}
428
 			}
429
 			
430
 			end_day = calendar.getTimeInMillis();
431
 			VipManager.getInstance().addVip(activeChar.getObjectId(), end_day);
432
 		}
433
 		
434
 		long _daysleft;
435
 		final long now = Calendar.getInstance().getTimeInMillis();
436
 		long duration = VipManager.getInstance().getVipDuration(activeChar.getObjectId());
437
 		final long endDay = duration;
438
 		_daysleft = ((endDay - now) / 86400000);
439
diff --git java/com/l2jmega/gameserver/handler/itemhandlers/vip/Vip24h.java
440
index 49136a9..378be16 100644
441
--- java/com/l2jmega/gameserver/handler/itemhandlers/vip/Vip24h.java
442
+++ java/com/l2jmega/gameserver/handler/itemhandlers/vip/Vip24h.java
443
@@ -89,58 +89,58 @@
444
 						calendar.roll(Calendar.MONTH, true);
445
 					if (calendar.get(Calendar.DATE) == 30)
446
 					{
447
 						if (calendar.get(Calendar.MONTH) == 11)
448
 							calendar.roll(Calendar.YEAR, true);
449
 						calendar.roll(Calendar.MONTH, true);
450
 						
451
 					}
452
 					calendar.roll(Calendar.DATE, true);
453
 					_daysleft--;
454
 				}
455
 			}
456
 			
457
 			end_day = calendar.getTimeInMillis();
458
 			VipManager.getInstance().updateVip(activeChar.getObjectId(), end_day);
459
 		}
460
 		else
461
 		{
462
 			long end_day;
463
 			final Calendar calendar = Calendar.getInstance();
464
-			if (mes >= 30)
465
+			if (mes >= 31)
466
 			{
467
-				while (mes >= 30)
468
+				while (mes >= 31)
469
 				{
470
 					if (calendar.get(Calendar.MONTH) == 11)
471
 						calendar.roll(Calendar.YEAR, true);
472
 					calendar.roll(Calendar.MONTH, true);
473
-					mes -= 30;
474
+					mes -= 31;
475
 				}
476
 			}
477
 			
478
-			if (mes < 30 && mes > 0)
479
+			if (mes < 31 && mes > 0)
480
 			{
481
 				while (mes > 0)
482
 				{
483
 					if (calendar.get(Calendar.DATE) == 28 && calendar.get(Calendar.MONTH) == 1)
484
 						calendar.roll(Calendar.MONTH, true);
485
-					if (calendar.get(Calendar.DATE) == 30)
486
+					if (calendar.get(Calendar.DATE) == 31)
487
 					{
488
 						if (calendar.get(Calendar.MONTH) == 11)
489
 							calendar.roll(Calendar.YEAR, true);
490
 						calendar.roll(Calendar.MONTH, true);
491
 						
492
 					}
493
 					calendar.roll(Calendar.DATE, true);
494
 					mes--;
495
 				}
496
 			}
497
 			
498
 			end_day = calendar.getTimeInMillis();
499
 			VipManager.getInstance().addVip(activeChar.getObjectId(), end_day);
500
 		}
501
 		
502
 		long _daysleft;
503
 		final long now = Calendar.getInstance().getTimeInMillis();
504
 		long duration = VipManager.getInstance().getVipDuration(activeChar.getObjectId());
505
 		final long endDay = duration;
506
 		_daysleft = ((endDay - now) / 86400000);
507
diff --git java/com/l2jmega/gameserver/handler/itemhandlers/vip/Vip30days.java
508
index 3d30c65..f640bd3 100644
509
--- java/com/l2jmega/gameserver/handler/itemhandlers/vip/Vip30days.java
510
+++ java/com/l2jmega/gameserver/handler/itemhandlers/vip/Vip30days.java
511
@@ -89,58 +89,58 @@
512
 						calendar.roll(Calendar.MONTH, true);
513
 					if (calendar.get(Calendar.DATE) == 30)
514
 					{
515
 						if (calendar.get(Calendar.MONTH) == 11)
516
 							calendar.roll(Calendar.YEAR, true);
517
 						calendar.roll(Calendar.MONTH, true);
518
 						
519
 					}
520
 					calendar.roll(Calendar.DATE, true);
521
 					_daysleft--;
522
 				}
523
 			}
524
 			
525
 			end_day = calendar.getTimeInMillis();
526
 			VipManager.getInstance().updateVip(activeChar.getObjectId(), end_day);
527
 		}
528
 		else
529
 		{
530
 			long end_day;
531
 			final Calendar calendar = Calendar.getInstance();
532
-			if (mes >= 30)
533
+			if (mes >= 31)
534
 			{
535
-				while (mes >= 30)
536
+				while (mes >= 31)
537
 				{
538
 					if (calendar.get(Calendar.MONTH) == 11)
539
 						calendar.roll(Calendar.YEAR, true);
540
 					calendar.roll(Calendar.MONTH, true);
541
-					mes -= 30;
542
+					mes -= 31;
543
 				}
544
 			}
545
 			
546
-			if (mes < 30 && mes > 0)
547
+			if (mes < 31 && mes > 0)
548
 			{
549
 				while (mes > 0)
550
 				{
551
 					if (calendar.get(Calendar.DATE) == 28 && calendar.get(Calendar.MONTH) == 1)
552
 						calendar.roll(Calendar.MONTH, true);
553
-					if (calendar.get(Calendar.DATE) == 30)
554
+					if (calendar.get(Calendar.DATE) == 31)
555
 					{
556
 						if (calendar.get(Calendar.MONTH) == 11)
557
 							calendar.roll(Calendar.YEAR, true);
558
 						calendar.roll(Calendar.MONTH, true);
559
 						
560
 					}
561
 					calendar.roll(Calendar.DATE, true);
562
 					mes--;
563
 				}
564
 			}
565
 			
566
 			end_day = calendar.getTimeInMillis();
567
 			VipManager.getInstance().addVip(activeChar.getObjectId(), end_day);
568
 		}
569
 		
570
 		long _daysleft;
571
 		final long now = Calendar.getInstance().getTimeInMillis();
572
 		long duration = VipManager.getInstance().getVipDuration(activeChar.getObjectId());
573
 		final long endDay = duration;
574
 		_daysleft = ((endDay - now) / 86400000);
575
diff --git java/com/l2jmega/gameserver/handler/itemhandlers/vip/Vip7days.java
576
index 812c47c..b545b9d 100644
577
--- java/com/l2jmega/gameserver/handler/itemhandlers/vip/Vip7days.java
578
+++ java/com/l2jmega/gameserver/handler/itemhandlers/vip/Vip7days.java
579
@@ -89,58 +89,58 @@
580
 						calendar.roll(Calendar.MONTH, true);
581
 					if (calendar.get(Calendar.DATE) == 30)
582
 					{
583
 						if (calendar.get(Calendar.MONTH) == 11)
584
 							calendar.roll(Calendar.YEAR, true);
585
 						calendar.roll(Calendar.MONTH, true);
586
 						
587
 					}
588
 					calendar.roll(Calendar.DATE, true);
589
 					_daysleft--;
590
 				}
591
 			}
592
 			
593
 			end_day = calendar.getTimeInMillis();
594
 			VipManager.getInstance().updateVip(activeChar.getObjectId(), end_day);
595
 		}
596
 		else
597
 		{
598
 			long end_day;
599
 			final Calendar calendar = Calendar.getInstance();
600
-			if (mes >= 30)
601
+			if (mes >= 31)
602
 			{
603
-				while (mes >= 30)
604
+				while (mes >= 31)
605
 				{
606
 					if (calendar.get(Calendar.MONTH) == 11)
607
 						calendar.roll(Calendar.YEAR, true);
608
 					calendar.roll(Calendar.MONTH, true);
609
-					mes -= 30;
610
+					mes -= 31;
611
 				}
612
 			}
613
 			
614
-			if (mes < 30 && mes > 0)
615
+			if (mes < 31 && mes > 0)
616
 			{
617
 				while (mes > 0)
618
 				{
619
 					if (calendar.get(Calendar.DATE) == 28 && calendar.get(Calendar.MONTH) == 1)
620
 						calendar.roll(Calendar.MONTH, true);
621
-					if (calendar.get(Calendar.DATE) == 30)
622
+					if (calendar.get(Calendar.DATE) == 31)
623
 					{
624
 						if (calendar.get(Calendar.MONTH) == 11)
625
 							calendar.roll(Calendar.YEAR, true);
626
 						calendar.roll(Calendar.MONTH, true);
627
 						
628
 					}
629
 					calendar.roll(Calendar.DATE, true);
630
 					mes--;
631
 				}
632
 			}
633
 			
634
 			end_day = calendar.getTimeInMillis();
635
 			VipManager.getInstance().addVip(activeChar.getObjectId(), end_day);
636
 		}
637
 		
638
 		long _daysleft;
639
 		final long now = Calendar.getInstance().getTimeInMillis();
640
 		long duration = VipManager.getInstance().getVipDuration(activeChar.getObjectId());
641
 		final long endDay = duration;
642
 		_daysleft = ((endDay - now) / 86400000);
643
diff --git java/com/l2jmega/gameserver/model/actor/Creature.java
644
index aabe628..c556ccf 100644
645
--- java/com/l2jmega/gameserver/model/actor/Creature.java
646
+++ java/com/l2jmega/gameserver/model/actor/Creature.java
647
@@ -1290,41 +1290,40 @@
648
 			
649
 			if (skill.getSkillType() == L2SkillType.FUSION)
650
 				startFusionSkill(target, skill);
651
 			else
652
 				callSkill(skill, targets);
653
 		}
654
 		
655
 		// Get the Display Identifier for a skill that client can't display
656
 		int displayId = skill.getId();
657
 		
658
 		// Get the level of the skill
659
 		int level = skill.getLevel();
660
 		if (level < 1)
661
 			level = 1;
662
 		
663
 		// Broadcast MagicSkillUse for non toggle skills.
664
 		if (!skill.isToggle())
665
 		{
666
 			if (!skill.isPotion())
667
 			{
668
-				if (!(skill.isHeroSkill()))
669
 					broadcastPacket(new MagicSkillUse(this, target, displayId, level, skillTime, reuseDelay, false));
670
 				
671
 				broadcastPacket(new MagicSkillLaunched(this, displayId, level, (targets == null || targets.length == 0) ? new WorldObject[]
672
 				{
673
 					target
674
 				} : targets));
675
 			}
676
 			else
677
 				broadcastPacket(new MagicSkillUse(this, target, displayId, level, 0, 0));
678
 		}
679
 		
680
 		if (this instanceof Playable)
681
 		{
682
 			// Send a system message USE_S1 to the Creature
683
 			if (this instanceof Player && skill.getId() != 1312 && skill.getId() != 2099)
684
 			{
685
 				SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.USE_S1);
686
 				sm.addSkillName(skill);
687
 				sendPacket(sm);
688
 			}
689
diff --git java/config/main/options.ini java/config/main/options.ini
690
index 7609fe7..05c2b05 100644
691
--- java/config/main/options.ini
692
+++ java/config/main/options.ini
693
@@ -125,56 +125,40 @@
694
 # =================================================================
695
 #                          Flood Protectors
696
 # =================================================================
697
 
698
 # Os valores são mostrados em ms. Eles podem ser definidos como 0 para serem desativados.
699
 RollDiceTime = 4200
700
 HeroVoiceTime = 0
701
 SubclassTime = 2000
702
 DropItemTime = 1000
703
 ServerBypassTime = 500
704
 MultisellTime = 100
705
 ManufactureTime = 300
706
 ManorTime = 3000
707
 SendMailTime = 10000
708
 CharacterSelectTime = 3000
709
 GlobalChatTime = 0
710
 TradeChatTime = 0
711
 SocialTime = 2000
712
 
713
-# =================================================================
714
-#                            Threadpool
715
-# =================================================================
716
-
717
-# Determina a quantidade de conjuntos de threads agendados. Se definido como -1, o servidor decidirá a quantidade dependendo dos processadores disponíveis.
718
-ScheduledThreadPoolCount = -1
719
-
720
-# Especifica quantos threads estarão em um único pool agendado.
721
-ThreadsPerScheduledThreadPool = 750
722
-
723
-# Determina a quantidade de pools de threads instantâneos. Se definido como -1, o servidor decidirá a quantidade dependendo dos processadores disponíveis.
724
-InstantThreadPoolCount = -1
725
-
726
-# Especifica quantos threads estarão em um único pool instantâneo.
727
-ThreadsPerInstantThreadPool = 8
728
729
 # =================================================================
730
 #                                Misc
731
 # =================================================================
732
 
733
 # Proteção básica contra L2Walker.
734
 L2WalkerProtection = False
735
 
736
 # Configuração de zona.
737
 # 0 = Paz o tempo todo
738
 # 1 = PVP durante a siege para os participantes da siege
739
 # 2 = PVP o tempo todo
740
 ZoneTown = 0
741
 
742
 # Mostra "data / html / servnews.htm" quando um personagem faz o login.
743
 ShowServerNews = false
744
 
745
 # Desative o tutorial na entrada do jogo para um novo jogador. Padrão: false.
746
 DisableTutorial = true
747
 
748
 # --------------------------------
749
 #  Chat Filter System -
750