Browse Source

System messages rework from Forsaken.

JIV 14 years ago
parent
commit
7d341b4582
100 changed files with 770 additions and 761 deletions
  1. 10 0
      L2_GameServer/java/com/l2jserver/Config.java
  2. 1 1
      L2_GameServer/java/com/l2jserver/gameserver/Announcements.java
  3. 3 3
      L2_GameServer/java/com/l2jserver/gameserver/GmListTable.java
  4. 1 1
      L2_GameServer/java/com/l2jserver/gameserver/LoginServerThread.java
  5. 20 20
      L2_GameServer/java/com/l2jserver/gameserver/RecipeController.java
  6. 5 5
      L2_GameServer/java/com/l2jserver/gameserver/SevenSigns.java
  7. 2 2
      L2_GameServer/java/com/l2jserver/gameserver/SevenSignsFestival.java
  8. 1 1
      L2_GameServer/java/com/l2jserver/gameserver/Shutdown.java
  9. 1 1
      L2_GameServer/java/com/l2jserver/gameserver/ai/L2CharacterAI.java
  10. 1 1
      L2_GameServer/java/com/l2jserver/gameserver/communitybbs/CommunityBoard.java
  11. 2 2
      L2_GameServer/java/com/l2jserver/gameserver/communitybbs/Manager/ClanBBSManager.java
  12. 1 1
      L2_GameServer/java/com/l2jserver/gameserver/communitybbs/Manager/RegionBBSManager.java
  13. 16 16
      L2_GameServer/java/com/l2jserver/gameserver/datatables/ClanTable.java
  14. 5 5
      L2_GameServer/java/com/l2jserver/gameserver/datatables/MultiSell.java
  15. 2 2
      L2_GameServer/java/com/l2jserver/gameserver/instancemanager/CastleManorManager.java
  16. 1 1
      L2_GameServer/java/com/l2jserver/gameserver/instancemanager/CursedWeaponsManager.java
  17. 1 1
      L2_GameServer/java/com/l2jserver/gameserver/instancemanager/FortSiegeManager.java
  18. 3 3
      L2_GameServer/java/com/l2jserver/gameserver/instancemanager/FourSepulchersManager.java
  19. 8 9
      L2_GameServer/java/com/l2jserver/gameserver/instancemanager/HandysBlockCheckerManager.java
  20. 2 2
      L2_GameServer/java/com/l2jserver/gameserver/instancemanager/MailManager.java
  21. 6 6
      L2_GameServer/java/com/l2jserver/gameserver/instancemanager/PetitionManager.java
  22. 14 14
      L2_GameServer/java/com/l2jserver/gameserver/instancemanager/TerritoryWarManager.java
  23. 3 3
      L2_GameServer/java/com/l2jserver/gameserver/instancemanager/games/Lottery.java
  24. 5 5
      L2_GameServer/java/com/l2jserver/gameserver/model/BlockList.java
  25. 2 2
      L2_GameServer/java/com/l2jserver/gameserver/model/CharEffectList.java
  26. 2 2
      L2_GameServer/java/com/l2jserver/gameserver/model/CombatFlag.java
  27. 6 6
      L2_GameServer/java/com/l2jserver/gameserver/model/CursedWeapon.java
  28. 61 61
      L2_GameServer/java/com/l2jserver/gameserver/model/L2Clan.java
  29. 3 3
      L2_GameServer/java/com/l2jserver/gameserver/model/L2CommandChannel.java
  30. 2 2
      L2_GameServer/java/com/l2jserver/gameserver/model/L2Effect.java
  31. 19 19
      L2_GameServer/java/com/l2jserver/gameserver/model/L2Fishing.java
  32. 5 5
      L2_GameServer/java/com/l2jserver/gameserver/model/L2ItemInstance.java
  33. 18 18
      L2_GameServer/java/com/l2jserver/gameserver/model/L2Party.java
  34. 3 3
      L2_GameServer/java/com/l2jserver/gameserver/model/L2Request.java
  35. 19 19
      L2_GameServer/java/com/l2jserver/gameserver/model/L2Skill.java
  36. 1 1
      L2_GameServer/java/com/l2jserver/gameserver/model/PartyMatchRoom.java
  37. 1 1
      L2_GameServer/java/com/l2jserver/gameserver/model/PartyMatchRoomList.java
  38. 3 3
      L2_GameServer/java/com/l2jserver/gameserver/model/TerritoryWard.java
  39. 16 16
      L2_GameServer/java/com/l2jserver/gameserver/model/TradeList.java
  40. 3 3
      L2_GameServer/java/com/l2jserver/gameserver/model/actor/L2Attackable.java
  41. 33 33
      L2_GameServer/java/com/l2jserver/gameserver/model/actor/L2Character.java
  42. 7 7
      L2_GameServer/java/com/l2jserver/gameserver/model/actor/L2Npc.java
  43. 13 13
      L2_GameServer/java/com/l2jserver/gameserver/model/actor/L2Summon.java
  44. 1 1
      L2_GameServer/java/com/l2jserver/gameserver/model/actor/L2Vehicle.java
  45. 5 5
      L2_GameServer/java/com/l2jserver/gameserver/model/actor/instance/L2AuctioneerInstance.java
  46. 1 1
      L2_GameServer/java/com/l2jserver/gameserver/model/actor/instance/L2BabyPetInstance.java
  47. 1 1
      L2_GameServer/java/com/l2jserver/gameserver/model/actor/instance/L2CabaleBufferInstance.java
  48. 2 2
      L2_GameServer/java/com/l2jserver/gameserver/model/actor/instance/L2CastleChamberlainInstance.java
  49. 1 1
      L2_GameServer/java/com/l2jserver/gameserver/model/actor/instance/L2CastleMagicianInstance.java
  50. 1 1
      L2_GameServer/java/com/l2jserver/gameserver/model/actor/instance/L2ClanHallManagerInstance.java
  51. 1 1
      L2_GameServer/java/com/l2jserver/gameserver/model/actor/instance/L2ClanTraderInstance.java
  52. 1 1
      L2_GameServer/java/com/l2jserver/gameserver/model/actor/instance/L2ClassMasterInstance.java
  53. 13 13
      L2_GameServer/java/com/l2jserver/gameserver/model/actor/instance/L2ControllableAirShipInstance.java
  54. 1 1
      L2_GameServer/java/com/l2jserver/gameserver/model/actor/instance/L2CubicInstance.java
  55. 1 1
      L2_GameServer/java/com/l2jserver/gameserver/model/actor/instance/L2DoorInstance.java
  56. 4 4
      L2_GameServer/java/com/l2jserver/gameserver/model/actor/instance/L2DungeonGatekeeperInstance.java
  57. 1 1
      L2_GameServer/java/com/l2jserver/gameserver/model/actor/instance/L2FameManagerInstance.java
  58. 2 2
      L2_GameServer/java/com/l2jserver/gameserver/model/actor/instance/L2FishermanInstance.java
  59. 1 1
      L2_GameServer/java/com/l2jserver/gameserver/model/actor/instance/L2FortBallistaInstance.java
  60. 1 1
      L2_GameServer/java/com/l2jserver/gameserver/model/actor/instance/L2FortSupportCaptainInstance.java
  61. 1 1
      L2_GameServer/java/com/l2jserver/gameserver/model/actor/instance/L2GrandBossInstance.java
  62. 2 2
      L2_GameServer/java/com/l2jserver/gameserver/model/actor/instance/L2NpcBufferInstance.java
  63. 3 3
      L2_GameServer/java/com/l2jserver/gameserver/model/actor/instance/L2NpcInstance.java
  64. 122 122
      L2_GameServer/java/com/l2jserver/gameserver/model/actor/instance/L2PcInstance.java
  65. 25 25
      L2_GameServer/java/com/l2jserver/gameserver/model/actor/instance/L2PetInstance.java
  66. 4 4
      L2_GameServer/java/com/l2jserver/gameserver/model/actor/instance/L2RaceManagerInstance.java
  67. 1 1
      L2_GameServer/java/com/l2jserver/gameserver/model/actor/instance/L2RaidBossInstance.java
  68. 2 2
      L2_GameServer/java/com/l2jserver/gameserver/model/actor/instance/L2SiegeFlagInstance.java
  69. 17 17
      L2_GameServer/java/com/l2jserver/gameserver/model/actor/instance/L2SignsPriestInstance.java
  70. 4 4
      L2_GameServer/java/com/l2jserver/gameserver/model/actor/instance/L2TeleporterInstance.java
  71. 1 1
      L2_GameServer/java/com/l2jserver/gameserver/model/actor/instance/L2TerritoryWardInstance.java
  72. 2 2
      L2_GameServer/java/com/l2jserver/gameserver/model/actor/instance/L2TransformManagerInstance.java
  73. 2 2
      L2_GameServer/java/com/l2jserver/gameserver/model/actor/instance/L2TrapInstance.java
  74. 41 41
      L2_GameServer/java/com/l2jserver/gameserver/model/actor/instance/L2VillageMasterInstance.java
  75. 10 10
      L2_GameServer/java/com/l2jserver/gameserver/model/actor/stat/PcStat.java
  76. 1 1
      L2_GameServer/java/com/l2jserver/gameserver/model/actor/stat/PetStat.java
  77. 3 3
      L2_GameServer/java/com/l2jserver/gameserver/model/actor/status/PcStatus.java
  78. 1 1
      L2_GameServer/java/com/l2jserver/gameserver/model/actor/status/PetStatus.java
  79. 3 3
      L2_GameServer/java/com/l2jserver/gameserver/model/entity/Auction.java
  80. 4 4
      L2_GameServer/java/com/l2jserver/gameserver/model/entity/BlockCheckerEngine.java
  81. 2 2
      L2_GameServer/java/com/l2jserver/gameserver/model/entity/ClanHall.java
  82. 9 9
      L2_GameServer/java/com/l2jserver/gameserver/model/entity/Duel.java
  83. 2 2
      L2_GameServer/java/com/l2jserver/gameserver/model/entity/Fort.java
  84. 19 19
      L2_GameServer/java/com/l2jserver/gameserver/model/entity/FortSiege.java
  85. 2 2
      L2_GameServer/java/com/l2jserver/gameserver/model/entity/Hero.java
  86. 2 2
      L2_GameServer/java/com/l2jserver/gameserver/model/entity/Instance.java
  87. 23 23
      L2_GameServer/java/com/l2jserver/gameserver/model/entity/Siege.java
  88. 3 3
      L2_GameServer/java/com/l2jserver/gameserver/model/entity/TvTEvent.java
  89. 14 14
      L2_GameServer/java/com/l2jserver/gameserver/model/itemauction/ItemAuction.java
  90. 2 2
      L2_GameServer/java/com/l2jserver/gameserver/model/itemauction/ItemAuctionInstance.java
  91. 14 14
      L2_GameServer/java/com/l2jserver/gameserver/model/olympiad/AbstractOlympiadGame.java
  92. 5 5
      L2_GameServer/java/com/l2jserver/gameserver/model/olympiad/Olympiad.java
  93. 7 7
      L2_GameServer/java/com/l2jserver/gameserver/model/olympiad/OlympiadGameNormal.java
  94. 5 5
      L2_GameServer/java/com/l2jserver/gameserver/model/olympiad/OlympiadGameTask.java
  95. 6 6
      L2_GameServer/java/com/l2jserver/gameserver/model/olympiad/OlympiadGameTeams.java
  96. 22 22
      L2_GameServer/java/com/l2jserver/gameserver/model/olympiad/OlympiadManager.java
  97. 9 9
      L2_GameServer/java/com/l2jserver/gameserver/model/quest/QuestState.java
  98. 2 2
      L2_GameServer/java/com/l2jserver/gameserver/model/zone/type/L2ArenaZone.java
  99. 2 2
      L2_GameServer/java/com/l2jserver/gameserver/model/zone/type/L2JailZone.java
  100. 2 2
      L2_GameServer/java/com/l2jserver/gameserver/model/zone/type/L2MotherTreeZone.java

+ 10 - 0
L2_GameServer/java/com/l2jserver/Config.java

@@ -721,6 +721,8 @@ public final class Config
 	public static List<String> L2JMOD_MULTILANG_ALLOWED = new ArrayList<String>();
 	public static String L2JMOD_MULTILANG_DEFAULT;
 	public static boolean L2JMOD_MULTILANG_VOICED_ALLOW;
+	public static boolean L2JMOD_MULTILANG_SM_ENABLE;
+	public static List<String> L2JMOD_MULTILANG_SM_ALLOWED = new ArrayList<String>();
 	public static boolean L2WALKER_PROTECTION;
 	public static boolean L2JMOD_DEBUG_VOICE_COMMAND;
 	public static int L2JMOD_DUALBOX_CHECK_MAX_PLAYERS_PER_IP;
@@ -2453,6 +2455,14 @@ public final class Config
 					if (!L2JMOD_MULTILANG_ALLOWED.contains(L2JMOD_MULTILANG_DEFAULT))
 						_log.warning("MultiLang[Config.load()]: default language: " + L2JMOD_MULTILANG_DEFAULT + " is not in allowed list !");
 					L2JMOD_MULTILANG_VOICED_ALLOW = Boolean.parseBoolean(L2JModSettings.getProperty("MultiLangVoiceCommand", "True"));
+					L2JMOD_MULTILANG_SM_ENABLE = Boolean.parseBoolean(L2JModSettings.getProperty("MultiLangSystemMessageEnable", "false"));
+					allowed = L2JModSettings.getProperty("MultiLangSystemMessageAllowed", "").split(";");
+					L2JMOD_MULTILANG_SM_ALLOWED = new ArrayList<String>(allowed.length);
+					for (String lang : allowed)
+					{
+						if (!lang.isEmpty())
+							L2JMOD_MULTILANG_SM_ALLOWED.add(lang);
+					}
 					
 					L2WALKER_PROTECTION = Boolean.parseBoolean(L2JModSettings.getProperty("L2WalkerProtection", "False"));
 					L2JMOD_DEBUG_VOICE_COMMAND = Boolean.parseBoolean(L2JModSettings.getProperty("DebugVoiceCommand", "False"));

+ 1 - 1
L2_GameServer/java/com/l2jserver/gameserver/Announcements.java

@@ -93,7 +93,7 @@ public class Announcements
 			
 			if (!validDateRange.isValid() || validDateRange.isWithinRange(currentDate))
 			{
-				SystemMessage sm = new SystemMessage(SystemMessageId.S1);
+				SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.S1);
 				for (int j = 0; j < msg.length; j++)
 				{
 					sm.addString(msg[j]);

+ 3 - 3
L2_GameServer/java/com/l2jserver/gameserver/GmListTable.java

@@ -126,17 +126,17 @@ public class GmListTable
 	{
 		if (isGmOnline(player.isGM()))
 		{
-			player.sendPacket(new SystemMessage(SystemMessageId.GM_LIST));
+			player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.GM_LIST));
 			
 			for (String name : getAllGmNames(player.isGM()))
 			{
-				SystemMessage sm = new SystemMessage(SystemMessageId.GM_C1);
+				SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.GM_C1);
 				sm.addString(name);
 				player.sendPacket(sm);
 			}
 		}
 		else
-			player.sendPacket(new SystemMessage(SystemMessageId.NO_GM_PROVIDING_SERVICE_NOW));
+			player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.NO_GM_PROVIDING_SERVICE_NOW));
 	}
 	
 	public static void broadcastToGMs(L2GameServerPacket packet)

+ 1 - 1
L2_GameServer/java/com/l2jserver/gameserver/LoginServerThread.java

@@ -477,7 +477,7 @@ public class LoginServerThread extends Thread
 			LogRecord record = new LogRecord(Level.WARNING, "Kicked by login");
 			record.setParameters(new Object[]{client});
 			_logAccounting.log(record);
-			client.setAditionalClosePacket(new SystemMessage(SystemMessageId.ANOTHER_LOGIN_WITH_ACCOUNT));
+			client.setAditionalClosePacket(SystemMessage.getSystemMessage(SystemMessageId.ANOTHER_LOGIN_WITH_ACCOUNT));
 			client.closeNow();
 		}
 	}

+ 20 - 20
L2_GameServer/java/com/l2jserver/gameserver/RecipeController.java

@@ -133,7 +133,7 @@ public class RecipeController
 			return;
 		}
 		
-		player.sendPacket(new SystemMessage(SystemMessageId.CANT_ALTER_RECIPEBOOK_WHILE_CRAFTING));
+		player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.CANT_ALTER_RECIPEBOOK_WHILE_CRAFTING));
 	}
 	
 	public synchronized void requestMakeItemAbort(L2PcInstance player)
@@ -183,7 +183,7 @@ public class RecipeController
 	{
 		if (AttackStanceTaskManager.getInstance().getAttackStanceTask(player) || player.isInDuel())
 		{
-			player.sendPacket(new SystemMessage(SystemMessageId.CANT_OPERATE_PRIVATE_STORE_DURING_COMBAT));
+			player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.CANT_OPERATE_PRIVATE_STORE_DURING_COMBAT));
 			return;
 		}
 		
@@ -207,7 +207,7 @@ public class RecipeController
 		// check if already busy (possible in alt mode only)
 		if (Config.ALT_GAME_CREATION && ((maker = _activeMakers.get(player.getObjectId())) != null))
 		{
-			SystemMessage sm = new SystemMessage(SystemMessageId.S2_S1);
+			SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.S2_S1);
 			sm.addItemName(recipeList.getItemId());
 			sm.addString("You are busy creating");
 			player.sendPacket(sm);
@@ -468,7 +468,7 @@ public class RecipeController
 						_price = temp.getCost();
 						if (_target.getAdena() < _price) // check price
 						{
-							_target.sendPacket(new SystemMessage(SystemMessageId.YOU_NOT_ENOUGH_ADENA));
+							_target.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.YOU_NOT_ENOUGH_ADENA));
 							abort();
 							return;
 						}
@@ -607,7 +607,7 @@ public class RecipeController
 				
 				if (adenatransfer == null)
 				{
-					_target.sendPacket(new SystemMessage(SystemMessageId.YOU_NOT_ENOUGH_ADENA));
+					_target.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.YOU_NOT_ENOUGH_ADENA));
 					abort();
 					return;
 				}
@@ -626,20 +626,20 @@ public class RecipeController
 			{
 				if (_target != _player)
 				{
-					SystemMessage msg = new SystemMessage(SystemMessageId.CREATION_OF_S2_FOR_C1_AT_S3_ADENA_FAILED);
+					SystemMessage msg = SystemMessage.getSystemMessage(SystemMessageId.CREATION_OF_S2_FOR_C1_AT_S3_ADENA_FAILED);
 					msg.addString(_target.getName());
 					msg.addItemName(_recipeList.getItemId());
 					msg.addItemNumber(_price);
 					_player.sendPacket(msg);
 					
-					msg = new SystemMessage(SystemMessageId.C1_FAILED_TO_CREATE_S2_FOR_S3_ADENA);
+					msg = SystemMessage.getSystemMessage(SystemMessageId.C1_FAILED_TO_CREATE_S2_FOR_S3_ADENA);
 					msg.addString(_player.getName());
 					msg.addItemName(_recipeList.getItemId());
 					msg.addItemNumber(_price);
 					_target.sendPacket(msg);
 				}
 				else
-					_target.sendPacket(new SystemMessage(SystemMessageId.ITEM_MIXING_FAILED));
+					_target.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.ITEM_MIXING_FAILED));
 				updateMakeInfo(false);
 			}
 			// update load and mana bar of craft window
@@ -693,7 +693,7 @@ public class RecipeController
 				
 				if (_target == _player)
 				{
-					SystemMessage sm = new SystemMessage(SystemMessageId.S1_S2_EQUIPPED); // you equipped ...
+					SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.S1_S2_EQUIPPED); // you equipped ...
 					sm.addItemNumber(count);
 					sm.addItemName(item.getItemId());
 					_player.sendPacket(sm);
@@ -750,7 +750,7 @@ public class RecipeController
 						else
 							// no rest - report no hp
 						{
-							_target.sendPacket(new SystemMessage(SystemMessageId.NOT_ENOUGH_HP));
+							_target.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.NOT_ENOUGH_HP));
 							abort();
 						}
 						ret = false;
@@ -771,7 +771,7 @@ public class RecipeController
 						else
 							// no rest - report no mana
 						{
-							_target.sendPacket(new SystemMessage(SystemMessageId.NOT_ENOUGH_MP));
+							_target.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.NOT_ENOUGH_MP));
 							abort();
 						}
 						ret = false;
@@ -809,7 +809,7 @@ public class RecipeController
 					// check materials
 					if (itemQuantityAmount < quantity)
 					{
-						sm = new SystemMessage(SystemMessageId.MISSING_S2_S1_TO_CREATE);
+						sm = SystemMessage.getSystemMessage(SystemMessageId.MISSING_S2_S1_TO_CREATE);
 						sm.addItemName(recipe.getItemId());
 						sm.addItemNumber(quantity - itemQuantityAmount);
 						_target.sendPacket(sm);
@@ -833,14 +833,14 @@ public class RecipeController
 					
 					if (tmp.getQuantity() > 1)
 					{
-						sm = new SystemMessage(SystemMessageId.S2_S1_DISAPPEARED);
+						sm = SystemMessage.getSystemMessage(SystemMessageId.S2_S1_DISAPPEARED);
 						sm.addItemName(tmp.getItemId());
 						sm.addItemNumber(tmp.getQuantity());
 						_target.sendPacket(sm);
 					}
 					else 
 					{
-						sm = new SystemMessage(SystemMessageId.S1_DISAPPEARED);
+						sm = SystemMessage.getSystemMessage(SystemMessageId.S1_DISAPPEARED);
 						sm.addItemName(tmp.getItemId());
 						_target.sendPacket(sm);
 					}
@@ -947,13 +947,13 @@ public class RecipeController
 				// inform manufacturer of earned profit
 				if (itemCount == 1)
 				{
-					sm = new SystemMessage(SystemMessageId.S2_CREATED_FOR_C1_FOR_S3_ADENA);
+					sm = SystemMessage.getSystemMessage(SystemMessageId.S2_CREATED_FOR_C1_FOR_S3_ADENA);
 					sm.addString(_target.getName());
 					sm.addItemName(itemId);
 					sm.addItemNumber(_price);
 					_player.sendPacket(sm);
 					
-					sm = new SystemMessage(SystemMessageId.C1_CREATED_S2_FOR_S3_ADENA);
+					sm = SystemMessage.getSystemMessage(SystemMessageId.C1_CREATED_S2_FOR_S3_ADENA);
 					sm.addString(_player.getName());
 					sm.addItemName(itemId);
 					sm.addItemNumber(_price);
@@ -961,14 +961,14 @@ public class RecipeController
 				}
 				else
 				{
-					sm = new SystemMessage(SystemMessageId.S2_S3_S_CREATED_FOR_C1_FOR_S4_ADENA);
+					sm = SystemMessage.getSystemMessage(SystemMessageId.S2_S3_S_CREATED_FOR_C1_FOR_S4_ADENA);
 					sm.addString(_target.getName());
 					sm.addNumber(itemCount);
 					sm.addItemName(itemId);
 					sm.addItemNumber(_price);
 					_player.sendPacket(sm);
 					
-					sm = new SystemMessage(SystemMessageId.C1_CREATED_S2_S3_S_FOR_S4_ADENA);
+					sm = SystemMessage.getSystemMessage(SystemMessageId.C1_CREATED_S2_S3_S_FOR_S4_ADENA);
 					sm.addString(_player.getName());
 					sm.addNumber(itemCount);
 					sm.addItemName(itemId);
@@ -979,14 +979,14 @@ public class RecipeController
 			
 			if (itemCount > 1)
 			{
-				sm = new SystemMessage(SystemMessageId.EARNED_S2_S1_S);
+				sm = SystemMessage.getSystemMessage(SystemMessageId.EARNED_S2_S1_S);
 				sm.addItemName(itemId);
 				sm.addItemNumber(itemCount);
 				_target.sendPacket(sm);
 			}
 			else
 			{
-				sm = new SystemMessage(SystemMessageId.EARNED_ITEM);
+				sm = SystemMessage.getSystemMessage(SystemMessageId.EARNED_ITEM);
 				sm.addItemName(itemId);
 				_target.sendPacket(sm);
 			}

+ 5 - 5
L2_GameServer/java/com/l2jserver/gameserver/SevenSigns.java

@@ -1198,16 +1198,16 @@ public class SevenSigns
 		switch (getCurrentPeriod())
 		{
 			case PERIOD_COMP_RECRUITING:
-				sm = new SystemMessage(SystemMessageId.PREPARATIONS_PERIOD_BEGUN);
+				sm = SystemMessage.getSystemMessage(SystemMessageId.PREPARATIONS_PERIOD_BEGUN);
 				break;
 			case PERIOD_COMPETITION:
-				sm = new SystemMessage(SystemMessageId.COMPETITION_PERIOD_BEGUN);
+				sm = SystemMessage.getSystemMessage(SystemMessageId.COMPETITION_PERIOD_BEGUN);
 				break;
 			case PERIOD_COMP_RESULTS:
-				sm = new SystemMessage(SystemMessageId.RESULTS_PERIOD_BEGUN);
+				sm = SystemMessage.getSystemMessage(SystemMessageId.RESULTS_PERIOD_BEGUN);
 				break;
 			case PERIOD_SEAL_VALIDATION:
-				sm = new SystemMessage(SystemMessageId.VALIDATION_PERIOD_BEGUN);
+				sm = SystemMessage.getSystemMessage(SystemMessageId.VALIDATION_PERIOD_BEGUN);
 				break;
 		}
 		
@@ -1221,7 +1221,7 @@ public class SevenSigns
 	 */
 	public void sendMessageToAll(SystemMessageId sysMsgId)
 	{
-		SystemMessage sm = new SystemMessage(sysMsgId);
+		SystemMessage sm = SystemMessage.getSystemMessage(sysMsgId);
 		Broadcast.toAllOnlinePlayers(sm);
 	}
 	

+ 2 - 2
L2_GameServer/java/com/l2jserver/gameserver/SevenSignsFestival.java

@@ -1143,7 +1143,7 @@ public class SevenSignsFestival implements SpawnListener
 			if (player.getClan() != null)
 			{
 				player.getClan().addReputationScore(Config.FESTIVAL_WIN_POINTS, true);
-				SystemMessage sm = new SystemMessage(SystemMessageId.CLAN_MEMBER_C1_WAS_IN_HIGHEST_RANKED_PARTY_IN_FESTIVAL_OF_DARKNESS_AND_GAINED_S2_REPUTATION);
+				SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.CLAN_MEMBER_C1_WAS_IN_HIGHEST_RANKED_PARTY_IN_FESTIVAL_OF_DARKNESS_AND_GAINED_S2_REPUTATION);
 				sm.addString(partyMemberName);
 				sm.addNumber(Config.FESTIVAL_WIN_POINTS);
 				player.getClan().broadcastToOnlineMembers(sm);
@@ -1168,7 +1168,7 @@ public class SevenSignsFestival implements SpawnListener
 						if (clan != null)
 						{
 							clan.addReputationScore(Config.FESTIVAL_WIN_POINTS, true);
-							SystemMessage sm = new SystemMessage(SystemMessageId.CLAN_MEMBER_C1_WAS_IN_HIGHEST_RANKED_PARTY_IN_FESTIVAL_OF_DARKNESS_AND_GAINED_S2_REPUTATION);
+							SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.CLAN_MEMBER_C1_WAS_IN_HIGHEST_RANKED_PARTY_IN_FESTIVAL_OF_DARKNESS_AND_GAINED_S2_REPUTATION);
 							sm.addString(partyMemberName);
 							sm.addNumber(Config.FESTIVAL_WIN_POINTS);
 							clan.broadcastToOnlineMembers(sm);

+ 1 - 1
L2_GameServer/java/com/l2jserver/gameserver/Shutdown.java

@@ -72,7 +72,7 @@ public class Shutdown extends Thread
 	 */
 	private void SendServerQuit(int seconds)
 	{
-		SystemMessage sysm = new SystemMessage(SystemMessageId.THE_SERVER_WILL_BE_COMING_DOWN_IN_S1_SECONDS);
+		SystemMessage sysm = SystemMessage.getSystemMessage(SystemMessageId.THE_SERVER_WILL_BE_COMING_DOWN_IN_S1_SECONDS);
 		sysm.addNumber(seconds);
 		Broadcast.toAllOnlinePlayers(sysm);
 	}

+ 1 - 1
L2_GameServer/java/com/l2jserver/gameserver/ai/L2CharacterAI.java

@@ -1003,7 +1003,7 @@ public class L2CharacterAI extends AbstractAI
 			{
 				if (!((L2PcInstance)_actor).getTransformation().canStartFollowToCast())
 				{
-					((L2PcInstance)_actor).sendPacket(new SystemMessage(SystemMessageId.DIST_TOO_FAR_CASTING_STOPPED));
+					((L2PcInstance)_actor).sendPacket(SystemMessage.getSystemMessage(SystemMessageId.DIST_TOO_FAR_CASTING_STOPPED));
 					((L2PcInstance)_actor).sendPacket(ActionFailed.STATIC_PACKET);
 					
 					return true;

+ 1 - 1
L2_GameServer/java/com/l2jserver/gameserver/communitybbs/CommunityBoard.java

@@ -47,7 +47,7 @@ public class CommunityBoard
 		{
 			default:
 			case 0: //disabled
-				activeChar.sendPacket(new SystemMessage(SystemMessageId.CB_OFFLINE));
+				activeChar.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.CB_OFFLINE));
 				break;
 			case 1: // old
 				RegionBBSManager.getInstance().parsecmd(command, activeChar);

+ 2 - 2
L2_GameServer/java/com/l2jserver/gameserver/communitybbs/Manager/ClanBBSManager.java

@@ -108,7 +108,7 @@ public class ClanBBSManager extends BaseBBSManager
 		{
 			if (cl.getLevel() < 2)
 			{
-				activeChar.sendPacket(new SystemMessage(SystemMessageId.NO_CB_IN_MY_CLAN));
+				activeChar.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.NO_CB_IN_MY_CLAN));
 				parsecmd("_bbsclan_clanlist", activeChar);
 			}
 			else
@@ -298,7 +298,7 @@ public class ClanBBSManager extends BaseBBSManager
 		{
 			if (cl.getLevel() < 2)
 			{
-				activeChar.sendPacket(new SystemMessage(SystemMessageId.NO_CB_IN_MY_CLAN));
+				activeChar.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.NO_CB_IN_MY_CLAN));
 				parsecmd("_bbsclan_clanlist", activeChar);
 			}
 			else

+ 1 - 1
L2_GameServer/java/com/l2jserver/gameserver/communitybbs/Manager/RegionBBSManager.java

@@ -240,7 +240,7 @@ public class RegionBBSManager extends BaseBBSManager
 				}
 				else
 				{
-					SystemMessage sm = new SystemMessage(SystemMessageId.THE_PERSON_IS_IN_MESSAGE_REFUSAL_MODE);
+					SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.THE_PERSON_IS_IN_MESSAGE_REFUSAL_MODE);
 					activeChar.sendPacket(sm);
 					parsecmd("_bbsloc;playerinfo;" + receiver.getName(), activeChar);
 				}

+ 16 - 16
L2_GameServer/java/com/l2jserver/gameserver/datatables/ClanTable.java

@@ -155,34 +155,34 @@ public class ClanTable
 		
 		if (10 > player.getLevel())
 		{
-			player.sendPacket(new SystemMessage(SystemMessageId.YOU_DO_NOT_MEET_CRITERIA_IN_ORDER_TO_CREATE_A_CLAN));
+			player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.YOU_DO_NOT_MEET_CRITERIA_IN_ORDER_TO_CREATE_A_CLAN));
 			return null;
 		}
 		if (0 != player.getClanId())
 		{
-			player.sendPacket(new SystemMessage(SystemMessageId.FAILED_TO_CREATE_CLAN));
+			player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.FAILED_TO_CREATE_CLAN));
 			return null;
 		}
 		if (System.currentTimeMillis() < player.getClanCreateExpiryTime())
 		{
-			player.sendPacket(new SystemMessage(SystemMessageId.YOU_MUST_WAIT_XX_DAYS_BEFORE_CREATING_A_NEW_CLAN));
+			player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.YOU_MUST_WAIT_XX_DAYS_BEFORE_CREATING_A_NEW_CLAN));
 			return null;
 		}
 		if (!Util.isAlphaNumeric(clanName) || 2 > clanName.length())
 		{
-			player.sendPacket(new SystemMessage(SystemMessageId.CLAN_NAME_INCORRECT));
+			player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.CLAN_NAME_INCORRECT));
 			return null;
 		}
 		if (16 < clanName.length())
 		{
-			player.sendPacket(new SystemMessage(SystemMessageId.CLAN_NAME_TOO_LONG));
+			player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.CLAN_NAME_TOO_LONG));
 			return null;
 		}
 		
 		if (null != getClanByName(clanName))
 		{
 			// clan name is already taken
-			SystemMessage sm = new SystemMessage(SystemMessageId.S1_ALREADY_EXISTS);
+			SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.S1_ALREADY_EXISTS);
 			sm.addString(clanName);
 			player.sendPacket(sm);
 			sm = null;
@@ -209,7 +209,7 @@ public class ClanTable
 		player.sendPacket(new UserInfo(player));
 		player.sendPacket(new ExBrExtraUserInfo(player));
 		player.sendPacket(new PledgeShowMemberListUpdate(player));
-		player.sendPacket(new SystemMessage(SystemMessageId.CLAN_CREATED));
+		player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.CLAN_CREATED));
 		// notify CB server that a new Clan is created
 		CommunityServerThread.getInstance().sendPacket(new WorldInfo(null, clan, WorldInfo.TYPE_UPDATE_CLAN_DATA));
 		return clan;
@@ -223,7 +223,7 @@ public class ClanTable
 			return;
 		}
 		
-		clan.broadcastToOnlineMembers(new SystemMessage(SystemMessageId.CLAN_HAS_DISPERSED));
+		clan.broadcastToOnlineMembers(SystemMessage.getSystemMessage(SystemMessageId.CLAN_HAS_DISPERSED));
 		int castleId = clan.getHasCastle();
 		if (castleId == 0)
 		{
@@ -377,16 +377,16 @@ public class ClanTable
 		{
 			L2DatabaseFactory.close(con);
 		}
-		//SystemMessage msg = new SystemMessage(SystemMessageId.WAR_WITH_THE_S1_CLAN_HAS_BEGUN);
+		//SystemMessage msg = SystemMessage.getSystemMessage(SystemMessageId.WAR_WITH_THE_S1_CLAN_HAS_BEGUN);
 		//
-		SystemMessage msg = new SystemMessage(SystemMessageId.CLAN_WAR_DECLARED_AGAINST_S1_IF_KILLED_LOSE_LOW_EXP);
+		SystemMessage msg = SystemMessage.getSystemMessage(SystemMessageId.CLAN_WAR_DECLARED_AGAINST_S1_IF_KILLED_LOSE_LOW_EXP);
 		msg.addString(clan2.getName());
 		clan1.broadcastToOnlineMembers(msg);
-		//msg = new SystemMessage(SystemMessageId.WAR_WITH_THE_S1_CLAN_HAS_BEGUN);
+		//msg = SystemMessage.getSystemMessage(SystemMessageId.WAR_WITH_THE_S1_CLAN_HAS_BEGUN);
 		//msg.addString(clan1.getName());
 		//clan2.broadcastToOnlineMembers(msg);
 		// clan1 declared clan war.
-		msg = new SystemMessage(SystemMessageId.CLAN_S1_DECLARED_WAR);
+		msg = SystemMessage.getSystemMessage(SystemMessageId.CLAN_S1_DECLARED_WAR);
 		msg.addString(clan1.getName());
 		clan2.broadcastToOnlineMembers(msg);
 	}
@@ -433,14 +433,14 @@ public class ClanTable
 		{
 			L2DatabaseFactory.close(con);
 		}
-		//SystemMessage msg = new SystemMessage(SystemMessageId.WAR_WITH_THE_S1_CLAN_HAS_ENDED);
-		SystemMessage msg = new SystemMessage(SystemMessageId.WAR_AGAINST_S1_HAS_STOPPED);
+		//SystemMessage msg = SystemMessage.getSystemMessage(SystemMessageId.WAR_WITH_THE_S1_CLAN_HAS_ENDED);
+		SystemMessage msg = SystemMessage.getSystemMessage(SystemMessageId.WAR_AGAINST_S1_HAS_STOPPED);
 		msg.addString(clan2.getName());
 		clan1.broadcastToOnlineMembers(msg);
-		msg = new SystemMessage(SystemMessageId.CLAN_S1_HAS_DECIDED_TO_STOP);
+		msg = SystemMessage.getSystemMessage(SystemMessageId.CLAN_S1_HAS_DECIDED_TO_STOP);
 		msg.addString(clan1.getName());
 		clan2.broadcastToOnlineMembers(msg);
-		//msg = new SystemMessage(SystemMessageId.WAR_WITH_THE_S1_CLAN_HAS_ENDED);
+		//msg = SystemMessage.getSystemMessage(SystemMessageId.WAR_WITH_THE_S1_CLAN_HAS_ENDED);
 		//msg.addString(clan1.getName());
 		//clan2.broadcastToOnlineMembers(msg);
 	}

+ 5 - 5
L2_GameServer/java/com/l2jserver/gameserver/datatables/MultiSell.java

@@ -121,24 +121,24 @@ public class MultiSell
 			case CLAN_REPUTATION:
 				if (player.getClan() == null)
 				{
-					player.sendPacket(new SystemMessage(SystemMessageId.YOU_ARE_NOT_A_CLAN_MEMBER));
+					player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.YOU_ARE_NOT_A_CLAN_MEMBER));
 					break;
 				}
 				if (!player.isClanLeader())
 				{
-					player.sendPacket(new SystemMessage(SystemMessageId.ONLY_THE_CLAN_LEADER_IS_ENABLED));
+					player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.ONLY_THE_CLAN_LEADER_IS_ENABLED));
 					break;
 				}
 				if (player.getClan().getReputationScore() < amount)
 				{
-					player.sendPacket(new SystemMessage(SystemMessageId.THE_CLAN_REPUTATION_SCORE_IS_TOO_LOW));
+					player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.THE_CLAN_REPUTATION_SCORE_IS_TOO_LOW));
 					break;
 				}
 				return true;
 			case FAME:
 				if (player.getFame() < amount)
 				{
-					player.sendPacket(new SystemMessage(SystemMessageId.NOT_ENOUGH_FAME_POINTS));
+					player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.NOT_ENOUGH_FAME_POINTS));
 					break;
 				}
 				return true;
@@ -152,7 +152,7 @@ public class MultiSell
 		{
 			case CLAN_REPUTATION:
 				player.getClan().takeReputationScore((int)amount, true);
-				SystemMessage smsg = new SystemMessage(SystemMessageId.S1_DEDUCTED_FROM_CLAN_REP);
+				SystemMessage smsg = SystemMessage.getSystemMessage(SystemMessageId.S1_DEDUCTED_FROM_CLAN_REP);
 				smsg.addItemNumber(amount);
 				player.sendPacket(smsg);
 				return true;

+ 2 - 2
L2_GameServer/java/com/l2jserver/gameserver/instancemanager/CastleManorManager.java

@@ -466,7 +466,7 @@ public class CastleManorManager
 			L2PcInstance clanLeader = null;
 			clanLeader = L2World.getInstance().getPlayer(clan.getLeader().getName());
 			if (clanLeader != null)
-				clanLeader.sendPacket(new SystemMessage(SystemMessageId.THE_MANOR_INFORMATION_HAS_BEEN_UPDATED));
+				clanLeader.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.THE_MANOR_INFORMATION_HAS_BEEN_UPDATED));
 			
 			c.setNextPeriodApproved(false);
 		}
@@ -531,7 +531,7 @@ public class CastleManorManager
 				if (clan != null)
 					clanLeader = L2World.getInstance().getPlayer(clan.getLeaderId());
 				if (clanLeader != null)
-					clanLeader.sendPacket(new SystemMessage(SystemMessageId.THE_AMOUNT_IS_NOT_SUFFICIENT_AND_SO_THE_MANOR_IS_NOT_IN_OPERATION));
+					clanLeader.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.THE_AMOUNT_IS_NOT_SUFFICIENT_AND_SO_THE_MANOR_IS_NOT_IN_OPERATION));
 			}
 		}
 	}

+ 1 - 1
L2_GameServer/java/com/l2jserver/gameserver/instancemanager/CursedWeaponsManager.java

@@ -411,7 +411,7 @@ public class CursedWeaponsManager
 				cw.giveSkill();
 				player.setCursedWeaponEquippedId(cw.getItemId());
 				
-				SystemMessage sm = new SystemMessage(SystemMessageId.S2_MINUTE_OF_USAGE_TIME_ARE_LEFT_FOR_S1);
+				SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.S2_MINUTE_OF_USAGE_TIME_ARE_LEFT_FOR_S1);
 				sm.addString(cw.getName());
 				//sm.addItemName(cw.getItemId());
 				sm.addNumber((int) ((cw.getEndTime() - System.currentTimeMillis()) / 60000));

+ 1 - 1
L2_GameServer/java/com/l2jserver/gameserver/instancemanager/FortSiegeManager.java

@@ -354,7 +354,7 @@ public class FortSiegeManager
 	public boolean checkIfCanPickup(L2PcInstance player)
 	{
 		SystemMessage sm;
-		sm = new SystemMessage(SystemMessageId.THE_FORTRESS_BATTLE_OF_S1_HAS_FINISHED);
+		sm = SystemMessage.getSystemMessage(SystemMessageId.THE_FORTRESS_BATTLE_OF_S1_HAS_FINISHED);
 		sm.addItemName(9819);
 		// Cannot own 2 combat flag
 		if (player.isCombatFlagEquipped())

+ 3 - 3
L2_GameServer/java/com/l2jserver/gameserver/instancemanager/FourSepulchersManager.java

@@ -938,7 +938,7 @@ public class FourSepulchersManager
 				
 				if (player.getWeightPenalty() >= 3)
 				{
-					mem.sendPacket(new SystemMessage(SystemMessageId.INVENTORY_LESS_THAN_80_PERCENT));
+					mem.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.INVENTORY_LESS_THAN_80_PERCENT));
 					return;
 				}
 			}
@@ -966,7 +966,7 @@ public class FourSepulchersManager
 				
 				if (player.getWeightPenalty() >= 3)
 				{
-					mem.sendPacket(new SystemMessage(SystemMessageId.INVENTORY_LESS_THAN_80_PERCENT));
+					mem.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.INVENTORY_LESS_THAN_80_PERCENT));
 					return;
 				}
 			}
@@ -987,7 +987,7 @@ public class FourSepulchersManager
 			
 			if (player.getWeightPenalty() >= 3)
 			{
-				player.sendPacket(new SystemMessage(SystemMessageId.INVENTORY_LESS_THAN_80_PERCENT));
+				player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.INVENTORY_LESS_THAN_80_PERCENT));
 				return;
 			}
 		}

+ 8 - 9
L2_GameServer/java/com/l2jserver/gameserver/instancemanager/HandysBlockCheckerManager.java

@@ -31,7 +31,6 @@ import com.l2jserver.gameserver.model.entity.TvTEvent;
 import com.l2jserver.gameserver.model.itemcontainer.PcInventory;
 import com.l2jserver.gameserver.model.olympiad.OlympiadManager;
 import com.l2jserver.gameserver.network.SystemMessageId;
-import com.l2jserver.gameserver.network.SystemMessageId2;
 import com.l2jserver.gameserver.network.serverpackets.ExCubeGameAddPlayer;
 import com.l2jserver.gameserver.network.serverpackets.ExCubeGameChangeTeam;
 import com.l2jserver.gameserver.network.serverpackets.ExCubeGameRemovePlayer;
@@ -161,7 +160,7 @@ public final class HandysBlockCheckerManager
 			{
 				if(_arenaPlayers[i].getAllPlayers().contains(player))
 				{
-					SystemMessage msg = new SystemMessage(SystemMessageId.C1_IS_ALREADY_REGISTERED_ON_THE_MATCH_WAITING_LIST);
+					SystemMessage msg = SystemMessage.getSystemMessage(SystemMessageId.C1_IS_ALREADY_REGISTERED_ON_THE_MATCH_WAITING_LIST);
 					msg.addCharName(player);
 					player.sendPacket(msg);
 					return false;
@@ -170,7 +169,7 @@ public final class HandysBlockCheckerManager
 				
 			if(player.isCursedWeaponEquipped())
 			{
-				player.sendPacket(new SystemMessage(SystemMessageId2.CANNOT_REGISTER_PROCESSING_CURSED_WEAPON));
+				player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.CANNOT_REGISTER_PROCESSING_CURSED_WEAPON));
 				return false;
 			}
 			
@@ -183,24 +182,24 @@ public final class HandysBlockCheckerManager
 			if(OlympiadManager.getInstance().isRegistered(player))
 			{
 				OlympiadManager.getInstance().unRegisterNoble(player);
-				player.sendPacket(new SystemMessage(SystemMessageId2.COLISEUM_OLYMPIAD_KRATEIS_APPLICANTS_CANNOT_PARTICIPATE));
+				player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.COLISEUM_OLYMPIAD_KRATEIS_APPLICANTS_CANNOT_PARTICIPATE));
 			}				
 			/*
 			if(UnderGroundColiseum.getInstance().isRegisteredPlayer(player))
 			{
 				UngerGroundColiseum.getInstance().removeParticipant(player);
-				player.sendPacket(new SystemMessage(SystemMessageId.COLISEUM_OLYMPIAD_KRATEIS_APPLICANTS_CANNOT_PARTICIPATE));
+				player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.COLISEUM_OLYMPIAD_KRATEIS_APPLICANTS_CANNOT_PARTICIPATE));
 			}
 			if(KrateiCubeManager.getInstance().isRegisteredPlayer(player))
 			{
 				KrateiCubeManager.getInstance().removeParticipant(player);
-				player.sendPacket(new SystemMessage(SystemMessageId.COLISEUM_OLYMPIAD_KRATEIS_APPLICANTS_CANNOT_PARTICIPATE));
+				player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.COLISEUM_OLYMPIAD_KRATEIS_APPLICANTS_CANNOT_PARTICIPATE));
 			}
 			*/
 			
 			if(_registrationPenalty.contains(player.getObjectId()))
 			{
-				player.sendPacket(new SystemMessage(SystemMessageId2.CANNOT_REQUEST_REGISTRATION_10_SECS_AFTER));
+				player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.CANNOT_REQUEST_REGISTRATION_10_SECS_AFTER));
 				return false;
 			}
 			
@@ -469,7 +468,7 @@ public final class HandysBlockCheckerManager
 			int blueSize = _bluePlayers.size();
 			if(redSize > blueSize + 1)
 			{
-				broadCastPacketToTeam(new SystemMessage(SystemMessageId2.TEAM_ADJUSTED_BECAUSE_WRONG_POPULATION_RATIO));
+				broadCastPacketToTeam(SystemMessage.getSystemMessage(SystemMessageId.TEAM_ADJUSTED_BECAUSE_WRONG_POPULATION_RATIO));
 				int needed = redSize - (blueSize + 1);
 				for(int i = 0; i < needed+1; i++)
 				{
@@ -480,7 +479,7 @@ public final class HandysBlockCheckerManager
 			}
 			else if(blueSize > redSize + 1)
 			{
-				broadCastPacketToTeam(new SystemMessage(SystemMessageId2.TEAM_ADJUSTED_BECAUSE_WRONG_POPULATION_RATIO));
+				broadCastPacketToTeam(SystemMessage.getSystemMessage(SystemMessageId.TEAM_ADJUSTED_BECAUSE_WRONG_POPULATION_RATIO));
 				int needed = blueSize - (redSize + 1);
 				for(int i = 0; i < needed+1; i++)
 				{

+ 2 - 2
L2_GameServer/java/com/l2jserver/gameserver/instancemanager/MailManager.java

@@ -222,7 +222,7 @@ public class MailManager
 					if (sender != null)
 					{
 						msg.getAttachments().returnToWh(sender.getWarehouse());
-						sender.sendPacket(new SystemMessage(SystemMessageId.MAIL_RETURNED));
+						sender.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.MAIL_RETURNED));
 					}
 					else
 						msg.getAttachments().returnToWh(null);
@@ -233,7 +233,7 @@ public class MailManager
 					final L2PcInstance receiver = L2World.getInstance().getPlayer(msg.getReceiverId());
 					if (receiver != null)
 					{
-						SystemMessage sm = new SystemMessage(SystemMessageId.MAIL_RETURNED);
+						SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.MAIL_RETURNED);
 						sm.addString(msg.getReceiverName());
 						receiver.sendPacket(sm);
 					}

+ 6 - 6
L2_GameServer/java/com/l2jserver/gameserver/instancemanager/PetitionManager.java

@@ -130,14 +130,14 @@ public final class PetitionManager
 				else
 				{
 					// Ending petition consultation with <Player>.
-					SystemMessage sm = new SystemMessage(SystemMessageId.PETITION_ENDED_WITH_C1);
+					SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.PETITION_ENDED_WITH_C1);
 					sm.addString(getPetitioner().getName());
 					getResponder().sendPacket(sm);
 					
 					if (endState == PetitionState.Petitioner_Cancel)
 					{
 						// Receipt No. <ID> petition cancelled.
-						sm = new SystemMessage(SystemMessageId.RECENT_NO_S1_CANCELED);
+						sm = SystemMessage.getSystemMessage(SystemMessageId.RECENT_NO_S1_CANCELED);
 						sm.addNumber(getId());
 						getResponder().sendPacket(sm);
 					}
@@ -146,7 +146,7 @@ public final class PetitionManager
 			
 			// End petition consultation and inform them, if they are still online.
 			if (getPetitioner() != null && getPetitioner().isOnline())
-				getPetitioner().sendPacket(new SystemMessage(SystemMessageId.THIS_END_THE_PETITION_PLEASE_PROVIDE_FEEDBACK));
+				getPetitioner().sendPacket(SystemMessage.getSystemMessage(SystemMessageId.THIS_END_THE_PETITION_PLEASE_PROVIDE_FEEDBACK));
 			
 			getCompletedPetitions().put(getId(), this);
 			return (getPendingPetitions().remove(getId()) != null);
@@ -263,15 +263,15 @@ public final class PetitionManager
 		currPetition.setState(PetitionState.In_Process);
 		
 		// Petition application accepted. (Send to Petitioner)
-		currPetition.sendPetitionerPacket(new SystemMessage(SystemMessageId.PETITION_APP_ACCEPTED));
+		currPetition.sendPetitionerPacket(SystemMessage.getSystemMessage(SystemMessageId.PETITION_APP_ACCEPTED));
 		
 		// Petition application accepted. Reciept No. is <ID>
-		SystemMessage sm = new SystemMessage(SystemMessageId.PETITION_ACCEPTED_RECENT_NO_S1);
+		SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.PETITION_ACCEPTED_RECENT_NO_S1);
 		sm.addNumber(currPetition.getId());
 		currPetition.sendResponderPacket(sm);
 		
 		// Petition consultation with <Player> underway.
-		sm = new SystemMessage(SystemMessageId.STARTING_PETITION_WITH_C1);
+		sm = SystemMessage.getSystemMessage(SystemMessageId.STARTING_PETITION_WITH_C1);
 		sm.addString(currPetition.getPetitioner().getName());
 		currPetition.sendResponderPacket(sm);
 		return true;

+ 14 - 14
L2_GameServer/java/com/l2jserver/gameserver/instancemanager/TerritoryWarManager.java

@@ -360,7 +360,7 @@ public class TerritoryWarManager implements Siegable
 				updateTerritoryData(terNew);
 				if (broadcastMessage)
 				{
-					SystemMessage sm = new SystemMessage(SystemMessageId.CLAN_S1_HAS_SUCCEDED_IN_CAPTURING_S2_TERRITORY_WARD);
+					SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.CLAN_S1_HAS_SUCCEDED_IN_CAPTURING_S2_TERRITORY_WARD);
 					sm.addString(terNew.getOwnerClan().getName());
 					sm.addString(ward.getNpc().getName().replaceAll(" Ward", ""));
 					announceToParticipants(sm, 135000, 13500);
@@ -479,7 +479,7 @@ public class TerritoryWarManager implements Siegable
 				}
 				if (isKilled)
 				{
-					SystemMessage sm = new SystemMessage(SystemMessageId.THE_CHAR_THAT_ACQUIRED_S1_WARD_HAS_BEEN_KILLED);
+					SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.THE_CHAR_THAT_ACQUIRED_S1_WARD_HAS_BEEN_KILLED);
 					sm.addString(twWard.getNpc().getName().replaceAll(" Ward", ""));
 					announceToParticipants(sm, 0, 0);
 				}
@@ -899,7 +899,7 @@ public class TerritoryWarManager implements Siegable
 					ward.setOwnerCastleId(ward.getTerritoryId() - 80);
 				}
 		
-		SystemMessage sm = new SystemMessage(SystemMessageId.TERRITORY_WAR_HAS_BEGUN);
+		SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.TERRITORY_WAR_HAS_BEGUN);
 		Announcements.getInstance().announceToAll(sm);
 	}
 	
@@ -986,7 +986,7 @@ public class TerritoryWarManager implements Siegable
 			for(Integer pl_objId:_registeredMercenaries.get(castleId))
 				changeRegistration(castleId, pl_objId, true);
 		// change next TW date
-		SystemMessage sm = new SystemMessage(SystemMessageId.TERRITORY_WAR_HAS_ENDED);
+		SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.TERRITORY_WAR_HAS_ENDED);
 		Announcements.getInstance().announceToAll(sm);
 	}
 	
@@ -1110,14 +1110,14 @@ public class TerritoryWarManager implements Siegable
 				}
 				else if ((timeRemaining <= 7200000) && (timeRemaining > 1200000))
 				{
-					SystemMessage sm = new SystemMessage(SystemMessageId.THE_TERRITORY_WAR_REGISTERING_PERIOD_ENDED);
+					SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.THE_TERRITORY_WAR_REGISTERING_PERIOD_ENDED);
 					Announcements.getInstance().announceToAll(sm);
 					_isRegistrationOver = true;
 					_scheduledStartTWTask = ThreadPoolManager.getInstance().scheduleGeneral(new ScheduleStartTWTask(), timeRemaining - 1200000); // Prepare task for 20 mins left before TW start.
 				}
 				else if ((timeRemaining <= 1200000) && (timeRemaining > 600000))
 				{
-					SystemMessage sm = new SystemMessage(SystemMessageId.TERRITORY_WAR_BEGINS_IN_20_MINUTES);
+					SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.TERRITORY_WAR_BEGINS_IN_20_MINUTES);
 					Announcements.getInstance().announceToAll(sm);
 					_isTWChannelOpen = true;
 					_isRegistrationOver = true;
@@ -1126,7 +1126,7 @@ public class TerritoryWarManager implements Siegable
 				}
 				else if ((timeRemaining <= 600000) && (timeRemaining > 300000))
 				{
-					SystemMessage sm = new SystemMessage(SystemMessageId.TERRITORY_WAR_BEGINS_IN_10_MINUTES);
+					SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.TERRITORY_WAR_BEGINS_IN_10_MINUTES);
 					Announcements.getInstance().announceToAll(sm);
 					_isTWChannelOpen = true;
 					_isRegistrationOver = true;
@@ -1135,7 +1135,7 @@ public class TerritoryWarManager implements Siegable
 				}
 				else if ((timeRemaining <= 300000) && (timeRemaining > 60000))
 				{
-					SystemMessage sm = new SystemMessage(SystemMessageId.TERRITORY_WAR_BEGINS_IN_5_MINUTES);
+					SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.TERRITORY_WAR_BEGINS_IN_5_MINUTES);
 					Announcements.getInstance().announceToAll(sm);
 					_isTWChannelOpen = true;
 					_isRegistrationOver = true;
@@ -1144,7 +1144,7 @@ public class TerritoryWarManager implements Siegable
 				}
 				else if ((timeRemaining <= 60000) && (timeRemaining > 0))
 				{
-					SystemMessage sm = new SystemMessage(SystemMessageId.TERRITORY_WAR_BEGINS_IN_1_MINUTE);
+					SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.TERRITORY_WAR_BEGINS_IN_1_MINUTE);
 					Announcements.getInstance().announceToAll(sm);
 					_isTWChannelOpen = true;
 					_isRegistrationOver = true;
@@ -1181,35 +1181,35 @@ public class TerritoryWarManager implements Siegable
 				long timeRemaining = _startTWDate.getTimeInMillis() + WARLENGTH - Calendar.getInstance().getTimeInMillis();
 				if (timeRemaining > 3600000)
 				{
-					SystemMessage sm = new SystemMessage(SystemMessageId.THE_TERRITORY_WAR_WILL_END_IN_S1_HOURS);
+					SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.THE_TERRITORY_WAR_WILL_END_IN_S1_HOURS);
 					sm.addNumber(2);
 					announceToParticipants(sm, 0, 0);
 					_scheduledEndTWTask = ThreadPoolManager.getInstance().scheduleGeneral(new ScheduleEndTWTask(), timeRemaining - 3600000); // Prepare task for 1 hr left.
 				}
 				else if ((timeRemaining <= 3600000) && (timeRemaining > 600000))
 				{
-					SystemMessage sm = new SystemMessage(SystemMessageId.THE_TERRITORY_WAR_WILL_END_IN_S1_MINUTES);
+					SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.THE_TERRITORY_WAR_WILL_END_IN_S1_MINUTES);
 					sm.addNumber(Math.round(timeRemaining / 60000));
 					announceToParticipants(sm, 0, 0);
 					_scheduledEndTWTask = ThreadPoolManager.getInstance().scheduleGeneral(new ScheduleEndTWTask(), timeRemaining - 600000); // Prepare task for 10 minute left.
 				}
 				else if ((timeRemaining <= 600000) && (timeRemaining > 300000))
 				{
-					SystemMessage sm = new SystemMessage(SystemMessageId.THE_TERRITORY_WAR_WILL_END_IN_S1_MINUTES);
+					SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.THE_TERRITORY_WAR_WILL_END_IN_S1_MINUTES);
 					sm.addNumber(Math.round(timeRemaining / 60000));
 					announceToParticipants(sm, 0, 0);
 					_scheduledEndTWTask = ThreadPoolManager.getInstance().scheduleGeneral(new ScheduleEndTWTask(), timeRemaining - 300000); // Prepare task for 5 minute left.
 				}
 				else if ((timeRemaining <= 300000) && (timeRemaining > 10000))
 				{
-					SystemMessage sm = new SystemMessage(SystemMessageId.THE_TERRITORY_WAR_WILL_END_IN_S1_MINUTES);
+					SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.THE_TERRITORY_WAR_WILL_END_IN_S1_MINUTES);
 					sm.addNumber(Math.round(timeRemaining / 60000));
 					announceToParticipants(sm, 0, 0);
 					_scheduledEndTWTask = ThreadPoolManager.getInstance().scheduleGeneral(new ScheduleEndTWTask(), timeRemaining - 10000); // Prepare task for 10 seconds count down
 				}
 				else if ((timeRemaining <= 10000) && (timeRemaining > 0))
 				{
-					SystemMessage sm = new SystemMessage(SystemMessageId.S1_SECONDS_TO_THE_END_OF_TERRITORY_WAR);
+					SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.S1_SECONDS_TO_THE_END_OF_TERRITORY_WAR);
 					sm.addNumber(Math.round(timeRemaining / 1000));
 					announceToParticipants(sm, 0, 0);
 					_scheduledEndTWTask = ThreadPoolManager.getInstance().scheduleGeneral(new ScheduleEndTWTask(), timeRemaining); // Prepare task for second count down

+ 3 - 3
L2_GameServer/java/com/l2jserver/gameserver/instancemanager/games/Lottery.java

@@ -249,7 +249,7 @@ public class Lottery
 				_log.info("Lottery: Stopping ticket sell for lottery #" + getId() + ".");
 			_isSellingTickets = false;
 			
-			Announcements.getInstance().announceToAll(new SystemMessage(SystemMessageId.LOTTERY_TICKET_SALES_TEMP_SUSPENDED));
+			Announcements.getInstance().announceToAll(SystemMessage.getSystemMessage(SystemMessageId.LOTTERY_TICKET_SALES_TEMP_SUSPENDED));
 		}
 	}
 	
@@ -393,7 +393,7 @@ public class Lottery
 			if (count1 > 0)
 			{
 				// There are winners.
-				sm = new SystemMessage(SystemMessageId.AMOUNT_FOR_WINNER_S1_IS_S2_ADENA_WE_HAVE_S3_PRIZE_WINNER);
+				sm = SystemMessage.getSystemMessage(SystemMessageId.AMOUNT_FOR_WINNER_S1_IS_S2_ADENA_WE_HAVE_S3_PRIZE_WINNER);
 				sm.addNumber(getId());
 				sm.addItemNumber(getPrize());
 				sm.addItemNumber(count1);
@@ -402,7 +402,7 @@ public class Lottery
 			else
 			{
 				// There are no winners.
-				sm = new SystemMessage(SystemMessageId.AMOUNT_FOR_LOTTERY_S1_IS_S2_ADENA_NO_WINNER);
+				sm = SystemMessage.getSystemMessage(SystemMessageId.AMOUNT_FOR_LOTTERY_S1_IS_S2_ADENA_NO_WINNER);
 				sm.addNumber(getId());
 				sm.addItemNumber(getPrize());
 				Announcements.getInstance().announceToAll(sm);

+ 5 - 5
L2_GameServer/java/com/l2jserver/gameserver/model/BlockList.java

@@ -193,7 +193,7 @@ public class BlockList
 		
 		if (listOwner.getFriendList().contains(targetId))
 		{
-			SystemMessage sm = new SystemMessage(SystemMessageId.S1_ALREADY_IN_FRIENDS_LIST);
+			SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.S1_ALREADY_IN_FRIENDS_LIST);
 			sm.addString(charName);
 			listOwner.sendPacket(sm);
 			return;
@@ -207,7 +207,7 @@ public class BlockList
 		
 		listOwner.getBlockList().addToBlockList(targetId);
 		
-		SystemMessage sm = new SystemMessage(SystemMessageId.S1_WAS_ADDED_TO_YOUR_IGNORE_LIST);
+		SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.S1_WAS_ADDED_TO_YOUR_IGNORE_LIST);
 		sm.addString(charName);
 		listOwner.sendPacket(sm);
 		
@@ -215,7 +215,7 @@ public class BlockList
 		
 		if (player != null)
 		{
-			sm = new SystemMessage(SystemMessageId.S1_HAS_ADDED_YOU_TO_IGNORE_LIST);
+			sm = SystemMessage.getSystemMessage(SystemMessageId.S1_HAS_ADDED_YOU_TO_IGNORE_LIST);
 			sm.addString(listOwner.getName());
 			player.sendPacket(sm);
 		}
@@ -232,14 +232,14 @@ public class BlockList
 		
 		if (!listOwner.getBlockList().getBlockList().contains(targetId))
 		{
-			sm = new SystemMessage(SystemMessageId.TARGET_IS_INCORRECT);
+			sm = SystemMessage.getSystemMessage(SystemMessageId.TARGET_IS_INCORRECT);
 			listOwner.sendPacket(sm);
 			return;
 		}
 		
 		listOwner.getBlockList().removeFromBlockList(targetId);
 		
-		sm = new SystemMessage(SystemMessageId.S1_WAS_REMOVED_FROM_YOUR_IGNORE_LIST);
+		sm = SystemMessage.getSystemMessage(SystemMessageId.S1_WAS_REMOVED_FROM_YOUR_IGNORE_LIST);
 		sm.addString(charName);
 		listOwner.sendPacket(sm);
 	}

+ 2 - 2
L2_GameServer/java/com/l2jserver/gameserver/model/CharEffectList.java

@@ -772,11 +772,11 @@ public class CharEffectList
 			SystemMessage sm;
 			if (effect.getSkill().isToggle())
 			{
-				sm = new SystemMessage(SystemMessageId.S1_HAS_BEEN_ABORTED);
+				sm = SystemMessage.getSystemMessage(SystemMessageId.S1_HAS_BEEN_ABORTED);
 			}
 			else
 			{
-				sm = new SystemMessage(SystemMessageId.EFFECT_S1_DISAPPEARED);
+				sm = SystemMessage.getSystemMessage(SystemMessageId.EFFECT_S1_DISAPPEARED);
 			}
 			sm.addSkillName(effect);
 			_owner.sendPacket(sm);

+ 2 - 2
L2_GameServer/java/com/l2jserver/gameserver/model/CombatFlag.java

@@ -76,7 +76,7 @@ public class CombatFlag
 	{
 		if (player.isMounted())
 		{
-			player.sendPacket(new SystemMessage(SystemMessageId.CANNOT_EQUIP_ITEM_DUE_TO_BAD_CONDITION));
+			player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.CANNOT_EQUIP_ITEM_DUE_TO_BAD_CONDITION));
 			return false;
 		}
 		
@@ -88,7 +88,7 @@ public class CombatFlag
 		// Equip with the weapon
 		_item = item;
 		_player.getInventory().equipItem(_item);
-		SystemMessage sm = new SystemMessage(SystemMessageId.S1_EQUIPPED);
+		SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.S1_EQUIPPED);
 		sm.addItemName(_item);
 		_player.sendPacket(sm);
 		

+ 6 - 6
L2_GameServer/java/com/l2jserver/gameserver/model/CursedWeapon.java

@@ -206,7 +206,7 @@ public class CursedWeapon
 		// Delete infos from table if any
 		CursedWeaponsManager.removeFromDb(_itemId);
 		
-		SystemMessage sm = new SystemMessage(SystemMessageId.S1_HAS_DISAPPEARED);
+		SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.S1_HAS_DISAPPEARED);
 		sm.addItemName(_itemId);
 		CursedWeaponsManager.announce(sm);
 		
@@ -276,7 +276,7 @@ public class CursedWeapon
 			//_player.getInventory().getItemByItemId(_itemId).dropMe(_player, _player.getX(), _player.getY(), _player.getZ());
 		}
 		_isDropped = true;
-		SystemMessage sm = new SystemMessage(SystemMessageId.S2_WAS_DROPPED_IN_THE_S1_REGION);
+		SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.S2_WAS_DROPPED_IN_THE_S1_REGION);
 		if (player != null)
 			sm.addZoneName(player.getX(), player.getY(), player.getZ()); // Region Name
 		else if (_player != null)
@@ -292,13 +292,13 @@ public class CursedWeapon
 		doTransform();
 		giveSkill();
 		
-		SystemMessage msg = new SystemMessage(SystemMessageId.S2_OWNER_HAS_LOGGED_INTO_THE_S1_REGION);
+		SystemMessage msg = SystemMessage.getSystemMessage(SystemMessageId.S2_OWNER_HAS_LOGGED_INTO_THE_S1_REGION);
 		msg.addZoneName(_player.getX(), _player.getY(), _player.getZ());
 		msg.addItemName(_player.getCursedWeaponEquippedId());
 		CursedWeaponsManager.announce(msg);
 		
 		CursedWeapon cw = CursedWeaponsManager.getInstance().getCursedWeapon(_player.getCursedWeaponEquippedId());
-		SystemMessage msg2 = new SystemMessage(SystemMessageId.S2_MINUTE_OF_USAGE_TIME_ARE_LEFT_FOR_S1);
+		SystemMessage msg2 = SystemMessage.getSystemMessage(SystemMessageId.S2_MINUTE_OF_USAGE_TIME_ARE_LEFT_FOR_S1);
 		int timeLeft = (int)(cw.getTimeLeft()/60000);
 		msg2.addItemName(_player.getCursedWeaponEquippedId());
 		msg2.addNumber(timeLeft);
@@ -439,7 +439,7 @@ public class CursedWeapon
 		_item = item;
 		//L2ItemInstance[] items =
 		_player.getInventory().equipItem(_item);
-		SystemMessage sm = new SystemMessage(SystemMessageId.S1_EQUIPPED);
+		SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.S1_EQUIPPED);
 		sm.addItemName(_item);
 		_player.sendPacket(sm);
 		
@@ -464,7 +464,7 @@ public class CursedWeapon
 		
 		_player.broadcastPacket(atk);
 		
-		sm = new SystemMessage(SystemMessageId.THE_OWNER_OF_S2_HAS_APPEARED_IN_THE_S1_REGION);
+		sm = SystemMessage.getSystemMessage(SystemMessageId.THE_OWNER_OF_S2_HAS_APPEARED_IN_THE_S1_REGION);
 		sm.addZoneName(_player.getX(), _player.getY(), _player.getZ()); // Region Name
 		sm.addItemName(_item);
 		CursedWeaponsManager.announce(sm);

+ 61 - 61
L2_GameServer/java/com/l2jserver/gameserver/model/L2Clan.java

@@ -295,7 +295,7 @@ public class L2Clan
 		
 		broadcastClanStatus();
 		
-		SystemMessage sm = new SystemMessage(SystemMessageId.CLAN_LEADER_PRIVILEGES_HAVE_BEEN_TRANSFERRED_TO_C1);
+		SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.CLAN_LEADER_PRIVILEGES_HAVE_BEEN_TRANSFERRED_TO_C1);
 		sm.addString(newLeader.getName());
 		broadcastToOnlineMembers(sm);
 		sm = null;
@@ -1200,7 +1200,7 @@ public class L2Clan
 				L2DatabaseFactory.close(con);
 			}
 			
-			SystemMessage sm = new SystemMessage(SystemMessageId.CLAN_SKILL_S1_ADDED);
+			SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.CLAN_SKILL_S1_ADDED);
 			sm.addSkillName(newSkill.getId());
 			
 			for (L2ClanMember temp : _members.values())
@@ -1617,7 +1617,7 @@ public class L2Clan
 		if (pledgeType == 0)
 		{
 			if (pledgeType == L2Clan.SUBUNIT_ACADEMY)
-				player.sendPacket(new SystemMessage(SystemMessageId.CLAN_HAS_ALREADY_ESTABLISHED_A_CLAN_ACADEMY));
+				player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.CLAN_HAS_ALREADY_ESTABLISHED_A_CLAN_ACADEMY));
 			else
 				player.sendMessage("You can't create any more sub-units of this type");
 			return null;
@@ -1632,7 +1632,7 @@ public class L2Clan
 		// Order of Knights 10000 points per each
 		if (pledgeType != -1 && ((getReputationScore() < 5000 && pledgeType < L2Clan.SUBUNIT_KNIGHT1) || (getReputationScore() < 10000 && pledgeType > L2Clan.SUBUNIT_ROYAL2)))
 		{
-			SystemMessage sp = new SystemMessage(SystemMessageId.THE_CLAN_REPUTATION_SCORE_IS_TOO_LOW);
+			SystemMessage sp = SystemMessage.getSystemMessage(SystemMessageId.THE_CLAN_REPUTATION_SCORE_IS_TOO_LOW);
 			player.sendPacket(sp);
 			return null;
 		}
@@ -1908,7 +1908,7 @@ public class L2Clan
 	{
 		if (_reputationScore >= 0 && value < 0)
 		{
-			broadcastToOnlineMembers(new SystemMessage(SystemMessageId.REPUTATION_POINTS_0_OR_LOWER_CLAN_SKILLS_DEACTIVATED));
+			broadcastToOnlineMembers(SystemMessage.getSystemMessage(SystemMessageId.REPUTATION_POINTS_0_OR_LOWER_CLAN_SKILLS_DEACTIVATED));
 			for (L2ClanMember member : _members.values())
 			{
 				if (member.isOnline() && member.getPlayerInstance() != null)
@@ -1919,7 +1919,7 @@ public class L2Clan
 		}
 		else if (_reputationScore < 0 && value >= 0)
 		{
-			broadcastToOnlineMembers(new SystemMessage(SystemMessageId.CLAN_SKILLS_WILL_BE_ACTIVATED_SINCE_REPUTATION_IS_0_OR_HIGHER));
+			broadcastToOnlineMembers(SystemMessage.getSystemMessage(SystemMessageId.CLAN_SKILLS_WILL_BE_ACTIVATED_SINCE_REPUTATION_IS_0_OR_HIGHER));
 			for (L2ClanMember member : _members.values())
 			{
 				if (member.isOnline() && member.getPlayerInstance() != null)
@@ -2002,22 +2002,22 @@ public class L2Clan
 		}
 		if ((activeChar.getClanPrivileges() & L2Clan.CP_CL_JOIN_CLAN) != L2Clan.CP_CL_JOIN_CLAN)
 		{
-			activeChar.sendPacket(new SystemMessage(SystemMessageId.YOU_ARE_NOT_AUTHORIZED_TO_DO_THAT));
+			activeChar.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.YOU_ARE_NOT_AUTHORIZED_TO_DO_THAT));
 			return false;
 		}
 		if (target == null)
 		{
-			activeChar.sendPacket(new SystemMessage(SystemMessageId.YOU_HAVE_INVITED_THE_WRONG_TARGET));
+			activeChar.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.YOU_HAVE_INVITED_THE_WRONG_TARGET));
 			return false;
 		}
 		if (activeChar.getObjectId() == target.getObjectId())
 		{
-			activeChar.sendPacket(new SystemMessage(SystemMessageId.CANNOT_INVITE_YOURSELF));
+			activeChar.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.CANNOT_INVITE_YOURSELF));
 			return false;
 		}
 		if (getCharPenaltyExpiryTime() > System.currentTimeMillis())
 		{
-			SystemMessage sm = new SystemMessage(SystemMessageId.YOU_MUST_WAIT_BEFORE_ACCEPTING_A_NEW_MEMBER);
+			SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.YOU_MUST_WAIT_BEFORE_ACCEPTING_A_NEW_MEMBER);
 			sm.addString(target.getName());
 			activeChar.sendPacket(sm);
 			sm = null;
@@ -2025,7 +2025,7 @@ public class L2Clan
 		}
 		if (target.getClanId() != 0)
 		{
-			SystemMessage sm = new SystemMessage(SystemMessageId.S1_WORKING_WITH_ANOTHER_CLAN);
+			SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.S1_WORKING_WITH_ANOTHER_CLAN);
 			sm.addString(target.getName());
 			activeChar.sendPacket(sm);
 			sm = null;
@@ -2033,7 +2033,7 @@ public class L2Clan
 		}
 		if (target.getClanJoinExpiryTime() > System.currentTimeMillis())
 		{
-			SystemMessage sm = new SystemMessage(SystemMessageId.C1_MUST_WAIT_BEFORE_JOINING_ANOTHER_CLAN);
+			SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.C1_MUST_WAIT_BEFORE_JOINING_ANOTHER_CLAN);
 			sm.addString(target.getName());
 			activeChar.sendPacket(sm);
 			sm = null;
@@ -2041,25 +2041,25 @@ public class L2Clan
 		}
 		if ((target.getLevel() > 40 || target.getClassId().level() >= 2) && pledgeType == -1)
 		{
-			SystemMessage sm = new SystemMessage(SystemMessageId.S1_DOESNOT_MEET_REQUIREMENTS_TO_JOIN_ACADEMY);
+			SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.S1_DOESNOT_MEET_REQUIREMENTS_TO_JOIN_ACADEMY);
 			sm.addString(target.getName());
 			activeChar.sendPacket(sm);
 			sm = null;
-			activeChar.sendPacket(new SystemMessage(SystemMessageId.ACADEMY_REQUIREMENTS));
+			activeChar.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.ACADEMY_REQUIREMENTS));
 			return false;
 		}
 		if (getSubPledgeMembersCount(pledgeType) >= getMaxNrOfMembers(pledgeType))
 		{
 			if (pledgeType == 0)
 			{
-				SystemMessage sm = new SystemMessage(SystemMessageId.S1_CLAN_IS_FULL);
+				SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.S1_CLAN_IS_FULL);
 				sm.addString(getName());
 				activeChar.sendPacket(sm);
 				sm = null;
 			}
 			else
 			{
-				activeChar.sendPacket(new SystemMessage(SystemMessageId.SUBCLAN_IS_FULL));
+				activeChar.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.SUBCLAN_IS_FULL));
 			}
 			return false;
 		}
@@ -2081,7 +2081,7 @@ public class L2Clan
 		}
 		if (activeChar.getAllyId() == 0 || !activeChar.isClanLeader() || activeChar.getClanId() != activeChar.getAllyId())
 		{
-			activeChar.sendPacket(new SystemMessage(SystemMessageId.FEATURE_ONLY_FOR_ALLIANCE_LEADER));
+			activeChar.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.FEATURE_ONLY_FOR_ALLIANCE_LEADER));
 			return false;
 		}
 		L2Clan leaderClan = activeChar.getClan();
@@ -2089,28 +2089,28 @@ public class L2Clan
 		{
 			if (leaderClan.getAllyPenaltyType() == PENALTY_TYPE_DISMISS_CLAN)
 			{
-				activeChar.sendPacket(new SystemMessage(SystemMessageId.CANT_INVITE_CLAN_WITHIN_1_DAY));
+				activeChar.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.CANT_INVITE_CLAN_WITHIN_1_DAY));
 				return false;
 			}
 		}
 		if (target == null)
 		{
-			activeChar.sendPacket(new SystemMessage(SystemMessageId.YOU_HAVE_INVITED_THE_WRONG_TARGET));
+			activeChar.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.YOU_HAVE_INVITED_THE_WRONG_TARGET));
 			return false;
 		}
 		if (activeChar.getObjectId() == target.getObjectId())
 		{
-			activeChar.sendPacket(new SystemMessage(SystemMessageId.CANNOT_INVITE_YOURSELF));
+			activeChar.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.CANNOT_INVITE_YOURSELF));
 			return false;
 		}
 		if (target.getClan() == null)
 		{
-			activeChar.sendPacket(new SystemMessage(SystemMessageId.TARGET_MUST_BE_IN_CLAN));
+			activeChar.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.TARGET_MUST_BE_IN_CLAN));
 			return false;
 		}
 		if (!target.isClanLeader())
 		{
-			SystemMessage sm = new SystemMessage(SystemMessageId.S1_IS_NOT_A_CLAN_LEADER);
+			SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.S1_IS_NOT_A_CLAN_LEADER);
 			sm.addString(target.getName());
 			activeChar.sendPacket(sm);
 			sm = null;
@@ -2119,7 +2119,7 @@ public class L2Clan
 		L2Clan targetClan = target.getClan();
 		if (target.getAllyId() != 0)
 		{
-			SystemMessage sm = new SystemMessage(SystemMessageId.S1_CLAN_ALREADY_MEMBER_OF_S2_ALLIANCE);
+			SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.S1_CLAN_ALREADY_MEMBER_OF_S2_ALLIANCE);
 			sm.addString(targetClan.getName());
 			sm.addString(targetClan.getAllyName());
 			activeChar.sendPacket(sm);
@@ -2130,7 +2130,7 @@ public class L2Clan
 		{
 			if (targetClan.getAllyPenaltyType() == PENALTY_TYPE_CLAN_LEAVED)
 			{
-				SystemMessage sm = new SystemMessage(SystemMessageId.S1_CANT_ENTER_ALLIANCE_WITHIN_1_DAY);
+				SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.S1_CANT_ENTER_ALLIANCE_WITHIN_1_DAY);
 				sm.addString(target.getClan().getName());
 				sm.addString(target.getClan().getAllyName());
 				activeChar.sendPacket(sm);
@@ -2139,18 +2139,18 @@ public class L2Clan
 			}
 			if (targetClan.getAllyPenaltyType() == PENALTY_TYPE_CLAN_DISMISSED)
 			{
-				activeChar.sendPacket(new SystemMessage(SystemMessageId.CANT_ENTER_ALLIANCE_WITHIN_1_DAY));
+				activeChar.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.CANT_ENTER_ALLIANCE_WITHIN_1_DAY));
 				return false;
 			}
 		}
 		if (activeChar.isInsideZone(L2Character.ZONE_SIEGE) && target.isInsideZone(L2Character.ZONE_SIEGE))
 		{
-			activeChar.sendPacket(new SystemMessage(SystemMessageId.OPPOSING_CLAN_IS_PARTICIPATING_IN_SIEGE));
+			activeChar.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.OPPOSING_CLAN_IS_PARTICIPATING_IN_SIEGE));
 			return false;
 		}
 		if (leaderClan.isAtWarWith(targetClan.getClanId()))
 		{
-			activeChar.sendPacket(new SystemMessage(SystemMessageId.MAY_NOT_ALLY_CLAN_BATTLE));
+			activeChar.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.MAY_NOT_ALLY_CLAN_BATTLE));
 			return false;
 		}
 		
@@ -2164,7 +2164,7 @@ public class L2Clan
 		}
 		if (numOfClansInAlly >= Config.ALT_MAX_NUM_OF_CLANS_IN_ALLY)
 		{
-			activeChar.sendPacket(new SystemMessage(SystemMessageId.YOU_HAVE_EXCEEDED_THE_LIMIT));
+			activeChar.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.YOU_HAVE_EXCEEDED_THE_LIMIT));
 			return false;
 		}
 		
@@ -2217,45 +2217,45 @@ public class L2Clan
 		
 		if (!player.isClanLeader())
 		{
-			player.sendPacket(new SystemMessage(SystemMessageId.ONLY_CLAN_LEADER_CREATE_ALLIANCE));
+			player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.ONLY_CLAN_LEADER_CREATE_ALLIANCE));
 			return;
 		}
 		if (getAllyId() != 0)
 		{
-			player.sendPacket(new SystemMessage(SystemMessageId.ALREADY_JOINED_ALLIANCE));
+			player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.ALREADY_JOINED_ALLIANCE));
 			return;
 		}
 		if (getLevel() < 5)
 		{
-			player.sendPacket(new SystemMessage(SystemMessageId.TO_CREATE_AN_ALLY_YOU_CLAN_MUST_BE_LEVEL_5_OR_HIGHER));
+			player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.TO_CREATE_AN_ALLY_YOU_CLAN_MUST_BE_LEVEL_5_OR_HIGHER));
 			return;
 		}
 		if (getAllyPenaltyExpiryTime() > System.currentTimeMillis())
 		{
 			if (getAllyPenaltyType() == L2Clan.PENALTY_TYPE_DISSOLVE_ALLY)
 			{
-				player.sendPacket(new SystemMessage(SystemMessageId.CANT_CREATE_ALLIANCE_10_DAYS_DISOLUTION));
+				player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.CANT_CREATE_ALLIANCE_10_DAYS_DISOLUTION));
 				return;
 			}
 		}
 		if (getDissolvingExpiryTime() > System.currentTimeMillis())
 		{
-			player.sendPacket(new SystemMessage(SystemMessageId.YOU_MAY_NOT_CREATE_ALLY_WHILE_DISSOLVING));
+			player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.YOU_MAY_NOT_CREATE_ALLY_WHILE_DISSOLVING));
 			return;
 		}
 		if (!Util.isAlphaNumeric(allyName))
 		{
-			player.sendPacket(new SystemMessage(SystemMessageId.INCORRECT_ALLIANCE_NAME));
+			player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.INCORRECT_ALLIANCE_NAME));
 			return;
 		}
 		if (allyName.length() > 16 || allyName.length() < 2)
 		{
-			player.sendPacket(new SystemMessage(SystemMessageId.INCORRECT_ALLIANCE_NAME_LENGTH));
+			player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.INCORRECT_ALLIANCE_NAME_LENGTH));
 			return;
 		}
 		if (ClanTable.getInstance().isAllyExists(allyName))
 		{
-			player.sendPacket(new SystemMessage(SystemMessageId.ALLIANCE_ALREADY_EXISTS));
+			player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.ALLIANCE_ALREADY_EXISTS));
 			return;
 		}
 		
@@ -2277,21 +2277,21 @@ public class L2Clan
 	{
 		if (getAllyId() == 0)
 		{
-			player.sendPacket(new SystemMessage(SystemMessageId.NO_CURRENT_ALLIANCES));
+			player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.NO_CURRENT_ALLIANCES));
 			return;
 		}
 		if (!player.isClanLeader() || getClanId() != getAllyId())
 		{
-			player.sendPacket(new SystemMessage(SystemMessageId.FEATURE_ONLY_FOR_ALLIANCE_LEADER));
+			player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.FEATURE_ONLY_FOR_ALLIANCE_LEADER));
 			return;
 		}
 		if (player.isInsideZone(L2Character.ZONE_SIEGE))
 		{
-			player.sendPacket(new SystemMessage(SystemMessageId.CANNOT_DISSOLVE_ALLY_WHILE_IN_SIEGE));
+			player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.CANNOT_DISSOLVE_ALLY_WHILE_IN_SIEGE));
 			return;
 		}
 		
-		broadcastToOnlineAllyMembers(new SystemMessage(SystemMessageId.ALLIANCE_DISOLVED));
+		broadcastToOnlineAllyMembers(SystemMessage.getSystemMessage(SystemMessageId.ALLIANCE_DISOLVED));
 		
 		long currentTime = System.currentTimeMillis();
 		for (L2Clan clan : ClanTable.getInstance().getClans())
@@ -2323,12 +2323,12 @@ public class L2Clan
 	{
 		if (!player.isClanLeader())
 		{
-			player.sendPacket(new SystemMessage(SystemMessageId.YOU_ARE_NOT_AUTHORIZED_TO_DO_THAT));
+			player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.YOU_ARE_NOT_AUTHORIZED_TO_DO_THAT));
 			return false;
 		}
 		if (System.currentTimeMillis() < getDissolvingExpiryTime())
 		{
-			player.sendPacket(new SystemMessage(SystemMessageId.CANNOT_RISE_LEVEL_WHILE_DISSOLUTION_IN_PROGRESS));
+			player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.CANNOT_RISE_LEVEL_WHILE_DISSOLUTION_IN_PROGRESS));
 			return false;
 		}
 		
@@ -2344,7 +2344,7 @@ public class L2Clan
 					if (player.reduceAdena("ClanLvl", 650000, player.getTarget(), true))
 					{
 						player.setSp(player.getSp() - 20000);
-						SystemMessage sp = new SystemMessage(SystemMessageId.SP_DECREASED_S1);
+						SystemMessage sp = SystemMessage.getSystemMessage(SystemMessageId.SP_DECREASED_S1);
 						sp.addNumber(20000);
 						player.sendPacket(sp);
 						sp = null;
@@ -2361,7 +2361,7 @@ public class L2Clan
 					if (player.reduceAdena("ClanLvl", 2500000, player.getTarget(), true))
 					{
 						player.setSp(player.getSp() - 100000);
-						SystemMessage sp = new SystemMessage(SystemMessageId.SP_DECREASED_S1);
+						SystemMessage sp = SystemMessage.getSystemMessage(SystemMessageId.SP_DECREASED_S1);
 						sp.addNumber(100000);
 						player.sendPacket(sp);
 						sp = null;
@@ -2379,11 +2379,11 @@ public class L2Clan
 					if (player.destroyItemByItemId("ClanLvl", 1419, 1, player.getTarget(), false))
 					{
 						player.setSp(player.getSp() - 350000);
-						SystemMessage sp = new SystemMessage(SystemMessageId.SP_DECREASED_S1);
+						SystemMessage sp = SystemMessage.getSystemMessage(SystemMessageId.SP_DECREASED_S1);
 						sp.addNumber(350000);
 						player.sendPacket(sp);
 						sp = null;
-						SystemMessage sm = new SystemMessage(SystemMessageId.S1_DISAPPEARED);
+						SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.S1_DISAPPEARED);
 						sm.addItemName(1419);
 						player.sendPacket(sm);
 						sm = null;
@@ -2401,11 +2401,11 @@ public class L2Clan
 					if (player.destroyItemByItemId("ClanLvl", 3874, 1, player.getTarget(), false))
 					{
 						player.setSp(player.getSp() - 1000000);
-						SystemMessage sp = new SystemMessage(SystemMessageId.SP_DECREASED_S1);
+						SystemMessage sp = SystemMessage.getSystemMessage(SystemMessageId.SP_DECREASED_S1);
 						sp.addNumber(1000000);
 						player.sendPacket(sp);
 						sp = null;
-						SystemMessage sm = new SystemMessage(SystemMessageId.S1_DISAPPEARED);
+						SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.S1_DISAPPEARED);
 						sm.addItemName(3874);
 						player.sendPacket(sm);
 						sm = null;
@@ -2423,11 +2423,11 @@ public class L2Clan
 					if (player.destroyItemByItemId("ClanLvl", 3870, 1, player.getTarget(), false))
 					{
 						player.setSp(player.getSp() - 2500000);
-						SystemMessage sp = new SystemMessage(SystemMessageId.SP_DECREASED_S1);
+						SystemMessage sp = SystemMessage.getSystemMessage(SystemMessageId.SP_DECREASED_S1);
 						sp.addNumber(2500000);
 						player.sendPacket(sp);
 						sp = null;
-						SystemMessage sm = new SystemMessage(SystemMessageId.S1_DISAPPEARED);
+						SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.S1_DISAPPEARED);
 						sm.addItemName(3870);
 						player.sendPacket(sm);
 						sm = null;
@@ -2441,7 +2441,7 @@ public class L2Clan
 				if (getReputationScore() >= Config.CLAN_LEVEL_6_COST && getMembersCount() >= Config.CLAN_LEVEL_6_REQUIREMENT)
 				{
 					setReputationScore(getReputationScore() - Config.CLAN_LEVEL_6_COST, true);
-					SystemMessage cr = new SystemMessage(SystemMessageId.S1_DEDUCTED_FROM_CLAN_REP);
+					SystemMessage cr = SystemMessage.getSystemMessage(SystemMessageId.S1_DEDUCTED_FROM_CLAN_REP);
 					cr.addNumber(Config.CLAN_LEVEL_6_COST);
 					player.sendPacket(cr);
 					cr = null;
@@ -2454,7 +2454,7 @@ public class L2Clan
 				if (getReputationScore() >= Config.CLAN_LEVEL_7_COST && getMembersCount() >= Config.CLAN_LEVEL_7_REQUIREMENT)
 				{
 					setReputationScore(getReputationScore() - Config.CLAN_LEVEL_7_COST, true);
-					SystemMessage cr = new SystemMessage(SystemMessageId.S1_DEDUCTED_FROM_CLAN_REP);
+					SystemMessage cr = SystemMessage.getSystemMessage(SystemMessageId.S1_DEDUCTED_FROM_CLAN_REP);
 					cr.addNumber(Config.CLAN_LEVEL_7_COST);
 					player.sendPacket(cr);
 					cr = null;
@@ -2466,7 +2466,7 @@ public class L2Clan
 				if (getReputationScore() >= Config.CLAN_LEVEL_8_COST && getMembersCount() >= Config.CLAN_LEVEL_8_REQUIREMENT)
 				{
 					setReputationScore(getReputationScore() - Config.CLAN_LEVEL_8_COST, true);
-					SystemMessage cr = new SystemMessage(SystemMessageId.S1_DEDUCTED_FROM_CLAN_REP);
+					SystemMessage cr = SystemMessage.getSystemMessage(SystemMessageId.S1_DEDUCTED_FROM_CLAN_REP);
 					cr.addNumber(Config.CLAN_LEVEL_8_COST);
 					player.sendPacket(cr);
 					cr = null;
@@ -2481,11 +2481,11 @@ public class L2Clan
 					if (player.destroyItemByItemId("ClanLvl", 9910, 150, player.getTarget(), false))
 					{
 						setReputationScore(getReputationScore() - Config.CLAN_LEVEL_9_COST, true);
-						SystemMessage cr = new SystemMessage(SystemMessageId.S1_DEDUCTED_FROM_CLAN_REP);
+						SystemMessage cr = SystemMessage.getSystemMessage(SystemMessageId.S1_DEDUCTED_FROM_CLAN_REP);
 						cr.addNumber(Config.CLAN_LEVEL_9_COST);
 						player.sendPacket(cr);
 						cr = null;
-						SystemMessage sm = new SystemMessage(SystemMessageId.S2_S1_DISAPPEARED);
+						SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.S2_S1_DISAPPEARED);
 						sm.addItemName(9910);
 						sm.addItemNumber(150);
 						player.sendPacket(sm);
@@ -2501,11 +2501,11 @@ public class L2Clan
 					if (player.destroyItemByItemId("ClanLvl", 9911, 5, player.getTarget(), false))
 					{
 						setReputationScore(getReputationScore() - Config.CLAN_LEVEL_10_COST, true);
-						SystemMessage cr = new SystemMessage(SystemMessageId.S1_DEDUCTED_FROM_CLAN_REP);
+						SystemMessage cr = SystemMessage.getSystemMessage(SystemMessageId.S1_DEDUCTED_FROM_CLAN_REP);
 						cr.addNumber(Config.CLAN_LEVEL_10_COST);
 						player.sendPacket(cr);
 						cr = null;
-						SystemMessage sm = new SystemMessage(SystemMessageId.S2_S1_DISAPPEARED);
+						SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.S2_S1_DISAPPEARED);
 						sm.addItemName(9911);
 						sm.addItemNumber(5);
 						player.sendPacket(sm);
@@ -2527,7 +2527,7 @@ public class L2Clan
 				if (hasTerritory && getReputationScore() >= Config.CLAN_LEVEL_11_COST && getMembersCount() >= Config.CLAN_LEVEL_11_REQUIREMENT)
 				{
 					setReputationScore(getReputationScore() - Config.CLAN_LEVEL_11_COST, true);
-					SystemMessage cr = new SystemMessage(SystemMessageId.S1_DEDUCTED_FROM_CLAN_REP);
+					SystemMessage cr = SystemMessage.getSystemMessage(SystemMessageId.S1_DEDUCTED_FROM_CLAN_REP);
 					cr.addNumber(Config.CLAN_LEVEL_11_COST);
 					player.sendPacket(cr);
 					cr = null;
@@ -2540,7 +2540,7 @@ public class L2Clan
 		
 		if (!increaseClanLevel)
 		{
-			SystemMessage sm = new SystemMessage(SystemMessageId.FAILED_TO_INCREASE_CLAN_LEVEL);
+			SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.FAILED_TO_INCREASE_CLAN_LEVEL);
 			player.sendPacket(sm);
 			return false;
 		}
@@ -2586,7 +2586,7 @@ public class L2Clan
 			if (4 < level)
 			{
 				SiegeManager.getInstance().addSiegeSkills(leader);
-				leader.sendPacket(new SystemMessage(SystemMessageId.CLAN_CAN_ACCUMULATE_CLAN_REPUTATION_POINTS));
+				leader.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.CLAN_CAN_ACCUMULATE_CLAN_REPUTATION_POINTS));
 			}
 			else if (5 > level)
 			{
@@ -2595,7 +2595,7 @@ public class L2Clan
 		}
 		
 		// notify all the members about it
-		broadcastToOnlineMembers(new SystemMessage(SystemMessageId.CLAN_LEVEL_INCREASED));
+		broadcastToOnlineMembers(SystemMessage.getSystemMessage(SystemMessageId.CLAN_LEVEL_INCREASED));
 		broadcastToOnlineMembers(new PledgeShowInfoUpdate(this));
 		/*
 		 * Micht :

+ 3 - 3
L2_GameServer/java/com/l2jserver/gameserver/model/L2CommandChannel.java

@@ -52,7 +52,7 @@ public class L2CommandChannel
 		_partys.add(leader.getParty());
 		_channelLvl = leader.getParty().getLevel();
 		leader.getParty().setCommandChannel(this);
-		leader.getParty().broadcastToPartyMembers(new SystemMessage(SystemMessageId.COMMAND_CHANNEL_FORMED));
+		leader.getParty().broadcastToPartyMembers(SystemMessage.getSystemMessage(SystemMessageId.COMMAND_CHANNEL_FORMED));
 		leader.getParty().broadcastToPartyMembers(new ExOpenMPCC());
 	}
 	
@@ -71,7 +71,7 @@ public class L2CommandChannel
 		if (party.getLevel() > _channelLvl)
 			_channelLvl = party.getLevel();
 		party.setCommandChannel(this);
-		party.broadcastToPartyMembers(new SystemMessage(SystemMessageId.JOINED_COMMAND_CHANNEL));
+		party.broadcastToPartyMembers(SystemMessage.getSystemMessage(SystemMessageId.JOINED_COMMAND_CHANNEL));
 		party.broadcastToPartyMembers(new ExOpenMPCC());
 	}
 	
@@ -95,7 +95,7 @@ public class L2CommandChannel
 		party.broadcastToPartyMembers(new ExCloseMPCC());
 		if(_partys.size() < 2)
 		{
-			broadcastToChannelMembers(new SystemMessage(SystemMessageId.COMMAND_CHANNEL_DISBANDED));
+			broadcastToChannelMembers(SystemMessage.getSystemMessage(SystemMessageId.COMMAND_CHANNEL_DISBANDED));
 			disbandChannel();
 		}
 		else

+ 2 - 2
L2_GameServer/java/com/l2jserver/gameserver/model/L2Effect.java

@@ -463,7 +463,7 @@ public abstract class L2Effect
 				
 				if (_skill.isPvpSkill() && _icon && getEffected() instanceof L2PcInstance)
 				{
-					SystemMessage smsg = new SystemMessage(SystemMessageId.YOU_FEEL_S1_EFFECT);
+					SystemMessage smsg = SystemMessage.getSystemMessage(SystemMessageId.YOU_FEEL_S1_EFFECT);
 					smsg.addSkillName(_skill);
 					getEffected().sendPacket(smsg);
 				}
@@ -503,7 +503,7 @@ public abstract class L2Effect
 				//If the time left is equal to zero, send the message
 				if (_count == 0 && _icon && getEffected() instanceof L2PcInstance)
 				{
-					SystemMessage smsg3 = new SystemMessage(SystemMessageId.S1_HAS_WORN_OFF);
+					SystemMessage smsg3 = SystemMessage.getSystemMessage(SystemMessageId.S1_HAS_WORN_OFF);
 					smsg3.addSkillName(_skill);
 					getEffected().sendPacket(smsg3);
 				}

+ 19 - 19
L2_GameServer/java/com/l2jserver/gameserver/model/L2Fishing.java

@@ -58,13 +58,13 @@ public class L2Fishing implements Runnable
 		if (_fishCurHp >= _fishMaxHp * 2)
 		{
 			// The fish got away
-			_fisher.sendPacket(new SystemMessage(SystemMessageId.BAIT_STOLEN_BY_FISH));
+			_fisher.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.BAIT_STOLEN_BY_FISH));
 			doDie(false);
 		}
 		else if (_time <= 0)
 		{
 			// Time is up, so that fish got away
-			_fisher.sendPacket(new SystemMessage(SystemMessageId.FISH_SPIT_THE_HOOK));
+			_fisher.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.FISH_SPIT_THE_HOOK));
 			doDie(false);
 		}
 		else aiTask();
@@ -94,7 +94,7 @@ public class L2Fishing implements Runnable
 		_fisher.broadcastPacket(efsc);
 		_fisher.sendPacket(new PlaySound(1, "SF_S_01", 0, 0, 0, 0, 0));
 		// Succeeded in getting a bite
-		_fisher.sendPacket(new SystemMessage(SystemMessageId.GOT_A_BITE));
+		_fisher.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.GOT_A_BITE));
 		
 		if (_fishAiTask == null)
 		{
@@ -143,7 +143,7 @@ public class L2Fishing implements Runnable
 			}
 			else
 			{
-				_fisher.sendPacket(new SystemMessage(SystemMessageId.YOU_CAUGHT_SOMETHING));
+				_fisher.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.YOU_CAUGHT_SOMETHING));
 				_fisher.addItem("Fishing", _fishId, 1, null, true);
 			}
 		}
@@ -198,7 +198,7 @@ public class L2Fishing implements Runnable
 	{
 		_anim = 2;
 		if (Rnd.get(100) > 90) {
-			_fisher.sendPacket(new SystemMessage(SystemMessageId.FISH_RESISTED_ATTEMPT_TO_BRING_IT_IN));
+			_fisher.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.FISH_RESISTED_ATTEMPT_TO_BRING_IT_IN));
 			_goodUse = 0;
 			changeHp(0, pen);
 			return;
@@ -208,11 +208,11 @@ public class L2Fishing implements Runnable
 		{
 			if (_deceptiveMode == 0) {
 				// Reeling is successful, Damage: $s1
-				SystemMessage sm = new SystemMessage(SystemMessageId.REELING_SUCCESFUL_S1_DAMAGE);
+				SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.REELING_SUCCESFUL_S1_DAMAGE);
 				sm.addNumber(dmg);
 				_fisher.sendPacket(sm);
 				if (pen == 50) {
-					sm = new SystemMessage(SystemMessageId.REELING_SUCCESSFUL_PENALTY_S1);
+					sm = SystemMessage.getSystemMessage(SystemMessageId.REELING_SUCCESSFUL_PENALTY_S1);
 					sm.addNumber(pen);
 					_fisher.sendPacket(sm);
 				}
@@ -221,7 +221,7 @@ public class L2Fishing implements Runnable
 			}
 			else {
 				// Reeling failed, Damage: $s1
-				SystemMessage sm = new SystemMessage(SystemMessageId.FISH_RESISTED_REELING_S1_HP_REGAINED);
+				SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.FISH_RESISTED_REELING_S1_HP_REGAINED);
 				sm.addNumber(dmg);
 				_fisher.sendPacket(sm);
 				_goodUse = 2;
@@ -232,7 +232,7 @@ public class L2Fishing implements Runnable
 		{
 			if (_deceptiveMode == 0) {
 				// Reeling failed, Damage: $s1
-				SystemMessage sm = new SystemMessage(SystemMessageId.FISH_RESISTED_REELING_S1_HP_REGAINED);
+				SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.FISH_RESISTED_REELING_S1_HP_REGAINED);
 				sm.addNumber(dmg);
 				_fisher.sendPacket(sm);
 				_goodUse = 2;
@@ -240,11 +240,11 @@ public class L2Fishing implements Runnable
 			}
 			else {
 				// Reeling is successful, Damage: $s1
-				SystemMessage sm = new SystemMessage(SystemMessageId.REELING_SUCCESFUL_S1_DAMAGE);
+				SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.REELING_SUCCESFUL_S1_DAMAGE);
 				sm.addNumber(dmg);
 				_fisher.sendPacket(sm);
 				if (pen == 50) {
-					sm = new SystemMessage(SystemMessageId.REELING_SUCCESSFUL_PENALTY_S1);
+					sm = SystemMessage.getSystemMessage(SystemMessageId.REELING_SUCCESSFUL_PENALTY_S1);
 					sm.addNumber(pen);
 					_fisher.sendPacket(sm);
 				}
@@ -258,7 +258,7 @@ public class L2Fishing implements Runnable
 	{
 		_anim = 1;
 		if (Rnd.get(100) > 90) {
-			_fisher.sendPacket(new SystemMessage(SystemMessageId.FISH_RESISTED_ATTEMPT_TO_BRING_IT_IN));
+			_fisher.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.FISH_RESISTED_ATTEMPT_TO_BRING_IT_IN));
 			_goodUse = 0;
 			changeHp(0, pen);
 			return;
@@ -268,11 +268,11 @@ public class L2Fishing implements Runnable
 		{
 			if (_deceptiveMode == 0) {
 				// Pumping is successful. Damage: $s1
-				SystemMessage sm = new SystemMessage(SystemMessageId.PUMPING_SUCCESFUL_S1_DAMAGE);
+				SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.PUMPING_SUCCESFUL_S1_DAMAGE);
 				sm.addNumber(dmg);
 				_fisher.sendPacket(sm);
 				if (pen == 50) {
-					sm = new SystemMessage(SystemMessageId.PUMPING_SUCCESSFUL_PENALTY_S1);
+					sm = SystemMessage.getSystemMessage(SystemMessageId.PUMPING_SUCCESSFUL_PENALTY_S1);
 					sm.addNumber(pen);
 					_fisher.sendPacket(sm);
 				}
@@ -281,7 +281,7 @@ public class L2Fishing implements Runnable
 			}
 			else {
 				// Pumping failed, Regained: $s1
-				SystemMessage sm = new SystemMessage(SystemMessageId.FISH_RESISTED_PUMPING_S1_HP_REGAINED);
+				SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.FISH_RESISTED_PUMPING_S1_HP_REGAINED);
 				sm.addNumber(dmg);
 				_fisher.sendPacket(sm);
 				_goodUse = 2;
@@ -292,7 +292,7 @@ public class L2Fishing implements Runnable
 		{
 			if (_deceptiveMode == 0) {
 				// Pumping failed, Regained: $s1
-				SystemMessage sm = new SystemMessage(SystemMessageId.FISH_RESISTED_PUMPING_S1_HP_REGAINED);
+				SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.FISH_RESISTED_PUMPING_S1_HP_REGAINED);
 				sm.addNumber(dmg);
 				_fisher.sendPacket(sm);
 				_goodUse = 2;
@@ -300,11 +300,11 @@ public class L2Fishing implements Runnable
 			}
 			else {
 				// Pumping is successful. Damage: $s1
-				SystemMessage sm = new SystemMessage(SystemMessageId.PUMPING_SUCCESFUL_S1_DAMAGE);
+				SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.PUMPING_SUCCESFUL_S1_DAMAGE);
 				sm.addNumber(dmg);
 				_fisher.sendPacket(sm);
 				if (pen == 50) {
-					sm = new SystemMessage(SystemMessageId.PUMPING_SUCCESSFUL_PENALTY_S1);
+					sm = SystemMessage.getSystemMessage(SystemMessageId.PUMPING_SUCCESSFUL_PENALTY_S1);
 					sm.addNumber(pen);
 					_fisher.sendPacket(sm);
 				}
@@ -320,7 +320,7 @@ public class L2Fishing implements Runnable
 		
 		int npcid;
 		
-		_fisher.sendPacket(new SystemMessage(SystemMessageId.YOU_CAUGHT_SOMETHING_SMELLY_THROW_IT_BACK));
+		_fisher.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.YOU_CAUGHT_SOMETHING_SMELLY_THROW_IT_BACK));
 		switch (lvl)
 		{
 			case 0:

+ 5 - 5
L2_GameServer/java/com/l2jserver/gameserver/model/L2ItemInstance.java

@@ -1217,17 +1217,17 @@ public final class L2ItemInstance extends L2Object
 			switch (_mana)
 			{
 				case 10:
-					sm = new SystemMessage(SystemMessageId.S1S_REMAINING_MANA_IS_NOW_10);
+					sm = SystemMessage.getSystemMessage(SystemMessageId.S1S_REMAINING_MANA_IS_NOW_10);
 					sm.addItemName(_item);
 					player.sendPacket(sm);
 					break;
 				case 5:
-					sm = new SystemMessage(SystemMessageId.S1S_REMAINING_MANA_IS_NOW_5);
+					sm = SystemMessage.getSystemMessage(SystemMessageId.S1S_REMAINING_MANA_IS_NOW_5);
 					sm.addItemName(_item);
 					player.sendPacket(sm);
 					break;
 				case 1:
-					sm = new SystemMessage(SystemMessageId.S1S_REMAINING_MANA_IS_NOW_1);
+					sm = SystemMessage.getSystemMessage(SystemMessageId.S1S_REMAINING_MANA_IS_NOW_1);
 					sm.addItemName(_item);
 					player.sendPacket(sm);
 					break;
@@ -1235,7 +1235,7 @@ public final class L2ItemInstance extends L2Object
 			
 			if (_mana == 0) // The life time has expired
 			{
-				sm = new SystemMessage(SystemMessageId.S1S_REMAINING_MANA_IS_NOW_0);
+				sm = SystemMessage.getSystemMessage(SystemMessageId.S1S_REMAINING_MANA_IS_NOW_0);
 				sm.addItemName(_item);
 				player.sendPacket(sm);
 				
@@ -1809,7 +1809,7 @@ public final class L2ItemInstance extends L2Object
 			{
 				player.getWarehouse().destroyItem("L2ItemInstance", this, player, null);
 			}
-			player.sendPacket(new SystemMessage(SystemMessageId.TIME_LIMITED_ITEM_DELETED));
+			player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.TIME_LIMITED_ITEM_DELETED));
 			// delete from world
 			L2World.getInstance().removeObject(this);
 		}

+ 18 - 18
L2_GameServer/java/com/l2jserver/gameserver/model/L2Party.java

@@ -301,11 +301,11 @@ public class L2Party
 			}
 		}
 		
-		SystemMessage msg = new SystemMessage(SystemMessageId.YOU_JOINED_S1_PARTY);
+		SystemMessage msg = SystemMessage.getSystemMessage(SystemMessageId.YOU_JOINED_S1_PARTY);
 		msg.addString(getLeader().getName());
 		player.sendPacket(msg);
 		
-		msg = new SystemMessage(SystemMessageId.C1_JOINED_PARTY);
+		msg = SystemMessage.getSystemMessage(SystemMessageId.C1_JOINED_PARTY);
 		msg.addString(player.getName());
 		broadcastToPartyMembers(msg);
 		broadcastToPartyMembers(new PartySmallWindowAdd(player, this));
@@ -411,9 +411,9 @@ public class L2Party
 			
 			if (sendMessage)
 			{
-				msg = new SystemMessage(SystemMessageId.YOU_LEFT_PARTY);
+				msg = SystemMessage.getSystemMessage(SystemMessageId.YOU_LEFT_PARTY);
 				player.sendPacket(msg);
-				msg = new SystemMessage(SystemMessageId.C1_LEFT_PARTY);
+				msg = SystemMessage.getSystemMessage(SystemMessageId.C1_LEFT_PARTY);
 				msg.addString(player.getName());
 				broadcastToPartyMembers(msg);
 			}
@@ -439,7 +439,7 @@ public class L2Party
 			
 			if (isLeader && getPartyMembers().size() > 1)
 			{
-				msg = new SystemMessage(SystemMessageId.C1_HAS_BECOME_A_PARTY_LEADER);
+				msg = SystemMessage.getSystemMessage(SystemMessageId.C1_HAS_BECOME_A_PARTY_LEADER);
 				msg.addString(getLeader().getName());
 				broadcastToPartyMembers(msg);
 				broadcastToPartyMembersNewLeader();
@@ -496,7 +496,7 @@ public class L2Party
 			{
 				if (isLeader(player))
 				{
-					player.sendPacket(new SystemMessage(SystemMessageId.YOU_CANNOT_TRANSFER_RIGHTS_TO_YOURSELF));
+					player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.YOU_CANNOT_TRANSFER_RIGHTS_TO_YOURSELF));
 				}
 				else
 				{
@@ -508,14 +508,14 @@ public class L2Party
 					getPartyMembers().set(p1,temp);
 					
 					
-					SystemMessage msg = new SystemMessage(SystemMessageId.C1_HAS_BECOME_A_PARTY_LEADER);
+					SystemMessage msg = SystemMessage.getSystemMessage(SystemMessageId.C1_HAS_BECOME_A_PARTY_LEADER);
 					msg.addString(getLeader().getName());
 					broadcastToPartyMembers(msg);
 					broadcastToPartyMembersNewLeader();
 					if (isInCommandChannel() && temp.equals(_commandChannel.getChannelLeader()))
 					{
 						_commandChannel.setChannelLeader(getLeader());
-						msg = new SystemMessage(SystemMessageId.COMMAND_CHANNEL_LEADER_NOW_C1);
+						msg = SystemMessage.getSystemMessage(SystemMessageId.COMMAND_CHANNEL_LEADER_NOW_C1);
 						msg.addString(_commandChannel.getChannelLeader().getName());
 						_commandChannel.broadcastToChannelMembers(msg);
 					}
@@ -528,7 +528,7 @@ public class L2Party
 			}
 			else
 			{
-				player.sendPacket(new SystemMessage(SystemMessageId.YOU_CAN_TRANSFER_RIGHTS_ONLY_TO_ANOTHER_PARTY_MEMBER));
+				player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.YOU_CAN_TRANSFER_RIGHTS_ONLY_TO_ANOTHER_PARTY_MEMBER));
 			}
 		}
 		
@@ -568,7 +568,7 @@ public class L2Party
 		// Send messages to other party members about reward
 		if (item.getCount() > 1)
 		{
-			SystemMessage msg = new SystemMessage(SystemMessageId.C1_OBTAINED_S3_S2);
+			SystemMessage msg = SystemMessage.getSystemMessage(SystemMessageId.C1_OBTAINED_S3_S2);
 			msg.addString(target.getName());
 			msg.addItemName(item);
 			msg.addItemNumber(item.getCount());
@@ -576,7 +576,7 @@ public class L2Party
 		}
 		else
 		{
-			SystemMessage msg = new SystemMessage(SystemMessageId.C1_OBTAINED_S2);
+			SystemMessage msg = SystemMessage.getSystemMessage(SystemMessageId.C1_OBTAINED_S2);
 			msg.addString(target.getName());
 			msg.addItemName(item);
 			broadcastToPartyMembers(target, msg);
@@ -605,8 +605,8 @@ public class L2Party
 		// Send messages to other aprty members about reward
 		if (item.getCount() > 1)
 		{
-			SystemMessage msg = spoil ?  new SystemMessage(SystemMessageId.C1_SWEEPED_UP_S3_S2)
-			: new SystemMessage(SystemMessageId.C1_OBTAINED_S3_S2);
+			SystemMessage msg = spoil ?  SystemMessage.getSystemMessage(SystemMessageId.C1_SWEEPED_UP_S3_S2)
+			: SystemMessage.getSystemMessage(SystemMessageId.C1_OBTAINED_S3_S2);
 			msg.addString(looter.getName());
 			msg.addItemName(item.getItemId());
 			msg.addItemNumber(item.getCount());
@@ -614,8 +614,8 @@ public class L2Party
 		}
 		else
 		{
-			SystemMessage msg = spoil ?  new SystemMessage(SystemMessageId.C1_SWEEPED_UP_S2)
-			: new SystemMessage(SystemMessageId.C1_OBTAINED_S2);
+			SystemMessage msg = spoil ?  SystemMessage.getSystemMessage(SystemMessageId.C1_SWEEPED_UP_S2)
+			: SystemMessage.getSystemMessage(SystemMessageId.C1_OBTAINED_S2);
 			msg.addString(looter.getName());
 			msg.addItemName(item.getItemId());
 			broadcastToPartyMembers(looter, msg);
@@ -914,7 +914,7 @@ public class L2Party
 		_changeLootAnswers = FastList.newInstance();
 		_checkTask = ThreadPoolManager.getInstance().scheduleGeneralAtFixedRate(new ChangeLootCheck(), additionalTime+1000, 5000);
 		broadcastToPartyMembers(getLeader(), new ExAskModifyPartyLooting(getLeader().getName(), type));
-		SystemMessage sm = new SystemMessage(SystemMessageId.REQUESTING_APPROVAL_CHANGE_PARTY_LOOT_S1);
+		SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.REQUESTING_APPROVAL_CHANGE_PARTY_LOOT_S1);
 		sm.addSystemString(LOOT_SYSSTRINGS[type]);
 		getLeader().sendPacket(sm);
 	}
@@ -950,14 +950,14 @@ public class L2Party
 		{
 			broadcastToPartyMembers(new ExSetPartyLooting(1, _requestChangeLoot));
 			_itemDistribution = _requestChangeLoot;
-			SystemMessage sm = new SystemMessage(SystemMessageId.PARTY_LOOT_CHANGED_S1);
+			SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.PARTY_LOOT_CHANGED_S1);
 			sm.addSystemString(LOOT_SYSSTRINGS[_requestChangeLoot]);
 			broadcastToPartyMembers(sm);
 		}
 		else
 		{
 			broadcastToPartyMembers(new ExSetPartyLooting(0, (byte) 0));
-			broadcastToPartyMembers(new SystemMessage(SystemMessageId.PARTY_LOOT_CHANGE_CANCELLED));
+			broadcastToPartyMembers(SystemMessage.getSystemMessage(SystemMessageId.PARTY_LOOT_CHANGE_CANCELLED));
 		}
 		_requestChangeLoot = -1;
 		FastList.recycle((FastList<?>) _changeLootAnswers);

+ 3 - 3
L2_GameServer/java/com/l2jserver/gameserver/model/L2Request.java

@@ -87,12 +87,12 @@ public class L2Request
 	{
 		if (partner == null)
 		{
-			_player.sendPacket(new SystemMessage(SystemMessageId.YOU_HAVE_INVITED_THE_WRONG_TARGET));
+			_player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.YOU_HAVE_INVITED_THE_WRONG_TARGET));
 			return false;
 		}
 		if (partner.getRequest().isProcessingRequest())
 		{
-			SystemMessage sm = new SystemMessage(SystemMessageId.C1_IS_BUSY_TRY_LATER);
+			SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.C1_IS_BUSY_TRY_LATER);
 			sm.addString(partner.getName());
 			_player.sendPacket(sm);
 			sm = null;
@@ -100,7 +100,7 @@ public class L2Request
 		}
 		if (isProcessingRequest())
 		{
-			_player.sendPacket(new SystemMessage(SystemMessageId.WAITING_FOR_ANOTHER_REPLY));
+			_player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.WAITING_FOR_ANOTHER_REPLY));
 			return false;
 		}
 		

+ 19 - 19
L2_GameServer/java/com/l2jserver/gameserver/model/L2Skill.java

@@ -1246,7 +1246,7 @@ public abstract class L2Skill implements IChanceSkillTrigger
 		}
 		else
 		{
-			SystemMessage message = new SystemMessage(SystemMessageId.S1_CANNOT_BE_USED);
+			SystemMessage message = SystemMessage.getSystemMessage(SystemMessageId.S1_CANNOT_BE_USED);
 			message.addSkillName(this);
 			activeChar.sendPacket(message);
 			
@@ -1308,7 +1308,7 @@ public abstract class L2Skill implements IChanceSkillTrigger
 				int msgId = cond.getMessageId();
 				if (msgId != 0)
 				{
-					SystemMessage sm = new SystemMessage(msgId);
+					SystemMessage sm = SystemMessage.getSystemMessage(msgId);
 					if (cond.isAddName())
 						sm.addSkillName(_id);
 					activeChar.sendPacket(sm);
@@ -1398,7 +1398,7 @@ public abstract class L2Skill implements IChanceSkillTrigger
 				// Check for null target or any other invalid target
 				if (target == null || target.isDead() || (target == activeChar && !canTargetSelf))
 				{
-					activeChar.sendPacket(new SystemMessage(SystemMessageId.TARGET_IS_INCORRECT));
+					activeChar.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.TARGET_IS_INCORRECT));
 					return _emptyTargetList;
 				}
 				
@@ -1559,7 +1559,7 @@ public abstract class L2Skill implements IChanceSkillTrigger
 				if (((target == null || target == activeChar || target.isAlikeDead()) && getCastRange() >= 0) ||
 						(!(target instanceof L2Attackable || target instanceof L2Playable)))
 				{
-					activeChar.sendPacket(new SystemMessage(SystemMessageId.TARGET_IS_INCORRECT));
+					activeChar.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.TARGET_IS_INCORRECT));
 					return _emptyTargetList;
 				}
 				
@@ -1686,7 +1686,7 @@ public abstract class L2Skill implements IChanceSkillTrigger
 				}
 				else
 				{
-					activeChar.sendPacket(new SystemMessage(SystemMessageId.TARGET_IS_INCORRECT));
+					activeChar.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.TARGET_IS_INCORRECT));
 					return _emptyTargetList;
 				}
 			}
@@ -1722,7 +1722,7 @@ public abstract class L2Skill implements IChanceSkillTrigger
 				}
 				else
 				{
-					activeChar.sendPacket(new SystemMessage(SystemMessageId.TARGET_IS_INCORRECT));
+					activeChar.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.TARGET_IS_INCORRECT));
 					return _emptyTargetList;
 				}
 			}
@@ -2028,7 +2028,7 @@ public abstract class L2Skill implements IChanceSkillTrigger
 								if (targetPlayer.isInsideZone(L2Character.ZONE_SIEGE) && !targetPlayer.isInSiege())
 								{
 									condGood = false;
-									activeChar.sendPacket(new SystemMessage(SystemMessageId.CANNOT_BE_RESURRECTED_DURING_SIEGE));
+									activeChar.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.CANNOT_BE_RESURRECTED_DURING_SIEGE));
 								}
 								
 								if (targetPlayer.isFestivalParticipant()) // Check to see if the current player target is in a festival.
@@ -2039,9 +2039,9 @@ public abstract class L2Skill implements IChanceSkillTrigger
 								if (targetPlayer.isReviveRequested())
 								{
 									if (targetPlayer.isRevivingPet())
-										player.sendPacket(new SystemMessage(SystemMessageId.MASTER_CANNOT_RES)); // While a pet is attempting to resurrect, it cannot help in resurrecting its master.
+										player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.MASTER_CANNOT_RES)); // While a pet is attempting to resurrect, it cannot help in resurrecting its master.
 									else
-										player.sendPacket(new SystemMessage(SystemMessageId.RES_HAS_ALREADY_BEEN_PROPOSED)); // Resurrection is already been proposed.
+										player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.RES_HAS_ALREADY_BEEN_PROPOSED)); // Resurrection is already been proposed.
 									condGood = false;
 								}
 							}
@@ -2052,9 +2052,9 @@ public abstract class L2Skill implements IChanceSkillTrigger
 									if (targetPet.getOwner().isReviveRequested())
 									{
 										if (targetPet.getOwner().isRevivingPet())
-											player.sendPacket(new SystemMessage(SystemMessageId.RES_HAS_ALREADY_BEEN_PROPOSED)); // Resurrection is already been proposed.
+											player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.RES_HAS_ALREADY_BEEN_PROPOSED)); // Resurrection is already been proposed.
 										else
-											player.sendPacket(new SystemMessage(SystemMessageId.CANNOT_RES_PET2)); // A pet cannot be resurrected while it's owner is in the process of resurrecting.
+											player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.CANNOT_RES_PET2)); // A pet cannot be resurrected while it's owner is in the process of resurrecting.
 										condGood = false;
 									}
 								}
@@ -2073,7 +2073,7 @@ public abstract class L2Skill implements IChanceSkillTrigger
 						}
 					}
 				}
-				activeChar.sendPacket(new SystemMessage(SystemMessageId.TARGET_IS_INCORRECT));
+				activeChar.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.TARGET_IS_INCORRECT));
 				return _emptyTargetList;
 			}
 			case TARGET_CORPSE_MOB:
@@ -2081,7 +2081,7 @@ public abstract class L2Skill implements IChanceSkillTrigger
 				final boolean isSummon = target instanceof L2SummonInstance;
 				if (!(isSummon || target instanceof L2Attackable) || !target.isDead())
 				{
-					activeChar.sendPacket(new SystemMessage(SystemMessageId.TARGET_IS_INCORRECT));
+					activeChar.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.TARGET_IS_INCORRECT));
 					return _emptyTargetList;
 				}
 				
@@ -2099,7 +2099,7 @@ public abstract class L2Skill implements IChanceSkillTrigger
 						if (DecayTaskManager.getInstance().getTasks().containsKey(target)
 								&& (System.currentTimeMillis() - DecayTaskManager.getInstance().getTasks().get(target)) > DecayTaskManager.ATTACKABLE_DECAY_TIME / 2)
 						{
-							activeChar.sendPacket(new SystemMessage(SystemMessageId.CORPSE_TOO_OLD_SKILL_NOT_USED));
+							activeChar.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.CORPSE_TOO_OLD_SKILL_NOT_USED));
 							return _emptyTargetList;
 						}
 					}
@@ -2118,7 +2118,7 @@ public abstract class L2Skill implements IChanceSkillTrigger
 			{
 				if ((!(target instanceof L2Attackable)) || !target.isDead())
 				{
-					activeChar.sendPacket(new SystemMessage(SystemMessageId.TARGET_IS_INCORRECT));
+					activeChar.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.TARGET_IS_INCORRECT));
 					return _emptyTargetList;
 				}
 				
@@ -2154,7 +2154,7 @@ public abstract class L2Skill implements IChanceSkillTrigger
 			{
 				if (!(target instanceof L2DoorInstance) && !(target instanceof L2ChestInstance))
 				{
-					//activeChar.sendPacket(new SystemMessage(SystemMessage.TARGET_IS_INCORRECT));
+					//activeChar.sendPacket(SystemMessage.getSystemMessage(SystemMessage.TARGET_IS_INCORRECT));
 					return _emptyTargetList;
 				}
 				
@@ -2172,7 +2172,7 @@ public abstract class L2Skill implements IChanceSkillTrigger
 				{
 					if (!target.isUndead() || target.isDead())
 					{
-						activeChar.sendPacket(new SystemMessage(SystemMessageId.TARGET_IS_INCORRECT));
+						activeChar.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.TARGET_IS_INCORRECT));
 						return _emptyTargetList;
 					}
 					
@@ -2185,7 +2185,7 @@ public abstract class L2Skill implements IChanceSkillTrigger
 				}
 				else
 				{
-					activeChar.sendPacket(new SystemMessage(SystemMessageId.TARGET_IS_INCORRECT));
+					activeChar.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.TARGET_IS_INCORRECT));
 					return _emptyTargetList;
 				}
 			}
@@ -2574,7 +2574,7 @@ public abstract class L2Skill implements IChanceSkillTrigger
 			// display fail message only for effects with icons
 			else if (et.icon && effector instanceof L2PcInstance)
 			{
-				SystemMessage sm = new SystemMessage(SystemMessageId.C1_RESISTED_YOUR_S2);
+				SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.C1_RESISTED_YOUR_S2);
 				sm.addCharName(effected);
 				sm.addSkillName(this);
 				((L2PcInstance)effector).sendPacket(sm);

+ 1 - 1
L2_GameServer/java/com/l2jserver/gameserver/model/PartyMatchRoom.java

@@ -83,7 +83,7 @@ public class PartyMatchRoom
 	{
 		for(L2PcInstance _member : getPartyMembers())
 		{
-			SystemMessage sm = new SystemMessage(SystemMessageId.C1_LEFT_PARTY_ROOM);
+			SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.C1_LEFT_PARTY_ROOM);
 			sm.addCharName(player);
 			_member.sendPacket(sm);
 			_member.sendPacket(new ExManagePartyRoomMember(player, this, 2));

+ 1 - 1
L2_GameServer/java/com/l2jserver/gameserver/model/PartyMatchRoomList.java

@@ -51,7 +51,7 @@ public class PartyMatchRoomList
 				continue;
 			
 			_member.sendPacket(new ExClosePartyRoom());
-			_member.sendPacket(new SystemMessage(SystemMessageId.PARTY_ROOM_DISBANDED));
+			_member.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.PARTY_ROOM_DISBANDED));
 			
 			_member.setPartyRoom(0);
 			//_member.setPartyMatching(0);

+ 3 - 3
L2_GameServer/java/com/l2jserver/gameserver/model/TerritoryWard.java

@@ -115,7 +115,7 @@ public class TerritoryWard
 	{
 		if (player.isMounted())
 		{
-			player.sendPacket(new SystemMessage(SystemMessageId.CANNOT_EQUIP_ITEM_DUE_TO_BAD_CONDITION));
+			player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.CANNOT_EQUIP_ITEM_DUE_TO_BAD_CONDITION));
 			player.destroyItem("CombatFlag", item, null, true);
 			spawnMe();
 			return false;
@@ -140,7 +140,7 @@ public class TerritoryWard
 		else
 			_item = item;
 		_player.getInventory().equipItem(_item);
-		SystemMessage sm = new SystemMessage(SystemMessageId.S1_EQUIPPED);
+		SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.S1_EQUIPPED);
 		sm.addItemName(_item);
 		_player.sendPacket(sm);
 		
@@ -156,7 +156,7 @@ public class TerritoryWard
 		// Refresh player stats
 		_player.broadcastUserInfo();
 		_player.setCombatFlagEquipped(true);
-		_player.sendPacket(new SystemMessage(SystemMessageId.YOU_VE_ACQUIRED_THE_WARD));
+		_player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.YOU_VE_ACQUIRED_THE_WARD));
 		TerritoryWarManager.getInstance().giveTWPoint(player, _territoryId, 5);
 		return true;
 	}

+ 16 - 16
L2_GameServer/java/com/l2jserver/gameserver/model/TradeList.java

@@ -692,13 +692,13 @@ public class TradeList
 		// check weight and slots
 		if ((!getOwner().getInventory().validateWeight(partnerList.calcItemsWeight())) || !(partnerList.getOwner().getInventory().validateWeight(calcItemsWeight())))
 		{
-			partnerList.getOwner().sendPacket(new SystemMessage(SystemMessageId.WEIGHT_LIMIT_EXCEEDED));
-			getOwner().sendPacket(new SystemMessage(SystemMessageId.WEIGHT_LIMIT_EXCEEDED));
+			partnerList.getOwner().sendPacket(SystemMessage.getSystemMessage(SystemMessageId.WEIGHT_LIMIT_EXCEEDED));
+			getOwner().sendPacket(SystemMessage.getSystemMessage(SystemMessageId.WEIGHT_LIMIT_EXCEEDED));
 		}
 		else if ((!getOwner().getInventory().validateCapacity(partnerList.countItemsSlots(getOwner()))) || (!partnerList.getOwner().getInventory().validateCapacity(countItemsSlots(partnerList.getOwner()))))
 		{
-			partnerList.getOwner().sendPacket(new SystemMessage(SystemMessageId.SLOTS_FULL));
-			getOwner().sendPacket(new SystemMessage(SystemMessageId.SLOTS_FULL));
+			partnerList.getOwner().sendPacket(SystemMessage.getSystemMessage(SystemMessageId.SLOTS_FULL));
+			getOwner().sendPacket(SystemMessage.getSystemMessage(SystemMessageId.SLOTS_FULL));
 		}
 		else
 		{
@@ -831,19 +831,19 @@ public class TradeList
 		
 		if (totalPrice > playerInventory.getAdena())
 		{
-			player.sendPacket(new SystemMessage(SystemMessageId.YOU_NOT_ENOUGH_ADENA));
+			player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.YOU_NOT_ENOUGH_ADENA));
 			return 1;
 		}
 		
 		if (!playerInventory.validateWeight(weight))
 		{
-			player.sendPacket(new SystemMessage(SystemMessageId.WEIGHT_LIMIT_EXCEEDED));
+			player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.WEIGHT_LIMIT_EXCEEDED));
 			return 1;
 		}
 		
 		if (!playerInventory.validateCapacity(slots))
 		{
-			player.sendPacket(new SystemMessage(SystemMessageId.SLOTS_FULL));
+			player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.SLOTS_FULL));
 			return 1;
 		}
 		
@@ -854,7 +854,7 @@ public class TradeList
 		final L2ItemInstance adenaItem = playerInventory.getAdenaInstance();
 		if (!playerInventory.reduceAdena("PrivateStore", totalPrice, player, _owner))
 		{
-			player.sendPacket(new SystemMessage(SystemMessageId.YOU_NOT_ENOUGH_ADENA));
+			player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.YOU_NOT_ENOUGH_ADENA));
 			return 1;
 		}
 		playerIU.addItem(adenaItem);
@@ -901,13 +901,13 @@ public class TradeList
 			// Send messages about the transaction to both players
 			if (newItem.isStackable())
 			{
-				SystemMessage msg = new SystemMessage(SystemMessageId.C1_PURCHASED_S3_S2_S);
+				SystemMessage msg = SystemMessage.getSystemMessage(SystemMessageId.C1_PURCHASED_S3_S2_S);
 				msg.addString(player.getName());
 				msg.addItemName(newItem);
 				msg.addItemNumber(item.getCount());
 				_owner.sendPacket(msg);
 				
-				msg = new SystemMessage(SystemMessageId.PURCHASED_S3_S2_S_FROM_C1);
+				msg = SystemMessage.getSystemMessage(SystemMessageId.PURCHASED_S3_S2_S_FROM_C1);
 				msg.addString(_owner.getName());
 				msg.addItemName(newItem);
 				msg.addItemNumber(item.getCount());
@@ -915,12 +915,12 @@ public class TradeList
 			}
 			else
 			{
-				SystemMessage msg = new SystemMessage(SystemMessageId.C1_PURCHASED_S2);
+				SystemMessage msg = SystemMessage.getSystemMessage(SystemMessageId.C1_PURCHASED_S2);
 				msg.addString(player.getName());
 				msg.addItemName(newItem);
 				_owner.sendPacket(msg);
 				
-				msg = new SystemMessage(SystemMessageId.PURCHASED_S2_FROM_C1);
+				msg = SystemMessage.getSystemMessage(SystemMessageId.PURCHASED_S2_FROM_C1);
 				msg.addString(_owner.getName());
 				msg.addItemName(newItem);
 				player.sendPacket(msg);
@@ -1052,13 +1052,13 @@ public class TradeList
 			// Send messages about the transaction to both players
 			if (newItem.isStackable())
 			{
-				SystemMessage msg = new SystemMessage(SystemMessageId.PURCHASED_S3_S2_S_FROM_C1);
+				SystemMessage msg = SystemMessage.getSystemMessage(SystemMessageId.PURCHASED_S3_S2_S_FROM_C1);
 				msg.addString(player.getName());
 				msg.addItemName(newItem);
 				msg.addItemNumber(item.getCount());
 				_owner.sendPacket(msg);
 				
-				msg = new SystemMessage(SystemMessageId.C1_PURCHASED_S3_S2_S);
+				msg = SystemMessage.getSystemMessage(SystemMessageId.C1_PURCHASED_S3_S2_S);
 				msg.addString(_owner.getName());
 				msg.addItemName(newItem);
 				msg.addItemNumber(item.getCount());
@@ -1066,12 +1066,12 @@ public class TradeList
 			}
 			else
 			{
-				SystemMessage msg = new SystemMessage(SystemMessageId.PURCHASED_S2_FROM_C1);
+				SystemMessage msg = SystemMessage.getSystemMessage(SystemMessageId.PURCHASED_S2_FROM_C1);
 				msg.addString(player.getName());
 				msg.addItemName(newItem);
 				_owner.sendPacket(msg);
 				
-				msg = new SystemMessage(SystemMessageId.C1_PURCHASED_S2);
+				msg = SystemMessage.getSystemMessage(SystemMessageId.C1_PURCHASED_S2);
 				msg.addString(_owner.getName());
 				msg.addItemName(newItem);
 				player.sendPacket(msg);

+ 3 - 3
L2_GameServer/java/com/l2jserver/gameserver/model/actor/L2Attackable.java

@@ -720,7 +720,7 @@ public class L2Attackable extends L2Npc
 								L2PcInstance player = (L2PcInstance)attacker;
 								if (isOverhit() && attacker == getOverhitAttacker())
 								{
-									player.sendPacket(new SystemMessage(SystemMessageId.OVER_HIT));
+									player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.OVER_HIT));
 									exp += calculateOverhitExp(exp);
 								}
 							}
@@ -862,7 +862,7 @@ public class L2Attackable extends L2Npc
 							
 							if (isOverhit() && attacker == getOverhitAttacker())
 							{
-								player.sendPacket(new SystemMessage(SystemMessageId.OVER_HIT));
+								player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.OVER_HIT));
 								exp += calculateOverhitExp(exp);
 							}
 						}
@@ -1674,7 +1674,7 @@ public class L2Attackable extends L2Npc
 						if (isRaid() && !isRaidMinion())
 						{
 							SystemMessage sm;
-							sm = new SystemMessage(SystemMessageId.C1_DIED_DROPPED_S3_S2);
+							sm = SystemMessage.getSystemMessage(SystemMessageId.C1_DIED_DROPPED_S3_S2);
 							sm.addCharName(this);
 							sm.addItemName(item.getItemId());
 							sm.addItemNumber(item.getCount());

+ 33 - 33
L2_GameServer/java/com/l2jserver/gameserver/model/actor/L2Character.java

@@ -749,7 +749,7 @@ public abstract class L2Character extends L2Object
 		{
 			if (((L2PcInstance)this).inObserverMode())
 			{
-				sendPacket(new SystemMessage(SystemMessageId.OBSERVERS_CANNOT_PARTICIPATE));
+				sendPacket(SystemMessage.getSystemMessage(SystemMessageId.OBSERVERS_CANNOT_PARTICIPATE));
 				sendPacket(ActionFailed.STATIC_PACKET);
 				return;
 			}
@@ -760,9 +760,9 @@ public abstract class L2Character extends L2Object
 			{
 				//
 				if (TerritoryWarManager.getInstance().isTWInProgress())
-					sendPacket(new SystemMessage(SystemMessageId.YOU_CANNOT_ATTACK_A_MEMBER_OF_THE_SAME_TERRITORY));
+					sendPacket(SystemMessage.getSystemMessage(SystemMessageId.YOU_CANNOT_ATTACK_A_MEMBER_OF_THE_SAME_TERRITORY));
 				else
-					sendPacket(new SystemMessage(SystemMessageId.FORCED_ATTACK_IS_IMPOSSIBLE_AGAINST_SIEGE_SIDE_TEMPORARY_ALLIED_MEMBERS));
+					sendPacket(SystemMessage.getSystemMessage(SystemMessageId.FORCED_ATTACK_IS_IMPOSSIBLE_AGAINST_SIEGE_SIDE_TEMPORARY_ALLIED_MEMBERS));
 				sendPacket(ActionFailed.STATIC_PACKET);
 				return;
 			}
@@ -777,7 +777,7 @@ public abstract class L2Character extends L2Object
 			// TODO: unhardcode this to support boolean if with that weapon u can attack or not (for ex transform weapons)
 			if (((L2PcInstance)this).getActiveWeaponItem() != null && ((L2PcInstance)this).getActiveWeaponItem().getItemId() == 9819)
 			{
-				sendPacket(new SystemMessage(SystemMessageId.THAT_WEAPON_CANT_ATTACK));
+				sendPacket(SystemMessage.getSystemMessage(SystemMessageId.THAT_WEAPON_CANT_ATTACK));
 				sendPacket(ActionFailed.STATIC_PACKET);
 				return;
 			}
@@ -801,7 +801,7 @@ public abstract class L2Character extends L2Object
 		if (weaponItem != null && weaponItem.getItemType() == L2WeaponType.FISHINGROD)
 		{
 			//	You can't make an attack with a fishing pole.
-			sendPacket(new SystemMessage(SystemMessageId.CANNOT_ATTACK_WITH_FISHING_POLE));
+			sendPacket(SystemMessage.getSystemMessage(SystemMessageId.CANNOT_ATTACK_WITH_FISHING_POLE));
 			getAI().setIntention(CtrlIntention.AI_INTENTION_IDLE);
 			
 			sendPacket(ActionFailed.STATIC_PACKET);
@@ -811,7 +811,7 @@ public abstract class L2Character extends L2Object
 		// GeoData Los Check here (or dz > 1000)
 		if (!GeoData.getInstance().canSeeTarget(this, target))
 		{
-			sendPacket(new SystemMessage(SystemMessageId.CANT_SEE_TARGET));
+			sendPacket(SystemMessage.getSystemMessage(SystemMessageId.CANT_SEE_TARGET));
 			getAI().setIntention(CtrlIntention.AI_INTENTION_ACTIVE);
 			sendPacket(ActionFailed.STATIC_PACKET);
 			return;
@@ -831,7 +831,7 @@ public abstract class L2Character extends L2Object
 						// Cancel the action because the L2PcInstance have no arrow
 						getAI().setIntention(CtrlIntention.AI_INTENTION_IDLE);
 						sendPacket(ActionFailed.STATIC_PACKET);
-						sendPacket(new SystemMessage(SystemMessageId.NOT_ENOUGH_ARROWS));
+						sendPacket(SystemMessage.getSystemMessage(SystemMessageId.NOT_ENOUGH_ARROWS));
 						return;
 					}
 					
@@ -847,7 +847,7 @@ public abstract class L2Character extends L2Object
 						{
 							// If L2PcInstance doesn't have enough MP, stop the attack
 							ThreadPoolManager.getInstance().scheduleAi(new NotifyAITask(CtrlEvent.EVT_READY_TO_ACT), 1000);
-							sendPacket(new SystemMessage(SystemMessageId.NOT_ENOUGH_MP));
+							sendPacket(SystemMessage.getSystemMessage(SystemMessageId.NOT_ENOUGH_MP));
 							sendPacket(ActionFailed.STATIC_PACKET);
 							return;
 						}
@@ -888,7 +888,7 @@ public abstract class L2Character extends L2Object
 						// Cancel the action because the L2PcInstance have no arrow
 						getAI().setIntention(CtrlIntention.AI_INTENTION_IDLE);
 						sendPacket(ActionFailed.STATIC_PACKET);
-						sendPacket(new SystemMessage(SystemMessageId.NOT_ENOUGH_BOLTS));
+						sendPacket(SystemMessage.getSystemMessage(SystemMessageId.NOT_ENOUGH_BOLTS));
 						return;
 					}
 					
@@ -1104,7 +1104,7 @@ public abstract class L2Character extends L2Object
 		if (this instanceof L2PcInstance)
 		{
 			// Send a system message
-			sendPacket(new SystemMessage(SystemMessageId.GETTING_READY_TO_SHOOT_AN_ARROW));
+			sendPacket(SystemMessage.getSystemMessage(SystemMessageId.GETTING_READY_TO_SHOOT_AN_ARROW));
 			
 			// Send a Server->Client packet SetupGauge
 			SetupGauge sg = new SetupGauge(SetupGauge.RED, sAtk+reuse);
@@ -1176,7 +1176,7 @@ public abstract class L2Character extends L2Object
 		if (this instanceof L2PcInstance)
 		{
 			// Send a system message
-			sendPacket(new SystemMessage(SystemMessageId.CROSSBOW_PREPARING_TO_FIRE));
+			sendPacket(SystemMessage.getSystemMessage(SystemMessageId.CROSSBOW_PREPARING_TO_FIRE));
 			
 			// Send a Server->Client packet SetupGauge
 			SetupGauge sg = new SetupGauge(SetupGauge.RED, sAtk+reuse);
@@ -1831,7 +1831,7 @@ public abstract class L2Character extends L2Object
 				
 				if (getActingPlayer() != null)
 				{
-					SystemMessage sm = new SystemMessage(SystemMessageId.SKILL_READY_TO_USE_AGAIN);
+					SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.SKILL_READY_TO_USE_AGAIN);
 					getActingPlayer().sendPacket(sm);
 					sm = null;
 				}
@@ -1852,7 +1852,7 @@ public abstract class L2Character extends L2Object
 			{
 				if (!destroyItemByItemId("Consume", skill.getItemConsumeId(), skill.getItemConsume(), null, true))
 				{
-					sendPacket(new SystemMessage(SystemMessageId.NOT_ENOUGH_ITEMS));
+					sendPacket(SystemMessage.getSystemMessage(SystemMessageId.NOT_ENOUGH_ITEMS));
 					if (simultaneously)
 						setIsCastingSimultaneouslyNow(false);
 					else
@@ -1893,7 +1893,7 @@ public abstract class L2Character extends L2Object
 		// Send a system message USE_S1 to the L2Character
 		if (this instanceof L2PcInstance && magicId != 1312)
 		{
-			SystemMessage sm = new SystemMessage(SystemMessageId.USE_S1);
+			SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.USE_S1);
 			sm.addSkillName(skill);
 			sendPacket(sm);
 		}
@@ -1904,7 +1904,7 @@ public abstract class L2Character extends L2Object
 			{
 				if (!destroyItemByItemId("Consume", skill.getItemConsumeId(), skill.getItemConsume(), null, true))
 				{
-					getActingPlayer().sendPacket(new SystemMessage(SystemMessageId.NOT_ENOUGH_ITEMS));
+					getActingPlayer().sendPacket(SystemMessage.getSystemMessage(SystemMessageId.NOT_ENOUGH_ITEMS));
 					abortCast();
 					return;
 				}
@@ -2001,7 +2001,7 @@ public abstract class L2Character extends L2Object
 		if (getCurrentMp() < getStat().getMpConsume(skill) + getStat().getMpInitialConsume(skill))
 		{
 			// Send a System Message to the caster
-			sendPacket(new SystemMessage(SystemMessageId.NOT_ENOUGH_MP));
+			sendPacket(SystemMessage.getSystemMessage(SystemMessageId.NOT_ENOUGH_MP));
 			
 			// Send a Server->Client packet ActionFailed to the L2PcInstance
 			sendPacket(ActionFailed.STATIC_PACKET);
@@ -2012,7 +2012,7 @@ public abstract class L2Character extends L2Object
 		if (getCurrentHp() <= skill.getHpConsume())
 		{
 			// Send a System Message to the caster
-			sendPacket(new SystemMessage(SystemMessageId.NOT_ENOUGH_HP));
+			sendPacket(SystemMessage.getSystemMessage(SystemMessageId.NOT_ENOUGH_HP));
 			
 			// Send a Server->Client packet ActionFailed to the L2PcInstance
 			sendPacket(ActionFailed.STATIC_PACKET);
@@ -2066,7 +2066,7 @@ public abstract class L2Character extends L2Object
 				canCast = false;
 			if (!canCast)
 			{
-				SystemMessage sm = new SystemMessage(SystemMessageId.S1_CANNOT_BE_USED);
+				SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.S1_CANNOT_BE_USED);
 				sm.addSkillName(skill);
 				sendPacket(sm);
 				return false;
@@ -2094,7 +2094,7 @@ public abstract class L2Character extends L2Object
 				// Checked: when a summon skill failed, server show required consume item count
 				if (skill.getSkillType() == L2SkillType.SUMMON)
 				{
-					SystemMessage sm = new SystemMessage(SystemMessageId.SUMMONING_SERVITOR_COSTS_S2_S1);
+					SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.SUMMONING_SERVITOR_COSTS_S2_S1);
 					sm.addItemName(skill.getItemConsumeId());
 					sm.addNumber(skill.getItemConsume());
 					sendPacket(sm);
@@ -2103,7 +2103,7 @@ public abstract class L2Character extends L2Object
 				else
 				{
 					// Send a System Message to the caster
-					sendPacket(new SystemMessage(SystemMessageId.THERE_ARE_NOT_ENOUGH_NECESSARY_ITEMS_TO_USE_THE_SKILL));
+					sendPacket(SystemMessage.getSystemMessage(SystemMessageId.THERE_ARE_NOT_ENOUGH_NECESSARY_ITEMS_TO_USE_THE_SKILL));
 					return false;
 				}
 			}
@@ -5126,10 +5126,10 @@ public abstract class L2Character extends L2Object
 		           if (100 - Config.ALT_PERFECT_SHLD_BLOCK < Rnd.get(100))
 		           {
 		                     damage = 1;
-		                     enemy.sendPacket(new SystemMessage(SystemMessageId.YOUR_EXCELLENT_SHIELD_DEFENSE_WAS_A_SUCCESS)); //SHIELD_DEFENCE faultless
+		                     enemy.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.YOUR_EXCELLENT_SHIELD_DEFENSE_WAS_A_SUCCESS)); //SHIELD_DEFENCE faultless
 		           }
 		            else
-		              enemy.sendPacket(new SystemMessage(SystemMessageId.SHIELD_DEFENCE_SUCCESSFULL));
+		              enemy.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.SHIELD_DEFENCE_SUCCESSFULL));
 				}*/
 			}
 			
@@ -5306,7 +5306,7 @@ public abstract class L2Character extends L2Object
 				sendPacket(ActionFailed.STATIC_PACKET);
 				
 				// Send a system message
-				sendPacket(new SystemMessage(SystemMessageId.ATTACK_FAILED));
+				sendPacket(SystemMessage.getSystemMessage(SystemMessageId.ATTACK_FAILED));
 			}
 		}
 	}
@@ -5326,7 +5326,7 @@ public abstract class L2Character extends L2Object
 			if (this instanceof L2PcInstance)
 			{
 				// Send a system message
-				sendPacket(new SystemMessage(SystemMessageId.CASTING_INTERRUPTED));
+				sendPacket(SystemMessage.getSystemMessage(SystemMessageId.CASTING_INTERRUPTED));
 			}
 		}
 	}
@@ -5361,7 +5361,7 @@ public abstract class L2Character extends L2Object
 		if (isInsidePeaceZone(player))
 		{
 			// If L2Character or target is in a peace zone, send a system message TARGET_IN_PEACEZONE a Server->Client packet ActionFailed
-			player.sendPacket(new SystemMessage(SystemMessageId.TARGET_IN_PEACEZONE));
+			player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.TARGET_IN_PEACEZONE));
 			player.sendPacket(ActionFailed.STATIC_PACKET);
 			return;
 		}
@@ -5398,7 +5398,7 @@ public abstract class L2Character extends L2Object
 		// GeoData Los Check or dz > 1000
 		if (!GeoData.getInstance().canSeeTarget(player, this))
 		{
-			player.sendPacket(new SystemMessage(SystemMessageId.CANT_SEE_TARGET));
+			player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.CANT_SEE_TARGET));
 			player.sendPacket(ActionFailed.STATIC_PACKET);
 			return;
 		}
@@ -5952,11 +5952,11 @@ public abstract class L2Character extends L2Object
 				if(this instanceof L2PcInstance)
 				{
 					if (_skiprange > 0)
-						sendPacket(new SystemMessage(SystemMessageId.DIST_TOO_FAR_CASTING_STOPPED));
+						sendPacket(SystemMessage.getSystemMessage(SystemMessageId.DIST_TOO_FAR_CASTING_STOPPED));
 					else if (_skipgeo > 0)
-						sendPacket(new SystemMessage(SystemMessageId.CANT_SEE_TARGET));
+						sendPacket(SystemMessage.getSystemMessage(SystemMessageId.CANT_SEE_TARGET));
 					else if (_skippeace > 0)
-						sendPacket(new SystemMessage(SystemMessageId.A_MALICIOUS_SKILL_CANNOT_BE_USED_IN_PEACE_ZONE));
+						sendPacket(SystemMessage.getSystemMessage(SystemMessageId.A_MALICIOUS_SKILL_CANNOT_BE_USED_IN_PEACE_ZONE));
 				}
 				abortCast();
 				return;
@@ -6055,7 +6055,7 @@ public abstract class L2Character extends L2Object
 					
 					if (skill.getSkillType() == L2SkillType.BUFF)
 					{
-						SystemMessage smsg = new SystemMessage(SystemMessageId.YOU_FEEL_S1_EFFECT);
+						SystemMessage smsg = SystemMessage.getSystemMessage(SystemMessageId.YOU_FEEL_S1_EFFECT);
 						smsg.addSkillName(skill);
 						target.sendPacket(smsg);
 					}
@@ -6078,7 +6078,7 @@ public abstract class L2Character extends L2Object
 			{
 				if (mpConsume > getCurrentMp())
 				{
-					sendPacket(new SystemMessage(SystemMessageId.NOT_ENOUGH_MP));
+					sendPacket(SystemMessage.getSystemMessage(SystemMessageId.NOT_ENOUGH_MP));
 					abortCast();
 					return;
 				}
@@ -6126,7 +6126,7 @@ public abstract class L2Character extends L2Object
 				// check for charges
 				if (skill.getMaxCharges() == 0 && charges < skill.getNumCharges())
 				{
-					SystemMessage sm = new SystemMessage(SystemMessageId.S1_CANNOT_BE_USED);
+					SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.S1_CANNOT_BE_USED);
 					sm.addSkillName(skill);
 					sendPacket(sm);
 					abortCast();
@@ -6472,7 +6472,7 @@ public abstract class L2Character extends L2Object
 							{
 								if (activeWeapon.getSkillEffects(this, target, skill).length > 0 && this instanceof L2PcInstance)
 								{
-									SystemMessage sm = new SystemMessage(SystemMessageId.S1_HAS_BEEN_ACTIVATED);
+									SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.S1_HAS_BEEN_ACTIVATED);
 									sm.addSkillName(skill);
 									sendPacket(sm);
 								}

+ 7 - 7
L2_GameServer/java/com/l2jserver/gameserver/model/actor/L2Npc.java

@@ -836,7 +836,7 @@ public class L2Npc extends L2Character
 		}
 		if (player.isLockedTarget() && player.getLockedTarget() != this)
 		{
-			player.sendPacket(new SystemMessage(SystemMessageId.FAILED_CHANGE_TARGET));
+			player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.FAILED_CHANGE_TARGET));
 			player.sendPacket(ActionFailed.STATIC_PACKET);
 			return false;
 		}
@@ -1213,7 +1213,7 @@ public class L2Npc extends L2Character
 						case SevenSigns.CABAL_DAWN:
 							if (playerCabal != compWinner || playerCabal != sealAvariceOwner)
 							{
-								player.sendPacket(new SystemMessage(SystemMessageId.CAN_BE_USED_BY_DAWN));
+								player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.CAN_BE_USED_BY_DAWN));
 								player.sendPacket(ActionFailed.STATIC_PACKET);
 								return;
 							}
@@ -1221,13 +1221,13 @@ public class L2Npc extends L2Character
 						case SevenSigns.CABAL_DUSK:
 							if (playerCabal != compWinner || playerCabal != sealAvariceOwner)
 							{
-								player.sendPacket(new SystemMessage(SystemMessageId.CAN_BE_USED_BY_DUSK));
+								player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.CAN_BE_USED_BY_DUSK));
 								player.sendPacket(ActionFailed.STATIC_PACKET);
 								return;
 							}
 							break;
 						default:
-							player.sendPacket(new SystemMessage(SystemMessageId.QUEST_EVENT_PERIOD));
+							player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.QUEST_EVENT_PERIOD));
 							return;
 					}
 				}
@@ -1241,7 +1241,7 @@ public class L2Npc extends L2Character
 						case SevenSigns.CABAL_DAWN:
 							if (playerCabal != compWinner || playerCabal != sealGnosisOwner)
 							{
-								player.sendPacket(new SystemMessage(SystemMessageId.CAN_BE_USED_BY_DAWN));
+								player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.CAN_BE_USED_BY_DAWN));
 								player.sendPacket(ActionFailed.STATIC_PACKET);
 								return;
 							}
@@ -1249,13 +1249,13 @@ public class L2Npc extends L2Character
 						case SevenSigns.CABAL_DUSK:
 							if (playerCabal != compWinner || playerCabal != sealGnosisOwner)
 							{
-								player.sendPacket(new SystemMessage(SystemMessageId.CAN_BE_USED_BY_DUSK));
+								player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.CAN_BE_USED_BY_DUSK));
 								player.sendPacket(ActionFailed.STATIC_PACKET);
 								return;
 							}
 							break;
 						default:
-							player.sendPacket(new SystemMessage(SystemMessageId.QUEST_EVENT_PERIOD));
+							player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.QUEST_EVENT_PERIOD));
 							return;
 					}
 				}

+ 13 - 13
L2_GameServer/java/com/l2jserver/gameserver/model/actor/L2Summon.java

@@ -606,7 +606,7 @@ public abstract class L2Summon extends L2Playable
 		if (target == null)
 		{
 			if (getOwner() != null)
-				getOwner().sendPacket(new SystemMessage(SystemMessageId.TARGET_CANT_FOUND));
+				getOwner().sendPacket(SystemMessage.getSystemMessage(SystemMessageId.TARGET_CANT_FOUND));
 			return;
 		}
 		
@@ -616,7 +616,7 @@ public abstract class L2Summon extends L2Playable
 		if (isSkillDisabled(skill))
 		{
 			if (getOwner() != null)
-				getOwner().sendPacket(new SystemMessage(SystemMessageId.PET_SKILL_CANNOT_BE_USED_RECHARCHING));
+				getOwner().sendPacket(SystemMessage.getSystemMessage(SystemMessageId.PET_SKILL_CANNOT_BE_USED_RECHARCHING));
 			return;
 		}
 		
@@ -627,7 +627,7 @@ public abstract class L2Summon extends L2Playable
 		{
 			// Send a System Message to the caster
 			if (getOwner() != null)
-				getOwner().sendPacket(new SystemMessage(SystemMessageId.NOT_ENOUGH_MP));
+				getOwner().sendPacket(SystemMessage.getSystemMessage(SystemMessageId.NOT_ENOUGH_MP));
 			return;
 		}
 		
@@ -636,7 +636,7 @@ public abstract class L2Summon extends L2Playable
 		{
 			// Send a System Message to the caster
 			if (getOwner() != null)
-				getOwner().sendPacket(new SystemMessage(SystemMessageId.NOT_ENOUGH_HP));
+				getOwner().sendPacket(SystemMessage.getSystemMessage(SystemMessageId.NOT_ENOUGH_HP));
 			return;
 		}
 		
@@ -650,7 +650,7 @@ public abstract class L2Summon extends L2Playable
 					&& (!getOwner().getAccessLevel().allowPeaceAttack()))
 			{
 				// If summon or target is in a peace zone, send a system message TARGET_IN_PEACEZONE
-				sendPacket(new SystemMessage(SystemMessageId.TARGET_IN_PEACEZONE));
+				sendPacket(SystemMessage.getSystemMessage(SystemMessageId.TARGET_IN_PEACEZONE));
 				return;
 			}
 			
@@ -666,9 +666,9 @@ public abstract class L2Summon extends L2Playable
 			{
 				//
 				if (TerritoryWarManager.getInstance().isTWInProgress())
-					sendPacket(new SystemMessage(SystemMessageId.YOU_CANNOT_ATTACK_A_MEMBER_OF_THE_SAME_TERRITORY));
+					sendPacket(SystemMessage.getSystemMessage(SystemMessageId.YOU_CANNOT_ATTACK_A_MEMBER_OF_THE_SAME_TERRITORY));
 				else
-					sendPacket(new SystemMessage(SystemMessageId.FORCED_ATTACK_IS_IMPOSSIBLE_AGAINST_SIEGE_SIDE_TEMPORARY_ALLIED_MEMBERS));
+					sendPacket(SystemMessage.getSystemMessage(SystemMessageId.FORCED_ATTACK_IS_IMPOSSIBLE_AGAINST_SIEGE_SIDE_TEMPORARY_ALLIED_MEMBERS));
 				sendPacket(ActionFailed.STATIC_PACKET);
 				return;
 			}
@@ -741,9 +741,9 @@ public abstract class L2Summon extends L2Playable
 		{
 			if (pcrit || mcrit)
 				if (this instanceof L2SummonInstance)
-					getOwner().sendPacket(new SystemMessage(SystemMessageId.CRITICAL_HIT_BY_SUMMONED_MOB));
+					getOwner().sendPacket(SystemMessage.getSystemMessage(SystemMessageId.CRITICAL_HIT_BY_SUMMONED_MOB));
 				else
-					getOwner().sendPacket(new SystemMessage(SystemMessageId.CRITICAL_HIT_BY_PET));
+					getOwner().sendPacket(SystemMessage.getSystemMessage(SystemMessageId.CRITICAL_HIT_BY_PET));
 			
 			if (getOwner().isInOlympiadMode() &&
 					target instanceof L2PcInstance &&
@@ -756,10 +756,10 @@ public abstract class L2Summon extends L2Playable
 			final SystemMessage sm;
 			
 			if (target.isInvul() && !(target instanceof L2NpcInstance))
-				sm = new SystemMessage(SystemMessageId.ATTACK_WAS_BLOCKED);
+				sm = SystemMessage.getSystemMessage(SystemMessageId.ATTACK_WAS_BLOCKED);
 			else
 			{
-				sm = new SystemMessage(SystemMessageId.C1_GAVE_C2_DAMAGE_OF_S3);
+				sm = SystemMessage.getSystemMessage(SystemMessageId.C1_GAVE_C2_DAMAGE_OF_S3);
 				sm.addNpcName(this);
 				sm.addCharName(target);
 				sm.addNumber(damage);
@@ -775,7 +775,7 @@ public abstract class L2Summon extends L2Playable
 		super.reduceCurrentHp(damage, attacker, skill);
 		if (getOwner() != null && attacker != null)
 		{
-			SystemMessage sm = new SystemMessage(SystemMessageId.C1_RECEIVED_DAMAGE_OF_S3_FROM_C2);
+			SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.C1_RECEIVED_DAMAGE_OF_S3_FROM_C2);
 			sm.addNpcName(this);
 			sm.addCharName(attacker);
 			sm.addNumber((int)damage);
@@ -792,7 +792,7 @@ public abstract class L2Summon extends L2Playable
 				&& !actingPlayer.getAccessLevel().allowPeaceAttack())
 		{
 			// Send a System Message to the L2PcInstance
-			actingPlayer.sendPacket(new SystemMessage(SystemMessageId.TARGET_IS_INCORRECT));
+			actingPlayer.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.TARGET_IS_INCORRECT));
 			
 			// Send a Server->Client packet ActionFailed to the L2PcInstance
 			actingPlayer.sendPacket(ActionFailed.STATIC_PACKET);

+ 1 - 1
L2_GameServer/java/com/l2jserver/gameserver/model/actor/L2Vehicle.java

@@ -299,7 +299,7 @@ public abstract class L2Vehicle extends L2Character
 						ticket = player.getInventory().getItemByItemId(itemId);
 						if (ticket == null || player.getInventory().destroyItem("Boat", ticket, count, player, this) == null)
 						{
-							player.sendPacket(new SystemMessage(SystemMessageId.NOT_CORRECT_BOAT_TICKET));
+							player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.NOT_CORRECT_BOAT_TICKET));
 							player.teleToLocation(oustX, oustY, oustZ, true);
 							continue;
 						}

+ 5 - 5
L2_GameServer/java/com/l2jserver/gameserver/model/actor/instance/L2AuctioneerInstance.java

@@ -217,7 +217,7 @@ public final class L2AuctioneerInstance extends L2Npc
 			{
 				if (player.getClan() == null || player.getClan().getLevel() < 2)
 				{
-					player.sendPacket(new SystemMessage(SystemMessageId.AUCTION_ONLY_CLAN_LEVEL_2_HIGHER));
+					player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.AUCTION_ONLY_CLAN_LEVEL_2_HIGHER));
 					return;
 				}
 				
@@ -226,7 +226,7 @@ public final class L2AuctioneerInstance extends L2Npc
 				
 				if ((player.getClan().getAuctionBiddedAt() > 0 && player.getClan().getAuctionBiddedAt() != Integer.parseInt(val)) || player.getClan().getHasHideout() > 0)
 				{
-					player.sendPacket(new SystemMessage(SystemMessageId.ALREADY_SUBMITTED_BID));
+					player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.ALREADY_SUBMITTED_BID));
 					return;
 				}
 				
@@ -438,12 +438,12 @@ public final class L2AuctioneerInstance extends L2Npc
 				}
 				else if (player.getClan() != null && player.getClan().getHasHideout() == 0)
 				{
-					player.sendPacket(new SystemMessage(SystemMessageId.NO_OFFERINGS_OWN_OR_MADE_BID_FOR));
+					player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.NO_OFFERINGS_OWN_OR_MADE_BID_FOR));
 					return;
 				}
 				else if (player.getClan() == null)
 				{
-					player.sendPacket(new SystemMessage(SystemMessageId.CANNOT_PARTICIPATE_IN_AN_AUCTION));
+					player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.CANNOT_PARTICIPATE_IN_AN_AUCTION));
 					return;
 				}
 			}
@@ -465,7 +465,7 @@ public final class L2AuctioneerInstance extends L2Npc
 				if (AuctionManager.getInstance().getAuction(player.getClan().getAuctionBiddedAt()) != null)
 				{
 					AuctionManager.getInstance().getAuction(player.getClan().getAuctionBiddedAt()).cancelBid(player.getClanId());
-					player.sendPacket(new SystemMessage(SystemMessageId.CANCELED_BID));
+					player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.CANCELED_BID));
 				}
 				return;
 			}

+ 1 - 1
L2_GameServer/java/com/l2jserver/gameserver/model/actor/instance/L2BabyPetInstance.java

@@ -188,7 +188,7 @@ public final class L2BabyPetInstance extends L2PetInstance
 		setTarget(getOwner());
 		useMagic(skill, false, false);
 		
-		SystemMessage msg = new SystemMessage(SystemMessageId.PET_USES_S1);
+		SystemMessage msg = SystemMessage.getSystemMessage(SystemMessageId.PET_USES_S1);
 		msg.addSkillName(skill);
 		getOwner().sendPacket(msg);
 		

+ 1 - 1
L2_GameServer/java/com/l2jserver/gameserver/model/actor/instance/L2CabaleBufferInstance.java

@@ -179,7 +179,7 @@ public class L2CabaleBufferInstance extends L2Npc
 			{
 				skill.getEffects(_caster, player);
 				broadcastPacket(new MagicSkillUse(_caster, player, skill.getId(), skillLevel, skill.getHitTime(), 0));
-				SystemMessage sm = new SystemMessage(SystemMessageId.YOU_FEEL_S1_EFFECT);
+				SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.YOU_FEEL_S1_EFFECT);
 				sm.addSkillName(skill);
 				player.sendPacket(sm);
 				return true;

+ 2 - 2
L2_GameServer/java/com/l2jserver/gameserver/model/actor/instance/L2CastleChamberlainInstance.java

@@ -275,7 +275,7 @@ public class L2CastleChamberlainInstance extends L2MerchantInstance
 							if (player.reduceAdena("Castle", amount, this, true))
 								getCastle().addToTreasuryNoTax(amount);
 							else
-								sendPacket(new SystemMessage(SystemMessageId.YOU_NOT_ENOUGH_ADENA));
+								sendPacket(SystemMessage.getSystemMessage(SystemMessageId.YOU_NOT_ENOUGH_ADENA));
 						}
 					}
 					else if (val.equalsIgnoreCase("withdraw"))
@@ -1227,7 +1227,7 @@ public class L2CastleChamberlainInstance extends L2MerchantInstance
 					{
 						L2ItemInstance crown = player.getInventory().addItem("Castle Crown", 6841, 1, player, this);
 						
-						SystemMessage ms = new SystemMessage(SystemMessageId.EARNED_ITEM);
+						SystemMessage ms = SystemMessage.getSystemMessage(SystemMessageId.EARNED_ITEM);
 						ms.addItemName(crown);
 						player.sendPacket(ms);
 						

+ 1 - 1
L2_GameServer/java/com/l2jserver/gameserver/model/actor/instance/L2CastleMagicianInstance.java

@@ -108,7 +108,7 @@ public class L2CastleMagicianInstance extends L2NpcInstance implements L2SquadTr
 			
 			if (player.destroyItemByItemId("ExchangeKE", 9912, 10, this, false))
 			{
-				SystemMessage msg = new SystemMessage(SystemMessageId.S2_S1_DISAPPEARED);
+				SystemMessage msg = SystemMessage.getSystemMessage(SystemMessageId.S2_S1_DISAPPEARED);
 				msg.addItemName(9912);
 				msg.addNumber(10);
 				player.sendPacket(msg);

+ 1 - 1
L2_GameServer/java/com/l2jserver/gameserver/model/actor/instance/L2ClanHallManagerInstance.java

@@ -1394,7 +1394,7 @@ public class L2ClanHallManagerInstance extends L2MerchantInstance
 		{
 			if (player.isCombatFlagEquipped())
 			{
-				player.sendPacket(new SystemMessage(SystemMessageId.YOU_CANNOT_TELEPORT_WHILE_IN_POSSESSION_OF_A_WARD));
+				player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.YOU_CANNOT_TELEPORT_WHILE_IN_POSSESSION_OF_A_WARD));
 				return;
 			}
 			else if (player.destroyItemByItemId("Teleport", list.getItemId(), list.getPrice(), this, true))

+ 1 - 1
L2_GameServer/java/com/l2jserver/gameserver/model/actor/instance/L2ClanTraderInstance.java

@@ -80,7 +80,7 @@ public final class L2ClanTraderInstance extends L2Npc
 				
 				player.sendMessage("Your clan has added " + reputation + " points to its clan reputation score.");
 				/* TODO: fix the system message, I cant add the number to the system message
-				SystemMessage sm =  new SystemMessage(SystemMessageId.CLAN_ADDED_S1S_POINTS_TO_REPUTATION_SCORE);
+				SystemMessage sm =  SystemMessage.getSystemMessage(SystemMessageId.CLAN_ADDED_S1S_POINTS_TO_REPUTATION_SCORE);
 				sm.addItemNumber(reputation);
 				player.sendPacket(sm);*/
 				

+ 1 - 1
L2_GameServer/java/com/l2jserver/gameserver/model/actor/instance/L2ClassMasterInstance.java

@@ -328,7 +328,7 @@ public final class L2ClassMasterInstance extends L2MerchantInstance
 		{
 			if (player.getWeightPenalty() >= 3 || (player.getInventoryLimit() * 0.8 <= player.getInventory().getSize(false)))
 			{
-				player.sendPacket(new SystemMessage(SystemMessageId.INVENTORY_LESS_THAN_80_PERCENT));
+				player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.INVENTORY_LESS_THAN_80_PERCENT));
 				return false;
 			}
 		}

+ 13 - 13
L2_GameServer/java/com/l2jserver/gameserver/model/actor/instance/L2ControllableAirShipInstance.java

@@ -120,58 +120,58 @@ public class L2ControllableAirShipInstance extends L2AirShipInstance
 				final int z = player.getInVehiclePosition().getZ() - 0x6b;
 				if (x * x + y * y + z * z > 2500)
 				{
-					player.sendPacket(new SystemMessage(SystemMessageId.CANT_CONTROL_TOO_FAR));
+					player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.CANT_CONTROL_TOO_FAR));
 					return false;
 				}
 				//TODO: Missing message ID: 2739  Message: You cannot control the helm because you do not meet the requirements.
 				else if (player.getPvpFlag() != 0)
 				{
-					player.sendPacket(new SystemMessage(SystemMessageId.YOU_CANNOT_CONTROL_THE_HELM_WHILE_IN_A_BATTLE));
+					player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.YOU_CANNOT_CONTROL_THE_HELM_WHILE_IN_A_BATTLE));
 					return false;
 				}
 				else if (player.isSitting())
 				{
-					player.sendPacket(new SystemMessage(SystemMessageId.YOU_CANNOT_CONTROL_THE_HELM_WHILE_IN_A_SITTING_POSITION));
+					player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.YOU_CANNOT_CONTROL_THE_HELM_WHILE_IN_A_SITTING_POSITION));
 					return false;
 				}
 				else if (player.isParalyzed())
 				{
-					player.sendPacket(new SystemMessage(SystemMessageId.YOU_CANNOT_CONTROL_THE_HELM_WHILE_YOU_ARE_PETRIFIED));
+					player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.YOU_CANNOT_CONTROL_THE_HELM_WHILE_YOU_ARE_PETRIFIED));
 					return false;
 				}
 				else if (player.isCursedWeaponEquipped())
 				{
-					player.sendPacket(new SystemMessage(SystemMessageId.YOU_CANNOT_CONTROL_THE_HELM_WHILE_A_CURSED_WEAPON_IS_EQUIPPED));
+					player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.YOU_CANNOT_CONTROL_THE_HELM_WHILE_A_CURSED_WEAPON_IS_EQUIPPED));
 					return false;
 				}
 				else if (player.isFishing())
 				{
-					player.sendPacket(new SystemMessage(SystemMessageId.YOU_CANNOT_CONTROL_THE_HELM_WHILE_FISHING));
+					player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.YOU_CANNOT_CONTROL_THE_HELM_WHILE_FISHING));
 					return false;
 				}
 				else if (player.isDead())
 				{
-					player.sendPacket(new SystemMessage(SystemMessageId.YOU_CANNOT_CONTROL_THE_HELM_WHEN_YOU_ARE_DEAD));
+					player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.YOU_CANNOT_CONTROL_THE_HELM_WHEN_YOU_ARE_DEAD));
 					return false;
 				}
 				else if (player.isCastingNow())
 				{
-					player.sendPacket(new SystemMessage(SystemMessageId.YOU_CANNOT_CONTROL_THE_HELM_WHILE_USING_A_SKILL));
+					player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.YOU_CANNOT_CONTROL_THE_HELM_WHILE_USING_A_SKILL));
 					return false;
 				}
 				else if (player.isTransformed())
 				{
-					player.sendPacket(new SystemMessage(SystemMessageId.YOU_CANNOT_CONTROL_THE_HELM_WHILE_TRANSFORMED));
+					player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.YOU_CANNOT_CONTROL_THE_HELM_WHILE_TRANSFORMED));
 					return false;
 				}
 				else if (player.isCombatFlagEquipped())
 				{
-					player.sendPacket(new SystemMessage(SystemMessageId.YOU_CANNOT_CONTROL_THE_HELM_WHILE_HOLDING_A_FLAG));
+					player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.YOU_CANNOT_CONTROL_THE_HELM_WHILE_HOLDING_A_FLAG));
 					return false;
 				}
 				else if (player.isInDuel())
 				{
-					player.sendPacket(new SystemMessage(SystemMessageId.YOU_CANNOT_CONTROL_THE_HELM_WHILE_IN_A_DUEL));
+					player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.YOU_CANNOT_CONTROL_THE_HELM_WHILE_IN_A_DUEL));
 					return false;
 				}
 				_captain = player;
@@ -203,9 +203,9 @@ public class L2ControllableAirShipInstance extends L2AirShipInstance
 			_fuel = f;
 		
 		if (_fuel == 0 && old > 0)
-			broadcastToPassengers(new SystemMessage(SystemMessageId.THE_AIRSHIP_FUEL_RUN_OUT));
+			broadcastToPassengers(SystemMessage.getSystemMessage(SystemMessageId.THE_AIRSHIP_FUEL_RUN_OUT));
 		else if (_fuel < LOW_FUEL)
-			broadcastToPassengers(new SystemMessage(SystemMessageId.THE_AIRSHIP_FUEL_SOON_RUN_OUT));
+			broadcastToPassengers(SystemMessage.getSystemMessage(SystemMessageId.THE_AIRSHIP_FUEL_SOON_RUN_OUT));
 	}
 	
 	@Override

+ 1 - 1
L2_GameServer/java/com/l2jserver/gameserver/model/actor/instance/L2CubicInstance.java

@@ -618,7 +618,7 @@ public class L2CubicInstance
 				boolean acted = Formulas.calcCubicSkillSuccess(activeCubic, target, skill, shld);
 				if (!acted)
 				{
-					activeCubic.getOwner().sendPacket(new SystemMessage(SystemMessageId.ATTACK_FAILED));
+					activeCubic.getOwner().sendPacket(SystemMessage.getSystemMessage(SystemMessageId.ATTACK_FAILED));
 					continue;
 				}
 				

+ 1 - 1
L2_GameServer/java/com/l2jserver/gameserver/model/actor/instance/L2DoorInstance.java

@@ -715,7 +715,7 @@ public class L2DoorInstance extends L2Character
 		boolean isCastle = (getCastle() != null	&& getCastle().getCastleId() > 0 && getCastle().getSiege().getIsInProgress());
 		
 		if (isFort || isCastle)
-			broadcastPacket(new SystemMessage(SystemMessageId.CASTLE_GATE_BROKEN_DOWN));
+			broadcastPacket(SystemMessage.getSystemMessage(SystemMessageId.CASTLE_GATE_BROKEN_DOWN));
 		return true;
 	}
 	

+ 4 - 4
L2_GameServer/java/com/l2jserver/gameserver/model/actor/instance/L2DungeonGatekeeperInstance.java

@@ -57,12 +57,12 @@ public class L2DungeonGatekeeperInstance extends L2Npc
 			{
 				if (compWinner == SevenSigns.CABAL_DAWN && (playerCabal != SevenSigns.CABAL_DAWN || sealAvariceOwner != SevenSigns.CABAL_DAWN))
 				{
-					player.sendPacket(new SystemMessage(SystemMessageId.CAN_BE_USED_BY_DAWN));
+					player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.CAN_BE_USED_BY_DAWN));
 					canPort = false;
 				}
 				else if (compWinner == SevenSigns.CABAL_DUSK && (playerCabal != SevenSigns.CABAL_DUSK || sealAvariceOwner != SevenSigns.CABAL_DUSK))
 				{
-					player.sendPacket(new SystemMessage(SystemMessageId.CAN_BE_USED_BY_DUSK));
+					player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.CAN_BE_USED_BY_DUSK));
 					canPort = false;
 				}
 				else if (compWinner == SevenSigns.CABAL_NULL && playerCabal != SevenSigns.CABAL_NULL)
@@ -96,12 +96,12 @@ public class L2DungeonGatekeeperInstance extends L2Npc
 			{
 				if (compWinner == SevenSigns.CABAL_DAWN && (playerCabal != SevenSigns.CABAL_DAWN || sealGnosisOwner != SevenSigns.CABAL_DAWN))
 				{
-					player.sendPacket(new SystemMessage(SystemMessageId.CAN_BE_USED_BY_DAWN));
+					player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.CAN_BE_USED_BY_DAWN));
 					canPort = false;
 				}
 				else if (compWinner == SevenSigns.CABAL_DUSK && (playerCabal != SevenSigns.CABAL_DUSK || sealGnosisOwner != SevenSigns.CABAL_DUSK))
 				{
-					player.sendPacket(new SystemMessage(SystemMessageId.CAN_BE_USED_BY_DUSK));
+					player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.CAN_BE_USED_BY_DUSK));
 					canPort = false;
 				}
 				else if (compWinner == SevenSigns.CABAL_NULL && playerCabal != SevenSigns.CABAL_NULL)

+ 1 - 1
L2_GameServer/java/com/l2jserver/gameserver/model/actor/instance/L2FameManagerInstance.java

@@ -75,7 +75,7 @@ public class L2FameManagerInstance extends L2Npc
 					player.sendPacket(new UserInfo(player));
 					player.sendPacket(new ExBrExtraUserInfo(player));
 					player.getClan().addReputationScore(50, true);
-					player.sendPacket(new SystemMessage(SystemMessageId.ACQUIRED_50_CLAN_FAME_POINTS));
+					player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.ACQUIRED_50_CLAN_FAME_POINTS));
 					html.setFile(player.getHtmlPrefix(), "data/html/famemanager/"+getNpcId()+"-5.htm");
 				}
 				else

+ 2 - 2
L2_GameServer/java/com/l2jserver/gameserver/model/actor/instance/L2FishermanInstance.java

@@ -74,12 +74,12 @@ public class L2FishermanInstance extends L2MerchantInstance
 			if (minlevel > 0)
 			{
 				// No more skills to learn, come back when you level.
-				SystemMessage sm = new SystemMessage(SystemMessageId.DO_NOT_HAVE_FURTHER_SKILLS_TO_LEARN);
+				SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.DO_NOT_HAVE_FURTHER_SKILLS_TO_LEARN);
 				sm.addNumber(minlevel);
 				player.sendPacket(sm);
 			}
 			else
-				player.sendPacket(new SystemMessage(SystemMessageId.NO_MORE_SKILLS_TO_LEARN));
+				player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.NO_MORE_SKILLS_TO_LEARN));
 		}
 		else
 		{

+ 1 - 1
L2_GameServer/java/com/l2jserver/gameserver/model/actor/instance/L2FortBallistaInstance.java

@@ -55,7 +55,7 @@ public class L2FortBallistaInstance extends L2Npc
 				if (player.getClan() != null && player.getClan().getLevel() >= 5)
 				{
 					player.getClan().addReputationScore(Config.BALLISTA_POINTS, true);
-					player.sendPacket(new SystemMessage(SystemMessageId.BALLISTA_DESTROYED_CLAN_REPU_INCREASED));
+					player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.BALLISTA_DESTROYED_CLAN_REPU_INCREASED));
 				}
 			}
 		}

+ 1 - 1
L2_GameServer/java/com/l2jserver/gameserver/model/actor/instance/L2FortSupportCaptainInstance.java

@@ -81,7 +81,7 @@ public class L2FortSupportCaptainInstance extends L2MerchantInstance implements
 			
 			if (player.destroyItemByItemId("FortSupportUnit", 9912, 10, this, false))
 			{
-				SystemMessage msg = new SystemMessage(SystemMessageId.S2_S1_DISAPPEARED);
+				SystemMessage msg = SystemMessage.getSystemMessage(SystemMessageId.S2_S1_DISAPPEARED);
 				msg.addItemName(9912);
 				msg.addNumber(10);
 				player.sendPacket(msg);

+ 1 - 1
L2_GameServer/java/com/l2jserver/gameserver/model/actor/instance/L2GrandBossInstance.java

@@ -74,7 +74,7 @@ public final class L2GrandBossInstance extends L2MonsterInstance
 		
 		if (player != null)
 		{
-			broadcastPacket(new SystemMessage(SystemMessageId.RAID_WAS_SUCCESSFUL));
+			broadcastPacket(SystemMessage.getSystemMessage(SystemMessageId.RAID_WAS_SUCCESSFUL));
 			if (player.getParty() != null)
 			{
 				for (L2PcInstance member : player.getParty().getPartyMembers())

+ 2 - 2
L2_GameServer/java/com/l2jserver/gameserver/model/actor/instance/L2NpcBufferInstance.java

@@ -147,7 +147,7 @@ public class L2NpcBufferInstance extends L2Npc
 					
 					if (itemInstance == null || (!itemInstance.isStackable() && player.getInventory().getInventoryItemCount(skillFeeId, -1) < skillFeeAmount))
 					{
-						SystemMessage sm = new SystemMessage(SystemMessageId.THERE_ARE_NOT_ENOUGH_NECESSARY_ITEMS_TO_USE_THE_SKILL);
+						SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.THERE_ARE_NOT_ENOUGH_NECESSARY_ITEMS_TO_USE_THE_SKILL);
 						player.sendPacket(sm);
 						continue;
 					}
@@ -156,7 +156,7 @@ public class L2NpcBufferInstance extends L2Npc
 					{
 						if (!player.destroyItemByItemId("Npc Buffer", skillFeeId, skillFeeAmount, player.getTarget(), true))
 						{
-							SystemMessage sm = new SystemMessage(SystemMessageId.THERE_ARE_NOT_ENOUGH_NECESSARY_ITEMS_TO_USE_THE_SKILL);
+							SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.THERE_ARE_NOT_ENOUGH_NECESSARY_ITEMS_TO_USE_THE_SKILL);
 							player.sendPacket(sm);
 							continue;
 						}

+ 3 - 3
L2_GameServer/java/com/l2jserver/gameserver/model/actor/instance/L2NpcInstance.java

@@ -101,7 +101,7 @@ public class L2NpcInstance extends L2Npc
 			}
 			
 			if (counts == 0) // No more skills to learn, come back when you level.
-				player.sendPacket(new SystemMessage(SystemMessageId.NO_MORE_SKILLS_TO_LEARN));
+				player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.NO_MORE_SKILLS_TO_LEARN));
 			else
 				player.sendPacket(asl);
 			
@@ -153,12 +153,12 @@ public class L2NpcInstance extends L2Npc
 			int minlevel = SkillTreeTable.getInstance().getMinLevelForNewSkill(player, classId);
 			if (minlevel > 0)
 			{
-				SystemMessage sm = new SystemMessage(SystemMessageId.DO_NOT_HAVE_FURTHER_SKILLS_TO_LEARN);
+				SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.DO_NOT_HAVE_FURTHER_SKILLS_TO_LEARN);
 				sm.addNumber(minlevel);
 				player.sendPacket(sm);
 			}
 			else
-				player.sendPacket(new SystemMessage(SystemMessageId.NO_MORE_SKILLS_TO_LEARN));
+				player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.NO_MORE_SKILLS_TO_LEARN));
 		}
 		else
 			player.sendPacket(asl);

File diff suppressed because it is too large
+ 122 - 122
L2_GameServer/java/com/l2jserver/gameserver/model/actor/instance/L2PcInstance.java


+ 25 - 25
L2_GameServer/java/com/l2jserver/gameserver/model/actor/instance/L2PetInstance.java

@@ -150,11 +150,11 @@ public class L2PetInstance extends L2Summon
 						{
 							getOwner().setPkKills(Math.max(0, getOwner().getPkKills()-Rnd.get(1,6)));
 						}
-						getOwner().sendPacket(new SystemMessage(SystemMessageId.THE_HELPER_PET_LEAVING));
+						getOwner().sendPacket(SystemMessage.getSystemMessage(SystemMessageId.THE_HELPER_PET_LEAVING));
 						deleteMe(getOwner());
 					}
 					else if (isHungry())
-						getOwner().sendPacket(new SystemMessage(SystemMessageId.THERE_NOT_MUCH_TIME_REMAINING_UNTIL_HELPER_LEAVES));
+						getOwner().sendPacket(SystemMessage.getSystemMessage(SystemMessageId.THERE_NOT_MUCH_TIME_REMAINING_UNTIL_HELPER_LEAVES));
 					return;
 				}
 				L2ItemInstance food = null;
@@ -177,7 +177,7 @@ public class L2PetInstance extends L2Summon
 					IItemHandler handler = ItemHandler.getInstance().getItemHandler(food.getEtcItem());
 					if (handler != null)
 					{
-						SystemMessage sm = new SystemMessage(SystemMessageId.PET_TOOK_S1_BECAUSE_HE_WAS_HUNGRY);
+						SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.PET_TOOK_S1_BECAUSE_HE_WAS_HUNGRY);
 						sm.addItemName(food.getItemId());
 						getOwner().sendPacket(sm);
 						handler.useItem(L2PetInstance.this, food, false);
@@ -187,12 +187,12 @@ public class L2PetInstance extends L2Summon
 				{
 					if (getCurrentFed() == 0)
 					{
-						SystemMessage sm = new SystemMessage(SystemMessageId.YOUR_PET_IS_VERY_HUNGRY);
+						SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.YOUR_PET_IS_VERY_HUNGRY);
 						getOwner().sendPacket(sm);
 						if (Rnd.get(100) < 30)
 						{
 							stopFeed();
-							sm = new SystemMessage(SystemMessageId.STARVING_GRUMPY_AND_FED_UP_YOUR_PET_HAS_LEFT);
+							sm = SystemMessage.getSystemMessage(SystemMessageId.STARVING_GRUMPY_AND_FED_UP_YOUR_PET_HAS_LEFT);
 							getOwner().sendPacket(sm);
 							_log.info("Hungry pet ["+getTemplate().getName()+"]["+getLevel()+"] deleted for player: "+getOwner()+" Control Item Id :"+getControlObjectId());
 							deleteMe(getOwner());
@@ -200,12 +200,12 @@ public class L2PetInstance extends L2Summon
 					}
 					else if (getCurrentFed() < (0.10 * getPetLevelData().getPetMaxFeed()))
 					{
-						SystemMessage sm = new SystemMessage(SystemMessageId.PET_CAN_RUN_AWAY_WHEN_HUNGER_BELOW_10_PERCENT);
+						SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.PET_CAN_RUN_AWAY_WHEN_HUNGER_BELOW_10_PERCENT);
 						getOwner().sendPacket(sm);
 						if (Rnd.get(100) < 3)
 						{
 							stopFeed();
-							sm = new SystemMessage(SystemMessageId.STARVING_GRUMPY_AND_FED_UP_YOUR_PET_HAS_LEFT);
+							sm = SystemMessage.getSystemMessage(SystemMessageId.STARVING_GRUMPY_AND_FED_UP_YOUR_PET_HAS_LEFT);
 							getOwner().sendPacket(sm);
 							_log.info("Hungry pet ["+getTemplate().getName()+"]["+getLevel()+"] deleted for player: "+getOwner()+" Control Item Id :"+getControlObjectId());
 							deleteMe(getOwner());
@@ -383,7 +383,7 @@ public class L2PetInstance extends L2Summon
 		if (item == null)
 		{
 			if (sendMessage)
-				getOwner().sendPacket(new SystemMessage(SystemMessageId.NOT_ENOUGH_ITEMS));
+				getOwner().sendPacket(SystemMessage.getSystemMessage(SystemMessageId.NOT_ENOUGH_ITEMS));
 			
 			return false;
 		}
@@ -397,14 +397,14 @@ public class L2PetInstance extends L2Summon
 		{
 			if (count > 1)
 			{
-				SystemMessage sm = new SystemMessage(SystemMessageId.S2_S1_DISAPPEARED);
+				SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.S2_S1_DISAPPEARED);
 				sm.addItemName(item.getItemId());
 				sm.addItemNumber(count);
 				getOwner().sendPacket(sm);
 			}
 			else 
 			{
-				SystemMessage sm = new SystemMessage(SystemMessageId.S1_DISAPPEARED);
+				SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.S1_DISAPPEARED);
 				sm.addItemName(item.getItemId());
 				getOwner().sendPacket(sm);
 			}
@@ -428,7 +428,7 @@ public class L2PetInstance extends L2Summon
 		
 		if (item == null)
 		{
-			if (sendMessage) getOwner().sendPacket(new SystemMessage(SystemMessageId.NOT_ENOUGH_ITEMS));
+			if (sendMessage) getOwner().sendPacket(SystemMessage.getSystemMessage(SystemMessageId.NOT_ENOUGH_ITEMS));
 			return false;
 		}
 		
@@ -441,14 +441,14 @@ public class L2PetInstance extends L2Summon
 		{
 			if (count > 1)
 			{
-				SystemMessage sm = new SystemMessage(SystemMessageId.S2_S1_DISAPPEARED);
+				SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.S2_S1_DISAPPEARED);
 				sm.addItemName(item.getItemId());
 				sm.addItemNumber(count);
 				getOwner().sendPacket(sm);
 			}
 			else 
 			{
-				SystemMessage sm = new SystemMessage(SystemMessageId.S1_DISAPPEARED);
+				SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.S1_DISAPPEARED);
 				sm.addItemName(item.getItemId());
 				getOwner().sendPacket(sm);
 			}
@@ -483,7 +483,7 @@ public class L2PetInstance extends L2Summon
 		// Cursed weapons
 		if ( CursedWeaponsManager.getInstance().isCursed(target.getItemId()) )
 		{
-			SystemMessage smsg = new SystemMessage(SystemMessageId.FAILED_TO_PICKUP_S1);
+			SystemMessage smsg = SystemMessage.getSystemMessage(SystemMessageId.FAILED_TO_PICKUP_S1);
 			smsg.addItemName(target.getItemId());
 			getOwner().sendPacket(smsg);
 			return;
@@ -498,12 +498,12 @@ public class L2PetInstance extends L2Summon
 			}
 			if ( !_inventory.validateCapacity(target))
 			{
-				getOwner().sendPacket(new SystemMessage(SystemMessageId.YOUR_PET_CANNOT_CARRY_ANY_MORE_ITEMS));
+				getOwner().sendPacket(SystemMessage.getSystemMessage(SystemMessageId.YOUR_PET_CANNOT_CARRY_ANY_MORE_ITEMS));
 				return;
 			}
 			if ( !_inventory.validateWeight(target, target.getCount()))
 			{
-				getOwner().sendPacket(new SystemMessage(SystemMessageId.UNABLE_TO_PLACE_ITEM_YOUR_PET_IS_TOO_ENCUMBERED));
+				getOwner().sendPacket(SystemMessage.getSystemMessage(SystemMessageId.UNABLE_TO_PLACE_ITEM_YOUR_PET_IS_TOO_ENCUMBERED));
 				return;
 			}
 			if (target.getOwnerId() != 0 && target.getOwnerId() != getOwner().getObjectId() && !getOwner().isInLooterParty(target.getOwnerId()))
@@ -512,20 +512,20 @@ public class L2PetInstance extends L2Summon
 				
 				if (target.getItemId() == 57)
 				{
-					SystemMessage smsg = new SystemMessage(SystemMessageId.FAILED_TO_PICKUP_S1_ADENA);
+					SystemMessage smsg = SystemMessage.getSystemMessage(SystemMessageId.FAILED_TO_PICKUP_S1_ADENA);
 					smsg.addItemNumber(target.getCount());
 					getOwner().sendPacket(smsg);
 				}
 				else if (target.getCount() > 1)
 				{
-					SystemMessage smsg = new SystemMessage(SystemMessageId.FAILED_TO_PICKUP_S2_S1_S);
+					SystemMessage smsg = SystemMessage.getSystemMessage(SystemMessageId.FAILED_TO_PICKUP_S2_S1_S);
 					smsg.addItemName(target.getItemId());
 					smsg.addItemNumber(target.getCount());
 					getOwner().sendPacket(smsg);
 				}
 				else
 				{
-					SystemMessage smsg = new SystemMessage(SystemMessageId.FAILED_TO_PICKUP_S1);
+					SystemMessage smsg = SystemMessage.getSystemMessage(SystemMessageId.FAILED_TO_PICKUP_S1);
 					smsg.addItemName(target.getItemId());
 					getOwner().sendPacket(smsg);
 				}
@@ -559,27 +559,27 @@ public class L2PetInstance extends L2Summon
 		{
 			if (target.getItemId() == 57)
 			{
-				SystemMessage sm2 = new SystemMessage(SystemMessageId.PET_PICKED_S1_ADENA);
+				SystemMessage sm2 = SystemMessage.getSystemMessage(SystemMessageId.PET_PICKED_S1_ADENA);
 				sm2.addItemNumber(target.getCount());
 				getOwner().sendPacket(sm2);
 			}
 			else if (target.getEnchantLevel() > 0)
 			{
-				SystemMessage sm2 = new SystemMessage(SystemMessageId.PET_PICKED_S1_S2);
+				SystemMessage sm2 = SystemMessage.getSystemMessage(SystemMessageId.PET_PICKED_S1_S2);
 				sm2.addNumber(target.getEnchantLevel());
 				sm2.addString(target.getName());
 				getOwner().sendPacket(sm2);
 			}
 			else if (target.getCount() > 1)
 			{
-				SystemMessage sm2 = new SystemMessage(SystemMessageId.PET_PICKED_S2_S1_S);
+				SystemMessage sm2 = SystemMessage.getSystemMessage(SystemMessageId.PET_PICKED_S2_S1_S);
 				sm2.addItemNumber(target.getCount());
 				sm2.addString(target.getName());
 				getOwner().sendPacket(sm2);
 			}
 			else
 			{
-				SystemMessage sm2 = new SystemMessage(SystemMessageId.PET_PICKED_S1);
+				SystemMessage sm2 = SystemMessage.getSystemMessage(SystemMessageId.PET_PICKED_S1);
 				sm2.addString(target.getName());
 				getOwner().sendPacket(sm2);
 			}
@@ -609,7 +609,7 @@ public class L2PetInstance extends L2Summon
 		if (!super.doDie(killer,true))
 			return false;
 		stopFeed();
-		getOwner().sendPacket(new SystemMessage(SystemMessageId.MAKE_SURE_YOU_RESSURECT_YOUR_PET_WITHIN_24_HOURS));
+		getOwner().sendPacket(SystemMessage.getSystemMessage(SystemMessageId.MAKE_SURE_YOU_RESSURECT_YOUR_PET_WITHIN_24_HOURS));
 		DecayTaskManager.getInstance().addDecayTask(this, PET_DECAY_DELAY);
 		// do not decrease exp if is in duel, arena
 		L2PcInstance owner = getOwner();
@@ -706,7 +706,7 @@ public class L2PetInstance extends L2Summon
 			{
 				removedItem = owner.getInventory().destroyItem("PetDestroy", getControlObjectId(), 1, getOwner(), this);
 				if (removedItem != null)
-					owner.sendPacket(new SystemMessage(SystemMessageId.S1_DISAPPEARED).addItemName(removedItem));
+					owner.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.S1_DISAPPEARED).addItemName(removedItem));
 			}
 			
 			if (removedItem == null)

+ 4 - 4
L2_GameServer/java/com/l2jserver/gameserver/model/actor/instance/L2RaceManagerInstance.java

@@ -170,7 +170,7 @@ public class L2RaceManagerInstance extends L2Npc
 	
 	public void makeAnnouncement(SystemMessageId type)
 	{
-		SystemMessage sm = new SystemMessage(type);
+		SystemMessage sm = SystemMessage.getSystemMessage(type);
 		switch (type.getId())
 		{
 			case 816: // SystemMessageId.MONSRACE_TICKETS_AVAILABLE_FOR_S1_RACE
@@ -266,12 +266,12 @@ public class L2RaceManagerInstance extends L2Npc
 	{
 		if (command.startsWith("BuyTicket") && _state != ACCEPTING_BETS)
 		{
-			player.sendPacket(new SystemMessage(SystemMessageId.MONSRACE_TICKETS_NOT_AVAILABLE));
+			player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.MONSRACE_TICKETS_NOT_AVAILABLE));
 			command = "Chat 0";
 		}
 		if (command.startsWith("ShowOdds") && _state == ACCEPTING_BETS)
 		{
-			player.sendPacket(new SystemMessage(SystemMessageId.MONSRACE_NO_PAYOUT_INFO));
+			player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.MONSRACE_NO_PAYOUT_INFO));
 			command = "Chat 0";
 		}
 		
@@ -411,7 +411,7 @@ public class L2RaceManagerInstance extends L2Npc
 			if (!player.reduceAdena("Race", _cost[priceId - 1], this, true)) return;
 			player.setRace(0, 0);
 			player.setRace(1, 0);
-			sm = new SystemMessage(SystemMessageId.ACQUIRED_S1_S2);
+			sm = SystemMessage.getSystemMessage(SystemMessageId.ACQUIRED_S1_S2);
 			sm.addNumber(_raceNumber);
 			sm.addItemName(4443);
 			player.sendPacket(sm);

+ 1 - 1
L2_GameServer/java/com/l2jserver/gameserver/model/actor/instance/L2RaidBossInstance.java

@@ -86,7 +86,7 @@ public class L2RaidBossInstance extends L2MonsterInstance
 		
 		if (player != null)
 		{
-			broadcastPacket(new SystemMessage(SystemMessageId.RAID_WAS_SUCCESSFUL));
+			broadcastPacket(SystemMessage.getSystemMessage(SystemMessageId.RAID_WAS_SUCCESSFUL));
 			if (player.getParty() != null)
 			{
 				for (L2PcInstance member : player.getParty().getPartyMembers())

+ 2 - 2
L2_GameServer/java/com/l2jserver/gameserver/model/actor/instance/L2SiegeFlagInstance.java

@@ -199,7 +199,7 @@ public class L2SiegeFlagInstance extends L2Npc
 				if (_clan != null)
 				{
 					// send warning to owners of headquarters that theirs base is under attack
-					_clan.broadcastToOnlineMembers(new SystemMessage(SystemMessageId.BASE_UNDER_ATTACK));
+					_clan.broadcastToOnlineMembers(SystemMessage.getSystemMessage(SystemMessageId.BASE_UNDER_ATTACK));
 					setCanTalk(false);
 					ThreadPoolManager.getInstance().scheduleGeneral(new ScheduleTalkTask(), 20000);
 				}
@@ -209,7 +209,7 @@ public class L2SiegeFlagInstance extends L2Npc
 				if (_clan != null)
 				{
 					// send warning to owners of headquarters that theirs base is under attack
-					_clan.broadcastToOnlineMembers(new SystemMessage(SystemMessageId.BASE_UNDER_ATTACK));
+					_clan.broadcastToOnlineMembers(SystemMessage.getSystemMessage(SystemMessageId.BASE_UNDER_ATTACK));
 					setCanTalk(false);
 					ThreadPoolManager.getInstance().scheduleGeneral(new ScheduleTalkTask(), 20000);
 				}

+ 17 - 17
L2_GameServer/java/com/l2jserver/gameserver/model/actor/instance/L2SignsPriestInstance.java

@@ -103,18 +103,18 @@ public class L2SignsPriestInstance extends L2Npc
 				case 2: // Purchase Record of the Seven Signs
 					if (!player.getInventory().validateCapacity(1))
 					{
-						player.sendPacket(new SystemMessage(SystemMessageId.SLOTS_FULL));
+						player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.SLOTS_FULL));
 						break;
 					}
 					
 					if (!player.reduceAdena("SevenSigns", SevenSigns.RECORD_SEVEN_SIGNS_COST, this, true))
 					{
-						player.sendPacket(new SystemMessage(SystemMessageId.YOU_NOT_ENOUGH_ADENA));
+						player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.YOU_NOT_ENOUGH_ADENA));
 						break;
 					}
 					player.getInventory().addItem("SevenSigns", SevenSigns.RECORD_SEVEN_SIGNS_ID, 1, player, this);
 					
-					sm = new SystemMessage(SystemMessageId.EARNED_ITEM);
+					sm = SystemMessage.getSystemMessage(SystemMessageId.EARNED_ITEM);
 					sm.addItemName(SevenSigns.RECORD_SEVEN_SIGNS_ID);
 					player.sendPacket(sm);
 					
@@ -227,21 +227,21 @@ public class L2SignsPriestInstance extends L2Npc
 					SevenSigns.getInstance().setPlayerInfo(player.getObjectId(), cabal, newSeal);
 					
 					if (cabal == SevenSigns.CABAL_DAWN)
-						player.sendPacket(new SystemMessage(SystemMessageId.SEVENSIGNS_PARTECIPATION_DAWN)); // Joined Dawn
+						player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.SEVENSIGNS_PARTECIPATION_DAWN)); // Joined Dawn
 					else
-						player.sendPacket(new SystemMessage(SystemMessageId.SEVENSIGNS_PARTECIPATION_DUSK)); // Joined Dusk
+						player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.SEVENSIGNS_PARTECIPATION_DUSK)); // Joined Dusk
 					
 					// Show a confirmation message to the user, indicating which seal they chose.
 					switch (newSeal)
 					{
 						case SevenSigns.SEAL_AVARICE:
-							player.sendPacket(new SystemMessage(SystemMessageId.FIGHT_FOR_AVARICE));
+							player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.FIGHT_FOR_AVARICE));
 							break;
 						case SevenSigns.SEAL_GNOSIS:
-							player.sendPacket(new SystemMessage(SystemMessageId.FIGHT_FOR_GNOSIS));
+							player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.FIGHT_FOR_GNOSIS));
 							break;
 						case SevenSigns.SEAL_STRIFE:
-							player.sendPacket(new SystemMessage(SystemMessageId.FIGHT_FOR_STRIFE));
+							player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.FIGHT_FOR_STRIFE));
 							break;
 					}
 					
@@ -320,7 +320,7 @@ public class L2SignsPriestInstance extends L2Npc
 						if (player.destroyItemByItemId("SevenSigns", SevenSigns.SEAL_STONE_RED_ID, redContrib, this, false))
 						{
 							contribStonesFound = true;
-							SystemMessage msg = new SystemMessage(SystemMessageId.S2_S1_DISAPPEARED);
+							SystemMessage msg = SystemMessage.getSystemMessage(SystemMessageId.S2_S1_DISAPPEARED);
 							msg.addItemName(SevenSigns.SEAL_STONE_RED_ID);
 							msg.addItemNumber(redContrib);
 							player.sendPacket(msg);
@@ -331,7 +331,7 @@ public class L2SignsPriestInstance extends L2Npc
 						if (player.destroyItemByItemId("SevenSigns", SevenSigns.SEAL_STONE_GREEN_ID, greenContrib, this, false))
 						{
 							contribStonesFound = true;
-							SystemMessage msg = new SystemMessage(SystemMessageId.S2_S1_DISAPPEARED);
+							SystemMessage msg = SystemMessage.getSystemMessage(SystemMessageId.S2_S1_DISAPPEARED);
 							msg.addItemName(SevenSigns.SEAL_STONE_GREEN_ID);
 							msg.addItemNumber(greenContrib);
 							player.sendPacket(msg);
@@ -342,7 +342,7 @@ public class L2SignsPriestInstance extends L2Npc
 						if (player.destroyItemByItemId("SevenSigns", SevenSigns.SEAL_STONE_BLUE_ID, blueContrib, this, false))
 						{
 							contribStonesFound = true;
-							SystemMessage msg = new SystemMessage(SystemMessageId.S2_S1_DISAPPEARED);
+							SystemMessage msg = SystemMessage.getSystemMessage(SystemMessageId.S2_S1_DISAPPEARED);
 							msg.addItemName(SevenSigns.SEAL_STONE_BLUE_ID);
 							msg.addItemNumber(blueContrib);
 							player.sendPacket(msg);
@@ -359,7 +359,7 @@ public class L2SignsPriestInstance extends L2Npc
 					else
 					{
 						score = SevenSigns.getInstance().addPlayerStoneContrib(player.getObjectId(), blueContrib, greenContrib, redContrib);
-						sm = new SystemMessage(SystemMessageId.CONTRIB_SCORE_INCREASED);
+						sm = SystemMessage.getSystemMessage(SystemMessageId.CONTRIB_SCORE_INCREASED);
 						sm.addItemNumber(score);
 						player.sendPacket(sm);
 						
@@ -385,7 +385,7 @@ public class L2SignsPriestInstance extends L2Npc
 					
 					if (contribScore == Config.ALT_MAXIMUM_PLAYER_CONTRIB)
 					{
-						player.sendPacket(new SystemMessage(SystemMessageId.CONTRIB_SCORE_EXCEEDED));
+						player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.CONTRIB_SCORE_EXCEEDED));
 						break;
 					}
 					else
@@ -441,7 +441,7 @@ public class L2SignsPriestInstance extends L2Npc
 									if (player.destroyItemByItemId("SevenSigns", SevenSigns.SEAL_STONE_RED_ID, redContribCount, this, false))
 									{
 										stonesFound = true;
-										SystemMessage msg = new SystemMessage(SystemMessageId.S2_S1_DISAPPEARED);
+										SystemMessage msg = SystemMessage.getSystemMessage(SystemMessageId.S2_S1_DISAPPEARED);
 										msg.addItemName(SevenSigns.SEAL_STONE_RED_ID);
 										msg.addItemNumber(redContribCount);
 										player.sendPacket(msg);
@@ -452,7 +452,7 @@ public class L2SignsPriestInstance extends L2Npc
 									if (player.destroyItemByItemId("SevenSigns", SevenSigns.SEAL_STONE_GREEN_ID, greenContribCount, this, false))
 									{
 										stonesFound = true;
-										SystemMessage msg = new SystemMessage(SystemMessageId.S2_S1_DISAPPEARED);
+										SystemMessage msg = SystemMessage.getSystemMessage(SystemMessageId.S2_S1_DISAPPEARED);
 										msg.addItemName(SevenSigns.SEAL_STONE_GREEN_ID);
 										msg.addItemNumber(greenContribCount);
 										player.sendPacket(msg);
@@ -463,7 +463,7 @@ public class L2SignsPriestInstance extends L2Npc
 									if (player.destroyItemByItemId("SevenSigns", SevenSigns.SEAL_STONE_BLUE_ID, blueContribCount, this, false))
 									{
 										stonesFound = true;
-										SystemMessage msg = new SystemMessage(SystemMessageId.S2_S1_DISAPPEARED);
+										SystemMessage msg = SystemMessage.getSystemMessage(SystemMessageId.S2_S1_DISAPPEARED);
 										msg.addItemName(SevenSigns.SEAL_STONE_BLUE_ID);
 										msg.addItemNumber(blueContribCount);
 										player.sendPacket(msg);
@@ -480,7 +480,7 @@ public class L2SignsPriestInstance extends L2Npc
 								else
 								{
 									contribScore = SevenSigns.getInstance().addPlayerStoneContrib(player.getObjectId(), blueContribCount, greenContribCount, redContribCount);
-									sm = new SystemMessage(SystemMessageId.CONTRIB_SCORE_INCREASED);
+									sm = SystemMessage.getSystemMessage(SystemMessageId.CONTRIB_SCORE_INCREASED);
 									sm.addItemNumber(contribScore);
 									player.sendPacket(sm);
 									

+ 4 - 4
L2_GameServer/java/com/l2jserver/gameserver/model/actor/instance/L2TeleporterInstance.java

@@ -86,7 +86,7 @@ public final class L2TeleporterInstance extends L2Npc
 				case 32539:
 					if (player.isFlyingMounted())
 					{
-						player.sendPacket(new SystemMessage(SystemMessageId.YOU_CANNOT_ENTER_SEED_IN_FLYING_TRANSFORM));
+						player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.YOU_CANNOT_ENTER_SEED_IN_FLYING_TRANSFORM));
 						return;
 					}
 					break;
@@ -225,13 +225,13 @@ public final class L2TeleporterInstance extends L2Npc
 			//you cannot teleport to village that is in siege
 			if (SiegeManager.getInstance().getSiege(list.getLocX(), list.getLocY(), list.getLocZ()) != null)
 			{
-				player.sendPacket(new SystemMessage(SystemMessageId.NO_PORT_THAT_IS_IN_SIGE));
+				player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.NO_PORT_THAT_IS_IN_SIGE));
 				return;
 			}
 			else if (TownManager.townHasCastleInSiege(list.getLocX(), list.getLocY())
 					&& isInsideZone(L2Character.ZONE_TOWN))
 			{
-				player.sendPacket(new SystemMessage(SystemMessageId.NO_PORT_THAT_IS_IN_SIGE));
+				player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.NO_PORT_THAT_IS_IN_SIGE));
 				return;
 			}
 			else if (!Config.ALT_GAME_KARMA_PLAYER_CAN_USE_GK && player.getKarma() > 0) //karma
@@ -241,7 +241,7 @@ public final class L2TeleporterInstance extends L2Npc
 			}
 			else if (player.isCombatFlagEquipped())
 			{
-				player.sendPacket(new SystemMessage(SystemMessageId.YOU_CANNOT_TELEPORT_WHILE_IN_POSSESSION_OF_A_WARD));
+				player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.YOU_CANNOT_TELEPORT_WHILE_IN_POSSESSION_OF_A_WARD));
 				return;
 			}
 			else if (list.getIsForNoble() && !player.isNoble())

+ 1 - 1
L2_GameServer/java/com/l2jserver/gameserver/model/actor/instance/L2TerritoryWardInstance.java

@@ -110,7 +110,7 @@ public final class L2TerritoryWardInstance extends L2Attackable
 				((L2PcInstance)killer).addItem("Pickup", getNpcId() - 23012, 1, null, false);
 			else
 				TerritoryWarManager.getInstance().getTerritoryWard(getNpcId() - 36491).spawnMe();
-			SystemMessage sm = new SystemMessage(SystemMessageId.THE_S1_WARD_HAS_BEEN_DESTROYED);
+			SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.THE_S1_WARD_HAS_BEEN_DESTROYED);
 			sm.addString(this.getName().replaceAll(" Ward", ""));
 			sm.addPcName((L2PcInstance)killer);
 			TerritoryWarManager.getInstance().announceToParticipants(sm, 0, 0);

+ 2 - 2
L2_GameServer/java/com/l2jserver/gameserver/model/actor/instance/L2TransformManagerInstance.java

@@ -76,12 +76,12 @@ public class L2TransformManagerInstance extends L2MerchantInstance
 			if (minlevel > 0)
 			{
 				// No more skills to learn, come back when you level.
-				SystemMessage sm = new SystemMessage(SystemMessageId.DO_NOT_HAVE_FURTHER_SKILLS_TO_LEARN);
+				SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.DO_NOT_HAVE_FURTHER_SKILLS_TO_LEARN);
 				sm.addNumber(minlevel);
 				player.sendPacket(sm);
 			}
 			else
-				player.sendPacket(new SystemMessage(SystemMessageId.NO_MORE_SKILLS_TO_LEARN));
+				player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.NO_MORE_SKILLS_TO_LEARN));
 		}
 		else
 			player.sendPacket(asl);

+ 2 - 2
L2_GameServer/java/com/l2jserver/gameserver/model/actor/instance/L2TrapInstance.java

@@ -145,10 +145,10 @@ public class L2TrapInstance extends L2Trap
 		final SystemMessage sm;
 		
 		if (target.isInvul() && !(target instanceof L2NpcInstance))
-			sm = new SystemMessage(SystemMessageId.ATTACK_WAS_BLOCKED);
+			sm = SystemMessage.getSystemMessage(SystemMessageId.ATTACK_WAS_BLOCKED);
 		else
 		{
-			sm = new SystemMessage(SystemMessageId.C1_GAVE_C2_DAMAGE_OF_S3);
+			sm = SystemMessage.getSystemMessage(SystemMessageId.C1_GAVE_C2_DAMAGE_OF_S3);
 			sm.addCharName(this);
 			sm.addCharName(target);
 			sm.addNumber(damage);

+ 41 - 41
L2_GameServer/java/com/l2jserver/gameserver/model/actor/instance/L2VillageMasterInstance.java

@@ -143,7 +143,7 @@ public class L2VillageMasterInstance extends L2NpcInstance
 				return;
 			
 			if (player.getClan() == null)
-				player.sendPacket(new SystemMessage(SystemMessageId.ONLY_CLAN_LEADER_CREATE_ALLIANCE));
+				player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.ONLY_CLAN_LEADER_CREATE_ALLIANCE));
 			else
 				player.getClan().createAlly(player, cmdParams);
 		}
@@ -183,7 +183,7 @@ public class L2VillageMasterInstance extends L2NpcInstance
 			// Subclasses may not be changed while a skill is in use.
 			if (player.isCastingNow() || player.isAllSkillsDisabled())
 			{
-				player.sendPacket(new SystemMessage(SystemMessageId.SUBCLASS_NO_CHANGE_OR_CREATE_WHILE_SKILL_IN_USE));
+				player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.SUBCLASS_NO_CHANGE_OR_CREATE_WHILE_SKILL_IN_USE));
 				return;
 			}
 			
@@ -398,7 +398,7 @@ public class L2VillageMasterInstance extends L2NpcInstance
 						
 						html.setFile(player.getHtmlPrefix(), "data/html/villagemaster/SubClass_AddOk.htm");
 						
-						player.sendPacket(new SystemMessage(SystemMessageId.ADD_NEW_SUBCLASS)); // Subclass added.
+						player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.ADD_NEW_SUBCLASS)); // Subclass added.
 					}
 					else
 						html.setFile(player.getHtmlPrefix(), getSubClassFail());
@@ -443,7 +443,7 @@ public class L2VillageMasterInstance extends L2NpcInstance
 					
 					player.setActiveClass(paramOne);
 					
-					player.sendPacket(new SystemMessage(SystemMessageId.SUBCLASS_TRANSFER_COMPLETED)); // Transfer completed.
+					player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.SUBCLASS_TRANSFER_COMPLETED)); // Transfer completed.
 					return;
 				case 6: // Change/Cancel Subclass - Choice
 					// validity check
@@ -516,7 +516,7 @@ public class L2VillageMasterInstance extends L2NpcInstance
 						html.setFile(player.getHtmlPrefix(), "data/html/villagemaster/SubClass_ModifyOk.htm");
 						html.replace("%name%", CharTemplateTable.getInstance().getClassNameById(paramTwo));
 						
-						player.sendPacket(new SystemMessage(SystemMessageId.ADD_NEW_SUBCLASS)); // Subclass added.
+						player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.ADD_NEW_SUBCLASS)); // Subclass added.
 					}
 					else
 					{
@@ -754,24 +754,24 @@ public class L2VillageMasterInstance extends L2NpcInstance
 	{
 		if (!player.isClanLeader())
 		{
-			player.sendPacket(new SystemMessage(SystemMessageId.YOU_ARE_NOT_AUTHORIZED_TO_DO_THAT));
+			player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.YOU_ARE_NOT_AUTHORIZED_TO_DO_THAT));
 			return;
 		}
 		
 		final L2Clan clan = player.getClan();
 		if (clan.getAllyId() != 0)
 		{
-			player.sendPacket(new SystemMessage(SystemMessageId.CANNOT_DISPERSE_THE_CLANS_IN_ALLY));
+			player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.CANNOT_DISPERSE_THE_CLANS_IN_ALLY));
 			return;
 		}
 		if (clan.isAtWar())
 		{
-			player.sendPacket(new SystemMessage(SystemMessageId.CANNOT_DISSOLVE_WHILE_IN_WAR));
+			player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.CANNOT_DISSOLVE_WHILE_IN_WAR));
 			return;
 		}
 		if (clan.getHasCastle() !=0 || clan.getHasHideout() != 0 || clan.getHasFort() != 0)
 		{
-			player.sendPacket(new SystemMessage(SystemMessageId.CANNOT_DISSOLVE_WHILE_OWNING_CLAN_HALL_OR_CASTLE));
+			player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.CANNOT_DISSOLVE_WHILE_OWNING_CLAN_HALL_OR_CASTLE));
 			return;
 		}
 		
@@ -779,7 +779,7 @@ public class L2VillageMasterInstance extends L2NpcInstance
 		{
 			if (SiegeManager.getInstance().checkIsRegistered(clan, castle.getCastleId()))
 			{
-				player.sendPacket(new SystemMessage(SystemMessageId.CANNOT_DISSOLVE_WHILE_IN_SIEGE));
+				player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.CANNOT_DISSOLVE_WHILE_IN_SIEGE));
 				return;
 			}
 		}
@@ -787,19 +787,19 @@ public class L2VillageMasterInstance extends L2NpcInstance
 		{
 			if (FortSiegeManager.getInstance().checkIsRegistered(clan, fort.getFortId()))
 			{
-				player.sendPacket(new SystemMessage(SystemMessageId.CANNOT_DISSOLVE_WHILE_IN_SIEGE));
+				player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.CANNOT_DISSOLVE_WHILE_IN_SIEGE));
 				return;
 			}
 		}
 		
 		if (player.isInsideZone(L2PcInstance.ZONE_SIEGE))
 		{
-			player.sendPacket(new SystemMessage(SystemMessageId.CANNOT_DISSOLVE_WHILE_IN_SIEGE));
+			player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.CANNOT_DISSOLVE_WHILE_IN_SIEGE));
 			return;
 		}
 		if (clan.getDissolvingExpiryTime() > System.currentTimeMillis())
 		{
-			player.sendPacket(new SystemMessage(SystemMessageId.DISSOLUTION_IN_PROGRESS));
+			player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.DISSOLUTION_IN_PROGRESS));
 			return;
 		}
 		
@@ -816,7 +816,7 @@ public class L2VillageMasterInstance extends L2NpcInstance
 	{
 		if (!player.isClanLeader())
 		{
-			player.sendPacket(new SystemMessage(SystemMessageId.YOU_ARE_NOT_AUTHORIZED_TO_DO_THAT));
+			player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.YOU_ARE_NOT_AUTHORIZED_TO_DO_THAT));
 			return;
 		}
 		
@@ -829,7 +829,7 @@ public class L2VillageMasterInstance extends L2NpcInstance
 	{
 		if (!player.isClanLeader())
 		{
-			player.sendPacket(new SystemMessage(SystemMessageId.YOU_ARE_NOT_AUTHORIZED_TO_DO_THAT));
+			player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.YOU_ARE_NOT_AUTHORIZED_TO_DO_THAT));
 			return;
 		}
 		if (player.getName().equalsIgnoreCase(target))
@@ -851,7 +851,7 @@ public class L2VillageMasterInstance extends L2NpcInstance
 		final L2ClanMember member = clan.getClanMember(target);
 		if (member == null)
 		{
-			SystemMessage sm = new SystemMessage(SystemMessageId.S1_DOES_NOT_EXIST);
+			SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.S1_DOES_NOT_EXIST);
 			sm.addString(target);
 			player.sendPacket(sm);
 			sm = null;
@@ -859,7 +859,7 @@ public class L2VillageMasterInstance extends L2NpcInstance
 		}
 		if (!member.isOnline())
 		{
-			player.sendPacket(new SystemMessage(SystemMessageId.INVITED_USER_NOT_ONLINE));
+			player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.INVITED_USER_NOT_ONLINE));
 			return;
 		}
 		clan.setNewLeader(member);
@@ -869,7 +869,7 @@ public class L2VillageMasterInstance extends L2NpcInstance
 	{
 		if (!player.isClanLeader())
 		{
-			player.sendPacket(new SystemMessage(SystemMessageId.YOU_ARE_NOT_AUTHORIZED_TO_DO_THAT));
+			player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.YOU_ARE_NOT_AUTHORIZED_TO_DO_THAT));
 			return;
 		}
 		
@@ -877,20 +877,20 @@ public class L2VillageMasterInstance extends L2NpcInstance
 		if (clan.getLevel() < minClanLvl)
 		{
 			if (pledgeType == L2Clan.SUBUNIT_ACADEMY)
-				player.sendPacket(new SystemMessage(SystemMessageId.YOU_DO_NOT_MEET_CRITERIA_IN_ORDER_TO_CREATE_A_CLAN_ACADEMY));
+				player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.YOU_DO_NOT_MEET_CRITERIA_IN_ORDER_TO_CREATE_A_CLAN_ACADEMY));
 			else
-				player.sendPacket(new SystemMessage(SystemMessageId.YOU_DO_NOT_MEET_CRITERIA_IN_ORDER_TO_CREATE_A_MILITARY_UNIT));
+				player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.YOU_DO_NOT_MEET_CRITERIA_IN_ORDER_TO_CREATE_A_MILITARY_UNIT));
 			
 			return;
 		}
 		if (!Util.isAlphaNumeric(clanName) || 2 > clanName.length())
 		{
-			player.sendPacket(new SystemMessage(SystemMessageId.CLAN_NAME_INCORRECT));
+			player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.CLAN_NAME_INCORRECT));
 			return;
 		}
 		if (clanName.length() > 16)
 		{
-			player.sendPacket(new SystemMessage(SystemMessageId.CLAN_NAME_TOO_LONG));
+			player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.CLAN_NAME_TOO_LONG));
 			return;
 		}
 		
@@ -900,13 +900,13 @@ public class L2VillageMasterInstance extends L2NpcInstance
 			{
 				if (pledgeType == L2Clan.SUBUNIT_ACADEMY)
 				{
-					SystemMessage sm = new SystemMessage(SystemMessageId.S1_ALREADY_EXISTS);
+					SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.S1_ALREADY_EXISTS);
 					sm.addString(clanName);
 					player.sendPacket(sm);
 					sm = null;
 				}
 				else
-					player.sendPacket(new SystemMessage(SystemMessageId.ANOTHER_MILITARY_UNIT_IS_ALREADY_USING_THAT_NAME));
+					player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.ANOTHER_MILITARY_UNIT_IS_ALREADY_USING_THAT_NAME));
 				
 				return;
 			}
@@ -917,9 +917,9 @@ public class L2VillageMasterInstance extends L2NpcInstance
 			if (clan.getClanMember(leaderName) == null || clan.getClanMember(leaderName).getPledgeType() != 0)
 			{
 				if (pledgeType >= L2Clan.SUBUNIT_KNIGHT1)
-					player.sendPacket(new SystemMessage(SystemMessageId.CAPTAIN_OF_ORDER_OF_KNIGHTS_CANNOT_BE_APPOINTED));
+					player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.CAPTAIN_OF_ORDER_OF_KNIGHTS_CANNOT_BE_APPOINTED));
 				else if (pledgeType >= L2Clan.SUBUNIT_ROYAL1)
-					player.sendPacket(new SystemMessage(SystemMessageId.CAPTAIN_OF_ROYAL_GUARD_CANNOT_BE_APPOINTED));
+					player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.CAPTAIN_OF_ROYAL_GUARD_CANNOT_BE_APPOINTED));
 				
 				return;
 			}
@@ -933,21 +933,21 @@ public class L2VillageMasterInstance extends L2NpcInstance
 		SystemMessage sm;
 		if (pledgeType == L2Clan.SUBUNIT_ACADEMY)
 		{
-			sm = new SystemMessage(SystemMessageId.THE_S1S_CLAN_ACADEMY_HAS_BEEN_CREATED);
+			sm = SystemMessage.getSystemMessage(SystemMessageId.THE_S1S_CLAN_ACADEMY_HAS_BEEN_CREATED);
 			sm.addString(player.getClan().getName());
 		}
 		else if (pledgeType >= L2Clan.SUBUNIT_KNIGHT1)
 		{
-			sm = new SystemMessage(SystemMessageId.THE_KNIGHTS_OF_S1_HAVE_BEEN_CREATED);
+			sm = SystemMessage.getSystemMessage(SystemMessageId.THE_KNIGHTS_OF_S1_HAVE_BEEN_CREATED);
 			sm.addString(player.getClan().getName());
 		}
 		else if (pledgeType >= L2Clan.SUBUNIT_ROYAL1)
 		{
-			sm = new SystemMessage(SystemMessageId.THE_ROYAL_GUARD_OF_S1_HAVE_BEEN_CREATED);
+			sm = SystemMessage.getSystemMessage(SystemMessageId.THE_ROYAL_GUARD_OF_S1_HAVE_BEEN_CREATED);
 			sm.addString(player.getClan().getName());
 		}
 		else
-			sm = new SystemMessage(SystemMessageId.CLAN_CREATED);
+			sm = SystemMessage.getSystemMessage(SystemMessageId.CLAN_CREATED);
 		player.sendPacket(sm);
 		
 		if (pledgeType != L2Clan.SUBUNIT_ACADEMY)
@@ -967,7 +967,7 @@ public class L2VillageMasterInstance extends L2NpcInstance
 	{
 		if (!player.isClanLeader())
 		{
-			player.sendPacket(new SystemMessage(SystemMessageId.YOU_ARE_NOT_AUTHORIZED_TO_DO_THAT));
+			player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.YOU_ARE_NOT_AUTHORIZED_TO_DO_THAT));
 			return;
 		}
 		
@@ -981,12 +981,12 @@ public class L2VillageMasterInstance extends L2NpcInstance
 		}
 		if (!Util.isAlphaNumeric(pledgeName) || 2 > pledgeName.length())
 		{
-			player.sendPacket(new SystemMessage(SystemMessageId.CLAN_NAME_INCORRECT));
+			player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.CLAN_NAME_INCORRECT));
 			return;
 		}
 		if (pledgeName.length() > 16)
 		{
-			player.sendPacket(new SystemMessage(SystemMessageId.CLAN_NAME_TOO_LONG));
+			player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.CLAN_NAME_TOO_LONG));
 			return;
 		}
 		
@@ -1000,17 +1000,17 @@ public class L2VillageMasterInstance extends L2NpcInstance
 	{
 		if (!player.isClanLeader())
 		{
-			player.sendPacket(new SystemMessage(SystemMessageId.YOU_ARE_NOT_AUTHORIZED_TO_DO_THAT));
+			player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.YOU_ARE_NOT_AUTHORIZED_TO_DO_THAT));
 			return;
 		}
 		if (leaderName.length() > 16)
 		{
-			player.sendPacket(new SystemMessage(SystemMessageId.NAMING_CHARNAME_UP_TO_16CHARS));
+			player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.NAMING_CHARNAME_UP_TO_16CHARS));
 			return;
 		}
 		if (player.getName().equals(leaderName))
 		{
-			player.sendPacket(new SystemMessage(SystemMessageId.CAPTAIN_OF_ROYAL_GUARD_CANNOT_BE_APPOINTED));
+			player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.CAPTAIN_OF_ROYAL_GUARD_CANNOT_BE_APPOINTED));
 			return;
 		}
 		
@@ -1019,16 +1019,16 @@ public class L2VillageMasterInstance extends L2NpcInstance
 		
 		if (null == subPledge || subPledge.getId() == L2Clan.SUBUNIT_ACADEMY)
 		{
-			player.sendPacket(new SystemMessage(SystemMessageId.CLAN_NAME_INCORRECT));
+			player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.CLAN_NAME_INCORRECT));
 			return;
 		}
 		if (clan.getClanMember(leaderName) == null
 				|| (clan.getClanMember(leaderName).getPledgeType() != 0))
 		{
 			if (subPledge.getId() >= L2Clan.SUBUNIT_KNIGHT1)
-				player.sendPacket(new SystemMessage(SystemMessageId.CAPTAIN_OF_ORDER_OF_KNIGHTS_CANNOT_BE_APPOINTED));
+				player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.CAPTAIN_OF_ORDER_OF_KNIGHTS_CANNOT_BE_APPOINTED));
 			else if (subPledge.getId() >= L2Clan.SUBUNIT_ROYAL1)
-				player.sendPacket(new SystemMessage(SystemMessageId.CAPTAIN_OF_ROYAL_GUARD_CANNOT_BE_APPOINTED));
+				player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.CAPTAIN_OF_ROYAL_GUARD_CANNOT_BE_APPOINTED));
 			
 			return;
 		}
@@ -1046,7 +1046,7 @@ public class L2VillageMasterInstance extends L2NpcInstance
 		}
 		
 		clan.broadcastClanStatus();
-		SystemMessage sm = new SystemMessage(SystemMessageId.C1_HAS_BEEN_SELECTED_AS_CAPTAIN_OF_S2);
+		SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.C1_HAS_BEEN_SELECTED_AS_CAPTAIN_OF_S2);
 		sm.addString(leaderName);
 		sm.addString(clanName);
 		clan.broadcastToOnlineMembers(sm);
@@ -1085,7 +1085,7 @@ public class L2VillageMasterInstance extends L2NpcInstance
 		{
 			if (player.getClan().getLevel() < 8)
 			{
-				SystemMessage sm = new SystemMessage(SystemMessageId.DO_NOT_HAVE_FURTHER_SKILLS_TO_LEARN);
+				SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.DO_NOT_HAVE_FURTHER_SKILLS_TO_LEARN);
 				if (player.getClan().getLevel() < 5)
 					sm.addNumber(5);
 				else

+ 10 - 10
L2_GameServer/java/com/l2jserver/gameserver/model/actor/stat/PcStat.java

@@ -133,19 +133,19 @@ public class PcStat extends PlayableStat
 		// Send a Server->Client System Message to the L2PcInstance
 		if (addToExp == 0 && addToSp != 0)
 		{
-			SystemMessage sm = new SystemMessage(SystemMessageId.ACQUIRED_S1_SP);
+			SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.ACQUIRED_S1_SP);
 			sm.addNumber(addToSp);
 			activeChar.sendPacket(sm);
 		}
 		else if (addToSp == 0 && addToExp != 0)
 		{
-			SystemMessage sm = new SystemMessage(SystemMessageId.EARNED_S1_EXPERIENCE);
+			SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.EARNED_S1_EXPERIENCE);
 			sm.addNumber((int) addToExp);
 			activeChar.sendPacket(sm);
 		}
 		else
 		{
-			SystemMessage sm = new SystemMessage(SystemMessageId.YOU_EARNED_S1_EXP_AND_S2_SP);
+			SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.YOU_EARNED_S1_EXP_AND_S2_SP);
 			sm.addNumber((int) addToExp);
 			sm.addNumber(addToSp);
 			activeChar.sendPacket(sm);
@@ -200,10 +200,10 @@ public class PcStat extends PlayableStat
 		if (sendMessage)
 		{
 			// Send a Server->Client System Message to the L2PcInstance
-			SystemMessage sm = new SystemMessage(SystemMessageId.EXP_DECREASED_BY_S1);
+			SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.EXP_DECREASED_BY_S1);
 			sm.addNumber((int) addToExp);
 			getActiveChar().sendPacket(sm);
-			sm = new SystemMessage(SystemMessageId.SP_DECREASED_S1);
+			sm = SystemMessage.getSystemMessage(SystemMessageId.SP_DECREASED_S1);
 			sm.addNumber(addToSp);
 			getActiveChar().sendPacket(sm);
 		}
@@ -229,7 +229,7 @@ public class PcStat extends PlayableStat
 			
 			getActiveChar().setCurrentCp(getMaxCp());
 			getActiveChar().broadcastPacket(new SocialAction(getActiveChar().getObjectId(), SocialAction.LEVEL_UP));
-			getActiveChar().sendPacket(new SystemMessage(SystemMessageId.YOU_INCREASED_YOUR_LEVEL));
+			getActiveChar().sendPacket(SystemMessage.getSystemMessage(SystemMessageId.YOU_INCREASED_YOUR_LEVEL));
 			
 			L2ClassMasterInstance.showQuestionMark(getActiveChar());
 		}
@@ -501,13 +501,13 @@ public class PcStat extends PlayableStat
 		if (!quiet && level != _vitalityLevel)
 		{
 			if (level < _vitalityLevel)
-				getActiveChar().sendPacket(new SystemMessage(SystemMessageId.VITALITY_HAS_DECREASED));
+				getActiveChar().sendPacket(SystemMessage.getSystemMessage(SystemMessageId.VITALITY_HAS_DECREASED));
 			else
-				getActiveChar().sendPacket(new SystemMessage(SystemMessageId.VITALITY_HAS_INCREASED));
+				getActiveChar().sendPacket(SystemMessage.getSystemMessage(SystemMessageId.VITALITY_HAS_INCREASED));
 			if (level == 0)
-				getActiveChar().sendPacket(new SystemMessage(SystemMessageId.VITALITY_IS_EXHAUSTED));
+				getActiveChar().sendPacket(SystemMessage.getSystemMessage(SystemMessageId.VITALITY_IS_EXHAUSTED));
 			else if (level == 4)
-				getActiveChar().sendPacket(new SystemMessage(SystemMessageId.VITALITY_IS_AT_MAXIMUM));
+				getActiveChar().sendPacket(SystemMessage.getSystemMessage(SystemMessageId.VITALITY_IS_AT_MAXIMUM));
 		}
 		
 		_vitalityLevel = level;

+ 1 - 1
L2_GameServer/java/com/l2jserver/gameserver/model/actor/stat/PetStat.java

@@ -48,7 +48,7 @@ public class PetStat extends SummonStat
 	{
 		if (!super.addExpAndSp(addToExp, addToSp)) return false;
 		
-		SystemMessage sm = new SystemMessage(SystemMessageId.PET_EARNED_S1_EXP);
+		SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.PET_EARNED_S1_EXP);
 		sm.addNumber((int)addToExp);
 		getActiveChar().updateAndBroadcastStatus(1);
 		getActiveChar().getOwner().sendPacket(sm);

+ 3 - 3
L2_GameServer/java/com/l2jserver/gameserver/model/actor/status/PcStatus.java

@@ -152,7 +152,7 @@ public class PcStatus extends PlayableStatus
 			{
 				SystemMessage smsg;
 				// Send a System Message to the L2PcInstance
-				smsg = new SystemMessage(SystemMessageId.C1_RECEIVED_DAMAGE_OF_S3_FROM_C2);
+				smsg = SystemMessage.getSystemMessage(SystemMessageId.C1_RECEIVED_DAMAGE_OF_S3_FROM_C2);
 				smsg.addString(getActiveChar().getName());
 				smsg.addCharName(attacker);
 				smsg.addNumber(fullValue);
@@ -160,7 +160,7 @@ public class PcStatus extends PlayableStatus
 				
 				if (tDmg > 0)
 				{
-					smsg = new SystemMessage(SystemMessageId.C1_RECEIVED_DAMAGE_OF_S3_FROM_C2);
+					smsg = SystemMessage.getSystemMessage(SystemMessageId.C1_RECEIVED_DAMAGE_OF_S3_FROM_C2);
 					smsg.addString(getActiveChar().getPet().getName());
 					smsg.addCharName(attacker);
 					smsg.addNumber(tDmg);
@@ -168,7 +168,7 @@ public class PcStatus extends PlayableStatus
 					
 					if (attackerPlayer != null)
 					{
-						smsg = new SystemMessage(SystemMessageId.GIVEN_S1_DAMAGE_TO_YOUR_TARGET_AND_S2_DAMAGE_TO_SERVITOR);
+						smsg = SystemMessage.getSystemMessage(SystemMessageId.GIVEN_S1_DAMAGE_TO_YOUR_TARGET_AND_S2_DAMAGE_TO_SERVITOR);
 						smsg.addNumber(fullValue);
 						smsg.addNumber(tDmg);
 						attackerPlayer.sendPacket(smsg);

+ 1 - 1
L2_GameServer/java/com/l2jserver/gameserver/model/actor/status/PetStatus.java

@@ -47,7 +47,7 @@ public class PetStatus extends SummonStatus
 		{
 			if (!isDOT && getActiveChar().getOwner() != null)
 			{
-				SystemMessage sm = new SystemMessage(SystemMessageId.PET_RECEIVED_S2_DAMAGE_BY_C1);
+				SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.PET_RECEIVED_S2_DAMAGE_BY_C1);
 				sm.addCharName(attacker);
 				sm.addNumber((int)value);
 				getActiveChar().getOwner().sendPacket(sm);

+ 3 - 3
L2_GameServer/java/com/l2jserver/gameserver/model/entity/Auction.java

@@ -302,7 +302,7 @@ public class Auction
 			}
 		}
 		if ((bid < getStartingBid()) || (bid <= getHighestBidderMaxBid()))
-			bidder.sendPacket(new SystemMessage(SystemMessageId.BID_PRICE_MUST_BE_HIGHER));
+			bidder.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.BID_PRICE_MUST_BE_HIGHER));
 	}
 	
 	/** Return Item in WHC */
@@ -326,7 +326,7 @@ public class Auction
 			bidder.getClan().getWarehouse().destroyItemByItemId("Buy", ADENA_ID, quantity, bidder, bidder);
 			return true;
 		}
-		bidder.sendPacket(new SystemMessage(SystemMessageId.NOT_ENOUGH_ADENA_IN_CWH));
+		bidder.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.NOT_ENOUGH_ADENA_IN_CWH));
 		return false;
 	}
 	
@@ -376,7 +376,7 @@ public class Auction
 				_bidders.get(_highestBidderId).setBid(bid);
 				_bidders.get(_highestBidderId).setTimeBid(Calendar.getInstance().getTimeInMillis());
 			}
-			bidder.sendPacket(new SystemMessage(SystemMessageId.BID_IN_CLANHALL_AUCTION));
+			bidder.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.BID_IN_CLANHALL_AUCTION));
 		}
 		catch (Exception e)
 		{

+ 4 - 4
L2_GameServer/java/com/l2jserver/gameserver/model/entity/BlockCheckerEngine.java

@@ -37,7 +37,7 @@ import com.l2jserver.gameserver.model.actor.L2Character;
 import com.l2jserver.gameserver.model.actor.instance.L2BlockInstance;
 import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
 import com.l2jserver.gameserver.model.itemcontainer.PcInventory;
-import com.l2jserver.gameserver.network.SystemMessageId2;
+import com.l2jserver.gameserver.network.SystemMessageId;
 import com.l2jserver.gameserver.network.serverpackets.ActionFailed;
 import com.l2jserver.gameserver.network.serverpackets.ExBasicActionList;
 import com.l2jserver.gameserver.network.serverpackets.ExCubeGameChangePoints;
@@ -525,7 +525,7 @@ public final class BlockCheckerEngine
 		@Override
 		public void run()
 		{
-			_holder.broadCastPacketToTeam(new SystemMessage(SystemMessageId2.BLOCK_CHECKER_ENDS_5));
+			_holder.broadCastPacketToTeam(SystemMessage.getSystemMessage(SystemMessageId.BLOCK_CHECKER_ENDS_5));
 			ThreadPoolManager.getInstance().scheduleGeneral(new EndEvent(), 5000);
 		}
 	}
@@ -588,7 +588,7 @@ public final class BlockCheckerEngine
 			{
 				rewardAsWinner(true);
 				rewardAsLooser(false);
-				SystemMessage msg = new SystemMessage(SystemMessageId2.TEAM_C1_WON);
+				SystemMessage msg = SystemMessage.getSystemMessage(SystemMessageId.TEAM_C1_WON);
 				msg.addString("Red Team");
 				_holder.broadCastPacketToTeam(msg);
 			}
@@ -596,7 +596,7 @@ public final class BlockCheckerEngine
 			{
 				rewardAsWinner(false);
 				rewardAsLooser(true);
-				SystemMessage msg = new SystemMessage(SystemMessageId2.TEAM_C1_WON);
+				SystemMessage msg = SystemMessage.getSystemMessage(SystemMessageId.TEAM_C1_WON);
 				msg.addString("Blue Team");
 				_holder.broadCastPacketToTeam(msg);
 			}

+ 2 - 2
L2_GameServer/java/com/l2jserver/gameserver/model/entity/ClanHall.java

@@ -622,7 +622,7 @@ public class ClanHall
 						{
 							AuctionManager.getInstance().initNPC(getId());
 							ClanHallManager.getInstance().setFree(getId());
-							Clan.broadcastToOnlineMembers(new SystemMessage(SystemMessageId.THE_CLAN_HALL_FEE_IS_ONE_WEEK_OVERDUE_THEREFORE_THE_CLAN_HALL_OWNERSHIP_HAS_BEEN_REVOKED));
+							Clan.broadcastToOnlineMembers(SystemMessage.getSystemMessage(SystemMessageId.THE_CLAN_HALL_FEE_IS_ONE_WEEK_OVERDUE_THEREFORE_THE_CLAN_HALL_OWNERSHIP_HAS_BEEN_REVOKED));
 						}
 						else
 							ThreadPoolManager.getInstance().scheduleGeneral(new FeeTask(), 3000);
@@ -630,7 +630,7 @@ public class ClanHall
 					else
 					{
 						updateDb();
-						SystemMessage sm = new SystemMessage(SystemMessageId.PAYMENT_FOR_YOUR_CLAN_HALL_HAS_NOT_BEEN_MADE_PLEASE_MAKE_PAYMENT_TO_YOUR_CLAN_WAREHOUSE_BY_S1_TOMORROW);
+						SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.PAYMENT_FOR_YOUR_CLAN_HALL_HAS_NOT_BEEN_MADE_PLEASE_MAKE_PAYMENT_TO_YOUR_CLAN_WAREHOUSE_BY_S1_TOMORROW);
 						sm.addNumber(getLease());
 						Clan.broadcastToOnlineMembers(sm);
 						if (_time + (1000 * 60 * 60 * 24) <= _paidUntil + _chRate)

+ 9 - 9
L2_GameServer/java/com/l2jserver/gameserver/model/entity/Duel.java

@@ -95,7 +95,7 @@ public class Duel
 			// increase countdown so that start task can teleport players
 			_countdown++;
 			// inform players that they will be portet shortly
-			SystemMessage sm = new SystemMessage(SystemMessageId.IN_A_MOMENT_YOU_WILL_BE_TRANSPORTED_TO_THE_SITE_WHERE_THE_DUEL_WILL_TAKE_PLACE);
+			SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.IN_A_MOMENT_YOU_WILL_BE_TRANSPORTED_TO_THE_SITE_WHERE_THE_DUEL_WILL_TAKE_PLACE);
 			broadcastToTeam1(sm);
 			broadcastToTeam2(sm);
 		}
@@ -675,11 +675,11 @@ public class Duel
 		SystemMessage sm = null;
 		if (_countdown > 0)
 		{
-			sm = new SystemMessage(SystemMessageId.THE_DUEL_WILL_BEGIN_IN_S1_SECONDS);
+			sm = SystemMessage.getSystemMessage(SystemMessageId.THE_DUEL_WILL_BEGIN_IN_S1_SECONDS);
 			sm.addNumber(_countdown);
 		}
 		else
-			sm = new SystemMessage(SystemMessageId.LET_THE_DUEL_BEGIN);
+			sm = SystemMessage.getSystemMessage(SystemMessageId.LET_THE_DUEL_BEGIN);
 		
 		broadcastToTeam1(sm);
 		broadcastToTeam2(sm);
@@ -711,9 +711,9 @@ public class Duel
 				restorePlayerConditions(false);
 				// send SystemMessage
 				if (_partyDuel)
-					sm = new SystemMessage(SystemMessageId.C1_PARTY_HAS_WON_THE_DUEL);
+					sm = SystemMessage.getSystemMessage(SystemMessageId.C1_PARTY_HAS_WON_THE_DUEL);
 				else
-					sm = new SystemMessage(SystemMessageId.C1_HAS_WON_THE_DUEL);
+					sm = SystemMessage.getSystemMessage(SystemMessageId.C1_HAS_WON_THE_DUEL);
 				sm.addString(_playerA.getName());
 				
 				broadcastToTeam1(sm);
@@ -724,9 +724,9 @@ public class Duel
 				restorePlayerConditions(false);
 				// send SystemMessage
 				if (_partyDuel)
-					sm = new SystemMessage(SystemMessageId.C1_PARTY_HAS_WON_THE_DUEL);
+					sm = SystemMessage.getSystemMessage(SystemMessageId.C1_PARTY_HAS_WON_THE_DUEL);
 				else
-					sm = new SystemMessage(SystemMessageId.C1_HAS_WON_THE_DUEL);
+					sm = SystemMessage.getSystemMessage(SystemMessageId.C1_HAS_WON_THE_DUEL);
 				sm.addString(_playerB.getName());
 				
 				broadcastToTeam1(sm);
@@ -738,7 +738,7 @@ public class Duel
 				restorePlayerConditions(true);
 				//TODO: is there no other message for a canceled duel?
 				// send SystemMessage
-				sm = new SystemMessage(SystemMessageId.THE_DUEL_HAS_ENDED_IN_A_TIE);
+				sm = SystemMessage.getSystemMessage(SystemMessageId.THE_DUEL_HAS_ENDED_IN_A_TIE);
 				
 				broadcastToTeam1(sm);
 				broadcastToTeam2(sm);
@@ -748,7 +748,7 @@ public class Duel
 				// hp,mp,cp seem to be restored in a timeout too...
 				restorePlayerConditions(false);
 				// send SystemMessage
-				sm = new SystemMessage(SystemMessageId.THE_DUEL_HAS_ENDED_IN_A_TIE);
+				sm = SystemMessage.getSystemMessage(SystemMessageId.THE_DUEL_HAS_ENDED_IN_A_TIE);
 				
 				broadcastToTeam1(sm);
 				broadcastToTeam2(sm);

+ 2 - 2
L2_GameServer/java/com/l2jserver/gameserver/model/entity/Fort.java

@@ -439,7 +439,7 @@ public class Fort
 		//	if clan already have castle, don't store him in fortress
 		if (clan.getHasCastle() > 0)
 		{
-			getSiege().announceToPlayer(new SystemMessage(SystemMessageId.NPCS_RECAPTURED_FORTRESS));
+			getSiege().announceToPlayer(SystemMessage.getSystemMessage(SystemMessageId.NPCS_RECAPTURED_FORTRESS));
 			return false;
 		}
 		else
@@ -948,7 +948,7 @@ public class Fort
 			{
 				clan.setHasFort(getFortId()); // Set has fort flag for new owner
 				SystemMessage sm;
-				sm = new SystemMessage(SystemMessageId.S1_CLAN_IS_VICTORIOUS_IN_THE_FORTRESS_BATTLE_OF_S2);
+				sm = SystemMessage.getSystemMessage(SystemMessageId.S1_CLAN_IS_VICTORIOUS_IN_THE_FORTRESS_BATTLE_OF_S2);
 				sm.addString(clan.getName());
 				sm.addFortId(getFortId());
 				Collection<L2PcInstance> pls = L2World.getInstance().getAllPlayers().values();

+ 19 - 19
L2_GameServer/java/com/l2jserver/gameserver/model/entity/FortSiege.java

@@ -104,49 +104,49 @@ public class FortSiege implements Siegable
 				else if (_time == 600) // 10min remains
 				{
 					getFort().despawnSuspiciousMerchant();
-					sm = new SystemMessage(SystemMessageId.S1_MINUTES_UNTIL_THE_FORTRESS_BATTLE_STARTS);
+					sm = SystemMessage.getSystemMessage(SystemMessageId.S1_MINUTES_UNTIL_THE_FORTRESS_BATTLE_STARTS);
 					sm.addNumber(10);
 					announceToPlayer(sm);
 					ThreadPoolManager.getInstance().scheduleGeneral(new ScheduleStartSiegeTask(300), 300000); // Prepare task for 5 minutes left.
 				}
 				else if (_time == 300) // 5min remains
 				{
-					sm = new SystemMessage(SystemMessageId.S1_MINUTES_UNTIL_THE_FORTRESS_BATTLE_STARTS);
+					sm = SystemMessage.getSystemMessage(SystemMessageId.S1_MINUTES_UNTIL_THE_FORTRESS_BATTLE_STARTS);
 					sm.addNumber(5);
 					announceToPlayer(sm);
 					ThreadPoolManager.getInstance().scheduleGeneral(new ScheduleStartSiegeTask(60), 240000); // Prepare task for 1 minute left.
 				}
 				else if (_time == 60) // 1min remains
 				{
-					sm = new SystemMessage(SystemMessageId.S1_MINUTES_UNTIL_THE_FORTRESS_BATTLE_STARTS);
+					sm = SystemMessage.getSystemMessage(SystemMessageId.S1_MINUTES_UNTIL_THE_FORTRESS_BATTLE_STARTS);
 					sm.addNumber(1);
 					announceToPlayer(sm);
 					ThreadPoolManager.getInstance().scheduleGeneral(new ScheduleStartSiegeTask(30), 30000); // Prepare task for 30 seconds left.
 				}
 				else if (_time == 30) // 30seconds remains
 				{
-					sm = new SystemMessage(SystemMessageId.S1_SECONDS_UNTIL_THE_FORTRESS_BATTLE_STARTS);
+					sm = SystemMessage.getSystemMessage(SystemMessageId.S1_SECONDS_UNTIL_THE_FORTRESS_BATTLE_STARTS);
 					sm.addNumber(30);
 					announceToPlayer(sm);
 					ThreadPoolManager.getInstance().scheduleGeneral(new ScheduleStartSiegeTask(10), 20000); // Prepare task for 10 seconds left.
 				}
 				else if (_time == 10) // 10seconds remains
 				{
-					sm = new SystemMessage(SystemMessageId.S1_SECONDS_UNTIL_THE_FORTRESS_BATTLE_STARTS);
+					sm = SystemMessage.getSystemMessage(SystemMessageId.S1_SECONDS_UNTIL_THE_FORTRESS_BATTLE_STARTS);
 					sm.addNumber(10);
 					announceToPlayer(sm);
 					ThreadPoolManager.getInstance().scheduleGeneral(new ScheduleStartSiegeTask(5), 5000); // Prepare task for 5 seconds left.
 				}
 				else if (_time == 5) // 5seconds remains
 				{
-					sm = new SystemMessage(SystemMessageId.S1_SECONDS_UNTIL_THE_FORTRESS_BATTLE_STARTS);
+					sm = SystemMessage.getSystemMessage(SystemMessageId.S1_SECONDS_UNTIL_THE_FORTRESS_BATTLE_STARTS);
 					sm.addNumber(5);
 					announceToPlayer(sm);
 					ThreadPoolManager.getInstance().scheduleGeneral(new ScheduleStartSiegeTask(1), 4000); // Prepare task for 1 seconds left.
 				}
 				else if (_time == 1) // 1seconds remains
 				{
-					sm = new SystemMessage(SystemMessageId.S1_SECONDS_UNTIL_THE_FORTRESS_BATTLE_STARTS);
+					sm = SystemMessage.getSystemMessage(SystemMessageId.S1_SECONDS_UNTIL_THE_FORTRESS_BATTLE_STARTS);
 					sm.addNumber(1);
 					announceToPlayer(sm);
 					ThreadPoolManager.getInstance().scheduleGeneral(new ScheduleStartSiegeTask(0), 1000); // Prepare task start siege.
@@ -194,7 +194,7 @@ public class FortSiege implements Siegable
 			{
 				_siegeRestore = null;
 				FortSiege.this.resetSiege();
-				announceToPlayer(new SystemMessage(SystemMessageId.BARRACKS_FUNCTION_RESTORED));
+				announceToPlayer(SystemMessage.getSystemMessage(SystemMessageId.BARRACKS_FUNCTION_RESTORED));
 			}
 			catch (Exception e)
 			{
@@ -230,7 +230,7 @@ public class FortSiege implements Siegable
 		if (getIsInProgress())
 		{
 			_isInProgress = false; // Flag so that siege instance can be started
-			final SystemMessage sm = new SystemMessage(SystemMessageId.THE_FORTRESS_BATTLE_OF_S1_HAS_FINISHED);
+			final SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.THE_FORTRESS_BATTLE_OF_S1_HAS_FINISHED);
 			sm.addFortId(getFort().getFortId());
 			announceToPlayer(sm);
 			
@@ -308,7 +308,7 @@ public class FortSiege implements Siegable
 			// Schedule a task to prepare auto siege end
 			_siegeEnd = ThreadPoolManager.getInstance().scheduleGeneral(new ScheduleEndSiegeTask(), FortSiegeManager.getInstance().getSiegeLength() * 60 * 1000l); // Prepare auto end task
 			
-			final SystemMessage sm = new SystemMessage(SystemMessageId.THE_FORTRESS_BATTLE_S1_HAS_BEGUN);
+			final SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.THE_FORTRESS_BATTLE_S1_HAS_BEGUN);
 			sm.addFortId(getFort().getFortId());
 			announceToPlayer(sm);
 			saveFortSiege();
@@ -594,16 +594,16 @@ public class FortSiege implements Siegable
 						
 						door.openMe();
 					}
-					getFort().getSiege().announceToPlayer(new SystemMessage(SystemMessageId.ALL_BARRACKS_OCCUPIED));
+					getFort().getSiege().announceToPlayer(SystemMessage.getSystemMessage(SystemMessageId.ALL_BARRACKS_OCCUPIED));
 				}
 				// schedule restoring doors/commanders respawn
 				else if (_siegeRestore == null)
 				{
-					getFort().getSiege().announceToPlayer(new SystemMessage(SystemMessageId.SEIZED_BARRACKS));
+					getFort().getSiege().announceToPlayer(SystemMessage.getSystemMessage(SystemMessageId.SEIZED_BARRACKS));
 					_siegeRestore = ThreadPoolManager.getInstance().scheduleGeneral(new ScheduleSiegeRestore(), FortSiegeManager.getInstance().getCountDownLength() * 60 * 1000l);
 				}
 				else
-					getFort().getSiege().announceToPlayer(new SystemMessage(SystemMessageId.SEIZED_BARRACKS));
+					getFort().getSiege().announceToPlayer(SystemMessage.getSystemMessage(SystemMessageId.SEIZED_BARRACKS));
 			}
 			else
 				_log.warning("FortSiege.killedCommander(): killed commander, but commander not registered for fortress. NpcId: " + instance.getNpcId() + " FortId: " + getFort().getFortId());
@@ -770,7 +770,7 @@ public class FortSiege implements Siegable
 			setSiegeDateTime(false);
 		
 		if (getFort().getOwnerClan() != null)
-			getFort().getOwnerClan().broadcastToOnlineMembers(new SystemMessage(SystemMessageId.A_FORTRESS_IS_UNDER_ATTACK));
+			getFort().getOwnerClan().broadcastToOnlineMembers(SystemMessage.getSystemMessage(SystemMessageId.A_FORTRESS_IS_UNDER_ATTACK));
 		
 		// Execute siege auto start
 		_siegeStartTask = ThreadPoolManager.getInstance().scheduleGeneral(new FortSiege.ScheduleStartSiegeTask(3600), 0);
@@ -829,17 +829,17 @@ public class FortSiege implements Siegable
 		else if ((player.getClanPrivileges() & L2Clan.CP_CS_MANAGE_SIEGE) != L2Clan.CP_CS_MANAGE_SIEGE)
 		{
 			b = false;
-			player.sendPacket(new SystemMessage(SystemMessageId.YOU_ARE_NOT_AUTHORIZED_TO_DO_THAT));
+			player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.YOU_ARE_NOT_AUTHORIZED_TO_DO_THAT));
 		}
 		else if (player.getClan() == getFort().getOwnerClan())
 		{
 			b = false;
-			player.sendPacket(new SystemMessage(SystemMessageId.CLAN_THAT_OWNS_CASTLE_IS_AUTOMATICALLY_REGISTERED_DEFENDING));
+			player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.CLAN_THAT_OWNS_CASTLE_IS_AUTOMATICALLY_REGISTERED_DEFENDING));
 		}
 		else if (getFort().getOwnerClan() != null && player.getClan().getHasCastle() > 0 && player.getClan().getHasCastle() == getFort().getCastleId())
 		{
 			b = false;
-			player.sendPacket(new SystemMessage(SystemMessageId.CANT_REGISTER_TO_SIEGE_DUE_TO_CONTRACT));
+			player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.CANT_REGISTER_TO_SIEGE_DUE_TO_CONTRACT));
 		}
 		else if (getFort().getTimeTillRebelArmy() > 0 && getFort().getTimeTillRebelArmy() <= 7200)
 		{
@@ -858,13 +858,13 @@ public class FortSiege implements Siegable
 				if (fort.getSiege().getAttackerClan(player.getClanId()) != null)
 				{
 					b = false;
-					player.sendPacket(new SystemMessage(SystemMessageId.ALREADY_REQUESTED_SIEGE_BATTLE));
+					player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.ALREADY_REQUESTED_SIEGE_BATTLE));
 					break;
 				}
 				if (fort.getOwnerClan() == player.getClan() && (fort.getSiege().getIsInProgress() || fort.getSiege()._siegeStartTask != null))
 				{
 					b = false;
-					player.sendPacket(new SystemMessage(SystemMessageId.ALREADY_REQUESTED_SIEGE_BATTLE));
+					player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.ALREADY_REQUESTED_SIEGE_BATTLE));
 					break;
 				}
 			}

+ 2 - 2
L2_GameServer/java/com/l2jserver/gameserver/model/entity/Hero.java

@@ -811,7 +811,7 @@ public class Hero
 				if (clan != null)
 				{
 					clan.addReputationScore(Config.HERO_POINTS, true);
-					SystemMessage sm = new SystemMessage(SystemMessageId.CLAN_MEMBER_C1_BECAME_HERO_AND_GAINED_S2_REPUTATION_POINTS);
+					SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.CLAN_MEMBER_C1_BECAME_HERO_AND_GAINED_S2_REPUTATION_POINTS);
 					sm.addString(CharNameTable.getInstance().getNameById(charId));
 					sm.addNumber(Config.HERO_POINTS);
 					clan.broadcastToOnlineMembers(sm);
@@ -851,7 +851,7 @@ public class Hero
 							if (clan != null)
 							{
 								clan.addReputationScore(Config.HERO_POINTS, true);
-								SystemMessage sm = new SystemMessage(SystemMessageId.CLAN_MEMBER_C1_BECAME_HERO_AND_GAINED_S2_REPUTATION_POINTS);
+								SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.CLAN_MEMBER_C1_BECAME_HERO_AND_GAINED_S2_REPUTATION_POINTS);
 								sm.addString(CharNameTable.getInstance().getNameById(charId));
 								sm.addNumber(Config.HERO_POINTS);
 								clan.broadcastToOnlineMembers(sm);

+ 2 - 2
L2_GameServer/java/com/l2jserver/gameserver/model/entity/Instance.java

@@ -590,7 +590,7 @@ public class Instance
 		{
 			timeLeft = remaining / 60000;
 			interval = 300000;
-			SystemMessage sm = new SystemMessage(SystemMessageId.DUNGEON_EXPIRES_IN_S1_MINUTES);
+			SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.DUNGEON_EXPIRES_IN_S1_MINUTES);
 			sm.addString(Integer.toString(timeLeft));
 			Announcements.getInstance().announceToInstance(sm, getId());
 			remaining = remaining - 300000;
@@ -599,7 +599,7 @@ public class Instance
 		{
 			timeLeft = remaining / 60000;
 			interval = 60000;
-			SystemMessage sm = new SystemMessage(SystemMessageId.DUNGEON_EXPIRES_IN_S1_MINUTES);
+			SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.DUNGEON_EXPIRES_IN_S1_MINUTES);
 			sm.addString(Integer.toString(timeLeft));
 			Announcements.getInstance().announceToInstance(sm, getId());
 			remaining = remaining - 60000;

+ 23 - 23
L2_GameServer/java/com/l2jserver/gameserver/model/entity/Siege.java

@@ -102,35 +102,35 @@ public class Siege implements Siegable
 				long timeRemaining = _siegeEndDate.getTimeInMillis() - Calendar.getInstance().getTimeInMillis();
 				if (timeRemaining > 3600000)
 				{
-					SystemMessage sm = new SystemMessage(SystemMessageId.S1_HOURS_UNTIL_SIEGE_CONCLUSION);
+					SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.S1_HOURS_UNTIL_SIEGE_CONCLUSION);
 					sm.addNumber(2);
 					announceToPlayer(sm, true);
 					ThreadPoolManager.getInstance().scheduleGeneral(new ScheduleEndSiegeTask(_castleInst), timeRemaining - 3600000); // Prepare task for 1 hr left.
 				}
 				else if ((timeRemaining <= 3600000) && (timeRemaining > 600000))
 				{
-					SystemMessage sm = new SystemMessage(SystemMessageId.S1_MINUTES_UNTIL_SIEGE_CONCLUSION);
+					SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.S1_MINUTES_UNTIL_SIEGE_CONCLUSION);
 					sm.addNumber(Math.round(timeRemaining / 60000));
 					announceToPlayer(sm, true);
 					ThreadPoolManager.getInstance().scheduleGeneral(new ScheduleEndSiegeTask(_castleInst), timeRemaining - 600000); // Prepare task for 10 minute left.
 				}
 				else if ((timeRemaining <= 600000) && (timeRemaining > 300000))
 				{
-					SystemMessage sm = new SystemMessage(SystemMessageId.S1_MINUTES_UNTIL_SIEGE_CONCLUSION);
+					SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.S1_MINUTES_UNTIL_SIEGE_CONCLUSION);
 					sm.addNumber(Math.round(timeRemaining / 60000));
 					announceToPlayer(sm, true);
 					ThreadPoolManager.getInstance().scheduleGeneral(new ScheduleEndSiegeTask(_castleInst), timeRemaining - 300000); // Prepare task for 5 minute left.
 				}
 				else if ((timeRemaining <= 300000) && (timeRemaining > 10000))
 				{
-					SystemMessage sm = new SystemMessage(SystemMessageId.S1_MINUTES_UNTIL_SIEGE_CONCLUSION);
+					SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.S1_MINUTES_UNTIL_SIEGE_CONCLUSION);
 					sm.addNumber(Math.round(timeRemaining / 60000));
 					announceToPlayer(sm, true);
 					ThreadPoolManager.getInstance().scheduleGeneral(new ScheduleEndSiegeTask(_castleInst), timeRemaining - 10000); // Prepare task for 10 seconds count down
 				}
 				else if ((timeRemaining <= 10000) && (timeRemaining > 0))
 				{
-					SystemMessage sm = new SystemMessage(SystemMessageId.CASTLE_SIEGE_S1_SECONDS_LEFT);
+					SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.CASTLE_SIEGE_S1_SECONDS_LEFT);
 					sm.addNumber(Math.round(timeRemaining / 1000));
 					announceToPlayer(sm, true);
 					ThreadPoolManager.getInstance().scheduleGeneral(new ScheduleEndSiegeTask(_castleInst), timeRemaining); // Prepare task for second count down
@@ -185,7 +185,7 @@ public class Siege implements Siegable
 				}
 				else if ((timeRemaining <= 86400000) && (timeRemaining > 13600000))
 				{
-					SystemMessage sm = new SystemMessage(SystemMessageId.REGISTRATION_TERM_FOR_S1_ENDED);
+					SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.REGISTRATION_TERM_FOR_S1_ENDED);
 					sm.addString(getCastle().getName());
 					Announcements.getInstance().announceToAll(sm);
 					_isRegistrationOver = true;
@@ -248,14 +248,14 @@ public class Siege implements Siegable
 	{
 		if (getIsInProgress())
 		{
-			SystemMessage sm = new SystemMessage(SystemMessageId.SIEGE_OF_S1_HAS_ENDED);
+			SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.SIEGE_OF_S1_HAS_ENDED);
 			sm.addString(getCastle().getName());
 			Announcements.getInstance().announceToAll(sm);
 			
 			if (getCastle().getOwnerId() > 0)
 			{
 				L2Clan clan = ClanTable.getInstance().getClan(getCastle().getOwnerId());
-				sm = new SystemMessage(SystemMessageId.CLAN_S1_VICTORIOUS_OVER_S2_S_SIEGE);
+				sm = SystemMessage.getSystemMessage(SystemMessageId.CLAN_S1_VICTORIOUS_OVER_S2_S_SIEGE);
 				sm.addString(clan.getName());
 				sm.addString(getCastle().getName());
 				Announcements.getInstance().announceToAll(sm);
@@ -284,7 +284,7 @@ public class Siege implements Siegable
 			}
 			else
 			{
-				sm = new SystemMessage(SystemMessageId.SIEGE_S1_DRAW);
+				sm = SystemMessage.getSystemMessage(SystemMessageId.SIEGE_S1_DRAW);
 				sm.addString(getCastle().getName());
 				Announcements.getInstance().announceToAll(sm);
 			}
@@ -450,9 +450,9 @@ public class Siege implements Siegable
 			{
 				SystemMessage sm;
 				if (getCastle().getOwnerId() <= 0)
-					sm = new SystemMessage(SystemMessageId.SIEGE_OF_S1_HAS_BEEN_CANCELED_DUE_TO_LACK_OF_INTEREST);
+					sm = SystemMessage.getSystemMessage(SystemMessageId.SIEGE_OF_S1_HAS_BEEN_CANCELED_DUE_TO_LACK_OF_INTEREST);
 				else
-					sm = new SystemMessage(SystemMessageId.S1_SIEGE_WAS_CANCELED_BECAUSE_NO_CLANS_PARTICIPATED);
+					sm = SystemMessage.getSystemMessage(SystemMessageId.S1_SIEGE_WAS_CANCELED_BECAUSE_NO_CLANS_PARTICIPATED);
 				sm.addString(getCastle().getName());
 				Announcements.getInstance().announceToAll(sm);
 				saveCastleSiege();
@@ -482,7 +482,7 @@ public class Siege implements Siegable
 			_siegeEndDate.add(Calendar.MINUTE, SiegeManager.getInstance().getSiegeLength());
 			ThreadPoolManager.getInstance().scheduleGeneral(new ScheduleEndSiegeTask(getCastle()), 1000); // Prepare auto end task
 			
-			SystemMessage sm = new SystemMessage(SystemMessageId.SIEGE_OF_S1_HAS_STARTED);
+			SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.SIEGE_OF_S1_HAS_STARTED);
 			sm.addString(getCastle().getName());
 			Announcements.getInstance().announceToAll(sm);
 		}
@@ -853,7 +853,7 @@ public class Siege implements Siegable
 		{
 			if (player.getClan().getAllyId() == allyId && !force)
 			{
-				player.sendPacket(new SystemMessage(SystemMessageId.CANNOT_ATTACK_ALLIANCE_CASTLE));
+				player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.CANNOT_ATTACK_ALLIANCE_CASTLE));
 				return;
 			}
 		}
@@ -1024,28 +1024,28 @@ public class Siege implements Siegable
 	{
 		if (getIsRegistrationOver())
 		{
-			SystemMessage sm = new SystemMessage(SystemMessageId.DEADLINE_FOR_SIEGE_S1_PASSED);
+			SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.DEADLINE_FOR_SIEGE_S1_PASSED);
 			sm.addString(getCastle().getName());
 			player.sendPacket(sm);
 		}
 		else if (getIsInProgress())
-			player.sendPacket(new SystemMessage(SystemMessageId.NOT_SIEGE_REGISTRATION_TIME2));
+			player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.NOT_SIEGE_REGISTRATION_TIME2));
 		else if (player.getClan() == null || player.getClan().getLevel() < SiegeManager.getInstance().getSiegeClanMinLevel())
-			player.sendPacket(new SystemMessage(SystemMessageId.ONLY_CLAN_LEVEL_5_ABOVE_MAY_SIEGE));
+			player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.ONLY_CLAN_LEVEL_5_ABOVE_MAY_SIEGE));
 		else if (player.getClan().getHasCastle() > 0)
-			player.sendPacket(new SystemMessage(SystemMessageId.CLAN_THAT_OWNS_CASTLE_CANNOT_PARTICIPATE_OTHER_SIEGE));
+			player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.CLAN_THAT_OWNS_CASTLE_CANNOT_PARTICIPATE_OTHER_SIEGE));
 		else if (player.getClan().getClanId() == getCastle().getOwnerId())
-			player.sendPacket(new SystemMessage(SystemMessageId.CLAN_THAT_OWNS_CASTLE_IS_AUTOMATICALLY_REGISTERED_DEFENDING));
+			player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.CLAN_THAT_OWNS_CASTLE_IS_AUTOMATICALLY_REGISTERED_DEFENDING));
 		else if (SiegeManager.getInstance().checkIsRegistered(player.getClan(), getCastle().getCastleId()))
-			player.sendPacket(new SystemMessage(SystemMessageId.ALREADY_REQUESTED_SIEGE_BATTLE));
+			player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.ALREADY_REQUESTED_SIEGE_BATTLE));
 		else if (checkIfAlreadyRegisteredForSameDay(player.getClan()))
-			player.sendPacket(new SystemMessage(SystemMessageId.APPLICATION_DENIED_BECAUSE_ALREADY_SUBMITTED_A_REQUEST_FOR_ANOTHER_SIEGE_BATTLE));
+			player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.APPLICATION_DENIED_BECAUSE_ALREADY_SUBMITTED_A_REQUEST_FOR_ANOTHER_SIEGE_BATTLE));
 		else if ((typeId == ATTACKER)
 				&& (getAttackerClans().size() >= SiegeManager.getInstance().getAttackerMaxClans()))
-			player.sendPacket(new SystemMessage(SystemMessageId.ATTACKER_SIDE_FULL));
+			player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.ATTACKER_SIDE_FULL));
 		else if ((typeId == DEFENDER || typeId == DEFENDER_NOT_APPROWED || typeId == OWNER)
 				&& (getDefenderClans().size() + getDefenderWaitingClans().size() >= SiegeManager.getInstance().getDefenderMaxClans()))
-			player.sendPacket(new SystemMessage(SystemMessageId.DEFENDER_SIDE_FULL));
+			player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.DEFENDER_SIDE_FULL));
 		else
 			return true;
 		
@@ -1350,7 +1350,7 @@ public class Siege implements Siegable
 		if (!SevenSigns.getInstance().isDateInSealValidPeriod(getCastle().getSiegeDate()))
 			getCastle().getSiegeDate().add(Calendar.DAY_OF_MONTH, 7);
 		
-		SystemMessage sm = new SystemMessage(SystemMessageId.S1_ANNOUNCED_SIEGE_TIME);
+		SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.S1_ANNOUNCED_SIEGE_TIME);
 		sm.addString(getCastle().getName());
 		Announcements.getInstance().announceToAll(sm);
 		

+ 3 - 3
L2_GameServer/java/com/l2jserver/gameserver/model/entity/TvTEvent.java

@@ -362,13 +362,13 @@ public class TvTEvent
 					
 					if (reward[1] > 1)
 					{
-						systemMessage = new SystemMessage(SystemMessageId.EARNED_S2_S1_S);
+						systemMessage = SystemMessage.getSystemMessage(SystemMessageId.EARNED_S2_S1_S);
 						systemMessage.addItemName(reward[0]);
 						systemMessage.addItemNumber(reward[1]);
 					}
 					else
 					{
-						systemMessage = new SystemMessage(SystemMessageId.EARNED_ITEM);
+						systemMessage = SystemMessage.getSystemMessage(SystemMessageId.EARNED_ITEM);
 						systemMessage.addItemName(reward[0]);
 					}
 					
@@ -379,7 +379,7 @@ public class TvTEvent
 					for (int i = 0; i < reward[1]; ++i)
 					{
 						inv.addItem("TvT Event", reward[0], 1, playerInstance, playerInstance);
-						systemMessage = new SystemMessage(SystemMessageId.EARNED_ITEM);
+						systemMessage = SystemMessage.getSystemMessage(SystemMessageId.EARNED_ITEM);
 						systemMessage.addItemName(reward[0]);
 						playerInstance.sendPacket(systemMessage);
 					}

+ 14 - 14
L2_GameServer/java/com/l2jserver/gameserver/model/itemauction/ItemAuction.java

@@ -262,13 +262,13 @@ public final class ItemAuction
 		
 		if (newBid < getAuctionInitBid())
 		{
-			player.sendPacket(new SystemMessage(SystemMessageId.BID_PRICE_MUST_BE_HIGHER));
+			player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.BID_PRICE_MUST_BE_HIGHER));
 			return;
 		}
 		
 		if (newBid > 100000000000L)
 		{
-			player.sendPacket(new SystemMessage(SystemMessageId.BID_CANT_EXCEED_100_BILLION));
+			player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.BID_CANT_EXCEED_100_BILLION));
 			return;
 		}
 		
@@ -281,7 +281,7 @@ public final class ItemAuction
 		{
 			if (_highestBid != null && newBid < _highestBid.getLastBid())
 			{
-				player.sendPacket(new SystemMessage(SystemMessageId.BID_MUST_BE_HIGHER_THAN_CURRENT_BID));
+				player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.BID_MUST_BE_HIGHER_THAN_CURRENT_BID));
 				return;
 			}
 			
@@ -290,7 +290,7 @@ public final class ItemAuction
 			{
 				if (!reduceItemCount(player, newBid))
 				{
-					player.sendPacket(new SystemMessage(SystemMessageId.NOT_ENOUGH_ADENA_FOR_THIS_BID));
+					player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.NOT_ENOUGH_ADENA_FOR_THIS_BID));
 					return;
 				}
 				
@@ -303,19 +303,19 @@ public final class ItemAuction
 				{
 					if (newBid < bid.getLastBid()) // just another check
 					{
-						player.sendPacket(new SystemMessage(SystemMessageId.BID_MUST_BE_HIGHER_THAN_CURRENT_BID));
+						player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.BID_MUST_BE_HIGHER_THAN_CURRENT_BID));
 						return;
 					}
 					
 					if (!reduceItemCount(player, newBid - bid.getLastBid()))
 					{
-						player.sendPacket(new SystemMessage(SystemMessageId.NOT_ENOUGH_ADENA_FOR_THIS_BID));
+						player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.NOT_ENOUGH_ADENA_FOR_THIS_BID));
 						return;
 					}
 				}
 				else if (!reduceItemCount(player, newBid))
 				{
-					player.sendPacket(new SystemMessage(SystemMessageId.NOT_ENOUGH_ADENA_FOR_THIS_BID));
+					player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.NOT_ENOUGH_ADENA_FOR_THIS_BID));
 					return;
 				}
 				
@@ -325,7 +325,7 @@ public final class ItemAuction
 			onPlayerBid(player, bid);
 			updatePlayerBid(bid, false);
 			
-			player.sendPacket(new SystemMessage(SystemMessageId.SUBMITTED_A_BID).addItemNumber(newBid));
+			player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.SUBMITTED_A_BID).addItemNumber(newBid));
 			return;
 		}
 	}
@@ -340,7 +340,7 @@ public final class ItemAuction
 		{
 			final L2PcInstance old = _highestBid.getPlayer();
 			if (old != null)
-				old.sendPacket(new SystemMessage(SystemMessageId.YOU_HAVE_BEEN_OUTBID));
+				old.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.YOU_HAVE_BEEN_OUTBID));
 			
 			_highestBid = bid;
 		}
@@ -353,7 +353,7 @@ public final class ItemAuction
 				{
 					_auctionEndingExtendState = ItemAuctionExtendState.EXTEND_BY_5_MIN;
 					_endingTime += ENDING_TIME_EXTEND_5;
-					broadcastToAllBidders(new SystemMessage(SystemMessageId.BIDDER_EXISTS_AUCTION_TIME_EXTENDED_BY_5_MINUTES));
+					broadcastToAllBidders(SystemMessage.getSystemMessage(SystemMessageId.BIDDER_EXISTS_AUCTION_TIME_EXTENDED_BY_5_MINUTES));
 					break;
 				}
 				case EXTEND_BY_5_MIN:
@@ -362,7 +362,7 @@ public final class ItemAuction
 					{
 						_auctionEndingExtendState = ItemAuctionExtendState.EXTEND_BY_3_MIN;
 						_endingTime += ENDING_TIME_EXTEND_3;
-						broadcastToAllBidders(new SystemMessage(SystemMessageId.BIDDER_EXISTS_AUCTION_TIME_EXTENDED_BY_3_MINUTES));
+						broadcastToAllBidders(SystemMessage.getSystemMessage(SystemMessageId.BIDDER_EXISTS_AUCTION_TIME_EXTENDED_BY_3_MINUTES));
 					}
 					break;
 				}
@@ -464,7 +464,7 @@ public final class ItemAuction
 				if (getAuctionState() == ItemAuctionState.FINISHED)
 					return false;
 				
-				player.sendPacket(new SystemMessage(SystemMessageId.HIGHEST_BID_BUT_RESERVE_NOT_MET));
+				player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.HIGHEST_BID_BUT_RESERVE_NOT_MET));
 				return true;
 			}
 			
@@ -477,7 +477,7 @@ public final class ItemAuction
 			// delete bid from database if auction already finished
 			updatePlayerBid(bid, getAuctionState() == ItemAuctionState.FINISHED);
 			
-			player.sendPacket(new SystemMessage(SystemMessageId.CANCELED_BID));
+			player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.CANCELED_BID));
 		}
 		return true;
 	}
@@ -502,7 +502,7 @@ public final class ItemAuction
 	{
 		if (!player.reduceAdena("ItemAuction", count, player, true))
 		{
-			player.sendPacket(new SystemMessage(SystemMessageId.NOT_ENOUGH_ADENA_FOR_THIS_BID));
+			player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.NOT_ENOUGH_ADENA_FOR_THIS_BID));
 			return false;
 		}
 		return true;

+ 2 - 2
L2_GameServer/java/com/l2jserver/gameserver/model/itemauction/ItemAuctionInstance.java

@@ -461,7 +461,7 @@ public final class ItemAuctionInstance
 	
 	final void onAuctionFinished(final ItemAuction auction)
 	{
-		auction.broadcastToAllBiddersInternal(new SystemMessage(SystemMessageId.S1_AUCTION_ENDED).addNumber(auction.getAuctionId()));
+		auction.broadcastToAllBiddersInternal(SystemMessage.getSystemMessage(SystemMessageId.S1_AUCTION_ENDED).addNumber(auction.getAuctionId()));
 		
 		final ItemAuctionBid bid = auction.getHighestBid();
 		if (bid != null)
@@ -471,7 +471,7 @@ public final class ItemAuctionInstance
 			if (player != null)
 			{
 				player.getWarehouse().addItem("ItemAuction", item, null, null);
-				player.sendPacket(new SystemMessage(SystemMessageId.WON_BID_ITEM_CAN_BE_FOUND_IN_WAREHOUSE));
+				player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.WON_BID_ITEM_CAN_BE_FOUND_IN_WAREHOUSE));
 				
 				_log.log(Level.INFO, "L2ItemAuctionInstance: Auction " + auction.getAuctionId() + " has finished. Highest bid by " + player.getName() + " for instance " + _instanceId);
 			}

+ 14 - 14
L2_GameServer/java/com/l2jserver/gameserver/model/olympiad/AbstractOlympiadGame.java

@@ -85,7 +85,7 @@ public abstract class AbstractOlympiadGame
 	protected final void addPointsToParticipant(Participant par, int points)
 	{
 		par.updateStat(POINTS, points);
-		final SystemMessage sm = new SystemMessage(SystemMessageId.C1_HAS_GAINED_S2_OLYMPIAD_POINTS);
+		final SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.C1_HAS_GAINED_S2_OLYMPIAD_POINTS);
 		sm.addString(par.name);
 		sm.addNumber(points);
 		broadcastPacket(sm);
@@ -94,7 +94,7 @@ public abstract class AbstractOlympiadGame
 	protected final void removePointsFromParticipant(Participant par, int points)
 	{
 		par.updateStat(POINTS, -points);
-		final SystemMessage sm = new SystemMessage(SystemMessageId.C1_HAS_LOST_S2_OLYMPIAD_POINTS);
+		final SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.C1_HAS_LOST_S2_OLYMPIAD_POINTS);
 		sm.addString(par.name);
 		sm.addNumber(points);
 		broadcastPacket(sm);
@@ -109,44 +109,44 @@ public abstract class AbstractOlympiadGame
 	protected static SystemMessage checkDefaulted(L2PcInstance player)
 	{
 		if (player == null || !player.isOnline())
-			return new SystemMessage(SystemMessageId.THE_GAME_HAS_BEEN_CANCELLED_BECAUSE_THE_OTHER_PARTY_ENDS_THE_GAME);
+			return SystemMessage.getSystemMessage(SystemMessageId.THE_GAME_HAS_BEEN_CANCELLED_BECAUSE_THE_OTHER_PARTY_ENDS_THE_GAME);
 
 		if (player.getClient() == null || player.getClient().isDetached())
-			return new SystemMessage(SystemMessageId.THE_GAME_HAS_BEEN_CANCELLED_BECAUSE_THE_OTHER_PARTY_ENDS_THE_GAME);
+			return SystemMessage.getSystemMessage(SystemMessageId.THE_GAME_HAS_BEEN_CANCELLED_BECAUSE_THE_OTHER_PARTY_ENDS_THE_GAME);
 
 		// safety precautions
 		if (player.inObserverMode() || TvTEvent.isPlayerParticipant(player.getObjectId()))
-			return new SystemMessage(SystemMessageId.THE_GAME_HAS_BEEN_CANCELLED_BECAUSE_THE_OTHER_PARTY_DOES_NOT_MEET_THE_REQUIREMENTS_FOR_JOINING_THE_GAME);
+			return SystemMessage.getSystemMessage(SystemMessageId.THE_GAME_HAS_BEEN_CANCELLED_BECAUSE_THE_OTHER_PARTY_DOES_NOT_MEET_THE_REQUIREMENTS_FOR_JOINING_THE_GAME);
 
 		SystemMessage sm;
 		if (player.isDead())
 		{
-			sm = new SystemMessage(SystemMessageId.C1_CANNOT_PARTICIPATE_OLYMPIAD_WHILE_DEAD);
+			sm = SystemMessage.getSystemMessage(SystemMessageId.C1_CANNOT_PARTICIPATE_OLYMPIAD_WHILE_DEAD);
 			sm.addPcName(player);
 			player.sendPacket(sm);
-			return new SystemMessage(SystemMessageId.THE_GAME_HAS_BEEN_CANCELLED_BECAUSE_THE_OTHER_PARTY_DOES_NOT_MEET_THE_REQUIREMENTS_FOR_JOINING_THE_GAME);
+			return SystemMessage.getSystemMessage(SystemMessageId.THE_GAME_HAS_BEEN_CANCELLED_BECAUSE_THE_OTHER_PARTY_DOES_NOT_MEET_THE_REQUIREMENTS_FOR_JOINING_THE_GAME);
 		}
 		if (player.isSubClassActive())
 		{
-			sm = new SystemMessage(SystemMessageId.C1_CANNOT_PARTICIPATE_IN_OLYMPIAD_WHILE_CHANGED_TO_SUB_CLASS);
+			sm = SystemMessage.getSystemMessage(SystemMessageId.C1_CANNOT_PARTICIPATE_IN_OLYMPIAD_WHILE_CHANGED_TO_SUB_CLASS);
 			sm.addPcName(player);
 			player.sendPacket(sm);
-			return new SystemMessage(SystemMessageId.THE_GAME_HAS_BEEN_CANCELLED_BECAUSE_THE_OTHER_PARTY_DOES_NOT_MEET_THE_REQUIREMENTS_FOR_JOINING_THE_GAME);
+			return SystemMessage.getSystemMessage(SystemMessageId.THE_GAME_HAS_BEEN_CANCELLED_BECAUSE_THE_OTHER_PARTY_DOES_NOT_MEET_THE_REQUIREMENTS_FOR_JOINING_THE_GAME);
 		}
 		if (player.isCursedWeaponEquipped())
 		{
-			sm = new SystemMessage(SystemMessageId.C1_CANNOT_JOIN_OLYMPIAD_POSSESSING_S2);
+			sm = SystemMessage.getSystemMessage(SystemMessageId.C1_CANNOT_JOIN_OLYMPIAD_POSSESSING_S2);
 			sm.addPcName(player);
 			sm.addItemName(player.getCursedWeaponEquippedId());
 			player.sendPacket(sm);
-			return new SystemMessage(SystemMessageId.THE_GAME_HAS_BEEN_CANCELLED_BECAUSE_THE_OTHER_PARTY_DOES_NOT_MEET_THE_REQUIREMENTS_FOR_JOINING_THE_GAME);
+			return SystemMessage.getSystemMessage(SystemMessageId.THE_GAME_HAS_BEEN_CANCELLED_BECAUSE_THE_OTHER_PARTY_DOES_NOT_MEET_THE_REQUIREMENTS_FOR_JOINING_THE_GAME);
 		}
 		if (!player.isInventoryUnder80(true))
 		{
-			sm = new SystemMessage(SystemMessageId.C1_CANNOT_PARTICIPATE_IN_OLYMPIAD_INVENTORY_SLOT_EXCEEDS_80_PERCENT);
+			sm = SystemMessage.getSystemMessage(SystemMessageId.C1_CANNOT_PARTICIPATE_IN_OLYMPIAD_INVENTORY_SLOT_EXCEEDS_80_PERCENT);
 			sm.addPcName(player);
 			player.sendPacket(sm);
-			return new SystemMessage(SystemMessageId.THE_GAME_HAS_BEEN_CANCELLED_BECAUSE_THE_OTHER_PARTY_DOES_NOT_MEET_THE_REQUIREMENTS_FOR_JOINING_THE_GAME);
+			return SystemMessage.getSystemMessage(SystemMessageId.THE_GAME_HAS_BEEN_CANCELLED_BECAUSE_THE_OTHER_PARTY_DOES_NOT_MEET_THE_REQUIREMENTS_FOR_JOINING_THE_GAME);
 		}
 
 		return null;
@@ -395,7 +395,7 @@ public abstract class AbstractOlympiadGame
 					continue;
 
 				iu.addModifiedItem(item);
-				sm = new SystemMessage(SystemMessageId.EARNED_S2_S1_S);
+				sm = SystemMessage.getSystemMessage(SystemMessageId.EARNED_S2_S1_S);
 				sm.addItemName(it[0]);
 				sm.addNumber(it[1]);
 				player.sendPacket(sm);

+ 5 - 5
L2_GameServer/java/com/l2jserver/gameserver/model/olympiad/Olympiad.java

@@ -397,7 +397,7 @@ public class Olympiad
 	{
 		public void run()
 		{
-			SystemMessage sm = new SystemMessage(SystemMessageId.OLYMPIAD_PERIOD_S1_HAS_ENDED);
+			SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.OLYMPIAD_PERIOD_S1_HAS_ENDED);
 			sm.addNumber(_currentCycle);
 			
 			Announcements.getInstance().announceToAll(sm);
@@ -482,7 +482,7 @@ public class Olympiad
 				
 				_inCompPeriod = true;
 				
-				Announcements.getInstance().announceToAll(new SystemMessage(SystemMessageId.THE_OLYMPIAD_GAME_HAS_STARTED));
+				Announcements.getInstance().announceToAll(SystemMessage.getSystemMessage(SystemMessageId.THE_OLYMPIAD_GAME_HAS_STARTED));
 				_log.info("Olympiad System: Olympiad Game Started");
 				_logResults.info("Result,Player1,Player2,Player1 HP,Player2 HP,Player1 Damage,Player2 Damage,Points,Classed");
 				
@@ -496,7 +496,7 @@ public class Olympiad
 					ThreadPoolManager.getInstance().scheduleGeneral(new Runnable() {
 						public void run()
 						{
-							Announcements.getInstance().announceToAll(new SystemMessage(SystemMessageId.OLYMPIAD_REGISTRATION_PERIOD_ENDED));
+							Announcements.getInstance().announceToAll(SystemMessage.getSystemMessage(SystemMessageId.OLYMPIAD_REGISTRATION_PERIOD_ENDED));
 						}
 					}, regEnd);
 				}
@@ -507,7 +507,7 @@ public class Olympiad
 						if (isOlympiadEnd())
 							return;
 						_inCompPeriod = false;
-						Announcements.getInstance().announceToAll(new SystemMessage(SystemMessageId.THE_OLYMPIAD_GAME_HAS_ENDED));
+						Announcements.getInstance().announceToAll(SystemMessage.getSystemMessage(SystemMessageId.THE_OLYMPIAD_GAME_HAS_ENDED));
 						_log.info("Olympiad System: Olympiad Game Ended");
 						
 						while (OlympiadGameManager.getInstance().isBattleStarted()) // cleared in game manager
@@ -572,7 +572,7 @@ public class Olympiad
 	
 	protected void setNewOlympiadEnd()
 	{
-		SystemMessage sm = new SystemMessage(SystemMessageId.OLYMPIAD_PERIOD_S1_HAS_STARTED);
+		SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.OLYMPIAD_PERIOD_S1_HAS_STARTED);
 		sm.addNumber(_currentCycle);
 		
 		Announcements.getInstance().announceToAll(sm);

+ 7 - 7
L2_GameServer/java/com/l2jserver/gameserver/model/olympiad/OlympiadGameNormal.java

@@ -360,7 +360,7 @@ abstract public class OlympiadGameNormal extends AbstractOlympiadGame
 			{
 				if (_pTwoCrash && !_pOneCrash)
 				{
-					sm = new SystemMessage(SystemMessageId.C1_HAS_WON_THE_GAME);
+					sm = SystemMessage.getSystemMessage(SystemMessageId.C1_HAS_WON_THE_GAME);
 					sm.addString(_playerOne.name);
 					stadium.broadcastPacket(sm);
 
@@ -381,7 +381,7 @@ abstract public class OlympiadGameNormal extends AbstractOlympiadGame
 				}
 				else if (_pOneCrash && !_pTwoCrash)
 				{
-					sm = new SystemMessage(SystemMessageId.C1_HAS_WON_THE_GAME);
+					sm = SystemMessage.getSystemMessage(SystemMessageId.C1_HAS_WON_THE_GAME);
 					sm.addString(_playerTwo.name);
 					stadium.broadcastPacket(sm);
 
@@ -402,7 +402,7 @@ abstract public class OlympiadGameNormal extends AbstractOlympiadGame
 				}
 				else if (_pOneCrash && _pTwoCrash)
 				{
-					stadium.broadcastPacket(new SystemMessage(SystemMessageId.THE_GAME_ENDED_IN_A_TIE));
+					stadium.broadcastPacket(SystemMessage.getSystemMessage(SystemMessageId.THE_GAME_ENDED_IN_A_TIE));
 
 					_playerOne.updateStat(COMP_LOST, 1);
 					removePointsFromParticipant(_playerOne, pointDiff);
@@ -464,7 +464,7 @@ abstract public class OlympiadGameNormal extends AbstractOlympiadGame
 			{
 				_playerOne.updateStat(COMP_DRAWN, 1);
 				_playerTwo.updateStat(COMP_DRAWN, 1);
-				sm = new SystemMessage(SystemMessageId.THE_GAME_ENDED_IN_A_TIE);
+				sm = SystemMessage.getSystemMessage(SystemMessageId.THE_GAME_ENDED_IN_A_TIE);
 				stadium.broadcastPacket(sm);
 			}
 			else if (_playerTwo.player == null
@@ -472,7 +472,7 @@ abstract public class OlympiadGameNormal extends AbstractOlympiadGame
 					|| (playerTwoHp == 0 && playerOneHp != 0)
 					|| (_damageP1 > _damageP2 && playerTwoHp != 0 && playerOneHp != 0))
 			{
-				sm = new SystemMessage(SystemMessageId.C1_HAS_WON_THE_GAME);
+				sm = SystemMessage.getSystemMessage(SystemMessageId.C1_HAS_WON_THE_GAME);
 				sm.addString(_playerOne.name);
 				stadium.broadcastPacket(sm);
 
@@ -493,7 +493,7 @@ abstract public class OlympiadGameNormal extends AbstractOlympiadGame
 					|| (playerOneHp == 0 && playerTwoHp != 0)
 					|| (_damageP2 > _damageP1 && playerOneHp != 0 && playerTwoHp != 0))
 			{
-				sm = new SystemMessage(SystemMessageId.C1_HAS_WON_THE_GAME);
+				sm = SystemMessage.getSystemMessage(SystemMessageId.C1_HAS_WON_THE_GAME);
 				sm.addString(_playerTwo.name);
 				stadium.broadcastPacket(sm);
 
@@ -514,7 +514,7 @@ abstract public class OlympiadGameNormal extends AbstractOlympiadGame
 				// Save Fight Result
 				saveResults(_playerOne,_playerTwo,0,_startTime,_fightTime, getType());
 				
-				sm = new SystemMessage(SystemMessageId.THE_GAME_ENDED_IN_A_TIE);
+				sm = SystemMessage.getSystemMessage(SystemMessageId.THE_GAME_ENDED_IN_A_TIE);
 				stadium.broadcastPacket(sm);
 
 				removePointsFromParticipant(_playerOne, Math.min(playerOnePoints / getDivider(), Config.ALT_OLY_MAX_POINTS));

+ 5 - 5
L2_GameServer/java/com/l2jserver/gameserver/model/olympiad/OlympiadGameTask.java

@@ -139,7 +139,7 @@ public final class OlympiadGameTask implements Runnable
 				{
 					if (_countDown > 0)
 					{
-						SystemMessage sm = new SystemMessage(SystemMessageId.YOU_WILL_ENTER_THE_OLYMPIAD_STADIUM_IN_S1_SECOND_S);
+						SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.YOU_WILL_ENTER_THE_OLYMPIAD_STADIUM_IN_S1_SECOND_S);
 						sm.addNumber(_countDown);
 						_game.broadcastPacket(sm);
 					}
@@ -168,7 +168,7 @@ public final class OlympiadGameTask implements Runnable
 				{
 					if (_countDown > 0)
 					{
-						SystemMessage sm = new SystemMessage(SystemMessageId.THE_GAME_WILL_START_IN_S1_SECOND_S);
+						SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.THE_GAME_WILL_START_IN_S1_SECOND_S);
 						sm.addNumber(_countDown);
 						_zone.broadcastPacket(sm);
 					}
@@ -190,7 +190,7 @@ public final class OlympiadGameTask implements Runnable
 				{
 					if (_countDown > 0)
 					{
-						SystemMessage sm = new SystemMessage(SystemMessageId.THE_GAME_WILL_START_IN_S1_SECOND_S);
+						SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.THE_GAME_WILL_START_IN_S1_SECOND_S);
 						sm.addNumber(_countDown);
 						_zone.broadcastPacket(sm);
 					}
@@ -234,7 +234,7 @@ public final class OlympiadGameTask implements Runnable
 				{
 					if (_countDown > 0)
 					{
-						SystemMessage sm = new SystemMessage(SystemMessageId.YOU_WILL_BE_MOVED_TO_TOWN_IN_S1_SECONDS);
+						SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.YOU_WILL_BE_MOVED_TO_TOWN_IN_S1_SECONDS);
 						sm.addNumber(_countDown);
 						_game.broadcastPacket(sm);
 					}
@@ -358,7 +358,7 @@ public final class OlympiadGameTask implements Runnable
 			{
 				// game successfully started
 				_game.broadcastOlympiadInfo(_zone);
-				_zone.broadcastPacket(new SystemMessage(SystemMessageId.STARTS_THE_GAME));
+				_zone.broadcastPacket(SystemMessage.getSystemMessage(SystemMessageId.STARTS_THE_GAME));
 				_zone.updateZoneStatusForCharactersInside();
 				return true;
 			}

+ 6 - 6
L2_GameServer/java/com/l2jserver/gameserver/model/olympiad/OlympiadGameTeams.java

@@ -537,7 +537,7 @@ class OlympiadGameTeams extends AbstractOlympiadGame
 			{
 				if (tTwoCrash && !tOneCrash)
 				{
-					sm = new SystemMessage(SystemMessageId.C1_HAS_WON_THE_GAME);
+					sm = SystemMessage.getSystemMessage(SystemMessageId.C1_HAS_WON_THE_GAME);
 					sm.addString(_teamOne[0].name);
 					stadium.broadcastPacket(sm);
 
@@ -562,7 +562,7 @@ class OlympiadGameTeams extends AbstractOlympiadGame
 				}
 				else if (tOneCrash && !tTwoCrash)
 				{
-					sm = new SystemMessage(SystemMessageId.C1_HAS_WON_THE_GAME);
+					sm = SystemMessage.getSystemMessage(SystemMessageId.C1_HAS_WON_THE_GAME);
 					sm.addString(_teamTwo[0].name);
 					stadium.broadcastPacket(sm);
 
@@ -587,7 +587,7 @@ class OlympiadGameTeams extends AbstractOlympiadGame
 				}
 				else if (tOneCrash && tTwoCrash)
 				{
-					stadium.broadcastPacket(new SystemMessage(SystemMessageId.THE_GAME_ENDED_IN_A_TIE));
+					stadium.broadcastPacket(SystemMessage.getSystemMessage(SystemMessageId.THE_GAME_ENDED_IN_A_TIE));
 
 					for (int i = 0 ; i < TEAM_SIZE; i++)
 					{
@@ -655,7 +655,7 @@ class OlympiadGameTeams extends AbstractOlympiadGame
 			if ((teamTwoHp == 0 && teamOneHp != 0)
 					|| (_damageT1 > _damageT2 && teamTwoHp != 0 && teamOneHp != 0))
 			{
-				sm = new SystemMessage(SystemMessageId.C1_HAS_WON_THE_GAME);
+				sm = SystemMessage.getSystemMessage(SystemMessageId.C1_HAS_WON_THE_GAME);
 				sm.addString(_teamOne[0].name);
 				stadium.broadcastPacket(sm);
 
@@ -681,7 +681,7 @@ class OlympiadGameTeams extends AbstractOlympiadGame
 			else if ((teamOneHp == 0 && teamTwoHp != 0)
 					|| (_damageT2 > _damageT1 && teamOneHp != 0 && teamTwoHp != 0))
 			{
-				sm = new SystemMessage(SystemMessageId.C1_HAS_WON_THE_GAME);
+				sm = SystemMessage.getSystemMessage(SystemMessageId.C1_HAS_WON_THE_GAME);
 				sm.addString(_teamTwo[0].name);
 				stadium.broadcastPacket(sm);
 
@@ -706,7 +706,7 @@ class OlympiadGameTeams extends AbstractOlympiadGame
 			}
 			else
 			{
-				stadium.broadcastPacket(new SystemMessage(SystemMessageId.THE_GAME_ENDED_IN_A_TIE));
+				stadium.broadcastPacket(SystemMessage.getSystemMessage(SystemMessageId.THE_GAME_ENDED_IN_A_TIE));
 
 				for (int i = 0 ; i < TEAM_SIZE; i++)
 				{

+ 22 - 22
L2_GameServer/java/com/l2jserver/gameserver/model/olympiad/OlympiadManager.java

@@ -119,7 +119,7 @@ public class OlympiadManager
 			{
 				if (showMessage)
 				{
-					SystemMessage sm = new SystemMessage(SystemMessageId.C1_IS_ALREADY_REGISTERED_NON_CLASS_LIMITED_EVENT_TEAMS);
+					SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.C1_IS_ALREADY_REGISTERED_NON_CLASS_LIMITED_EVENT_TEAMS);
 					sm.addPcName(noble);
 					player.sendPacket(sm);
 				}
@@ -131,7 +131,7 @@ public class OlympiadManager
 		{
 			if (showMessage)
 			{
-				final SystemMessage sm = new SystemMessage(SystemMessageId.C1_IS_ALREADY_REGISTERED_ON_THE_NON_CLASS_LIMITED_MATCH_WAITING_LIST);
+				final SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.C1_IS_ALREADY_REGISTERED_ON_THE_NON_CLASS_LIMITED_MATCH_WAITING_LIST);
 				sm.addPcName(noble);
 				player.sendPacket(sm);
 			}
@@ -143,7 +143,7 @@ public class OlympiadManager
 		{
 			if (showMessage)
 			{
-				final SystemMessage sm = new SystemMessage(SystemMessageId.C1_IS_ALREADY_REGISTERED_ON_THE_CLASS_MATCH_WAITING_LIST);
+				final SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.C1_IS_ALREADY_REGISTERED_ON_THE_CLASS_MATCH_WAITING_LIST);
 				sm.addPcName(noble);
 				player.sendPacket(sm);
 			}
@@ -179,21 +179,21 @@ public class OlympiadManager
 				{
 					case CLASSED:
 					{
-						final SystemMessage sm = new SystemMessage(SystemMessageId.C1_IS_ALREADY_REGISTERED_ON_THE_CLASS_MATCH_WAITING_LIST);
+						final SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.C1_IS_ALREADY_REGISTERED_ON_THE_CLASS_MATCH_WAITING_LIST);
 						sm.addPcName(noble);
 						player.sendPacket(sm);
 						break;
 					}
 					case NON_CLASSED:
 					{
-						final SystemMessage sm = new SystemMessage(SystemMessageId.C1_IS_ALREADY_REGISTERED_ON_THE_NON_CLASS_LIMITED_MATCH_WAITING_LIST);
+						final SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.C1_IS_ALREADY_REGISTERED_ON_THE_NON_CLASS_LIMITED_MATCH_WAITING_LIST);
 						sm.addPcName(noble);
 						player.sendPacket(sm);
 						break;
 					}
 					case TEAMS:
 					{
-						final SystemMessage sm = new SystemMessage(SystemMessageId.C1_IS_ALREADY_REGISTERED_NON_CLASS_LIMITED_EVENT_TEAMS);
+						final SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.C1_IS_ALREADY_REGISTERED_NON_CLASS_LIMITED_EVENT_TEAMS);
 						sm.addPcName(noble);
 						player.sendPacket(sm);
 						break;
@@ -210,14 +210,14 @@ public class OlympiadManager
 		SystemMessage sm;
 		if (!Olympiad._inCompPeriod)
 		{
-			sm = new SystemMessage(SystemMessageId.THE_OLYMPIAD_GAME_IS_NOT_CURRENTLY_IN_PROGRESS);
+			sm = SystemMessage.getSystemMessage(SystemMessageId.THE_OLYMPIAD_GAME_IS_NOT_CURRENTLY_IN_PROGRESS);
 			player.sendPacket(sm);
 			return false;
 		}
 		
 		if (Olympiad.getInstance().getMillisToCompEnd() < 600000)
 		{
-			sm = new SystemMessage(SystemMessageId.GAME_REQUEST_CANNOT_BE_MADE);
+			sm = SystemMessage.getSystemMessage(SystemMessageId.GAME_REQUEST_CANNOT_BE_MADE);
 			player.sendPacket(sm);
 			return false;
 		}
@@ -239,7 +239,7 @@ public class OlympiadManager
 					_classBasedRegisters.put(player.getBaseClass(), classed);
 				}
 
-				sm = new SystemMessage(SystemMessageId.YOU_HAVE_BEEN_REGISTERED_IN_A_WAITING_LIST_OF_CLASSIFIED_GAMES);
+				sm = SystemMessage.getSystemMessage(SystemMessageId.YOU_HAVE_BEEN_REGISTERED_IN_A_WAITING_LIST_OF_CLASSIFIED_GAMES);
 				player.sendPacket(sm);
 				break;
 			}
@@ -249,7 +249,7 @@ public class OlympiadManager
 					return false;
 
 				_nonClassBasedRegisters.add(player.getObjectId());
-				sm = new SystemMessage(SystemMessageId.YOU_HAVE_BEEN_REGISTERED_IN_A_WAITING_LIST_OF_NO_CLASS_GAMES);
+				sm = SystemMessage.getSystemMessage(SystemMessageId.YOU_HAVE_BEEN_REGISTERED_IN_A_WAITING_LIST_OF_NO_CLASS_GAMES);
 				player.sendPacket(sm);
 				break;
 			}
@@ -258,13 +258,13 @@ public class OlympiadManager
 				final L2Party party = player.getParty();
 				if (party == null || party.getMemberCount() != 3)
 				{
-					sm = new SystemMessage(SystemMessageId.PARTY_REQUIREMENTS_NOT_MET);
+					sm = SystemMessage.getSystemMessage(SystemMessageId.PARTY_REQUIREMENTS_NOT_MET);
 					player.sendPacket(sm);
 					return false;
 				}
 				if (!party.isLeader(player))
 				{
-					sm = new SystemMessage(SystemMessageId.ONLY_PARTY_LEADER_CAN_REQUEST_TEAM_MATCH);
+					sm = SystemMessage.getSystemMessage(SystemMessageId.ONLY_PARTY_LEADER_CAN_REQUEST_TEAM_MATCH);
 					player.sendPacket(sm);
 					return false;
 				}
@@ -304,7 +304,7 @@ public class OlympiadManager
 					return false;
 				}
 
-				party.broadcastToPartyMembers(new SystemMessage(SystemMessageId.YOU_HAVE_REGISTERED_IN_A_WAITING_LIST_OF_TEAM_GAMES));
+				party.broadcastToPartyMembers(SystemMessage.getSystemMessage(SystemMessageId.YOU_HAVE_REGISTERED_IN_A_WAITING_LIST_OF_TEAM_GAMES));
 				_teamsBasedRegisters.add(team);
 				break;
 			}
@@ -317,14 +317,14 @@ public class OlympiadManager
 		SystemMessage sm;
 		if (!Olympiad._inCompPeriod)
 		{
-			sm = new SystemMessage(SystemMessageId.THE_OLYMPIAD_GAME_IS_NOT_CURRENTLY_IN_PROGRESS);
+			sm = SystemMessage.getSystemMessage(SystemMessageId.THE_OLYMPIAD_GAME_IS_NOT_CURRENTLY_IN_PROGRESS);
 			noble.sendPacket(sm);
 			return false;
 		}
 		
 		if (!noble.isNoble())
 		{
-			sm = new SystemMessage(SystemMessageId.C1_DOES_NOT_MEET_REQUIREMENTS_ONLY_NOBLESS_CAN_PARTICIPATE_IN_THE_OLYMPIAD);
+			sm = SystemMessage.getSystemMessage(SystemMessageId.C1_DOES_NOT_MEET_REQUIREMENTS_ONLY_NOBLESS_CAN_PARTICIPATE_IN_THE_OLYMPIAD);
 			sm.addString(noble.getName());
 			noble.sendPacket(sm);
 			return false;
@@ -332,7 +332,7 @@ public class OlympiadManager
 		
 		if (!isRegistered(noble, noble, false))
 		{
-			sm = new SystemMessage(SystemMessageId.YOU_HAVE_NOT_BEEN_REGISTERED_IN_A_WAITING_LIST_OF_A_GAME);
+			sm = SystemMessage.getSystemMessage(SystemMessageId.YOU_HAVE_NOT_BEEN_REGISTERED_IN_A_WAITING_LIST_OF_A_GAME);
 			noble.sendPacket(sm);
 			return false;
 		}
@@ -340,7 +340,7 @@ public class OlympiadManager
 		if (isInCompetition(noble, noble, false))
 			return false;
 
-		sm = new SystemMessage(SystemMessageId.YOU_HAVE_BEEN_DELETED_FROM_THE_WAITING_LIST_OF_A_GAME);
+		sm = SystemMessage.getSystemMessage(SystemMessageId.YOU_HAVE_BEEN_DELETED_FROM_THE_WAITING_LIST_OF_A_GAME);
 		Integer objId = Integer.valueOf(noble.getObjectId());
 		if (_nonClassBasedRegisters.remove(objId))
 		{
@@ -412,7 +412,7 @@ public class OlympiadManager
 		SystemMessage sm;
 		if (!noble.isNoble())
 		{
-			sm = new SystemMessage(SystemMessageId.C1_DOES_NOT_MEET_REQUIREMENTS_ONLY_NOBLESS_CAN_PARTICIPATE_IN_THE_OLYMPIAD);
+			sm = SystemMessage.getSystemMessage(SystemMessageId.C1_DOES_NOT_MEET_REQUIREMENTS_ONLY_NOBLESS_CAN_PARTICIPATE_IN_THE_OLYMPIAD);
 			sm.addPcName(noble);
 			player.sendPacket(sm);
 			return false;
@@ -420,7 +420,7 @@ public class OlympiadManager
 		
 		if (noble.isSubClassActive())
 		{
-			sm = new SystemMessage(SystemMessageId.C1_CANT_JOIN_THE_OLYMPIAD_WITH_A_SUB_CLASS_CHARACTER);
+			sm = SystemMessage.getSystemMessage(SystemMessageId.C1_CANT_JOIN_THE_OLYMPIAD_WITH_A_SUB_CLASS_CHARACTER);
 			sm.addPcName(noble);
 			player.sendPacket(sm);
 			return false;
@@ -428,7 +428,7 @@ public class OlympiadManager
 
 		if (noble.isCursedWeaponEquipped())
 		{
-			sm = new SystemMessage(SystemMessageId.C1_CANNOT_JOIN_OLYMPIAD_POSSESSING_S2);
+			sm = SystemMessage.getSystemMessage(SystemMessageId.C1_CANNOT_JOIN_OLYMPIAD_POSSESSING_S2);
 			sm.addPcName(noble);
 			sm.addItemName(noble.getCursedWeaponEquippedId());
 			player.sendPacket(sm);
@@ -437,7 +437,7 @@ public class OlympiadManager
 
 		if (!noble.isInventoryUnder80(true))
 		{
-			sm = new SystemMessage(SystemMessageId.C1_CANNOT_PARTICIPATE_IN_OLYMPIAD_INVENTORY_SLOT_EXCEEDS_80_PERCENT);
+			sm = SystemMessage.getSystemMessage(SystemMessageId.C1_CANNOT_PARTICIPATE_IN_OLYMPIAD_INVENTORY_SLOT_EXCEEDS_80_PERCENT);
 			sm.addPcName(noble);
 			player.sendPacket(sm);
 			return false;
@@ -504,7 +504,7 @@ public class OlympiadManager
 		public final void run()
 		{
 			L2PcInstance teamMember;
-			final SystemMessage sm = new SystemMessage(SystemMessageId.YOU_HAVE_BEEN_DELETED_FROM_THE_WAITING_LIST_OF_A_GAME);
+			final SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.YOU_HAVE_BEEN_DELETED_FROM_THE_WAITING_LIST_OF_A_GAME);
 			for (int objectId : _team)
 			{
 				teamMember = L2World.getInstance().getPlayer(objectId);

+ 9 - 9
L2_GameServer/java/com/l2jserver/gameserver/model/quest/QuestState.java

@@ -641,7 +641,7 @@ public final class QuestState
 		// If item for reward is gold, send message of gold reward to client
 		if (itemId == 57)
 		{
-			SystemMessage smsg = new SystemMessage(SystemMessageId.EARNED_ADENA);
+			SystemMessage smsg = SystemMessage.getSystemMessage(SystemMessageId.EARNED_ADENA);
 			smsg.addItemNumber(count);
 			getPlayer().sendPacket(smsg);
 		}
@@ -650,14 +650,14 @@ public final class QuestState
 		{
 			if (count > 1)
 			{
-				SystemMessage smsg = new SystemMessage(SystemMessageId.EARNED_S2_S1_S);
+				SystemMessage smsg = SystemMessage.getSystemMessage(SystemMessageId.EARNED_S2_S1_S);
 				smsg.addItemName(item);
 				smsg.addItemNumber(count);
 				getPlayer().sendPacket(smsg);
 			}
 			else
 			{
-				SystemMessage smsg = new SystemMessage(SystemMessageId.EARNED_ITEM);
+				SystemMessage smsg = SystemMessage.getSystemMessage(SystemMessageId.EARNED_ITEM);
 				smsg.addItemName(item);
 				getPlayer().sendPacket(smsg);
 			}
@@ -700,7 +700,7 @@ public final class QuestState
 		// If item for reward is gold, send message of gold reward to client
 		if (itemId == 57)
 		{
-			SystemMessage smsg = new SystemMessage(SystemMessageId.EARNED_ADENA);
+			SystemMessage smsg = SystemMessage.getSystemMessage(SystemMessageId.EARNED_ADENA);
 			smsg.addItemNumber(count);
 			getPlayer().sendPacket(smsg);
 		}
@@ -709,14 +709,14 @@ public final class QuestState
 		{
 			if (count > 1)
 			{
-				SystemMessage smsg = new SystemMessage(SystemMessageId.EARNED_S2_S1_S);
+				SystemMessage smsg = SystemMessage.getSystemMessage(SystemMessageId.EARNED_S2_S1_S);
 				smsg.addItemName(item);
 				smsg.addItemNumber(count);
 				getPlayer().sendPacket(smsg);
 			}
 			else
 			{
-				SystemMessage smsg = new SystemMessage(SystemMessageId.EARNED_ITEM);
+				SystemMessage smsg = SystemMessage.getSystemMessage(SystemMessageId.EARNED_ITEM);
 				smsg.addItemName(item);
 				getPlayer().sendPacket(smsg);
 			}
@@ -753,7 +753,7 @@ public final class QuestState
 		// If item for reward is gold, send message of gold reward to client
 		if (itemId == 57)
 		{
-			SystemMessage smsg = new SystemMessage(SystemMessageId.EARNED_ADENA);
+			SystemMessage smsg = SystemMessage.getSystemMessage(SystemMessageId.EARNED_ADENA);
 			smsg.addItemNumber(count);
 			getPlayer().sendPacket(smsg);
 		}
@@ -762,14 +762,14 @@ public final class QuestState
 		{
 			if (count > 1)
 			{
-				SystemMessage smsg = new SystemMessage(SystemMessageId.EARNED_S2_S1_S);
+				SystemMessage smsg = SystemMessage.getSystemMessage(SystemMessageId.EARNED_S2_S1_S);
 				smsg.addItemName(item);
 				smsg.addItemNumber(count);
 				getPlayer().sendPacket(smsg);
 			}
 			else
 			{
-				SystemMessage smsg = new SystemMessage(SystemMessageId.EARNED_ITEM);
+				SystemMessage smsg = SystemMessage.getSystemMessage(SystemMessageId.EARNED_ITEM);
 				smsg.addItemName(item);
 				getPlayer().sendPacket(smsg);
 			}

+ 2 - 2
L2_GameServer/java/com/l2jserver/gameserver/model/zone/type/L2ArenaZone.java

@@ -42,7 +42,7 @@ public class L2ArenaZone extends L2SpawnZone
 		if (character instanceof L2PcInstance)
 		{
 			if (!character.isInsideZone(L2Character.ZONE_PVP))
-				((L2PcInstance) character).sendPacket(new SystemMessage(SystemMessageId.ENTERED_COMBAT_ZONE));
+				((L2PcInstance) character).sendPacket(SystemMessage.getSystemMessage(SystemMessageId.ENTERED_COMBAT_ZONE));
 		}
 	}
 	
@@ -55,7 +55,7 @@ public class L2ArenaZone extends L2SpawnZone
 		if (character instanceof L2PcInstance)
 		{
 			if (!character.isInsideZone(L2Character.ZONE_PVP))
-				((L2PcInstance) character).sendPacket(new SystemMessage(SystemMessageId.LEFT_COMBAT_ZONE));
+				((L2PcInstance) character).sendPacket(SystemMessage.getSystemMessage(SystemMessageId.LEFT_COMBAT_ZONE));
 		}
 	}
 	

+ 2 - 2
L2_GameServer/java/com/l2jserver/gameserver/model/zone/type/L2JailZone.java

@@ -44,7 +44,7 @@ public class L2JailZone extends L2ZoneType
 			if (Config.JAIL_IS_PVP)
 			{
 				character.setInsideZone(L2Character.ZONE_PVP, true);
-				((L2PcInstance) character).sendPacket(new SystemMessage(SystemMessageId.ENTERED_COMBAT_ZONE));
+				((L2PcInstance) character).sendPacket(SystemMessage.getSystemMessage(SystemMessageId.ENTERED_COMBAT_ZONE));
 			}
 			if (Config.JAIL_DISABLE_TRANSACTION)
 				character.setInsideZone(L2Character.ZONE_NOSTORE, true);
@@ -61,7 +61,7 @@ public class L2JailZone extends L2ZoneType
 			if (Config.JAIL_IS_PVP)
 			{
 				character.setInsideZone(L2Character.ZONE_PVP, false);
-				((L2PcInstance) character).sendPacket(new SystemMessage(SystemMessageId.LEFT_COMBAT_ZONE));
+				((L2PcInstance) character).sendPacket(SystemMessage.getSystemMessage(SystemMessageId.LEFT_COMBAT_ZONE));
 			}
 			if (((L2PcInstance) character).isInJail())
 			{

+ 2 - 2
L2_GameServer/java/com/l2jserver/gameserver/model/zone/type/L2MotherTreeZone.java

@@ -70,7 +70,7 @@ public class L2MotherTreeZone extends L2ZoneType
 			L2PcInstance player = (L2PcInstance) character;
 			player.setInsideZone(L2Character.ZONE_MOTHERTREE, true);
 			if (_enterMsg != 0)
-				player.sendPacket(new SystemMessage(_enterMsg));
+				player.sendPacket(SystemMessage.getSystemMessage(_enterMsg));
 		}
 	}
 	
@@ -82,7 +82,7 @@ public class L2MotherTreeZone extends L2ZoneType
 			L2PcInstance player = (L2PcInstance) character;
 			player.setInsideZone(L2Character.ZONE_MOTHERTREE, false);
 			if (_leaveMsg != 0)
-				player.sendPacket(new SystemMessage(_leaveMsg));
+				player.sendPacket(SystemMessage.getSystemMessage(_leaveMsg));
 		}
 	}
 	

Some files were not shown because too many files changed in this diff