Captain Eilis Ein:
+Would you like to help me? Or did you just pass by? If so, then do not distract me. Do you understand? I hate those who distract me from trifles.
+Well? Why are you here?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/html/default/34019.htm b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/html/default/34019.htm
new file mode 100644
index 0000000000..a870f93716
--- /dev/null
+++ b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/html/default/34019.htm
@@ -0,0 +1,5 @@
+Fethin:
+Look at this beautiful and tranquil sea ... It's even hard to imagine that the Devil's Island is very near, where Zaken has built his base.
+The ruined bridge is behind me, used to lead to this island ... The locals were afraid that the pirates would start using it, therefore they destroyed ...
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/quests/MissingQuests.txt b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/quests/MissingQuests.txt
index 2dd5e4b18b..83055e61f4 100644
--- a/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/quests/MissingQuests.txt
+++ b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/quests/MissingQuests.txt
@@ -13,7 +13,6 @@
10863 Monster Arena - New Challenge: 15 battles
10864 Monster Arena - Brave Warrior: 25 battles
10865 Monster Arena - Last Call: 40 battles
-10866 Punitive Operation on the Devil's Isle
10867 Gone Missing
10868 The Dark Side of Power
10870 Unfinished Device
diff --git a/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/quests/Q10866_PunitiveOperationOnTheDevilIsle/30756-01.htm b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/quests/Q10866_PunitiveOperationOnTheDevilIsle/30756-01.htm
new file mode 100644
index 0000000000..bb9b991e81
--- /dev/null
+++ b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/quests/Q10866_PunitiveOperationOnTheDevilIsle/30756-01.htm
@@ -0,0 +1,4 @@
+Sir Christophe Rodemai:
+On Devil's Island, something bad is planned, so the defenders of Giran are looking for travelers who will help them deal with this problem.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/quests/Q10866_PunitiveOperationOnTheDevilIsle/30756-02.htm b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/quests/Q10866_PunitiveOperationOnTheDevilIsle/30756-02.htm
new file mode 100644
index 0000000000..83786b2bf9
--- /dev/null
+++ b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/quests/Q10866_PunitiveOperationOnTheDevilIsle/30756-02.htm
@@ -0,0 +1,3 @@
+Sir Christophe Rodemai:
+Go to the commander of a detachment of defenders named Aygis Ain to get the assignment. Aigis Ain is in the Guild of Warriors of Giran.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/quests/Q10866_PunitiveOperationOnTheDevilIsle/34017-01.html b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/quests/Q10866_PunitiveOperationOnTheDevilIsle/34017-01.html
new file mode 100644
index 0000000000..3e7dc1d70f
--- /dev/null
+++ b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/quests/Q10866_PunitiveOperationOnTheDevilIsle/34017-01.html
@@ -0,0 +1,4 @@
+Captain Eilis Ein:
+You are instructed to find out the whereabouts of Zaken, the King of Pirates, who secretly rules the Island of the Devil. Soon you will have to go to this island. But first you need to find Agent Fethin Devil's Island in Giran Harbor, give him a letter with an order and listen to instructions.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/quests/Q10866_PunitiveOperationOnTheDevilIsle/34017-02.html b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/quests/Q10866_PunitiveOperationOnTheDevilIsle/34017-02.html
new file mode 100644
index 0000000000..6173b39468
--- /dev/null
+++ b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/quests/Q10866_PunitiveOperationOnTheDevilIsle/34017-02.html
@@ -0,0 +1,3 @@
+Captain Eilis Ein:
+Find the Agent of the Fethin Devil Island in Giran Harbor.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/quests/Q10866_PunitiveOperationOnTheDevilIsle/34019-01.html b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/quests/Q10866_PunitiveOperationOnTheDevilIsle/34019-01.html
new file mode 100644
index 0000000000..efbcea0f25
--- /dev/null
+++ b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/quests/Q10866_PunitiveOperationOnTheDevilIsle/34019-01.html
@@ -0,0 +1,4 @@
+Fethkhin:
+You need to go to the island of pirates and the path to it lies through the Pirate Tunnel, on the other side of which you need to meet with the Devil's Island Agent Nikia.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/quests/Q10866_PunitiveOperationOnTheDevilIsle/34019-02.html b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/quests/Q10866_PunitiveOperationOnTheDevilIsle/34019-02.html
new file mode 100644
index 0000000000..0c15ed8af4
--- /dev/null
+++ b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/quests/Q10866_PunitiveOperationOnTheDevilIsle/34019-02.html
@@ -0,0 +1,3 @@
+Fethkhin:
+Meet the Agent of the Devil's Island Nikia.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/quests/Q10866_PunitiveOperationOnTheDevilIsle/34020-01.html b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/quests/Q10866_PunitiveOperationOnTheDevilIsle/34020-01.html
new file mode 100644
index 0000000000..83c68b4d0c
--- /dev/null
+++ b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/quests/Q10866_PunitiveOperationOnTheDevilIsle/34020-01.html
@@ -0,0 +1,4 @@
+Nikia:
+You have made it all the same! It's good, let's write.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/quests/Q10866_PunitiveOperationOnTheDevilIsle/34020-02.html b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/quests/Q10866_PunitiveOperationOnTheDevilIsle/34020-02.html
new file mode 100644
index 0000000000..9167871e1b
--- /dev/null
+++ b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/quests/Q10866_PunitiveOperationOnTheDevilIsle/34020-02.html
@@ -0,0 +1,3 @@
+Nikia:
+Thank you, you may keep the reward.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/quests/Q10866_PunitiveOperationOnTheDevilIsle/Q10866_PunitiveOperationOnTheDevilIsle.java b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/quests/Q10866_PunitiveOperationOnTheDevilIsle/Q10866_PunitiveOperationOnTheDevilIsle.java
new file mode 100644
index 0000000000..8fe1c79717
--- /dev/null
+++ b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/quests/Q10866_PunitiveOperationOnTheDevilIsle/Q10866_PunitiveOperationOnTheDevilIsle.java
@@ -0,0 +1,163 @@
+/*
+ * 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 quests.Q10866_PunitiveOperationOnTheDevilIsle;
+
+import com.l2jmobius.gameserver.model.actor.L2Npc;
+import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
+import com.l2jmobius.gameserver.model.quest.Quest;
+import com.l2jmobius.gameserver.model.quest.QuestState;
+import com.l2jmobius.gameserver.network.NpcStringId;
+
+/**
+ * Punitive Operation on the Devil Isle (10866)
+ * @author Stayway
+ */
+public final class Q10866_PunitiveOperationOnTheDevilIsle extends Quest
+{
+ // NPCs
+ private static final int RODEMAI = 30756;
+ private static final int EIN = 34017;
+ private static final int FETHIN = 34019;
+ private static final int NIKIA = 34020;
+ // Misc
+ private static final int MIN_LEVEL = 70;
+
+ public Q10866_PunitiveOperationOnTheDevilIsle()
+ {
+ super(10866);
+ addStartNpc(RODEMAI);
+ addTalkId(RODEMAI, EIN, FETHIN, NIKIA);
+ setQuestNameNpcStringId(NpcStringId.LV_70_PUNITIVE_OPERATION_ON_THE_DEVIL_S_ISLE);
+ }
+
+ @Override
+ public boolean checkPartyMember(L2PcInstance member, L2Npc npc)
+ {
+ final QuestState qs = getQuestState(member, false);
+ return ((qs != null) && qs.isStarted());
+ }
+
+ @Override
+ public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
+ {
+ final QuestState qs = getQuestState(player, false);
+ if (qs == null)
+ {
+ return null;
+ }
+
+ String htmltext = null;
+ switch (event)
+ {
+ case "30756-02.htm":
+ {
+ qs.startQuest();
+ htmltext = event;
+ break;
+ }
+ case "34017-02.html":
+ {
+ qs.setCond(2, true);
+ htmltext = event;
+ break;
+ }
+ case "34019-02.html":
+ {
+ qs.setCond(3, true);
+ htmltext = event;
+ break;
+ }
+ case "34020-02.html":
+ {
+ if (qs.isStarted())
+ {
+ addExpAndSp(player, 150000, 4500);
+ giveAdena(player, 13136, true);
+ qs.exitQuest(false, true);
+ htmltext = event;
+ }
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onTalk(L2Npc npc, L2PcInstance player)
+ {
+ final QuestState qs = getQuestState(player, true);
+ String htmltext = getNoQuestMsg(player);
+ if (qs.isCreated())
+ {
+ htmltext = (player.getLevel() >= MIN_LEVEL) ? "30756-01.htm" : "no_lvl.html";
+ }
+ else if (qs.isStarted())
+ {
+ switch (npc.getId())
+ {
+ case RODEMAI:
+ {
+ if (qs.isCond(1))
+ {
+ htmltext = "30756-02.html";
+ }
+ break;
+ }
+ case EIN:
+ {
+ if (qs.isCond(1))
+ {
+ htmltext = "34017-01.html";
+ }
+ else if (qs.isCond(2))
+ {
+ htmltext = "34017-02.html";
+ }
+ break;
+ }
+ case FETHIN:
+ {
+ if (qs.isCond(2))
+ {
+ htmltext = "34019-01.html";
+ }
+ else if (qs.isCond(3))
+ {
+ htmltext = "34019-02.html";
+ }
+ break;
+ }
+ case NIKIA:
+ {
+ if (qs.isCond(3))
+ {
+ htmltext = "34020-01.html";
+ }
+ break;
+ }
+ }
+ }
+ else if (qs.isCompleted())
+ {
+ if (npc.getId() == RODEMAI)
+ {
+ htmltext = getAlreadyCompletedMsg(player);
+ }
+ }
+ return htmltext;
+ }
+}
\ No newline at end of file
diff --git a/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/quests/Q10866_PunitiveOperationOnTheDevilIsle/no_lvl.html b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/quests/Q10866_PunitiveOperationOnTheDevilIsle/no_lvl.html
new file mode 100644
index 0000000000..a1d69325a2
--- /dev/null
+++ b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/quests/Q10866_PunitiveOperationOnTheDevilIsle/no_lvl.html
@@ -0,0 +1,3 @@
+Sir Christophe Rodemai:
+You do not meet the requirements of the quest (Quest is only available to 70+ levels).
+
\ No newline at end of file
diff --git a/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/quests/QuestMasterHandler.java b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/quests/QuestMasterHandler.java
index e5f4f117cf..79f722fcc1 100644
--- a/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/quests/QuestMasterHandler.java
+++ b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/quests/QuestMasterHandler.java
@@ -147,6 +147,7 @@ import quests.Q00418_PathOfTheArtisan.Q00418_PathOfTheArtisan;
import quests.Q00662_AGameOfCards.Q00662_AGameOfCards;
import quests.Q00933_ExploringTheWestWingOfTheDungeonOfAbyss.Q00933_ExploringTheWestWingOfTheDungeonOfAbyss;
import quests.Q00935_ExploringTheEastWingOfTheDungeonOfAbyss.Q00935_ExploringTheEastWingOfTheDungeonOfAbyss;
+import quests.Q10866_PunitiveOperationOnTheDevilIsle.Q10866_PunitiveOperationOnTheDevilIsle;
import quests.Q10993_FutureDwarves.Q10993_FutureDwarves;
import quests.Q10994_FutureOrcs.Q10994_FutureOrcs;
import quests.Q10995_MutualBenefit.Q10995_MutualBenefit;
@@ -316,6 +317,7 @@ public class QuestMasterHandler
Q00662_AGameOfCards.class,
Q00933_ExploringTheWestWingOfTheDungeonOfAbyss.class,
Q00935_ExploringTheEastWingOfTheDungeonOfAbyss.class,
+ Q10866_PunitiveOperationOnTheDevilIsle.class,
Q10993_FutureDwarves.class,
Q10994_FutureOrcs.class,
Q10995_MutualBenefit.class,
diff --git a/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/spawns/Giran/Giran.xml b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/spawns/Giran/Giran.xml
index cd3140b20d..4d084650d7 100644
--- a/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/spawns/Giran/Giran.xml
+++ b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/spawns/Giran/Giran.xml
@@ -86,6 +86,7 @@
+
diff --git a/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/spawns/Others/21_23.xml b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/spawns/Giran/GiranHarbour.xml
similarity index 74%
rename from L2J_Mobius_Classic_2.1_Zaken/dist/game/data/spawns/Others/21_23.xml
rename to L2J_Mobius_Classic_2.1_Zaken/dist/game/data/spawns/Giran/GiranHarbour.xml
index 8caad60412..5b4adfcbdf 100644
--- a/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/spawns/Others/21_23.xml
+++ b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/spawns/Giran/GiranHarbour.xml
@@ -1,9 +1,10 @@
-
+
+
diff --git a/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/stats/npcs/34000-34099.xml b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/stats/npcs/34000-34099.xml
index fef0b2f226..dbe218230b 100644
--- a/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/stats/npcs/34000-34099.xml
+++ b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/stats/npcs/34000-34099.xml
@@ -50,6 +50,23 @@
+
+
+ HUMAN
+ FEMALE
+
+
+
+
+
+
+
+
+
+
+
+
+ HUMAN
diff --git a/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/html/default/34017.htm b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/html/default/34017.htm
new file mode 100644
index 0000000000..c4aeedf0f0
--- /dev/null
+++ b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/html/default/34017.htm
@@ -0,0 +1,5 @@
+Captain Eilis Ein:
+Would you like to help me? Or did you just pass by? If so, then do not distract me. Do you understand? I hate those who distract me from trifles.
+Well? Why are you here?
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/html/default/34019.htm b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/html/default/34019.htm
new file mode 100644
index 0000000000..a870f93716
--- /dev/null
+++ b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/html/default/34019.htm
@@ -0,0 +1,5 @@
+Fethin:
+Look at this beautiful and tranquil sea ... It's even hard to imagine that the Devil's Island is very near, where Zaken has built his base.
+The ruined bridge is behind me, used to lead to this island ... The locals were afraid that the pirates would start using it, therefore they destroyed ...
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/quests/MissingQuests.txt b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/quests/MissingQuests.txt
index 66fc397269..ca2cab9be3 100644
--- a/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/quests/MissingQuests.txt
+++ b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/quests/MissingQuests.txt
@@ -12,7 +12,6 @@
10863 Monster Arena - New Challenge: 15 battles
10864 Monster Arena - Brave Warrior: 25 battles
10865 Monster Arena - Last Call: 40 battles
-10866 Punitive Operation on the Devil's Isle
10867 Gone Missing
10868 The Dark Side of Power
10870 Unfinished Device
diff --git a/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/quests/Q10866_PunitiveOperationOnTheDevilIsle/30756-01.htm b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/quests/Q10866_PunitiveOperationOnTheDevilIsle/30756-01.htm
new file mode 100644
index 0000000000..bb9b991e81
--- /dev/null
+++ b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/quests/Q10866_PunitiveOperationOnTheDevilIsle/30756-01.htm
@@ -0,0 +1,4 @@
+Sir Christophe Rodemai:
+On Devil's Island, something bad is planned, so the defenders of Giran are looking for travelers who will help them deal with this problem.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/quests/Q10866_PunitiveOperationOnTheDevilIsle/30756-02.htm b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/quests/Q10866_PunitiveOperationOnTheDevilIsle/30756-02.htm
new file mode 100644
index 0000000000..83786b2bf9
--- /dev/null
+++ b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/quests/Q10866_PunitiveOperationOnTheDevilIsle/30756-02.htm
@@ -0,0 +1,3 @@
+Sir Christophe Rodemai:
+Go to the commander of a detachment of defenders named Aygis Ain to get the assignment. Aigis Ain is in the Guild of Warriors of Giran.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/quests/Q10866_PunitiveOperationOnTheDevilIsle/34017-01.html b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/quests/Q10866_PunitiveOperationOnTheDevilIsle/34017-01.html
new file mode 100644
index 0000000000..3e7dc1d70f
--- /dev/null
+++ b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/quests/Q10866_PunitiveOperationOnTheDevilIsle/34017-01.html
@@ -0,0 +1,4 @@
+Captain Eilis Ein:
+You are instructed to find out the whereabouts of Zaken, the King of Pirates, who secretly rules the Island of the Devil. Soon you will have to go to this island. But first you need to find Agent Fethin Devil's Island in Giran Harbor, give him a letter with an order and listen to instructions.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/quests/Q10866_PunitiveOperationOnTheDevilIsle/34017-02.html b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/quests/Q10866_PunitiveOperationOnTheDevilIsle/34017-02.html
new file mode 100644
index 0000000000..6173b39468
--- /dev/null
+++ b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/quests/Q10866_PunitiveOperationOnTheDevilIsle/34017-02.html
@@ -0,0 +1,3 @@
+Captain Eilis Ein:
+Find the Agent of the Fethin Devil Island in Giran Harbor.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/quests/Q10866_PunitiveOperationOnTheDevilIsle/34019-01.html b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/quests/Q10866_PunitiveOperationOnTheDevilIsle/34019-01.html
new file mode 100644
index 0000000000..efbcea0f25
--- /dev/null
+++ b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/quests/Q10866_PunitiveOperationOnTheDevilIsle/34019-01.html
@@ -0,0 +1,4 @@
+Fethkhin:
+You need to go to the island of pirates and the path to it lies through the Pirate Tunnel, on the other side of which you need to meet with the Devil's Island Agent Nikia.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/quests/Q10866_PunitiveOperationOnTheDevilIsle/34019-02.html b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/quests/Q10866_PunitiveOperationOnTheDevilIsle/34019-02.html
new file mode 100644
index 0000000000..0c15ed8af4
--- /dev/null
+++ b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/quests/Q10866_PunitiveOperationOnTheDevilIsle/34019-02.html
@@ -0,0 +1,3 @@
+Fethkhin:
+Meet the Agent of the Devil's Island Nikia.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/quests/Q10866_PunitiveOperationOnTheDevilIsle/34020-01.html b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/quests/Q10866_PunitiveOperationOnTheDevilIsle/34020-01.html
new file mode 100644
index 0000000000..83c68b4d0c
--- /dev/null
+++ b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/quests/Q10866_PunitiveOperationOnTheDevilIsle/34020-01.html
@@ -0,0 +1,4 @@
+Nikia:
+You have made it all the same! It's good, let's write.
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/quests/Q10866_PunitiveOperationOnTheDevilIsle/34020-02.html b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/quests/Q10866_PunitiveOperationOnTheDevilIsle/34020-02.html
new file mode 100644
index 0000000000..9167871e1b
--- /dev/null
+++ b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/quests/Q10866_PunitiveOperationOnTheDevilIsle/34020-02.html
@@ -0,0 +1,3 @@
+Nikia:
+Thank you, you may keep the reward.
+
\ No newline at end of file
diff --git a/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/quests/Q10866_PunitiveOperationOnTheDevilIsle/Q10866_PunitiveOperationOnTheDevilIsle.java b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/quests/Q10866_PunitiveOperationOnTheDevilIsle/Q10866_PunitiveOperationOnTheDevilIsle.java
new file mode 100644
index 0000000000..8fe1c79717
--- /dev/null
+++ b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/quests/Q10866_PunitiveOperationOnTheDevilIsle/Q10866_PunitiveOperationOnTheDevilIsle.java
@@ -0,0 +1,163 @@
+/*
+ * 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 quests.Q10866_PunitiveOperationOnTheDevilIsle;
+
+import com.l2jmobius.gameserver.model.actor.L2Npc;
+import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
+import com.l2jmobius.gameserver.model.quest.Quest;
+import com.l2jmobius.gameserver.model.quest.QuestState;
+import com.l2jmobius.gameserver.network.NpcStringId;
+
+/**
+ * Punitive Operation on the Devil Isle (10866)
+ * @author Stayway
+ */
+public final class Q10866_PunitiveOperationOnTheDevilIsle extends Quest
+{
+ // NPCs
+ private static final int RODEMAI = 30756;
+ private static final int EIN = 34017;
+ private static final int FETHIN = 34019;
+ private static final int NIKIA = 34020;
+ // Misc
+ private static final int MIN_LEVEL = 70;
+
+ public Q10866_PunitiveOperationOnTheDevilIsle()
+ {
+ super(10866);
+ addStartNpc(RODEMAI);
+ addTalkId(RODEMAI, EIN, FETHIN, NIKIA);
+ setQuestNameNpcStringId(NpcStringId.LV_70_PUNITIVE_OPERATION_ON_THE_DEVIL_S_ISLE);
+ }
+
+ @Override
+ public boolean checkPartyMember(L2PcInstance member, L2Npc npc)
+ {
+ final QuestState qs = getQuestState(member, false);
+ return ((qs != null) && qs.isStarted());
+ }
+
+ @Override
+ public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
+ {
+ final QuestState qs = getQuestState(player, false);
+ if (qs == null)
+ {
+ return null;
+ }
+
+ String htmltext = null;
+ switch (event)
+ {
+ case "30756-02.htm":
+ {
+ qs.startQuest();
+ htmltext = event;
+ break;
+ }
+ case "34017-02.html":
+ {
+ qs.setCond(2, true);
+ htmltext = event;
+ break;
+ }
+ case "34019-02.html":
+ {
+ qs.setCond(3, true);
+ htmltext = event;
+ break;
+ }
+ case "34020-02.html":
+ {
+ if (qs.isStarted())
+ {
+ addExpAndSp(player, 150000, 4500);
+ giveAdena(player, 13136, true);
+ qs.exitQuest(false, true);
+ htmltext = event;
+ }
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onTalk(L2Npc npc, L2PcInstance player)
+ {
+ final QuestState qs = getQuestState(player, true);
+ String htmltext = getNoQuestMsg(player);
+ if (qs.isCreated())
+ {
+ htmltext = (player.getLevel() >= MIN_LEVEL) ? "30756-01.htm" : "no_lvl.html";
+ }
+ else if (qs.isStarted())
+ {
+ switch (npc.getId())
+ {
+ case RODEMAI:
+ {
+ if (qs.isCond(1))
+ {
+ htmltext = "30756-02.html";
+ }
+ break;
+ }
+ case EIN:
+ {
+ if (qs.isCond(1))
+ {
+ htmltext = "34017-01.html";
+ }
+ else if (qs.isCond(2))
+ {
+ htmltext = "34017-02.html";
+ }
+ break;
+ }
+ case FETHIN:
+ {
+ if (qs.isCond(2))
+ {
+ htmltext = "34019-01.html";
+ }
+ else if (qs.isCond(3))
+ {
+ htmltext = "34019-02.html";
+ }
+ break;
+ }
+ case NIKIA:
+ {
+ if (qs.isCond(3))
+ {
+ htmltext = "34020-01.html";
+ }
+ break;
+ }
+ }
+ }
+ else if (qs.isCompleted())
+ {
+ if (npc.getId() == RODEMAI)
+ {
+ htmltext = getAlreadyCompletedMsg(player);
+ }
+ }
+ return htmltext;
+ }
+}
\ No newline at end of file
diff --git a/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/quests/Q10866_PunitiveOperationOnTheDevilIsle/no_lvl.html b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/quests/Q10866_PunitiveOperationOnTheDevilIsle/no_lvl.html
new file mode 100644
index 0000000000..a1d69325a2
--- /dev/null
+++ b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/quests/Q10866_PunitiveOperationOnTheDevilIsle/no_lvl.html
@@ -0,0 +1,3 @@
+Sir Christophe Rodemai:
+You do not meet the requirements of the quest (Quest is only available to 70+ levels).
+
\ No newline at end of file
diff --git a/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/quests/QuestMasterHandler.java b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/quests/QuestMasterHandler.java
index e5f4f117cf..79f722fcc1 100644
--- a/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/quests/QuestMasterHandler.java
+++ b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/quests/QuestMasterHandler.java
@@ -147,6 +147,7 @@ import quests.Q00418_PathOfTheArtisan.Q00418_PathOfTheArtisan;
import quests.Q00662_AGameOfCards.Q00662_AGameOfCards;
import quests.Q00933_ExploringTheWestWingOfTheDungeonOfAbyss.Q00933_ExploringTheWestWingOfTheDungeonOfAbyss;
import quests.Q00935_ExploringTheEastWingOfTheDungeonOfAbyss.Q00935_ExploringTheEastWingOfTheDungeonOfAbyss;
+import quests.Q10866_PunitiveOperationOnTheDevilIsle.Q10866_PunitiveOperationOnTheDevilIsle;
import quests.Q10993_FutureDwarves.Q10993_FutureDwarves;
import quests.Q10994_FutureOrcs.Q10994_FutureOrcs;
import quests.Q10995_MutualBenefit.Q10995_MutualBenefit;
@@ -316,6 +317,7 @@ public class QuestMasterHandler
Q00662_AGameOfCards.class,
Q00933_ExploringTheWestWingOfTheDungeonOfAbyss.class,
Q00935_ExploringTheEastWingOfTheDungeonOfAbyss.class,
+ Q10866_PunitiveOperationOnTheDevilIsle.class,
Q10993_FutureDwarves.class,
Q10994_FutureOrcs.class,
Q10995_MutualBenefit.class,
diff --git a/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/spawns/Giran/Giran.xml b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/spawns/Giran/Giran.xml
index d9df5b1600..02b6c4028f 100644
--- a/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/spawns/Giran/Giran.xml
+++ b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/spawns/Giran/Giran.xml
@@ -87,6 +87,7 @@
+
diff --git a/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/spawns/Others/21_23.xml b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/spawns/Giran/GiranHarbour.xml
similarity index 74%
rename from L2J_Mobius_Classic_2.2_Antharas/dist/game/data/spawns/Others/21_23.xml
rename to L2J_Mobius_Classic_2.2_Antharas/dist/game/data/spawns/Giran/GiranHarbour.xml
index 8caad60412..5b4adfcbdf 100644
--- a/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/spawns/Others/21_23.xml
+++ b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/spawns/Giran/GiranHarbour.xml
@@ -1,9 +1,10 @@
-
+
+
diff --git a/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/stats/npcs/34000-34099.xml b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/stats/npcs/34000-34099.xml
index 9e7df168d8..643946bba6 100644
--- a/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/stats/npcs/34000-34099.xml
+++ b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/stats/npcs/34000-34099.xml
@@ -50,6 +50,23 @@
+
+
+ HUMAN
+ FEMALE
+
+
+
+
+
+
+
+
+
+
+
+
+ HUMAN