From e43087f9cd095807f0401882b12c1bf4fbb82b4c Mon Sep 17 00:00:00 2001
From: MobiusDevelopment <8391001+MobiusDevelopment@users.noreply.github.com>
Date: Sat, 24 Apr 2021 12:49:26 +0000
Subject: [PATCH] Moved announcements to SQL.
---
.../db_installer/sql/game/announcements.sql | 14 +
.../sql/game/auto_announcements.sql | 9 -
.../dist/game/data/announcements.txt | 2 -
.../dist/game/data/html/admin/announce.htm | 7 +-
.../game/data/html/admin/announce_auto.htm | 19 +
.../game/data/scripts/ai/bosses/Baium.java | 10 +-
.../game/data/scripts/ai/bosses/Core.java | 8 +-
.../game/data/scripts/ai/bosses/Orfen.java | 10 +-
.../game/data/scripts/ai/bosses/QueenAnt.java | 10 +-
.../org/l2jmobius/gameserver/GameServer.java | 6 +-
.../org/l2jmobius/gameserver/Shutdown.java | 11 +-
.../gameserver/data/Announcements.java | 278 -----------
.../data/sql/AnnouncementsTable.java | 205 ++++++++
.../handler/AutoAnnouncementHandler.java | 448 ------------------
.../AdminAnnouncements.java | 90 +++-
.../admincommandhandlers/AdminTownWar.java | 14 +-
.../instancemanager/ChristmasManager.java | 8 +-
.../instancemanager/RaidBossSpawnManager.java | 4 +-
.../instancemanager/events/CTF.java | 74 +--
.../gameserver/instancemanager/events/DM.java | 54 +--
.../instancemanager/events/TvT.java | 62 +--
.../instancemanager/events/VIP.java | 24 +-
.../instancemanager/games/Lottery.java | 11 +-
.../model/actor/instance/PlayerInstance.java | 18 +-
.../instance/WeddingManagerInstance.java | 4 +-
.../model/announce/Announcement.java | 170 +++++++
.../model/announce/AnnouncementType.java | 59 +++
.../model/announce/AutoAnnouncement.java | 194 ++++++++
.../model/announce/IAnnouncement.java | 43 ++
.../model/interfaces/IUpdatable.java | 25 +
.../gameserver/model/olympiad/Olympiad.java | 19 +-
.../gameserver/model/siege/Castle.java | 8 +-
.../gameserver/model/siege/Fort.java | 8 +-
.../gameserver/model/siege/FortSiege.java | 4 +-
.../gameserver/model/siege/Siege.java | 4 +-
.../siege/clanhalls/DevastatedCastle.java | 4 +-
.../siege/clanhalls/FortressOfResistance.java | 4 +-
.../model/spawn/AutoSpawnHandler.java | 4 +-
.../network/clientpackets/EnterWorld.java | 8 +-
.../script/faenor/FaenorInterface.java | 13 +-
.../l2jmobius/telnet/GameStatusThread.java | 4 +-
.../db_installer/sql/game/announcements.sql | 14 +
.../sql/game/auto_announcements.sql | 9 -
.../dist/game/data/announcements.txt | 2 -
.../dist/game/data/html/admin/announce.htm | 7 +-
.../game/data/html/admin/announce_auto.htm | 19 +
.../game/data/scripts/ai/bosses/Baium.java | 10 +-
.../game/data/scripts/ai/bosses/Core.java | 8 +-
.../game/data/scripts/ai/bosses/Orfen.java | 10 +-
.../game/data/scripts/ai/bosses/QueenAnt.java | 10 +-
.../org/l2jmobius/gameserver/GameServer.java | 6 +-
.../org/l2jmobius/gameserver/Shutdown.java | 11 +-
.../gameserver/data/Announcements.java | 278 -----------
.../data/sql/AnnouncementsTable.java | 205 ++++++++
.../handler/AutoAnnouncementHandler.java | 448 ------------------
.../AdminAnnouncements.java | 90 +++-
.../admincommandhandlers/AdminTownWar.java | 14 +-
.../instancemanager/ChristmasManager.java | 8 +-
.../instancemanager/RaidBossSpawnManager.java | 4 +-
.../instancemanager/events/CTF.java | 74 +--
.../gameserver/instancemanager/events/DM.java | 54 +--
.../instancemanager/events/TvT.java | 62 +--
.../instancemanager/events/VIP.java | 24 +-
.../instancemanager/games/Lottery.java | 11 +-
.../model/actor/instance/PlayerInstance.java | 18 +-
.../instance/WeddingManagerInstance.java | 4 +-
.../model/announce/Announcement.java | 170 +++++++
.../model/announce/AnnouncementType.java | 59 +++
.../model/announce/AutoAnnouncement.java | 194 ++++++++
.../model/announce/IAnnouncement.java | 43 ++
.../model/interfaces/IUpdatable.java | 25 +
.../gameserver/model/olympiad/Olympiad.java | 19 +-
.../gameserver/model/siege/Castle.java | 8 +-
.../gameserver/model/siege/Fort.java | 8 +-
.../gameserver/model/siege/FortSiege.java | 4 +-
.../gameserver/model/siege/Siege.java | 4 +-
.../siege/clanhalls/DevastatedCastle.java | 4 +-
.../siege/clanhalls/FortressOfResistance.java | 4 +-
.../model/spawn/AutoSpawnHandler.java | 4 +-
.../network/clientpackets/EnterWorld.java | 8 +-
.../script/faenor/FaenorInterface.java | 13 +-
.../l2jmobius/telnet/GameStatusThread.java | 4 +-
82 files changed, 2014 insertions(+), 1928 deletions(-)
create mode 100644 L2J_Mobius_C4_ScionsOfDestiny/dist/db_installer/sql/game/announcements.sql
delete mode 100644 L2J_Mobius_C4_ScionsOfDestiny/dist/db_installer/sql/game/auto_announcements.sql
delete mode 100644 L2J_Mobius_C4_ScionsOfDestiny/dist/game/data/announcements.txt
create mode 100644 L2J_Mobius_C4_ScionsOfDestiny/dist/game/data/html/admin/announce_auto.htm
delete mode 100644 L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/data/Announcements.java
create mode 100644 L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/data/sql/AnnouncementsTable.java
delete mode 100644 L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/handler/AutoAnnouncementHandler.java
create mode 100644 L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/model/announce/Announcement.java
create mode 100644 L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/model/announce/AnnouncementType.java
create mode 100644 L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/model/announce/AutoAnnouncement.java
create mode 100644 L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/model/announce/IAnnouncement.java
create mode 100644 L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/model/interfaces/IUpdatable.java
create mode 100644 L2J_Mobius_C6_Interlude/dist/db_installer/sql/game/announcements.sql
delete mode 100644 L2J_Mobius_C6_Interlude/dist/db_installer/sql/game/auto_announcements.sql
delete mode 100644 L2J_Mobius_C6_Interlude/dist/game/data/announcements.txt
create mode 100644 L2J_Mobius_C6_Interlude/dist/game/data/html/admin/announce_auto.htm
delete mode 100644 L2J_Mobius_C6_Interlude/java/org/l2jmobius/gameserver/data/Announcements.java
create mode 100644 L2J_Mobius_C6_Interlude/java/org/l2jmobius/gameserver/data/sql/AnnouncementsTable.java
delete mode 100644 L2J_Mobius_C6_Interlude/java/org/l2jmobius/gameserver/handler/AutoAnnouncementHandler.java
create mode 100644 L2J_Mobius_C6_Interlude/java/org/l2jmobius/gameserver/model/announce/Announcement.java
create mode 100644 L2J_Mobius_C6_Interlude/java/org/l2jmobius/gameserver/model/announce/AnnouncementType.java
create mode 100644 L2J_Mobius_C6_Interlude/java/org/l2jmobius/gameserver/model/announce/AutoAnnouncement.java
create mode 100644 L2J_Mobius_C6_Interlude/java/org/l2jmobius/gameserver/model/announce/IAnnouncement.java
create mode 100644 L2J_Mobius_C6_Interlude/java/org/l2jmobius/gameserver/model/interfaces/IUpdatable.java
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/dist/db_installer/sql/game/announcements.sql b/L2J_Mobius_C4_ScionsOfDestiny/dist/db_installer/sql/game/announcements.sql
new file mode 100644
index 0000000000..686ce7db92
--- /dev/null
+++ b/L2J_Mobius_C4_ScionsOfDestiny/dist/db_installer/sql/game/announcements.sql
@@ -0,0 +1,14 @@
+CREATE TABLE IF NOT EXISTS `announcements` (
+ `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
+ `type` int(11) NOT NULL,
+ `initial` bigint(20) NOT NULL DEFAULT 0,
+ `delay` bigint(20) NOT NULL DEFAULT 0,
+ `repeat` int(11) NOT NULL DEFAULT 0,
+ `author` text NOT NULL,
+ `content` text NOT NULL,
+ PRIMARY KEY (`id`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
+
+INSERT INTO announcements (`type`, `author`, `content`) VALUES
+(0, 'L2jMobius', 'Thanks for using L2jMobius!'),
+(0, 'L2jMobius', 'http://www.l2jmobius.org');
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/dist/db_installer/sql/game/auto_announcements.sql b/L2J_Mobius_C4_ScionsOfDestiny/dist/db_installer/sql/game/auto_announcements.sql
deleted file mode 100644
index 9316b7f4d2..0000000000
--- a/L2J_Mobius_C4_ScionsOfDestiny/dist/db_installer/sql/game/auto_announcements.sql
+++ /dev/null
@@ -1,9 +0,0 @@
--- --------------------------------------
--- Table structure for auto_announcements
--- --------------------------------------
-CREATE TABLE IF NOT EXISTS `auto_announcements` (
- `id` int(11) NOT NULL auto_increment,
- `announcement` varchar(255) NOT NULL,
- `delay` int(11) NOT NULL,
- PRIMARY KEY (`id`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
\ No newline at end of file
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/dist/game/data/announcements.txt b/L2J_Mobius_C4_ScionsOfDestiny/dist/game/data/announcements.txt
deleted file mode 100644
index 69e914d5bc..0000000000
--- a/L2J_Mobius_C4_ScionsOfDestiny/dist/game/data/announcements.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-Thanks for using L2jMobius!
-http://www.l2jmobius.org
\ No newline at end of file
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/dist/game/data/html/admin/announce.htm b/L2J_Mobius_C4_ScionsOfDestiny/dist/game/data/html/admin/announce.htm
index 59e52323c3..ce5c542d7c 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/dist/game/data/html/admin/announce.htm
+++ b/L2J_Mobius_C4_ScionsOfDestiny/dist/game/data/html/admin/announce.htm
@@ -7,12 +7,9 @@
Write the message of the announcement.
%announces%
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/dist/game/data/html/admin/announce_auto.htm b/L2J_Mobius_C4_ScionsOfDestiny/dist/game/data/html/admin/announce_auto.htm
new file mode 100644
index 0000000000..7454c0c0f0
--- /dev/null
+++ b/L2J_Mobius_C4_ScionsOfDestiny/dist/game/data/html/admin/announce_auto.htm
@@ -0,0 +1,19 @@
+
+
+ |
+Auto Announcements Menu |
+ |
+
+Write the message of the announcement.
+
+Delay (in seconds)
+Minimum time is 30 seconds.
+
+
+%announces%
+
\ No newline at end of file
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/dist/game/data/scripts/ai/bosses/Baium.java b/L2J_Mobius_C4_ScionsOfDestiny/dist/game/data/scripts/ai/bosses/Baium.java
index 885743f647..58dbb49e28 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/dist/game/data/scripts/ai/bosses/Baium.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/dist/game/data/scripts/ai/bosses/Baium.java
@@ -29,8 +29,8 @@ import org.l2jmobius.Config;
import org.l2jmobius.commons.concurrent.ThreadPool;
import org.l2jmobius.commons.util.Chronos;
import org.l2jmobius.commons.util.Rnd;
-import org.l2jmobius.gameserver.data.Announcements;
import org.l2jmobius.gameserver.data.SkillTable;
+import org.l2jmobius.gameserver.data.sql.AnnouncementsTable;
import org.l2jmobius.gameserver.geoengine.GeoEngine;
import org.l2jmobius.gameserver.instancemanager.GrandBossManager;
import org.l2jmobius.gameserver.model.Effect;
@@ -130,7 +130,7 @@ public class Baium extends Quest
addSpawn(STONE_BAIUM, 116033, 17447, 10104, 40188, false, 0);
if (Config.ANNOUNCE_TO_ALL_SPAWN_RB)
{
- Announcements.getInstance().announceToAll("Raid boss Baium Stone spawned in world.");
+ AnnouncementsTable.getInstance().announceToAll("Raid boss Baium Stone spawned in world.");
}
GrandBossManager.getInstance().setBossStatus(LIVE_BAIUM, ASLEEP);
}
@@ -146,7 +146,7 @@ public class Baium extends Quest
final GrandBossInstance baium = (GrandBossInstance) addSpawn(LIVE_BAIUM, loc_x, loc_y, loc_z, heading, false, 0);
if (Config.ANNOUNCE_TO_ALL_SPAWN_RB)
{
- Announcements.getInstance().announceToAll("Raid boss " + baium.getName() + " spawned in world.");
+ AnnouncementsTable.getInstance().announceToAll("Raid boss " + baium.getName() + " spawned in world.");
}
GrandBossManager.getInstance().addBoss(baium);
ThreadPool.schedule(() ->
@@ -170,7 +170,7 @@ public class Baium extends Quest
addSpawn(STONE_BAIUM, 116033, 17447, 10104, 40188, false, 0);
if (Config.ANNOUNCE_TO_ALL_SPAWN_RB)
{
- Announcements.getInstance().announceToAll("Raid boss Baium Stone spawned in world.");
+ AnnouncementsTable.getInstance().announceToAll("Raid boss Baium Stone spawned in world.");
}
}
}
@@ -184,7 +184,7 @@ public class Baium extends Quest
addSpawn(STONE_BAIUM, 116033, 17447, 10104, 40188, false, 0);
if (Config.ANNOUNCE_TO_ALL_SPAWN_RB)
{
- Announcements.getInstance().announceToAll("Raid boss Baium Stone spawned in world.");
+ AnnouncementsTable.getInstance().announceToAll("Raid boss Baium Stone spawned in world.");
}
}
else if (event.equals("skill_range") && (npc != null))
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/dist/game/data/scripts/ai/bosses/Core.java b/L2J_Mobius_C4_ScionsOfDestiny/dist/game/data/scripts/ai/bosses/Core.java
index 7f576994f5..7a40930c1f 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/dist/game/data/scripts/ai/bosses/Core.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/dist/game/data/scripts/ai/bosses/Core.java
@@ -25,7 +25,7 @@ import java.util.concurrent.ConcurrentHashMap;
import org.l2jmobius.Config;
import org.l2jmobius.commons.util.Chronos;
import org.l2jmobius.commons.util.Rnd;
-import org.l2jmobius.gameserver.data.Announcements;
+import org.l2jmobius.gameserver.data.sql.AnnouncementsTable;
import org.l2jmobius.gameserver.enums.ChatType;
import org.l2jmobius.gameserver.instancemanager.GlobalVariablesManager;
import org.l2jmobius.gameserver.instancemanager.GrandBossManager;
@@ -118,7 +118,7 @@ public class Core extends Quest
final GrandBossInstance core = (GrandBossInstance) addSpawn(CORE, 17726, 108915, -6480, 0, false, 0);
if (Config.ANNOUNCE_TO_ALL_SPAWN_RB)
{
- Announcements.getInstance().announceToAll("Raid boss " + core.getName() + " spawned in world.");
+ AnnouncementsTable.getInstance().announceToAll("Raid boss " + core.getName() + " spawned in world.");
}
GrandBossManager.getInstance().setBossStatus(CORE, ALIVE);
spawnBoss(core);
@@ -133,7 +133,7 @@ public class Core extends Quest
final GrandBossInstance core = (GrandBossInstance) addSpawn(CORE, 17726, 108915, -6480, 0, false, 0);
if (Config.ANNOUNCE_TO_ALL_SPAWN_RB)
{
- Announcements.getInstance().announceToAll("Raid boss " + core.getName() + " spawned in world.");
+ AnnouncementsTable.getInstance().announceToAll("Raid boss " + core.getName() + " spawned in world.");
}
spawnBoss(core);
}
@@ -169,7 +169,7 @@ public class Core extends Quest
final GrandBossInstance core = (GrandBossInstance) addSpawn(CORE, 17726, 108915, -6480, 0, false, 0);
if (Config.ANNOUNCE_TO_ALL_SPAWN_RB)
{
- Announcements.getInstance().announceToAll("Raid boss " + core.getName() + " spawned in world.");
+ AnnouncementsTable.getInstance().announceToAll("Raid boss " + core.getName() + " spawned in world.");
}
GrandBossManager.getInstance().setBossStatus(CORE, ALIVE);
spawnBoss(core);
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/dist/game/data/scripts/ai/bosses/Orfen.java b/L2J_Mobius_C4_ScionsOfDestiny/dist/game/data/scripts/ai/bosses/Orfen.java
index 59720810f4..6192e06573 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/dist/game/data/scripts/ai/bosses/Orfen.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/dist/game/data/scripts/ai/bosses/Orfen.java
@@ -20,8 +20,8 @@ import org.l2jmobius.Config;
import org.l2jmobius.commons.util.Chronos;
import org.l2jmobius.commons.util.Rnd;
import org.l2jmobius.gameserver.ai.CtrlIntention;
-import org.l2jmobius.gameserver.data.Announcements;
import org.l2jmobius.gameserver.data.SkillTable;
+import org.l2jmobius.gameserver.data.sql.AnnouncementsTable;
import org.l2jmobius.gameserver.instancemanager.GrandBossManager;
import org.l2jmobius.gameserver.model.StatSet;
import org.l2jmobius.gameserver.model.actor.instance.GrandBossInstance;
@@ -76,7 +76,7 @@ public class Orfen extends Quest
_orfen = (GrandBossInstance) addSpawn(ORFEN, 55024, 17368, -5412, 0, false, 0);
if (Config.ANNOUNCE_TO_ALL_SPAWN_RB)
{
- Announcements.getInstance().announceToAll("Raid boss " + _orfen.getName() + " spawned in world.");
+ AnnouncementsTable.getInstance().announceToAll("Raid boss " + _orfen.getName() + " spawned in world.");
}
GrandBossManager.getInstance().setBossStatus(ORFEN, LIVE);
GrandBossManager.getInstance().addBoss(_orfen);
@@ -97,7 +97,7 @@ public class Orfen extends Quest
_orfen = (GrandBossInstance) addSpawn(ORFEN, loc_x, loc_y, loc_z, heading, false, 0);
if (Config.ANNOUNCE_TO_ALL_SPAWN_RB)
{
- Announcements.getInstance().announceToAll("Raid boss " + _orfen.getName() + " spawned in world.");
+ AnnouncementsTable.getInstance().announceToAll("Raid boss " + _orfen.getName() + " spawned in world.");
}
GrandBossManager.getInstance().addBoss(_orfen);
_orfen.setCurrentHpMp(hp, mp);
@@ -112,7 +112,7 @@ public class Orfen extends Quest
_orfen = (GrandBossInstance) addSpawn(ORFEN, loc_x, loc_y, loc_z, heading, false, 0);
if (Config.ANNOUNCE_TO_ALL_SPAWN_RB)
{
- Announcements.getInstance().announceToAll("Raid boss " + _orfen.getName() + " spawned in world.");
+ AnnouncementsTable.getInstance().announceToAll("Raid boss " + _orfen.getName() + " spawned in world.");
}
GrandBossManager.getInstance().setBossStatus(ORFEN, LIVE);
GrandBossManager.getInstance().addBoss(_orfen);
@@ -137,7 +137,7 @@ public class Orfen extends Quest
_orfen = (GrandBossInstance) addSpawn(ORFEN, loc_x, loc_y, loc_z, heading, false, 0);
if (Config.ANNOUNCE_TO_ALL_SPAWN_RB)
{
- Announcements.getInstance().announceToAll("Raid boss " + _orfen.getName() + " spawned in world.");
+ AnnouncementsTable.getInstance().announceToAll("Raid boss " + _orfen.getName() + " spawned in world.");
}
GrandBossManager.getInstance().setBossStatus(ORFEN, LIVE);
GrandBossManager.getInstance().addBoss(_orfen);
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/dist/game/data/scripts/ai/bosses/QueenAnt.java b/L2J_Mobius_C4_ScionsOfDestiny/dist/game/data/scripts/ai/bosses/QueenAnt.java
index 13d1fd05ee..8a8aa3d7ee 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/dist/game/data/scripts/ai/bosses/QueenAnt.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/dist/game/data/scripts/ai/bosses/QueenAnt.java
@@ -23,8 +23,8 @@ import org.l2jmobius.Config;
import org.l2jmobius.commons.util.Chronos;
import org.l2jmobius.commons.util.Rnd;
import org.l2jmobius.gameserver.ai.CtrlIntention;
-import org.l2jmobius.gameserver.data.Announcements;
import org.l2jmobius.gameserver.data.SkillTable;
+import org.l2jmobius.gameserver.data.sql.AnnouncementsTable;
import org.l2jmobius.gameserver.instancemanager.GrandBossManager;
import org.l2jmobius.gameserver.model.StatSet;
import org.l2jmobius.gameserver.model.actor.Attackable;
@@ -109,7 +109,7 @@ public class QueenAnt extends Quest
final GrandBossInstance queen = (GrandBossInstance) addSpawn(QUEEN, -21610, 181594, -5734, 0, false, 0);
if (Config.ANNOUNCE_TO_ALL_SPAWN_RB)
{
- Announcements.getInstance().announceToAll("Raid boss " + queen.getName() + " spawned in world.");
+ AnnouncementsTable.getInstance().announceToAll("Raid boss " + queen.getName() + " spawned in world.");
}
GrandBossManager.getInstance().setBossStatus(QUEEN, LIVE);
GrandBossManager.getInstance().addBoss(queen);
@@ -127,7 +127,7 @@ public class QueenAnt extends Quest
final GrandBossInstance queen = (GrandBossInstance) addSpawn(QUEEN, -21610, 181594, -5734, 0, false, 0);
if (Config.ANNOUNCE_TO_ALL_SPAWN_RB)
{
- Announcements.getInstance().announceToAll("Raid boss " + queen.getName() + " spawned in world.");
+ AnnouncementsTable.getInstance().announceToAll("Raid boss " + queen.getName() + " spawned in world.");
}
GrandBossManager.getInstance().addBoss(queen);
queen.setCurrentHpMp(hp, mp);
@@ -139,7 +139,7 @@ public class QueenAnt extends Quest
final GrandBossInstance queen = (GrandBossInstance) addSpawn(QUEEN, -21610, 181594, -5734, 0, false, 0);
if (Config.ANNOUNCE_TO_ALL_SPAWN_RB)
{
- Announcements.getInstance().announceToAll("Raid boss " + queen.getName() + " spawned in world.");
+ AnnouncementsTable.getInstance().announceToAll("Raid boss " + queen.getName() + " spawned in world.");
}
GrandBossManager.getInstance().setBossStatus(QUEEN, LIVE);
GrandBossManager.getInstance().addBoss(queen);
@@ -175,7 +175,7 @@ public class QueenAnt extends Quest
final GrandBossInstance queen = (GrandBossInstance) addSpawn(QUEEN, -21610, 181594, -5734, 0, false, 0);
if (Config.ANNOUNCE_TO_ALL_SPAWN_RB)
{
- Announcements.getInstance().announceToAll("Raid boss " + queen.getName() + " spawned in world.");
+ AnnouncementsTable.getInstance().announceToAll("Raid boss " + queen.getName() + " spawned in world.");
}
GrandBossManager.getInstance().setBossStatus(QUEEN, LIVE);
GrandBossManager.getInstance().addBoss(queen);
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/GameServer.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/GameServer.java
index e460d45244..44a47f0582 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/GameServer.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/GameServer.java
@@ -35,13 +35,13 @@ import org.l2jmobius.commons.util.Util;
import org.l2jmobius.gameserver.cache.CrestCache;
import org.l2jmobius.gameserver.cache.HtmCache;
import org.l2jmobius.gameserver.communitybbs.Manager.ForumsBBSManager;
-import org.l2jmobius.gameserver.data.Announcements;
import org.l2jmobius.gameserver.data.HeroSkillTable;
import org.l2jmobius.gameserver.data.ItemTable;
import org.l2jmobius.gameserver.data.NobleSkillTable;
import org.l2jmobius.gameserver.data.OfflineTradeTable;
import org.l2jmobius.gameserver.data.SchemeBufferTable;
import org.l2jmobius.gameserver.data.SkillTable;
+import org.l2jmobius.gameserver.data.sql.AnnouncementsTable;
import org.l2jmobius.gameserver.data.sql.CharNameTable;
import org.l2jmobius.gameserver.data.sql.ClanTable;
import org.l2jmobius.gameserver.data.sql.HelperBuffTable;
@@ -71,7 +71,6 @@ import org.l2jmobius.gameserver.data.xml.WalkerRouteData;
import org.l2jmobius.gameserver.data.xml.ZoneData;
import org.l2jmobius.gameserver.geoengine.GeoEngine;
import org.l2jmobius.gameserver.handler.AdminCommandHandler;
-import org.l2jmobius.gameserver.handler.AutoAnnouncementHandler;
import org.l2jmobius.gameserver.handler.AutoChatHandler;
import org.l2jmobius.gameserver.handler.ItemHandler;
import org.l2jmobius.gameserver.handler.SkillHandler;
@@ -193,8 +192,7 @@ public class GameServer
Util.printSection("World");
World.getInstance();
MapRegionData.getInstance();
- Announcements.getInstance();
- AutoAnnouncementHandler.getInstance();
+ AnnouncementsTable.getInstance();
GlobalVariablesManager.getInstance();
StaticObjectData.getInstance();
TeleportLocationTable.getInstance();
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/Shutdown.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/Shutdown.java
index 064685d929..3477d8890a 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/Shutdown.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/Shutdown.java
@@ -22,9 +22,9 @@ import org.l2jmobius.Config;
import org.l2jmobius.commons.concurrent.ThreadPool;
import org.l2jmobius.commons.database.DatabaseBackup;
import org.l2jmobius.commons.database.DatabaseFactory;
-import org.l2jmobius.gameserver.data.Announcements;
import org.l2jmobius.gameserver.data.OfflineTradeTable;
import org.l2jmobius.gameserver.data.SchemeBufferTable;
+import org.l2jmobius.gameserver.data.sql.AnnouncementsTable;
import org.l2jmobius.gameserver.instancemanager.CastleManorManager;
import org.l2jmobius.gameserver.instancemanager.GlobalVariablesManager;
import org.l2jmobius.gameserver.instancemanager.GrandBossManager;
@@ -43,6 +43,7 @@ import org.l2jmobius.gameserver.network.SystemMessageId;
import org.l2jmobius.gameserver.network.loginserverpackets.game.ServerStatus;
import org.l2jmobius.gameserver.network.serverpackets.ServerClose;
import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
+import org.l2jmobius.gameserver.util.Broadcast;
/**
* This class provides the functions for shutting down and restarting the server.
@@ -172,7 +173,7 @@ public class Shutdown extends Thread
*/
public void startShutdown(PlayerInstance player, int seconds, boolean restart)
{
- final Announcements announcements = Announcements.getInstance();
+ final AnnouncementsTable announcements = AnnouncementsTable.getInstance();
LOGGER.warning((player != null ? "GM: " + player.getName() + "(" + player.getObjectId() + ")" : "Server") + " issued shutdown command. " + MODE_TEXT[_shutdownMode] + " in " + seconds + " seconds!");
@@ -217,7 +218,7 @@ public class Shutdown extends Thread
*/
public void abort(PlayerInstance player)
{
- final Announcements announcements = Announcements.getInstance();
+ final AnnouncementsTable announcements = AnnouncementsTable.getInstance();
LOGGER.warning((player != null ? "GM: " + player.getName() + "(" + player.getObjectId() + ")" : "Server") + " issued shutdown ABORT. " + MODE_TEXT[_shutdownMode] + " has been stopped!");
@@ -267,7 +268,7 @@ public class Shutdown extends Thread
{
final SystemMessage sm = new SystemMessage(SystemMessageId.THE_SERVER_WILL_BE_COMING_DOWN_IN_S1_SECOND_S_PLEASE_FIND_A_SAFE_PLACE_TO_LOG_OUT);
sm.addString(Integer.toString(seconds));
- Announcements.getInstance().announceToAll(sm);
+ Broadcast.toAllOnlinePlayers(sm);
}
try
@@ -379,7 +380,7 @@ public class Shutdown extends Thread
*/
private synchronized void saveData()
{
- final Announcements _an = Announcements.getInstance();
+ final AnnouncementsTable _an = AnnouncementsTable.getInstance();
switch (_shutdownMode)
{
case SIGTERM:
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/data/Announcements.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/data/Announcements.java
deleted file mode 100644
index 671a4548ac..0000000000
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/data/Announcements.java
+++ /dev/null
@@ -1,278 +0,0 @@
-/*
- * This file is part of the L2J Mobius project.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-package org.l2jmobius.gameserver.data;
-
-import java.io.File;
-import java.io.FileReader;
-import java.io.FileWriter;
-import java.io.IOException;
-import java.io.LineNumberReader;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
-import java.util.StringTokenizer;
-import java.util.logging.Logger;
-
-import org.l2jmobius.Config;
-import org.l2jmobius.gameserver.cache.HtmCache;
-import org.l2jmobius.gameserver.enums.ChatType;
-import org.l2jmobius.gameserver.model.World;
-import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
-import org.l2jmobius.gameserver.network.SystemMessageId;
-import org.l2jmobius.gameserver.network.serverpackets.CreatureSay;
-import org.l2jmobius.gameserver.network.serverpackets.NpcHtmlMessage;
-import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
-import org.l2jmobius.gameserver.script.DateRange;
-
-/**
- * @author ProGramMoS
- * @version 1.6
- */
-public class Announcements
-{
- private static final Logger LOGGER = Logger.getLogger(Announcements.class.getName());
-
- private final List _announcements = new ArrayList<>();
- private final List> _eventAnnouncements = new ArrayList<>();
-
- public Announcements()
- {
- loadAnnouncements();
- }
-
- public void loadAnnouncements()
- {
- _announcements.clear();
- final File file = new File(Config.DATAPACK_ROOT, "data/announcements.txt");
- if (file.exists())
- {
- readFromDisk(file);
- }
- else
- {
- LOGGER.warning("data/announcements.txt doesn't exist");
- }
- }
-
- public void showAnnouncements(PlayerInstance player)
- {
- for (String _announcement : _announcements)
- {
- player.sendPacket(new CreatureSay(0, ChatType.ANNOUNCEMENT, player.getName(), _announcement.replace("%name%", player.getName())));
- }
-
- for (List