diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/ai/others/CastleSideEffect.java b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/ai/others/CastleSideEffect.java
new file mode 100644
index 0000000000..4a5e4b04b0
--- /dev/null
+++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/ai/others/CastleSideEffect.java
@@ -0,0 +1,69 @@
+/*
+ * 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 ai.others;
+
+import org.l2jmobius.gameserver.instancemanager.CastleManager;
+import org.l2jmobius.gameserver.model.actor.Creature;
+import org.l2jmobius.gameserver.model.entity.Castle;
+import org.l2jmobius.gameserver.model.zone.ZoneType;
+import org.l2jmobius.gameserver.network.serverpackets.ExCastleState;
+
+import ai.AbstractNpcAI;
+
+/**
+ * Shows castle side effect in cities.
+ * @author Gigi
+ * @date 2019-05-14 - [12:47:33]
+ */
+public class CastleSideEffect extends AbstractNpcAI
+{
+ private static final int[] ZONE_ID =
+ {
+ 11020, // Giran
+ 11027, // Gludio
+ 11028, // Dion
+ 11029, // Oren
+ 11031, // aden
+ 11032, // Goddard
+ 11033, // Rune
+ 11034, // Heine
+ 11035, // Shuttgard
+ };
+
+ public CastleSideEffect()
+ {
+ addEnterZoneId(ZONE_ID);
+ }
+
+ @Override
+ public String onEnterZone(Creature character, ZoneType zone)
+ {
+ if (character.isPlayer())
+ {
+ for (Castle castle : CastleManager.getInstance().getCastles())
+ {
+ character.sendPacket(new ExCastleState(castle));
+ }
+ }
+ return super.onEnterZone(character, zone);
+ }
+
+ public static void main(String[] args)
+ {
+ new CastleSideEffect();
+ }
+}
\ No newline at end of file
diff --git a/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/gameserver/network/clientpackets/EnterWorld.java b/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/gameserver/network/clientpackets/EnterWorld.java
index 9c467ddffb..3f0cd6af0a 100644
--- a/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/gameserver/network/clientpackets/EnterWorld.java
+++ b/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/gameserver/network/clientpackets/EnterWorld.java
@@ -45,7 +45,6 @@ import org.l2jmobius.gameserver.model.World;
import org.l2jmobius.gameserver.model.WorldObject;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
import org.l2jmobius.gameserver.model.clan.Clan;
-import org.l2jmobius.gameserver.model.entity.Castle;
import org.l2jmobius.gameserver.model.entity.ClanHall;
import org.l2jmobius.gameserver.model.entity.Fort;
import org.l2jmobius.gameserver.model.entity.FortSiege;
@@ -67,7 +66,6 @@ import org.l2jmobius.gameserver.network.serverpackets.EtcStatusUpdate;
import org.l2jmobius.gameserver.network.serverpackets.ExAdenaInvenCount;
import org.l2jmobius.gameserver.network.serverpackets.ExBasicActionList;
import org.l2jmobius.gameserver.network.serverpackets.ExBeautyItemList;
-import org.l2jmobius.gameserver.network.serverpackets.ExCastleState;
import org.l2jmobius.gameserver.network.serverpackets.ExGetBookMarkInfoPacket;
import org.l2jmobius.gameserver.network.serverpackets.ExNoticePostArrived;
import org.l2jmobius.gameserver.network.serverpackets.ExNotifyPremiumItem;
@@ -341,12 +339,6 @@ public class EnterWorld implements IClientIncomingPacket
// Send blank skill list
player.sendPacket(new SkillList());
- // Send castle state.
- for (Castle castle : CastleManager.getInstance().getCastles())
- {
- player.sendPacket(new ExCastleState(castle));
- }
-
// Send GG check
// player.queryGameGuard();
diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/ai/others/CastleSideEffect.java b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/ai/others/CastleSideEffect.java
new file mode 100644
index 0000000000..4a5e4b04b0
--- /dev/null
+++ b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/ai/others/CastleSideEffect.java
@@ -0,0 +1,69 @@
+/*
+ * 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 ai.others;
+
+import org.l2jmobius.gameserver.instancemanager.CastleManager;
+import org.l2jmobius.gameserver.model.actor.Creature;
+import org.l2jmobius.gameserver.model.entity.Castle;
+import org.l2jmobius.gameserver.model.zone.ZoneType;
+import org.l2jmobius.gameserver.network.serverpackets.ExCastleState;
+
+import ai.AbstractNpcAI;
+
+/**
+ * Shows castle side effect in cities.
+ * @author Gigi
+ * @date 2019-05-14 - [12:47:33]
+ */
+public class CastleSideEffect extends AbstractNpcAI
+{
+ private static final int[] ZONE_ID =
+ {
+ 11020, // Giran
+ 11027, // Gludio
+ 11028, // Dion
+ 11029, // Oren
+ 11031, // aden
+ 11032, // Goddard
+ 11033, // Rune
+ 11034, // Heine
+ 11035, // Shuttgard
+ };
+
+ public CastleSideEffect()
+ {
+ addEnterZoneId(ZONE_ID);
+ }
+
+ @Override
+ public String onEnterZone(Creature character, ZoneType zone)
+ {
+ if (character.isPlayer())
+ {
+ for (Castle castle : CastleManager.getInstance().getCastles())
+ {
+ character.sendPacket(new ExCastleState(castle));
+ }
+ }
+ return super.onEnterZone(character, zone);
+ }
+
+ public static void main(String[] args)
+ {
+ new CastleSideEffect();
+ }
+}
\ No newline at end of file
diff --git a/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/network/clientpackets/EnterWorld.java b/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/network/clientpackets/EnterWorld.java
index 71dcd41e19..32bd86460d 100644
--- a/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/network/clientpackets/EnterWorld.java
+++ b/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/network/clientpackets/EnterWorld.java
@@ -45,7 +45,6 @@ import org.l2jmobius.gameserver.model.World;
import org.l2jmobius.gameserver.model.WorldObject;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
import org.l2jmobius.gameserver.model.clan.Clan;
-import org.l2jmobius.gameserver.model.entity.Castle;
import org.l2jmobius.gameserver.model.entity.ClanHall;
import org.l2jmobius.gameserver.model.entity.Fort;
import org.l2jmobius.gameserver.model.entity.FortSiege;
@@ -69,7 +68,6 @@ import org.l2jmobius.gameserver.network.serverpackets.ExAdenaInvenCount;
import org.l2jmobius.gameserver.network.serverpackets.ExAutoSoulShot;
import org.l2jmobius.gameserver.network.serverpackets.ExBasicActionList;
import org.l2jmobius.gameserver.network.serverpackets.ExBeautyItemList;
-import org.l2jmobius.gameserver.network.serverpackets.ExCastleState;
import org.l2jmobius.gameserver.network.serverpackets.ExGetBookMarkInfoPacket;
import org.l2jmobius.gameserver.network.serverpackets.ExNoticePostArrived;
import org.l2jmobius.gameserver.network.serverpackets.ExNotifyPremiumItem;
@@ -346,12 +344,6 @@ public class EnterWorld implements IClientIncomingPacket
// Send blank skill list
player.sendPacket(new SkillList());
- // Send castle state.
- for (Castle castle : CastleManager.getInstance().getCastles())
- {
- player.sendPacket(new ExCastleState(castle));
- }
-
// Send GG check
// player.queryGameGuard();
diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/ai/others/CastleSideEffect.java b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/ai/others/CastleSideEffect.java
new file mode 100644
index 0000000000..4a5e4b04b0
--- /dev/null
+++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/ai/others/CastleSideEffect.java
@@ -0,0 +1,69 @@
+/*
+ * 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 ai.others;
+
+import org.l2jmobius.gameserver.instancemanager.CastleManager;
+import org.l2jmobius.gameserver.model.actor.Creature;
+import org.l2jmobius.gameserver.model.entity.Castle;
+import org.l2jmobius.gameserver.model.zone.ZoneType;
+import org.l2jmobius.gameserver.network.serverpackets.ExCastleState;
+
+import ai.AbstractNpcAI;
+
+/**
+ * Shows castle side effect in cities.
+ * @author Gigi
+ * @date 2019-05-14 - [12:47:33]
+ */
+public class CastleSideEffect extends AbstractNpcAI
+{
+ private static final int[] ZONE_ID =
+ {
+ 11020, // Giran
+ 11027, // Gludio
+ 11028, // Dion
+ 11029, // Oren
+ 11031, // aden
+ 11032, // Goddard
+ 11033, // Rune
+ 11034, // Heine
+ 11035, // Shuttgard
+ };
+
+ public CastleSideEffect()
+ {
+ addEnterZoneId(ZONE_ID);
+ }
+
+ @Override
+ public String onEnterZone(Creature character, ZoneType zone)
+ {
+ if (character.isPlayer())
+ {
+ for (Castle castle : CastleManager.getInstance().getCastles())
+ {
+ character.sendPacket(new ExCastleState(castle));
+ }
+ }
+ return super.onEnterZone(character, zone);
+ }
+
+ public static void main(String[] args)
+ {
+ new CastleSideEffect();
+ }
+}
\ No newline at end of file
diff --git a/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/network/clientpackets/EnterWorld.java b/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/network/clientpackets/EnterWorld.java
index 71dcd41e19..32bd86460d 100644
--- a/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/network/clientpackets/EnterWorld.java
+++ b/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/network/clientpackets/EnterWorld.java
@@ -45,7 +45,6 @@ import org.l2jmobius.gameserver.model.World;
import org.l2jmobius.gameserver.model.WorldObject;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
import org.l2jmobius.gameserver.model.clan.Clan;
-import org.l2jmobius.gameserver.model.entity.Castle;
import org.l2jmobius.gameserver.model.entity.ClanHall;
import org.l2jmobius.gameserver.model.entity.Fort;
import org.l2jmobius.gameserver.model.entity.FortSiege;
@@ -69,7 +68,6 @@ import org.l2jmobius.gameserver.network.serverpackets.ExAdenaInvenCount;
import org.l2jmobius.gameserver.network.serverpackets.ExAutoSoulShot;
import org.l2jmobius.gameserver.network.serverpackets.ExBasicActionList;
import org.l2jmobius.gameserver.network.serverpackets.ExBeautyItemList;
-import org.l2jmobius.gameserver.network.serverpackets.ExCastleState;
import org.l2jmobius.gameserver.network.serverpackets.ExGetBookMarkInfoPacket;
import org.l2jmobius.gameserver.network.serverpackets.ExNoticePostArrived;
import org.l2jmobius.gameserver.network.serverpackets.ExNotifyPremiumItem;
@@ -346,12 +344,6 @@ public class EnterWorld implements IClientIncomingPacket
// Send blank skill list
player.sendPacket(new SkillList());
- // Send castle state.
- for (Castle castle : CastleManager.getInstance().getCastles())
- {
- player.sendPacket(new ExCastleState(castle));
- }
-
// Send GG check
// player.queryGameGuard();
diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/ai/others/CastleSideEffect.java b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/ai/others/CastleSideEffect.java
new file mode 100644
index 0000000000..4a5e4b04b0
--- /dev/null
+++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/ai/others/CastleSideEffect.java
@@ -0,0 +1,69 @@
+/*
+ * 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 ai.others;
+
+import org.l2jmobius.gameserver.instancemanager.CastleManager;
+import org.l2jmobius.gameserver.model.actor.Creature;
+import org.l2jmobius.gameserver.model.entity.Castle;
+import org.l2jmobius.gameserver.model.zone.ZoneType;
+import org.l2jmobius.gameserver.network.serverpackets.ExCastleState;
+
+import ai.AbstractNpcAI;
+
+/**
+ * Shows castle side effect in cities.
+ * @author Gigi
+ * @date 2019-05-14 - [12:47:33]
+ */
+public class CastleSideEffect extends AbstractNpcAI
+{
+ private static final int[] ZONE_ID =
+ {
+ 11020, // Giran
+ 11027, // Gludio
+ 11028, // Dion
+ 11029, // Oren
+ 11031, // aden
+ 11032, // Goddard
+ 11033, // Rune
+ 11034, // Heine
+ 11035, // Shuttgard
+ };
+
+ public CastleSideEffect()
+ {
+ addEnterZoneId(ZONE_ID);
+ }
+
+ @Override
+ public String onEnterZone(Creature character, ZoneType zone)
+ {
+ if (character.isPlayer())
+ {
+ for (Castle castle : CastleManager.getInstance().getCastles())
+ {
+ character.sendPacket(new ExCastleState(castle));
+ }
+ }
+ return super.onEnterZone(character, zone);
+ }
+
+ public static void main(String[] args)
+ {
+ new CastleSideEffect();
+ }
+}
\ No newline at end of file
diff --git a/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/network/clientpackets/EnterWorld.java b/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/network/clientpackets/EnterWorld.java
index 89f4d5dec9..3a48a2030c 100644
--- a/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/network/clientpackets/EnterWorld.java
+++ b/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/network/clientpackets/EnterWorld.java
@@ -45,7 +45,6 @@ import org.l2jmobius.gameserver.model.World;
import org.l2jmobius.gameserver.model.WorldObject;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
import org.l2jmobius.gameserver.model.clan.Clan;
-import org.l2jmobius.gameserver.model.entity.Castle;
import org.l2jmobius.gameserver.model.entity.ClanHall;
import org.l2jmobius.gameserver.model.entity.Fort;
import org.l2jmobius.gameserver.model.entity.FortSiege;
@@ -69,7 +68,6 @@ import org.l2jmobius.gameserver.network.serverpackets.ExAdenaInvenCount;
import org.l2jmobius.gameserver.network.serverpackets.ExAutoSoulShot;
import org.l2jmobius.gameserver.network.serverpackets.ExBasicActionList;
import org.l2jmobius.gameserver.network.serverpackets.ExBeautyItemList;
-import org.l2jmobius.gameserver.network.serverpackets.ExCastleState;
import org.l2jmobius.gameserver.network.serverpackets.ExGetBookMarkInfoPacket;
import org.l2jmobius.gameserver.network.serverpackets.ExNoticePostArrived;
import org.l2jmobius.gameserver.network.serverpackets.ExNotifyPremiumItem;
@@ -346,12 +344,6 @@ public class EnterWorld implements IClientIncomingPacket
// Send blank skill list
player.sendPacket(new SkillList());
- // Send castle state.
- for (Castle castle : CastleManager.getInstance().getCastles())
- {
- player.sendPacket(new ExCastleState(castle));
- }
-
// Send GG check
// player.queryGameGuard();
diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/ai/others/CastleSideEffect.java b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/ai/others/CastleSideEffect.java
new file mode 100644
index 0000000000..4a5e4b04b0
--- /dev/null
+++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/ai/others/CastleSideEffect.java
@@ -0,0 +1,69 @@
+/*
+ * 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 ai.others;
+
+import org.l2jmobius.gameserver.instancemanager.CastleManager;
+import org.l2jmobius.gameserver.model.actor.Creature;
+import org.l2jmobius.gameserver.model.entity.Castle;
+import org.l2jmobius.gameserver.model.zone.ZoneType;
+import org.l2jmobius.gameserver.network.serverpackets.ExCastleState;
+
+import ai.AbstractNpcAI;
+
+/**
+ * Shows castle side effect in cities.
+ * @author Gigi
+ * @date 2019-05-14 - [12:47:33]
+ */
+public class CastleSideEffect extends AbstractNpcAI
+{
+ private static final int[] ZONE_ID =
+ {
+ 11020, // Giran
+ 11027, // Gludio
+ 11028, // Dion
+ 11029, // Oren
+ 11031, // aden
+ 11032, // Goddard
+ 11033, // Rune
+ 11034, // Heine
+ 11035, // Shuttgard
+ };
+
+ public CastleSideEffect()
+ {
+ addEnterZoneId(ZONE_ID);
+ }
+
+ @Override
+ public String onEnterZone(Creature character, ZoneType zone)
+ {
+ if (character.isPlayer())
+ {
+ for (Castle castle : CastleManager.getInstance().getCastles())
+ {
+ character.sendPacket(new ExCastleState(castle));
+ }
+ }
+ return super.onEnterZone(character, zone);
+ }
+
+ public static void main(String[] args)
+ {
+ new CastleSideEffect();
+ }
+}
\ No newline at end of file
diff --git a/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/network/clientpackets/EnterWorld.java b/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/network/clientpackets/EnterWorld.java
index 520c90d940..8c5ff0bab1 100644
--- a/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/network/clientpackets/EnterWorld.java
+++ b/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/network/clientpackets/EnterWorld.java
@@ -45,7 +45,6 @@ import org.l2jmobius.gameserver.model.World;
import org.l2jmobius.gameserver.model.WorldObject;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
import org.l2jmobius.gameserver.model.clan.Clan;
-import org.l2jmobius.gameserver.model.entity.Castle;
import org.l2jmobius.gameserver.model.entity.ClanHall;
import org.l2jmobius.gameserver.model.entity.Fort;
import org.l2jmobius.gameserver.model.entity.FortSiege;
@@ -69,7 +68,6 @@ import org.l2jmobius.gameserver.network.serverpackets.ExAdenaInvenCount;
import org.l2jmobius.gameserver.network.serverpackets.ExAutoSoulShot;
import org.l2jmobius.gameserver.network.serverpackets.ExBasicActionList;
import org.l2jmobius.gameserver.network.serverpackets.ExBeautyItemList;
-import org.l2jmobius.gameserver.network.serverpackets.ExCastleState;
import org.l2jmobius.gameserver.network.serverpackets.ExGetBookMarkInfoPacket;
import org.l2jmobius.gameserver.network.serverpackets.ExNoticePostArrived;
import org.l2jmobius.gameserver.network.serverpackets.ExNotifyPremiumItem;
@@ -346,12 +344,6 @@ public class EnterWorld implements IClientIncomingPacket
// Send blank skill list
player.sendPacket(new SkillList());
- // Send castle state.
- for (Castle castle : CastleManager.getInstance().getCastles())
- {
- player.sendPacket(new ExCastleState(castle));
- }
-
// Send GG check
// player.queryGameGuard();
diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/ai/others/CastleSideEffect.java b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/ai/others/CastleSideEffect.java
new file mode 100644
index 0000000000..4a5e4b04b0
--- /dev/null
+++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/ai/others/CastleSideEffect.java
@@ -0,0 +1,69 @@
+/*
+ * 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 ai.others;
+
+import org.l2jmobius.gameserver.instancemanager.CastleManager;
+import org.l2jmobius.gameserver.model.actor.Creature;
+import org.l2jmobius.gameserver.model.entity.Castle;
+import org.l2jmobius.gameserver.model.zone.ZoneType;
+import org.l2jmobius.gameserver.network.serverpackets.ExCastleState;
+
+import ai.AbstractNpcAI;
+
+/**
+ * Shows castle side effect in cities.
+ * @author Gigi
+ * @date 2019-05-14 - [12:47:33]
+ */
+public class CastleSideEffect extends AbstractNpcAI
+{
+ private static final int[] ZONE_ID =
+ {
+ 11020, // Giran
+ 11027, // Gludio
+ 11028, // Dion
+ 11029, // Oren
+ 11031, // aden
+ 11032, // Goddard
+ 11033, // Rune
+ 11034, // Heine
+ 11035, // Shuttgard
+ };
+
+ public CastleSideEffect()
+ {
+ addEnterZoneId(ZONE_ID);
+ }
+
+ @Override
+ public String onEnterZone(Creature character, ZoneType zone)
+ {
+ if (character.isPlayer())
+ {
+ for (Castle castle : CastleManager.getInstance().getCastles())
+ {
+ character.sendPacket(new ExCastleState(castle));
+ }
+ }
+ return super.onEnterZone(character, zone);
+ }
+
+ public static void main(String[] args)
+ {
+ new CastleSideEffect();
+ }
+}
\ No newline at end of file
diff --git a/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/network/clientpackets/EnterWorld.java b/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/network/clientpackets/EnterWorld.java
index 6a87ff5968..a9810f3c2c 100644
--- a/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/network/clientpackets/EnterWorld.java
+++ b/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/network/clientpackets/EnterWorld.java
@@ -45,7 +45,6 @@ import org.l2jmobius.gameserver.model.World;
import org.l2jmobius.gameserver.model.WorldObject;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
import org.l2jmobius.gameserver.model.clan.Clan;
-import org.l2jmobius.gameserver.model.entity.Castle;
import org.l2jmobius.gameserver.model.entity.ClanHall;
import org.l2jmobius.gameserver.model.entity.Fort;
import org.l2jmobius.gameserver.model.entity.FortSiege;
@@ -69,7 +68,6 @@ import org.l2jmobius.gameserver.network.serverpackets.ExAdenaInvenCount;
import org.l2jmobius.gameserver.network.serverpackets.ExAutoSoulShot;
import org.l2jmobius.gameserver.network.serverpackets.ExBasicActionList;
import org.l2jmobius.gameserver.network.serverpackets.ExBeautyItemList;
-import org.l2jmobius.gameserver.network.serverpackets.ExCastleState;
import org.l2jmobius.gameserver.network.serverpackets.ExGetBookMarkInfoPacket;
import org.l2jmobius.gameserver.network.serverpackets.ExNoticePostArrived;
import org.l2jmobius.gameserver.network.serverpackets.ExNotifyPremiumItem;
@@ -346,12 +344,6 @@ public class EnterWorld implements IClientIncomingPacket
// Send blank skill list
player.sendPacket(new SkillList());
- // Send castle state.
- for (Castle castle : CastleManager.getInstance().getCastles())
- {
- player.sendPacket(new ExCastleState(castle));
- }
-
// Send GG check
// player.queryGameGuard();
diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/ai/others/CastleSideEffect.java b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/ai/others/CastleSideEffect.java
new file mode 100644
index 0000000000..4a5e4b04b0
--- /dev/null
+++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/ai/others/CastleSideEffect.java
@@ -0,0 +1,69 @@
+/*
+ * 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 ai.others;
+
+import org.l2jmobius.gameserver.instancemanager.CastleManager;
+import org.l2jmobius.gameserver.model.actor.Creature;
+import org.l2jmobius.gameserver.model.entity.Castle;
+import org.l2jmobius.gameserver.model.zone.ZoneType;
+import org.l2jmobius.gameserver.network.serverpackets.ExCastleState;
+
+import ai.AbstractNpcAI;
+
+/**
+ * Shows castle side effect in cities.
+ * @author Gigi
+ * @date 2019-05-14 - [12:47:33]
+ */
+public class CastleSideEffect extends AbstractNpcAI
+{
+ private static final int[] ZONE_ID =
+ {
+ 11020, // Giran
+ 11027, // Gludio
+ 11028, // Dion
+ 11029, // Oren
+ 11031, // aden
+ 11032, // Goddard
+ 11033, // Rune
+ 11034, // Heine
+ 11035, // Shuttgard
+ };
+
+ public CastleSideEffect()
+ {
+ addEnterZoneId(ZONE_ID);
+ }
+
+ @Override
+ public String onEnterZone(Creature character, ZoneType zone)
+ {
+ if (character.isPlayer())
+ {
+ for (Castle castle : CastleManager.getInstance().getCastles())
+ {
+ character.sendPacket(new ExCastleState(castle));
+ }
+ }
+ return super.onEnterZone(character, zone);
+ }
+
+ public static void main(String[] args)
+ {
+ new CastleSideEffect();
+ }
+}
\ No newline at end of file
diff --git a/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/network/clientpackets/EnterWorld.java b/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/network/clientpackets/EnterWorld.java
index 6a87ff5968..a9810f3c2c 100644
--- a/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/network/clientpackets/EnterWorld.java
+++ b/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/network/clientpackets/EnterWorld.java
@@ -45,7 +45,6 @@ import org.l2jmobius.gameserver.model.World;
import org.l2jmobius.gameserver.model.WorldObject;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
import org.l2jmobius.gameserver.model.clan.Clan;
-import org.l2jmobius.gameserver.model.entity.Castle;
import org.l2jmobius.gameserver.model.entity.ClanHall;
import org.l2jmobius.gameserver.model.entity.Fort;
import org.l2jmobius.gameserver.model.entity.FortSiege;
@@ -69,7 +68,6 @@ import org.l2jmobius.gameserver.network.serverpackets.ExAdenaInvenCount;
import org.l2jmobius.gameserver.network.serverpackets.ExAutoSoulShot;
import org.l2jmobius.gameserver.network.serverpackets.ExBasicActionList;
import org.l2jmobius.gameserver.network.serverpackets.ExBeautyItemList;
-import org.l2jmobius.gameserver.network.serverpackets.ExCastleState;
import org.l2jmobius.gameserver.network.serverpackets.ExGetBookMarkInfoPacket;
import org.l2jmobius.gameserver.network.serverpackets.ExNoticePostArrived;
import org.l2jmobius.gameserver.network.serverpackets.ExNotifyPremiumItem;
@@ -346,12 +344,6 @@ public class EnterWorld implements IClientIncomingPacket
// Send blank skill list
player.sendPacket(new SkillList());
- // Send castle state.
- for (Castle castle : CastleManager.getInstance().getCastles())
- {
- player.sendPacket(new ExCastleState(castle));
- }
-
// Send GG check
// player.queryGameGuard();
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/ai/others/CastleSideEffect.java b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/ai/others/CastleSideEffect.java
new file mode 100644
index 0000000000..4a5e4b04b0
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/ai/others/CastleSideEffect.java
@@ -0,0 +1,69 @@
+/*
+ * 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 ai.others;
+
+import org.l2jmobius.gameserver.instancemanager.CastleManager;
+import org.l2jmobius.gameserver.model.actor.Creature;
+import org.l2jmobius.gameserver.model.entity.Castle;
+import org.l2jmobius.gameserver.model.zone.ZoneType;
+import org.l2jmobius.gameserver.network.serverpackets.ExCastleState;
+
+import ai.AbstractNpcAI;
+
+/**
+ * Shows castle side effect in cities.
+ * @author Gigi
+ * @date 2019-05-14 - [12:47:33]
+ */
+public class CastleSideEffect extends AbstractNpcAI
+{
+ private static final int[] ZONE_ID =
+ {
+ 11020, // Giran
+ 11027, // Gludio
+ 11028, // Dion
+ 11029, // Oren
+ 11031, // aden
+ 11032, // Goddard
+ 11033, // Rune
+ 11034, // Heine
+ 11035, // Shuttgard
+ };
+
+ public CastleSideEffect()
+ {
+ addEnterZoneId(ZONE_ID);
+ }
+
+ @Override
+ public String onEnterZone(Creature character, ZoneType zone)
+ {
+ if (character.isPlayer())
+ {
+ for (Castle castle : CastleManager.getInstance().getCastles())
+ {
+ character.sendPacket(new ExCastleState(castle));
+ }
+ }
+ return super.onEnterZone(character, zone);
+ }
+
+ public static void main(String[] args)
+ {
+ new CastleSideEffect();
+ }
+}
\ No newline at end of file
diff --git a/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/network/clientpackets/EnterWorld.java b/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/network/clientpackets/EnterWorld.java
index 0419770ebb..ba911a5a5d 100644
--- a/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/network/clientpackets/EnterWorld.java
+++ b/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/network/clientpackets/EnterWorld.java
@@ -45,7 +45,6 @@ import org.l2jmobius.gameserver.model.World;
import org.l2jmobius.gameserver.model.WorldObject;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
import org.l2jmobius.gameserver.model.clan.Clan;
-import org.l2jmobius.gameserver.model.entity.Castle;
import org.l2jmobius.gameserver.model.entity.ClanHall;
import org.l2jmobius.gameserver.model.entity.Fort;
import org.l2jmobius.gameserver.model.entity.FortSiege;
@@ -69,7 +68,6 @@ import org.l2jmobius.gameserver.network.serverpackets.ExAdenaInvenCount;
import org.l2jmobius.gameserver.network.serverpackets.ExAutoSoulShot;
import org.l2jmobius.gameserver.network.serverpackets.ExBasicActionList;
import org.l2jmobius.gameserver.network.serverpackets.ExBeautyItemList;
-import org.l2jmobius.gameserver.network.serverpackets.ExCastleState;
import org.l2jmobius.gameserver.network.serverpackets.ExGetBookMarkInfoPacket;
import org.l2jmobius.gameserver.network.serverpackets.ExNoticePostArrived;
import org.l2jmobius.gameserver.network.serverpackets.ExNotifyPremiumItem;
@@ -345,12 +343,6 @@ public class EnterWorld implements IClientIncomingPacket
// Send blank skill list
player.sendPacket(new SkillList());
- // Send castle state.
- for (Castle castle : CastleManager.getInstance().getCastles())
- {
- player.sendPacket(new ExCastleState(castle));
- }
-
// Send GG check
// player.queryGameGuard();
diff --git a/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/ai/others/CastleSideEffect.java b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/ai/others/CastleSideEffect.java
new file mode 100644
index 0000000000..4a5e4b04b0
--- /dev/null
+++ b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/ai/others/CastleSideEffect.java
@@ -0,0 +1,69 @@
+/*
+ * 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 ai.others;
+
+import org.l2jmobius.gameserver.instancemanager.CastleManager;
+import org.l2jmobius.gameserver.model.actor.Creature;
+import org.l2jmobius.gameserver.model.entity.Castle;
+import org.l2jmobius.gameserver.model.zone.ZoneType;
+import org.l2jmobius.gameserver.network.serverpackets.ExCastleState;
+
+import ai.AbstractNpcAI;
+
+/**
+ * Shows castle side effect in cities.
+ * @author Gigi
+ * @date 2019-05-14 - [12:47:33]
+ */
+public class CastleSideEffect extends AbstractNpcAI
+{
+ private static final int[] ZONE_ID =
+ {
+ 11020, // Giran
+ 11027, // Gludio
+ 11028, // Dion
+ 11029, // Oren
+ 11031, // aden
+ 11032, // Goddard
+ 11033, // Rune
+ 11034, // Heine
+ 11035, // Shuttgard
+ };
+
+ public CastleSideEffect()
+ {
+ addEnterZoneId(ZONE_ID);
+ }
+
+ @Override
+ public String onEnterZone(Creature character, ZoneType zone)
+ {
+ if (character.isPlayer())
+ {
+ for (Castle castle : CastleManager.getInstance().getCastles())
+ {
+ character.sendPacket(new ExCastleState(castle));
+ }
+ }
+ return super.onEnterZone(character, zone);
+ }
+
+ public static void main(String[] args)
+ {
+ new CastleSideEffect();
+ }
+}
\ No newline at end of file
diff --git a/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/network/clientpackets/EnterWorld.java b/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/network/clientpackets/EnterWorld.java
index 30815f8b82..bb082e18c6 100644
--- a/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/network/clientpackets/EnterWorld.java
+++ b/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/network/clientpackets/EnterWorld.java
@@ -45,7 +45,6 @@ import org.l2jmobius.gameserver.model.World;
import org.l2jmobius.gameserver.model.WorldObject;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
import org.l2jmobius.gameserver.model.clan.Clan;
-import org.l2jmobius.gameserver.model.entity.Castle;
import org.l2jmobius.gameserver.model.entity.ClanHall;
import org.l2jmobius.gameserver.model.entity.Fort;
import org.l2jmobius.gameserver.model.entity.FortSiege;
@@ -69,7 +68,6 @@ import org.l2jmobius.gameserver.network.serverpackets.ExAdenaInvenCount;
import org.l2jmobius.gameserver.network.serverpackets.ExAutoSoulShot;
import org.l2jmobius.gameserver.network.serverpackets.ExBasicActionList;
import org.l2jmobius.gameserver.network.serverpackets.ExBeautyItemList;
-import org.l2jmobius.gameserver.network.serverpackets.ExCastleState;
import org.l2jmobius.gameserver.network.serverpackets.ExGetBookMarkInfoPacket;
import org.l2jmobius.gameserver.network.serverpackets.ExNoticePostArrived;
import org.l2jmobius.gameserver.network.serverpackets.ExNotifyPremiumItem;
@@ -345,12 +343,6 @@ public class EnterWorld implements IClientIncomingPacket
// Send blank skill list
player.sendPacket(new SkillList());
- // Send castle state.
- for (Castle castle : CastleManager.getInstance().getCastles())
- {
- player.sendPacket(new ExCastleState(castle));
- }
-
// Send GG check
// player.queryGameGuard();
diff --git a/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/ai/others/CastleSideEffect.java b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/ai/others/CastleSideEffect.java
new file mode 100644
index 0000000000..4a5e4b04b0
--- /dev/null
+++ b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/ai/others/CastleSideEffect.java
@@ -0,0 +1,69 @@
+/*
+ * 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 ai.others;
+
+import org.l2jmobius.gameserver.instancemanager.CastleManager;
+import org.l2jmobius.gameserver.model.actor.Creature;
+import org.l2jmobius.gameserver.model.entity.Castle;
+import org.l2jmobius.gameserver.model.zone.ZoneType;
+import org.l2jmobius.gameserver.network.serverpackets.ExCastleState;
+
+import ai.AbstractNpcAI;
+
+/**
+ * Shows castle side effect in cities.
+ * @author Gigi
+ * @date 2019-05-14 - [12:47:33]
+ */
+public class CastleSideEffect extends AbstractNpcAI
+{
+ private static final int[] ZONE_ID =
+ {
+ 11020, // Giran
+ 11027, // Gludio
+ 11028, // Dion
+ 11029, // Oren
+ 11031, // aden
+ 11032, // Goddard
+ 11033, // Rune
+ 11034, // Heine
+ 11035, // Shuttgard
+ };
+
+ public CastleSideEffect()
+ {
+ addEnterZoneId(ZONE_ID);
+ }
+
+ @Override
+ public String onEnterZone(Creature character, ZoneType zone)
+ {
+ if (character.isPlayer())
+ {
+ for (Castle castle : CastleManager.getInstance().getCastles())
+ {
+ character.sendPacket(new ExCastleState(castle));
+ }
+ }
+ return super.onEnterZone(character, zone);
+ }
+
+ public static void main(String[] args)
+ {
+ new CastleSideEffect();
+ }
+}
\ No newline at end of file
diff --git a/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/network/clientpackets/EnterWorld.java b/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/network/clientpackets/EnterWorld.java
index 1352bfc431..40a0375dd2 100644
--- a/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/network/clientpackets/EnterWorld.java
+++ b/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/network/clientpackets/EnterWorld.java
@@ -45,7 +45,6 @@ import org.l2jmobius.gameserver.model.World;
import org.l2jmobius.gameserver.model.WorldObject;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
import org.l2jmobius.gameserver.model.clan.Clan;
-import org.l2jmobius.gameserver.model.entity.Castle;
import org.l2jmobius.gameserver.model.entity.ClanHall;
import org.l2jmobius.gameserver.model.entity.Fort;
import org.l2jmobius.gameserver.model.entity.FortSiege;
@@ -69,7 +68,6 @@ import org.l2jmobius.gameserver.network.serverpackets.ExAdenaInvenCount;
import org.l2jmobius.gameserver.network.serverpackets.ExAutoSoulShot;
import org.l2jmobius.gameserver.network.serverpackets.ExBasicActionList;
import org.l2jmobius.gameserver.network.serverpackets.ExBeautyItemList;
-import org.l2jmobius.gameserver.network.serverpackets.ExCastleState;
import org.l2jmobius.gameserver.network.serverpackets.ExGetBookMarkInfoPacket;
import org.l2jmobius.gameserver.network.serverpackets.ExNoticePostArrived;
import org.l2jmobius.gameserver.network.serverpackets.ExNotifyPremiumItem;
@@ -347,12 +345,6 @@ public class EnterWorld implements IClientIncomingPacket
// Send blank skill list
player.sendPacket(new SkillList());
- // Send castle state.
- for (Castle castle : CastleManager.getInstance().getCastles())
- {
- player.sendPacket(new ExCastleState(castle));
- }
-
// Send GG check
// player.queryGameGuard();
diff --git a/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/scripts/ai/others/CastleSideEffect.java b/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/scripts/ai/others/CastleSideEffect.java
new file mode 100644
index 0000000000..4a5e4b04b0
--- /dev/null
+++ b/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/scripts/ai/others/CastleSideEffect.java
@@ -0,0 +1,69 @@
+/*
+ * 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 ai.others;
+
+import org.l2jmobius.gameserver.instancemanager.CastleManager;
+import org.l2jmobius.gameserver.model.actor.Creature;
+import org.l2jmobius.gameserver.model.entity.Castle;
+import org.l2jmobius.gameserver.model.zone.ZoneType;
+import org.l2jmobius.gameserver.network.serverpackets.ExCastleState;
+
+import ai.AbstractNpcAI;
+
+/**
+ * Shows castle side effect in cities.
+ * @author Gigi
+ * @date 2019-05-14 - [12:47:33]
+ */
+public class CastleSideEffect extends AbstractNpcAI
+{
+ private static final int[] ZONE_ID =
+ {
+ 11020, // Giran
+ 11027, // Gludio
+ 11028, // Dion
+ 11029, // Oren
+ 11031, // aden
+ 11032, // Goddard
+ 11033, // Rune
+ 11034, // Heine
+ 11035, // Shuttgard
+ };
+
+ public CastleSideEffect()
+ {
+ addEnterZoneId(ZONE_ID);
+ }
+
+ @Override
+ public String onEnterZone(Creature character, ZoneType zone)
+ {
+ if (character.isPlayer())
+ {
+ for (Castle castle : CastleManager.getInstance().getCastles())
+ {
+ character.sendPacket(new ExCastleState(castle));
+ }
+ }
+ return super.onEnterZone(character, zone);
+ }
+
+ public static void main(String[] args)
+ {
+ new CastleSideEffect();
+ }
+}
\ No newline at end of file
diff --git a/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/network/clientpackets/EnterWorld.java b/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/network/clientpackets/EnterWorld.java
index 1352bfc431..40a0375dd2 100644
--- a/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/network/clientpackets/EnterWorld.java
+++ b/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/network/clientpackets/EnterWorld.java
@@ -45,7 +45,6 @@ import org.l2jmobius.gameserver.model.World;
import org.l2jmobius.gameserver.model.WorldObject;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
import org.l2jmobius.gameserver.model.clan.Clan;
-import org.l2jmobius.gameserver.model.entity.Castle;
import org.l2jmobius.gameserver.model.entity.ClanHall;
import org.l2jmobius.gameserver.model.entity.Fort;
import org.l2jmobius.gameserver.model.entity.FortSiege;
@@ -69,7 +68,6 @@ import org.l2jmobius.gameserver.network.serverpackets.ExAdenaInvenCount;
import org.l2jmobius.gameserver.network.serverpackets.ExAutoSoulShot;
import org.l2jmobius.gameserver.network.serverpackets.ExBasicActionList;
import org.l2jmobius.gameserver.network.serverpackets.ExBeautyItemList;
-import org.l2jmobius.gameserver.network.serverpackets.ExCastleState;
import org.l2jmobius.gameserver.network.serverpackets.ExGetBookMarkInfoPacket;
import org.l2jmobius.gameserver.network.serverpackets.ExNoticePostArrived;
import org.l2jmobius.gameserver.network.serverpackets.ExNotifyPremiumItem;
@@ -347,12 +345,6 @@ public class EnterWorld implements IClientIncomingPacket
// Send blank skill list
player.sendPacket(new SkillList());
- // Send castle state.
- for (Castle castle : CastleManager.getInstance().getCastles())
- {
- player.sendPacket(new ExCastleState(castle));
- }
-
// Send GG check
// player.queryGameGuard();
diff --git a/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/scripts/ai/others/CastleSideEffect.java b/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/scripts/ai/others/CastleSideEffect.java
new file mode 100644
index 0000000000..4a5e4b04b0
--- /dev/null
+++ b/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/scripts/ai/others/CastleSideEffect.java
@@ -0,0 +1,69 @@
+/*
+ * 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 ai.others;
+
+import org.l2jmobius.gameserver.instancemanager.CastleManager;
+import org.l2jmobius.gameserver.model.actor.Creature;
+import org.l2jmobius.gameserver.model.entity.Castle;
+import org.l2jmobius.gameserver.model.zone.ZoneType;
+import org.l2jmobius.gameserver.network.serverpackets.ExCastleState;
+
+import ai.AbstractNpcAI;
+
+/**
+ * Shows castle side effect in cities.
+ * @author Gigi
+ * @date 2019-05-14 - [12:47:33]
+ */
+public class CastleSideEffect extends AbstractNpcAI
+{
+ private static final int[] ZONE_ID =
+ {
+ 11020, // Giran
+ 11027, // Gludio
+ 11028, // Dion
+ 11029, // Oren
+ 11031, // aden
+ 11032, // Goddard
+ 11033, // Rune
+ 11034, // Heine
+ 11035, // Shuttgard
+ };
+
+ public CastleSideEffect()
+ {
+ addEnterZoneId(ZONE_ID);
+ }
+
+ @Override
+ public String onEnterZone(Creature character, ZoneType zone)
+ {
+ if (character.isPlayer())
+ {
+ for (Castle castle : CastleManager.getInstance().getCastles())
+ {
+ character.sendPacket(new ExCastleState(castle));
+ }
+ }
+ return super.onEnterZone(character, zone);
+ }
+
+ public static void main(String[] args)
+ {
+ new CastleSideEffect();
+ }
+}
\ No newline at end of file
diff --git a/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/network/clientpackets/EnterWorld.java b/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/network/clientpackets/EnterWorld.java
index 1352bfc431..40a0375dd2 100644
--- a/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/network/clientpackets/EnterWorld.java
+++ b/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/network/clientpackets/EnterWorld.java
@@ -45,7 +45,6 @@ import org.l2jmobius.gameserver.model.World;
import org.l2jmobius.gameserver.model.WorldObject;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
import org.l2jmobius.gameserver.model.clan.Clan;
-import org.l2jmobius.gameserver.model.entity.Castle;
import org.l2jmobius.gameserver.model.entity.ClanHall;
import org.l2jmobius.gameserver.model.entity.Fort;
import org.l2jmobius.gameserver.model.entity.FortSiege;
@@ -69,7 +68,6 @@ import org.l2jmobius.gameserver.network.serverpackets.ExAdenaInvenCount;
import org.l2jmobius.gameserver.network.serverpackets.ExAutoSoulShot;
import org.l2jmobius.gameserver.network.serverpackets.ExBasicActionList;
import org.l2jmobius.gameserver.network.serverpackets.ExBeautyItemList;
-import org.l2jmobius.gameserver.network.serverpackets.ExCastleState;
import org.l2jmobius.gameserver.network.serverpackets.ExGetBookMarkInfoPacket;
import org.l2jmobius.gameserver.network.serverpackets.ExNoticePostArrived;
import org.l2jmobius.gameserver.network.serverpackets.ExNotifyPremiumItem;
@@ -347,12 +345,6 @@ public class EnterWorld implements IClientIncomingPacket
// Send blank skill list
player.sendPacket(new SkillList());
- // Send castle state.
- for (Castle castle : CastleManager.getInstance().getCastles())
- {
- player.sendPacket(new ExCastleState(castle));
- }
-
// Send GG check
// player.queryGameGuard();