diff --git a/trunk/dist/game/data/scripts/instances/KartiasLabyrinth/KartiasLabyrinth.java b/trunk/dist/game/data/scripts/instances/KartiasLabyrinth/KartiasLabyrinth.java
index 61dece3420..f5d067a318 100644
--- a/trunk/dist/game/data/scripts/instances/KartiasLabyrinth/KartiasLabyrinth.java
+++ b/trunk/dist/game/data/scripts/instances/KartiasLabyrinth/KartiasLabyrinth.java
@@ -31,11 +31,19 @@ import com.l2jmobius.gameserver.model.events.impl.character.OnCreatureDeath;
import com.l2jmobius.gameserver.model.events.impl.character.OnCreatureSee;
import com.l2jmobius.gameserver.model.holders.SkillHolder;
import com.l2jmobius.gameserver.model.instancezone.Instance;
+import com.l2jmobius.gameserver.model.quest.QuestState;
+import com.l2jmobius.gameserver.model.quest.State;
import com.l2jmobius.gameserver.model.zone.L2ZoneType;
import com.l2jmobius.gameserver.network.NpcStringId;
import com.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage;
import instances.AbstractInstance;
+import quests.Q00494_IncarnationOfGreedZellakaGroup.Q00494_IncarnationOfGreedZellakaGroup;
+import quests.Q00495_IncarnationOfJealousyPellineGroup.Q00495_IncarnationOfJealousyPellineGroup;
+import quests.Q00496_IncarnationOfGluttonyKaliosGroup.Q00496_IncarnationOfGluttonyKaliosGroup;
+import quests.Q00497_IncarnationOfGreedZellakaSolo.Q00497_IncarnationOfGreedZellakaSolo;
+import quests.Q00498_IncarnationOfJealousyPellineSolo.Q00498_IncarnationOfJealousyPellineSolo;
+import quests.Q00499_IncarnationOfGluttonyKaliosSolo.Q00499_IncarnationOfGluttonyKaliosSolo;
/**
* Kartia Labyrinth instance zone.
@@ -319,7 +327,7 @@ public final class KartiasLabyrinth extends AbstractInstance
instance.openCloseDoor(instance.getTemplateParameters().getInt("thirdDoorId"), true);
instance.setStatus(3); // Used for notify helper's AI
}
- else if (param.getBoolean("CONTINUE_AFTER_KILL", false) && instance.getAliveNpcs(MONSTERS).isEmpty())
+ else if (param.getBoolean("CONTINUE_AFTER_KILL", false) && (instance.getAliveNpcs(MONSTERS).size() <= 1))
{
param.set("CONTINUE_AFTER_KILL", false);
getTimers().addTimer("CALL_PROGRESS", 5000, n -> manageProgressInInstance(instance));
@@ -347,6 +355,69 @@ public final class KartiasLabyrinth extends AbstractInstance
addExpAndSp(player, (xp + getRandom(xp_rnd)), (sp + getRandom(sp_rnd)));
});
}
+
+ // Check Instance Quests.
+ instance.getPlayers().forEach(player ->
+ {
+ switch (instance.getTemplateId())
+ {
+ case TEMPLATE_ID_SOLO_85:
+ {
+ final QuestState qs = player.getQuestState(Q00497_IncarnationOfGreedZellakaSolo.class.getSimpleName());
+ if ((qs != null) && (qs.getState() == State.STARTED) && qs.isCond(1))
+ {
+ qs.setCond(2, true);
+ }
+ break;
+ }
+ case TEMPLATE_ID_SOLO_90:
+ {
+ final QuestState qs = player.getQuestState(Q00498_IncarnationOfJealousyPellineSolo.class.getSimpleName());
+ if ((qs != null) && (qs.getState() == State.STARTED) && qs.isCond(1))
+ {
+ qs.setCond(2, true);
+ }
+ break;
+ }
+ case TEMPLATE_ID_SOLO_95:
+ {
+ final QuestState qs = player.getQuestState(Q00499_IncarnationOfGluttonyKaliosSolo.class.getSimpleName());
+ if ((qs != null) && (qs.getState() == State.STARTED) && qs.isCond(1))
+ {
+ qs.setCond(2, true);
+ }
+ break;
+ }
+ case TEMPLATE_ID_GROUP_85:
+ {
+ final QuestState qs = player.getQuestState(Q00494_IncarnationOfGreedZellakaGroup.class.getSimpleName());
+ if ((qs != null) && (qs.getState() == State.STARTED) && qs.isCond(1))
+ {
+ qs.setCond(2, true);
+ }
+ break;
+ }
+ case TEMPLATE_ID_GROUP_90:
+ {
+ final QuestState qs = player.getQuestState(Q00495_IncarnationOfJealousyPellineGroup.class.getSimpleName());
+ if ((qs != null) && (qs.getState() == State.STARTED) && qs.isCond(1))
+ {
+ qs.setCond(2, true);
+ }
+ break;
+ }
+ case TEMPLATE_ID_GROUP_95:
+ {
+ final QuestState qs = player.getQuestState(Q00496_IncarnationOfGluttonyKaliosGroup.class.getSimpleName());
+ if ((qs != null) && (qs.getState() == State.STARTED) && qs.isCond(1))
+ {
+ qs.setCond(2, true);
+ }
+ break;
+ }
+ }
+ });
+
instance.finishInstance();
}
}
@@ -544,61 +615,78 @@ public final class KartiasLabyrinth extends AbstractInstance
switch (wave)
{
case 1:
+ {
showOnScreenMsg(instance, NpcStringId.STAGE_S1, ExShowScreenMessage.TOP_CENTER, 5000, true, Integer.toString(stage));
moveMonsters(instance.spawnGroup("ROOM1_STAGE1_WAVE1"));
param.set("WAVE", 2);
getTimers().addTimer("NEXT_WAVE_DELAY", 30000, n -> manageProgressInInstance(instance));
break;
+ }
case 2:
+ {
moveMonsters(instance.spawnGroup("ROOM1_STAGE1_WAVE2"));
param.set("WAVE", 3);
getTimers().addTimer("NEXT_WAVE_DELAY", 30000, n -> manageProgressInInstance(instance));
break;
+ }
case 3:
+ {
moveMonsters(instance.spawnGroup("ROOM1_STAGE1_WAVE3"));
param.set("WAVE", 1);
param.set("STAGE", 2);
param.set("CONTINUE_AFTER_KILL", true);
break;
+ }
}
break;
case 2:
switch (wave)
{
case 1:
+ {
showOnScreenMsg(instance, NpcStringId.STAGE_S1, ExShowScreenMessage.TOP_CENTER, 5000, true, Integer.toString(stage));
moveMonsters(instance.spawnGroup("ROOM1_STAGE2_WAVE1"));
param.set("WAVE", 2);
getTimers().addTimer("NEXT_WAVE_DELAY", 30000, n -> manageProgressInInstance(instance));
break;
+ }
case 2:
+ {
moveMonsters(instance.spawnGroup("ROOM1_STAGE2_WAVE2"));
param.set("WAVE", 3);
getTimers().addTimer("NEXT_WAVE_DELAY", 30000, n -> manageProgressInInstance(instance));
break;
+ }
case 3:
+ {
moveMonsters(instance.spawnGroup("ROOM1_STAGE2_WAVE3"));
param.set("WAVE", 1);
param.set("STAGE", 3);
param.set("CONTINUE_AFTER_KILL", true);
break;
+ }
}
break;
case 3:
switch (wave)
{
case 1:
+ {
showOnScreenMsg(instance, NpcStringId.STAGE_S1, ExShowScreenMessage.TOP_CENTER, 5000, true, Integer.toString(stage));
moveMonsters(instance.spawnGroup("ROOM1_STAGE3_WAVE1"));
param.set("WAVE", 2);
getTimers().addTimer("NEXT_WAVE_DELAY", 30000, n -> manageProgressInInstance(instance));
break;
+ }
case 2:
+ {
moveMonsters(instance.spawnGroup("ROOM1_STAGE3_WAVE2"));
param.set("WAVE", 3);
getTimers().addTimer("NEXT_WAVE_DELAY", 30000, n -> manageProgressInInstance(instance));
break;
+ }
case 3:
+ {
moveMonsters(instance.spawnGroup("ROOM1_STAGE3_WAVE3"));
if (isSoloKartia(instance))
{
@@ -624,7 +712,9 @@ public final class KartiasLabyrinth extends AbstractInstance
}
param.set("CONTINUE_AFTER_KILL", true);
break;
+ }
case 4:
+ {
showOnScreenMsg(instance, NpcStringId.THE_LIFE_PLUNDERER_S_TRUE_FORM_IS_REVEALED, ExShowScreenMessage.TOP_CENTER, 5000, true);
instance.spawnGroup("ROOM1_STAGE3_WAVE4");
instance.getAliveNpcs(BOZ_ENERGY).forEach(npc -> npc.deleteMe());
@@ -633,40 +723,50 @@ public final class KartiasLabyrinth extends AbstractInstance
param.set("STAGE", 1);
param.set("WAVE", 1);
break;
+ }
}
break;
case 4:
switch (wave)
{
case 1:
+ {
showOnScreenMsg(instance, NpcStringId.STAGE_S1, ExShowScreenMessage.TOP_CENTER, 5000, true, Integer.toString(stage));
moveMonsters(instance.spawnGroup("ROOM1_STAGE4_WAVE1"));
param.set("WAVE", 2);
getTimers().addTimer("NEXT_WAVE_DELAY", 30000, n -> manageProgressInInstance(instance));
break;
+ }
case 2:
+ {
moveMonsters(instance.spawnGroup("ROOM1_STAGE4_WAVE2"));
param.set("WAVE", 3);
getTimers().addTimer("NEXT_WAVE_DELAY", 30000, n -> manageProgressInInstance(instance));
break;
+ }
case 3:
+ {
moveMonsters(instance.spawnGroup("ROOM1_STAGE4_WAVE3"));
param.set("WAVE", 1);
param.set("STAGE", 5);
param.set("CONTINUE_AFTER_KILL", true);
break;
+ }
}
break;
case 5:
switch (wave)
{
case 1:
+ {
showOnScreenMsg(instance, NpcStringId.STAGE_S1, ExShowScreenMessage.TOP_CENTER, 5000, true, Integer.toString(stage));
moveMonsters(instance.spawnGroup("ROOM1_STAGE5_WAVE1"));
param.set("WAVE", 2);
getTimers().addTimer("NEXT_WAVE_DELAY", 30000, n -> manageProgressInInstance(instance));
break;
+ }
case 2:
+ {
moveMonsters(instance.spawnGroup("ROOM1_STAGE5_WAVE2"));
param.set("ROOM", 2);
param.set("STAGE", 1);
@@ -686,6 +786,7 @@ public final class KartiasLabyrinth extends AbstractInstance
});
});
break;
+ }
}
break;
}
@@ -708,6 +809,7 @@ public final class KartiasLabyrinth extends AbstractInstance
switch (stage)
{
case 1:
+ {
showOnScreenMsg(instance, NpcStringId.STAGE_S1, ExShowScreenMessage.TOP_CENTER, 5000, true, Integer.toString(stage));
moveMonsters(instance.spawnGroup("ROOM3_STAGE1_WAVE1"));
param.set("STAGE", 2);
@@ -721,13 +823,17 @@ public final class KartiasLabyrinth extends AbstractInstance
addSpawn(instance.getTemplateParameters().getInt("helperSurvivor"), loc, false, 0, false, instance.getId());
}
break;
+ }
case 2:
+ {
showOnScreenMsg(instance, NpcStringId.STAGE_S1, ExShowScreenMessage.TOP_CENTER, 5000, true, Integer.toString(stage));
moveMonsters(instance.spawnGroup("ROOM3_STAGE2_WAVE1"));
param.set("STAGE", 3);
param.set("CONTINUE_AFTER_KILL", true);
break;
+ }
case 3:
+ {
showOnScreenMsg(instance, NpcStringId.STAGE_S1, ExShowScreenMessage.TOP_CENTER, 5000, true, Integer.toString(stage));
moveMonsters(instance.spawnGroup("ROOM3_STAGE3_WAVE1"));
@@ -749,13 +855,17 @@ public final class KartiasLabyrinth extends AbstractInstance
param.set("CONTINUE_AFTER_KILL", true);
}
break;
+ }
case 4:
+ {
showOnScreenMsg(instance, NpcStringId.STAGE_S1, ExShowScreenMessage.TOP_CENTER, 5000, true, Integer.toString(stage));
moveMonsters(instance.spawnGroup("ROOM3_STAGE4_WAVE1"));
param.set("STAGE", 5);
param.set("CONTINUE_AFTER_KILL", true);
break;
+ }
case 5:
+ {
showOnScreenMsg(instance, NpcStringId.STAGE_S1, ExShowScreenMessage.TOP_CENTER, 5000, true, Integer.toString(stage));
moveMonsters(instance.spawnGroup("ROOM3_STAGE4_WAVE1"));
instance.getAliveNpcs(BOSSES).forEach(npc ->
@@ -769,6 +879,7 @@ public final class KartiasLabyrinth extends AbstractInstance
addMoveToDesire(npc, moveTo, 23);
});
break;
+ }
}
}
}
diff --git a/trunk/dist/game/data/scripts/quests/Q00494_IncarnationOfGreedZellakaGroup/33647-00.htm b/trunk/dist/game/data/scripts/quests/Q00494_IncarnationOfGreedZellakaGroup/33647-00.htm
new file mode 100644
index 0000000000..b65cfcbbb3
--- /dev/null
+++ b/trunk/dist/game/data/scripts/quests/Q00494_IncarnationOfGreedZellakaGroup/33647-00.htm
@@ -0,0 +1,4 @@
+
Kartia Researcher:
+Don't waste my time. Strong though you may be, I need someone of a specific caliber for this task.
+(This quest can be undertaken by characters who are Lv. 85 - 89.)
+
\ No newline at end of file
diff --git a/trunk/dist/game/data/scripts/quests/Q00494_IncarnationOfGreedZellakaGroup/33647-00a.html b/trunk/dist/game/data/scripts/quests/Q00494_IncarnationOfGreedZellakaGroup/33647-00a.html
new file mode 100644
index 0000000000..4234024911
--- /dev/null
+++ b/trunk/dist/game/data/scripts/quests/Q00494_IncarnationOfGreedZellakaGroup/33647-00a.html
@@ -0,0 +1,2 @@
+You cannot receive quest rewards as your character's level is lower than the minimum required for the quest.
+
\ No newline at end of file
diff --git a/trunk/dist/game/data/scripts/quests/Q00494_IncarnationOfGreedZellakaGroup/33647-01.htm b/trunk/dist/game/data/scripts/quests/Q00494_IncarnationOfGreedZellakaGroup/33647-01.htm
new file mode 100644
index 0000000000..a1a81dddd8
--- /dev/null
+++ b/trunk/dist/game/data/scripts/quests/Q00494_IncarnationOfGreedZellakaGroup/33647-01.htm
@@ -0,0 +1,5 @@
+Kartia Researcher:
+What a disaster! Shilen has created dimensional fissures everywhere!
+Ever since the Kartia Labyrinth appeared monsters from the dark spirit realm have crossed over to our material plane. If we can't find a way to stop them, I'm afraid we're finished.
+
+
\ No newline at end of file
diff --git a/trunk/dist/game/data/scripts/quests/Q00494_IncarnationOfGreedZellakaGroup/33647-02.htm b/trunk/dist/game/data/scripts/quests/Q00494_IncarnationOfGreedZellakaGroup/33647-02.htm
new file mode 100644
index 0000000000..5cb4ff27ee
--- /dev/null
+++ b/trunk/dist/game/data/scripts/quests/Q00494_IncarnationOfGreedZellakaGroup/33647-02.htm
@@ -0,0 +1,5 @@
+Kartia Researcher:
+The powerful demons Zellaka, Pelline, and Kalios command Kartia's Labyrinth!
+What's worse, they're summoning minions to do their bidding. We can't allow them to bring those friends into the Material Realm. Kill them before we're overrun!
+
+
\ No newline at end of file
diff --git a/trunk/dist/game/data/scripts/quests/Q00494_IncarnationOfGreedZellakaGroup/33647-03.htm b/trunk/dist/game/data/scripts/quests/Q00494_IncarnationOfGreedZellakaGroup/33647-03.htm
new file mode 100644
index 0000000000..b32f91c701
--- /dev/null
+++ b/trunk/dist/game/data/scripts/quests/Q00494_IncarnationOfGreedZellakaGroup/33647-03.htm
@@ -0,0 +1,4 @@
+Kartia Researcher:
+Really? That's great!
+Based on my extensive knowledge of the labyrinth, it should be enough to get rid of the minions and then kill one of more powerful demons--Zellaka.
+
\ No newline at end of file
diff --git a/trunk/dist/game/data/scripts/quests/Q00494_IncarnationOfGreedZellakaGroup/33647-04.html b/trunk/dist/game/data/scripts/quests/Q00494_IncarnationOfGreedZellakaGroup/33647-04.html
new file mode 100644
index 0000000000..26f7948690
--- /dev/null
+++ b/trunk/dist/game/data/scripts/quests/Q00494_IncarnationOfGreedZellakaGroup/33647-04.html
@@ -0,0 +1,4 @@
+Kartia Researcher:
+I'll leave it to you then. Come back quickly!
+Remember, clear out the minions and then kill Zellaka. Easy, right?
+
\ No newline at end of file
diff --git a/trunk/dist/game/data/scripts/quests/Q00494_IncarnationOfGreedZellakaGroup/33647-05.html b/trunk/dist/game/data/scripts/quests/Q00494_IncarnationOfGreedZellakaGroup/33647-05.html
new file mode 100644
index 0000000000..cbebe04aae
--- /dev/null
+++ b/trunk/dist/game/data/scripts/quests/Q00494_IncarnationOfGreedZellakaGroup/33647-05.html
@@ -0,0 +1,4 @@
+Kartia Researcher:
+You're back! Well? Did you send the demons back to the darkness where they belong?
+
+
\ No newline at end of file
diff --git a/trunk/dist/game/data/scripts/quests/Q00494_IncarnationOfGreedZellakaGroup/33647-06.html b/trunk/dist/game/data/scripts/quests/Q00494_IncarnationOfGreedZellakaGroup/33647-06.html
new file mode 100644
index 0000000000..780863fca4
--- /dev/null
+++ b/trunk/dist/game/data/scripts/quests/Q00494_IncarnationOfGreedZellakaGroup/33647-06.html
@@ -0,0 +1,3 @@
+Kartia Researcher:
+Your brevity is disturbing, though maybe the details would have been more so. At least the demons won't escape from the labyrinth.
+
\ No newline at end of file
diff --git a/trunk/dist/game/data/scripts/quests/Q00494_IncarnationOfGreedZellakaGroup/33647-07.html b/trunk/dist/game/data/scripts/quests/Q00494_IncarnationOfGreedZellakaGroup/33647-07.html
new file mode 100644
index 0000000000..ec0e3a18c3
--- /dev/null
+++ b/trunk/dist/game/data/scripts/quests/Q00494_IncarnationOfGreedZellakaGroup/33647-07.html
@@ -0,0 +1,4 @@
+Kartia Researcher:
+It appears that we are safe for now. Could you come back to check again tomorrow?
+(This quest can only be undertaken once a day. It resets everyday at 06:30.)
+
\ No newline at end of file
diff --git a/trunk/dist/game/data/scripts/quests/Q00494_IncarnationOfGreedZellakaGroup/Q00494_IncarnationOfGreedZellakaGroup.java b/trunk/dist/game/data/scripts/quests/Q00494_IncarnationOfGreedZellakaGroup/Q00494_IncarnationOfGreedZellakaGroup.java
new file mode 100644
index 0000000000..11915b7466
--- /dev/null
+++ b/trunk/dist/game/data/scripts/quests/Q00494_IncarnationOfGreedZellakaGroup/Q00494_IncarnationOfGreedZellakaGroup.java
@@ -0,0 +1,132 @@
+/*
+ * 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.Q00494_IncarnationOfGreedZellakaGroup;
+
+import com.l2jmobius.gameserver.enums.QuestType;
+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.model.quest.State;
+
+/**
+ * Incarnation of Greed Zellaka (Group) (494)
+ * @author Mobius
+ */
+public class Q00494_IncarnationOfGreedZellakaGroup extends Quest
+{
+ // NPC
+ private static final int KARTIA_RESEARCHER = 33647;
+ // Item
+ private static final int DIMENSION_KEEPER_BLUE_BOX = 34927;
+ // Misc
+ private static final int MIN_LEVEL = 85;
+ private static final int MAX_LEVEL = 89;
+
+ public Q00494_IncarnationOfGreedZellakaGroup()
+ {
+ super(494);
+ addStartNpc(KARTIA_RESEARCHER);
+ addTalkId(KARTIA_RESEARCHER);
+ }
+
+ @Override
+ public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
+ {
+ final QuestState qs = getQuestState(player, false);
+ if (qs == null)
+ {
+ return null;
+ }
+
+ final String htmltext = event;
+ if (event.equals("33647-03.htm"))
+ {
+ qs.startQuest();
+ }
+ else if (event.equals("33647-06.html") && qs.isCond(2))
+ {
+ rewardItems(player, DIMENSION_KEEPER_BLUE_BOX, 1);
+ qs.exitQuest(QuestType.DAILY, true);
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onTalk(L2Npc npc, L2PcInstance player)
+ {
+ String htmltext = getNoQuestMsg(player);
+ final QuestState qs = getQuestState(player, true);
+ if (qs == null)
+ {
+ return htmltext;
+ }
+
+ switch (qs.getState())
+ {
+ case State.CREATED:
+ {
+ if ((player.getLevel() < MIN_LEVEL) || (player.getLevel() > MAX_LEVEL))
+ {
+ htmltext = "33647-00.htm";
+ }
+ else
+ {
+ htmltext = "33647-01.htm";
+ }
+ break;
+ }
+ case State.STARTED:
+ {
+ if (qs.isCond(1))
+ {
+ htmltext = "33647-04.html";
+ }
+ else if (qs.isCond(2))
+ {
+ if ((player.getLevel() < MIN_LEVEL) || (player.getLevel() > MAX_LEVEL))
+ {
+ htmltext = "33647-00a.htm";
+ }
+ else
+ {
+ htmltext = "33647-05.html";
+ }
+ }
+ break;
+ }
+ case State.COMPLETED:
+ {
+ if ((player.getLevel() < MIN_LEVEL) || (player.getLevel() > MAX_LEVEL))
+ {
+ htmltext = "33647-00.htm";
+ }
+ else if (!qs.isNowAvailable())
+ {
+ htmltext = "33647-07.html";
+ }
+ else
+ {
+ qs.setState(State.CREATED);
+ htmltext = "33647-01.htm";
+ }
+ break;
+ }
+ }
+ return htmltext;
+ }
+}
\ No newline at end of file
diff --git a/trunk/dist/game/data/scripts/quests/Q00495_IncarnationOfJealousyPellineGroup/33647-00.htm b/trunk/dist/game/data/scripts/quests/Q00495_IncarnationOfJealousyPellineGroup/33647-00.htm
new file mode 100644
index 0000000000..c155deb616
--- /dev/null
+++ b/trunk/dist/game/data/scripts/quests/Q00495_IncarnationOfJealousyPellineGroup/33647-00.htm
@@ -0,0 +1,4 @@
+Kartia Researcher:
+Don't waste my time. Strong though you may be, I need someone of a specific caliber for this task.
+(This quest can be undertaken by characters who are Lv. 90 - 94.)
+
\ No newline at end of file
diff --git a/trunk/dist/game/data/scripts/quests/Q00495_IncarnationOfJealousyPellineGroup/33647-00a.html b/trunk/dist/game/data/scripts/quests/Q00495_IncarnationOfJealousyPellineGroup/33647-00a.html
new file mode 100644
index 0000000000..4234024911
--- /dev/null
+++ b/trunk/dist/game/data/scripts/quests/Q00495_IncarnationOfJealousyPellineGroup/33647-00a.html
@@ -0,0 +1,2 @@
+You cannot receive quest rewards as your character's level is lower than the minimum required for the quest.
+
\ No newline at end of file
diff --git a/trunk/dist/game/data/scripts/quests/Q00495_IncarnationOfJealousyPellineGroup/33647-01.htm b/trunk/dist/game/data/scripts/quests/Q00495_IncarnationOfJealousyPellineGroup/33647-01.htm
new file mode 100644
index 0000000000..03362a90f4
--- /dev/null
+++ b/trunk/dist/game/data/scripts/quests/Q00495_IncarnationOfJealousyPellineGroup/33647-01.htm
@@ -0,0 +1,5 @@
+Kartia Researcher:
+What a disaster! Shilen has created dimensional fissures everywhere!
+Ever since the Kartia Labyrinth appeared monsters from the dark spirit realm have crossed over to our material plane. If we can't find a way to stop them, I'm afraid we're finished.
+
+
\ No newline at end of file
diff --git a/trunk/dist/game/data/scripts/quests/Q00495_IncarnationOfJealousyPellineGroup/33647-02.htm b/trunk/dist/game/data/scripts/quests/Q00495_IncarnationOfJealousyPellineGroup/33647-02.htm
new file mode 100644
index 0000000000..0494314cb3
--- /dev/null
+++ b/trunk/dist/game/data/scripts/quests/Q00495_IncarnationOfJealousyPellineGroup/33647-02.htm
@@ -0,0 +1,5 @@
+Kartia Researcher:
+The powerful demons Zellaka, Pelline, and Kalios command Kartia's Labyrinth!
+What's worse, they're summoning minions to do their bidding. We can't allow them to bring those friends into the Material Realm. Kill them before we're overrun!
+
+
\ No newline at end of file
diff --git a/trunk/dist/game/data/scripts/quests/Q00495_IncarnationOfJealousyPellineGroup/33647-03.htm b/trunk/dist/game/data/scripts/quests/Q00495_IncarnationOfJealousyPellineGroup/33647-03.htm
new file mode 100644
index 0000000000..477e6dacb4
--- /dev/null
+++ b/trunk/dist/game/data/scripts/quests/Q00495_IncarnationOfJealousyPellineGroup/33647-03.htm
@@ -0,0 +1,4 @@
+Kartia Researcher:
+Really? That's great!
+Based on my extensive knowledge of the labyrinth, it should be enough to get rid of the minions and then kill one of more powerful demons--Pelline.
+
\ No newline at end of file
diff --git a/trunk/dist/game/data/scripts/quests/Q00495_IncarnationOfJealousyPellineGroup/33647-04.html b/trunk/dist/game/data/scripts/quests/Q00495_IncarnationOfJealousyPellineGroup/33647-04.html
new file mode 100644
index 0000000000..dfee16e7f6
--- /dev/null
+++ b/trunk/dist/game/data/scripts/quests/Q00495_IncarnationOfJealousyPellineGroup/33647-04.html
@@ -0,0 +1,4 @@
+Kartia Researcher:
+I'll leave it to you then. Come back quickly!
+Remember, clear out the minions and then kill Pelline. Easy, right?
+
\ No newline at end of file
diff --git a/trunk/dist/game/data/scripts/quests/Q00495_IncarnationOfJealousyPellineGroup/33647-05.html b/trunk/dist/game/data/scripts/quests/Q00495_IncarnationOfJealousyPellineGroup/33647-05.html
new file mode 100644
index 0000000000..128b6fe7b6
--- /dev/null
+++ b/trunk/dist/game/data/scripts/quests/Q00495_IncarnationOfJealousyPellineGroup/33647-05.html
@@ -0,0 +1,4 @@
+Kartia Researcher:
+You're back! Well? Did you send the demons back to the darkness where they belong?
+
+
\ No newline at end of file
diff --git a/trunk/dist/game/data/scripts/quests/Q00495_IncarnationOfJealousyPellineGroup/33647-06.html b/trunk/dist/game/data/scripts/quests/Q00495_IncarnationOfJealousyPellineGroup/33647-06.html
new file mode 100644
index 0000000000..780863fca4
--- /dev/null
+++ b/trunk/dist/game/data/scripts/quests/Q00495_IncarnationOfJealousyPellineGroup/33647-06.html
@@ -0,0 +1,3 @@
+Kartia Researcher:
+Your brevity is disturbing, though maybe the details would have been more so. At least the demons won't escape from the labyrinth.
+
\ No newline at end of file
diff --git a/trunk/dist/game/data/scripts/quests/Q00495_IncarnationOfJealousyPellineGroup/33647-07.html b/trunk/dist/game/data/scripts/quests/Q00495_IncarnationOfJealousyPellineGroup/33647-07.html
new file mode 100644
index 0000000000..ec0e3a18c3
--- /dev/null
+++ b/trunk/dist/game/data/scripts/quests/Q00495_IncarnationOfJealousyPellineGroup/33647-07.html
@@ -0,0 +1,4 @@
+Kartia Researcher:
+It appears that we are safe for now. Could you come back to check again tomorrow?
+(This quest can only be undertaken once a day. It resets everyday at 06:30.)
+
\ No newline at end of file
diff --git a/trunk/dist/game/data/scripts/quests/Q00495_IncarnationOfJealousyPellineGroup/Q00495_IncarnationOfJealousyPellineGroup.java b/trunk/dist/game/data/scripts/quests/Q00495_IncarnationOfJealousyPellineGroup/Q00495_IncarnationOfJealousyPellineGroup.java
new file mode 100644
index 0000000000..4f44e4781e
--- /dev/null
+++ b/trunk/dist/game/data/scripts/quests/Q00495_IncarnationOfJealousyPellineGroup/Q00495_IncarnationOfJealousyPellineGroup.java
@@ -0,0 +1,132 @@
+/*
+ * 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.Q00495_IncarnationOfJealousyPellineGroup;
+
+import com.l2jmobius.gameserver.enums.QuestType;
+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.model.quest.State;
+
+/**
+ * Incarnation of Jealousy Pelline (Group) (495)
+ * @author Mobius
+ */
+public class Q00495_IncarnationOfJealousyPellineGroup extends Quest
+{
+ // NPC
+ private static final int KARTIA_RESEARCHER = 33647;
+ // Item
+ private static final int DIMENSION_KEEPER_RED_BOX = 34928;
+ // Misc
+ private static final int MIN_LEVEL = 90;
+ private static final int MAX_LEVEL = 94;
+
+ public Q00495_IncarnationOfJealousyPellineGroup()
+ {
+ super(495);
+ addStartNpc(KARTIA_RESEARCHER);
+ addTalkId(KARTIA_RESEARCHER);
+ }
+
+ @Override
+ public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
+ {
+ final QuestState qs = getQuestState(player, false);
+ if (qs == null)
+ {
+ return null;
+ }
+
+ final String htmltext = event;
+ if (event.equals("33647-03.htm"))
+ {
+ qs.startQuest();
+ }
+ else if (event.equals("33647-06.html") && qs.isCond(2))
+ {
+ rewardItems(player, DIMENSION_KEEPER_RED_BOX, 1);
+ qs.exitQuest(QuestType.DAILY, true);
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onTalk(L2Npc npc, L2PcInstance player)
+ {
+ String htmltext = getNoQuestMsg(player);
+ final QuestState qs = getQuestState(player, true);
+ if (qs == null)
+ {
+ return htmltext;
+ }
+
+ switch (qs.getState())
+ {
+ case State.CREATED:
+ {
+ if ((player.getLevel() < MIN_LEVEL) || (player.getLevel() > MAX_LEVEL))
+ {
+ htmltext = "33647-00.htm";
+ }
+ else
+ {
+ htmltext = "33647-01.htm";
+ }
+ break;
+ }
+ case State.STARTED:
+ {
+ if (qs.isCond(1))
+ {
+ htmltext = "33647-04.html";
+ }
+ else if (qs.isCond(2))
+ {
+ if ((player.getLevel() < MIN_LEVEL) || (player.getLevel() > MAX_LEVEL))
+ {
+ htmltext = "33647-00a.htm";
+ }
+ else
+ {
+ htmltext = "33647-05.html";
+ }
+ }
+ break;
+ }
+ case State.COMPLETED:
+ {
+ if ((player.getLevel() < MIN_LEVEL) || (player.getLevel() > MAX_LEVEL))
+ {
+ htmltext = "33647-00.htm";
+ }
+ else if (!qs.isNowAvailable())
+ {
+ htmltext = "33647-07.html";
+ }
+ else
+ {
+ qs.setState(State.CREATED);
+ htmltext = "33647-01.htm";
+ }
+ break;
+ }
+ }
+ return htmltext;
+ }
+}
\ No newline at end of file
diff --git a/trunk/dist/game/data/scripts/quests/Q00496_IncarnationOfGluttonyKaliosGroup/33647-00.htm b/trunk/dist/game/data/scripts/quests/Q00496_IncarnationOfGluttonyKaliosGroup/33647-00.htm
new file mode 100644
index 0000000000..69e9244a8a
--- /dev/null
+++ b/trunk/dist/game/data/scripts/quests/Q00496_IncarnationOfGluttonyKaliosGroup/33647-00.htm
@@ -0,0 +1,4 @@
+Kartia Researcher:
+Don't waste my time. Strong though you may be, I need someone of a specific caliber for this task.
+(This quest can be undertaken by characters who are Lv. 95 - 99.)
+
\ No newline at end of file
diff --git a/trunk/dist/game/data/scripts/quests/Q00496_IncarnationOfGluttonyKaliosGroup/33647-00a.html b/trunk/dist/game/data/scripts/quests/Q00496_IncarnationOfGluttonyKaliosGroup/33647-00a.html
new file mode 100644
index 0000000000..4234024911
--- /dev/null
+++ b/trunk/dist/game/data/scripts/quests/Q00496_IncarnationOfGluttonyKaliosGroup/33647-00a.html
@@ -0,0 +1,2 @@
+You cannot receive quest rewards as your character's level is lower than the minimum required for the quest.
+
\ No newline at end of file
diff --git a/trunk/dist/game/data/scripts/quests/Q00496_IncarnationOfGluttonyKaliosGroup/33647-01.htm b/trunk/dist/game/data/scripts/quests/Q00496_IncarnationOfGluttonyKaliosGroup/33647-01.htm
new file mode 100644
index 0000000000..5dc5c7b7c0
--- /dev/null
+++ b/trunk/dist/game/data/scripts/quests/Q00496_IncarnationOfGluttonyKaliosGroup/33647-01.htm
@@ -0,0 +1,5 @@
+Kartia Researcher:
+What a disaster! Shilen has created dimensional fissures everywhere!
+Ever since the Kartia Labyrinth appeared monsters from the dark spirit realm have crossed over to our material plane. If we can't find a way to stop them, I'm afraid we're finished.
+
+
\ No newline at end of file
diff --git a/trunk/dist/game/data/scripts/quests/Q00496_IncarnationOfGluttonyKaliosGroup/33647-02.htm b/trunk/dist/game/data/scripts/quests/Q00496_IncarnationOfGluttonyKaliosGroup/33647-02.htm
new file mode 100644
index 0000000000..1d0243cfc5
--- /dev/null
+++ b/trunk/dist/game/data/scripts/quests/Q00496_IncarnationOfGluttonyKaliosGroup/33647-02.htm
@@ -0,0 +1,5 @@
+Kartia Researcher:
+The powerful demons Zellaka, Pelline, and Kalios command Kartia's Labyrinth!
+What's worse, they're summoning minions to do their bidding. We can't allow them to bring those friends into the Material Realm. Kill them before we're overrun!
+
+
\ No newline at end of file
diff --git a/trunk/dist/game/data/scripts/quests/Q00496_IncarnationOfGluttonyKaliosGroup/33647-03.htm b/trunk/dist/game/data/scripts/quests/Q00496_IncarnationOfGluttonyKaliosGroup/33647-03.htm
new file mode 100644
index 0000000000..0547195e2c
--- /dev/null
+++ b/trunk/dist/game/data/scripts/quests/Q00496_IncarnationOfGluttonyKaliosGroup/33647-03.htm
@@ -0,0 +1,4 @@
+Kartia Researcher:
+Really? That's great!
+Based on my extensive knowledge of the labyrinth, it should be enough to get rid of the minions and then kill one of more powerful demons--Kalios.
+
\ No newline at end of file
diff --git a/trunk/dist/game/data/scripts/quests/Q00496_IncarnationOfGluttonyKaliosGroup/33647-04.html b/trunk/dist/game/data/scripts/quests/Q00496_IncarnationOfGluttonyKaliosGroup/33647-04.html
new file mode 100644
index 0000000000..d871f18728
--- /dev/null
+++ b/trunk/dist/game/data/scripts/quests/Q00496_IncarnationOfGluttonyKaliosGroup/33647-04.html
@@ -0,0 +1,4 @@
+Kartia Researcher:
+I'll leave it to you then. Come back quickly!
+Remember, clear out the minions and then kill Kalios. Easy, right?
+
\ No newline at end of file
diff --git a/trunk/dist/game/data/scripts/quests/Q00496_IncarnationOfGluttonyKaliosGroup/33647-05.html b/trunk/dist/game/data/scripts/quests/Q00496_IncarnationOfGluttonyKaliosGroup/33647-05.html
new file mode 100644
index 0000000000..d366e59b42
--- /dev/null
+++ b/trunk/dist/game/data/scripts/quests/Q00496_IncarnationOfGluttonyKaliosGroup/33647-05.html
@@ -0,0 +1,4 @@
+Kartia Researcher:
+You're back! Well? Did you send the demons back to the darkness where they belong?
+
+
\ No newline at end of file
diff --git a/trunk/dist/game/data/scripts/quests/Q00496_IncarnationOfGluttonyKaliosGroup/33647-06.html b/trunk/dist/game/data/scripts/quests/Q00496_IncarnationOfGluttonyKaliosGroup/33647-06.html
new file mode 100644
index 0000000000..780863fca4
--- /dev/null
+++ b/trunk/dist/game/data/scripts/quests/Q00496_IncarnationOfGluttonyKaliosGroup/33647-06.html
@@ -0,0 +1,3 @@
+Kartia Researcher:
+Your brevity is disturbing, though maybe the details would have been more so. At least the demons won't escape from the labyrinth.
+
\ No newline at end of file
diff --git a/trunk/dist/game/data/scripts/quests/Q00496_IncarnationOfGluttonyKaliosGroup/33647-07.html b/trunk/dist/game/data/scripts/quests/Q00496_IncarnationOfGluttonyKaliosGroup/33647-07.html
new file mode 100644
index 0000000000..ec0e3a18c3
--- /dev/null
+++ b/trunk/dist/game/data/scripts/quests/Q00496_IncarnationOfGluttonyKaliosGroup/33647-07.html
@@ -0,0 +1,4 @@
+Kartia Researcher:
+It appears that we are safe for now. Could you come back to check again tomorrow?
+(This quest can only be undertaken once a day. It resets everyday at 06:30.)
+
\ No newline at end of file
diff --git a/trunk/dist/game/data/scripts/quests/Q00496_IncarnationOfGluttonyKaliosGroup/Q00496_IncarnationOfGluttonyKaliosGroup.java b/trunk/dist/game/data/scripts/quests/Q00496_IncarnationOfGluttonyKaliosGroup/Q00496_IncarnationOfGluttonyKaliosGroup.java
new file mode 100644
index 0000000000..85b1024084
--- /dev/null
+++ b/trunk/dist/game/data/scripts/quests/Q00496_IncarnationOfGluttonyKaliosGroup/Q00496_IncarnationOfGluttonyKaliosGroup.java
@@ -0,0 +1,132 @@
+/*
+ * 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.Q00496_IncarnationOfGluttonyKaliosGroup;
+
+import com.l2jmobius.gameserver.enums.QuestType;
+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.model.quest.State;
+
+/**
+ * Incarnation of Gluttony Kalios (Group) (496)
+ * @author Mobius
+ */
+public class Q00496_IncarnationOfGluttonyKaliosGroup extends Quest
+{
+ // NPC
+ private static final int KARTIA_RESEARCHER = 33647;
+ // Item
+ private static final int DIMENSION_KEEPER_GOLDEN_BOX = 34929;
+ // Misc
+ private static final int MIN_LEVEL = 95;
+ private static final int MAX_LEVEL = 99;
+
+ public Q00496_IncarnationOfGluttonyKaliosGroup()
+ {
+ super(496);
+ addStartNpc(KARTIA_RESEARCHER);
+ addTalkId(KARTIA_RESEARCHER);
+ }
+
+ @Override
+ public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
+ {
+ final QuestState qs = getQuestState(player, false);
+ if (qs == null)
+ {
+ return null;
+ }
+
+ final String htmltext = event;
+ if (event.equals("33647-03.htm"))
+ {
+ qs.startQuest();
+ }
+ else if (event.equals("33647-06.html") && qs.isCond(2))
+ {
+ rewardItems(player, DIMENSION_KEEPER_GOLDEN_BOX, 1);
+ qs.exitQuest(QuestType.DAILY, true);
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onTalk(L2Npc npc, L2PcInstance player)
+ {
+ String htmltext = getNoQuestMsg(player);
+ final QuestState qs = getQuestState(player, true);
+ if (qs == null)
+ {
+ return htmltext;
+ }
+
+ switch (qs.getState())
+ {
+ case State.CREATED:
+ {
+ if ((player.getLevel() < MIN_LEVEL) || (player.getLevel() > MAX_LEVEL))
+ {
+ htmltext = "33647-00.htm";
+ }
+ else
+ {
+ htmltext = "33647-01.htm";
+ }
+ break;
+ }
+ case State.STARTED:
+ {
+ if (qs.isCond(1))
+ {
+ htmltext = "33647-04.html";
+ }
+ else if (qs.isCond(2))
+ {
+ if ((player.getLevel() < MIN_LEVEL) || (player.getLevel() > MAX_LEVEL))
+ {
+ htmltext = "33647-00a.htm";
+ }
+ else
+ {
+ htmltext = "33647-05.html";
+ }
+ }
+ break;
+ }
+ case State.COMPLETED:
+ {
+ if ((player.getLevel() < MIN_LEVEL) || (player.getLevel() > MAX_LEVEL))
+ {
+ htmltext = "33647-00.htm";
+ }
+ else if (!qs.isNowAvailable())
+ {
+ htmltext = "33647-07.html";
+ }
+ else
+ {
+ qs.setState(State.CREATED);
+ htmltext = "33647-01.htm";
+ }
+ break;
+ }
+ }
+ return htmltext;
+ }
+}
\ No newline at end of file
diff --git a/trunk/dist/game/data/scripts/quests/Q00497_IncarnationOfGreedZellakaSolo/33647-00.htm b/trunk/dist/game/data/scripts/quests/Q00497_IncarnationOfGreedZellakaSolo/33647-00.htm
new file mode 100644
index 0000000000..b65cfcbbb3
--- /dev/null
+++ b/trunk/dist/game/data/scripts/quests/Q00497_IncarnationOfGreedZellakaSolo/33647-00.htm
@@ -0,0 +1,4 @@
+Kartia Researcher:
+Don't waste my time. Strong though you may be, I need someone of a specific caliber for this task.
+(This quest can be undertaken by characters who are Lv. 85 - 89.)
+
\ No newline at end of file
diff --git a/trunk/dist/game/data/scripts/quests/Q00497_IncarnationOfGreedZellakaSolo/33647-00a.html b/trunk/dist/game/data/scripts/quests/Q00497_IncarnationOfGreedZellakaSolo/33647-00a.html
new file mode 100644
index 0000000000..4234024911
--- /dev/null
+++ b/trunk/dist/game/data/scripts/quests/Q00497_IncarnationOfGreedZellakaSolo/33647-00a.html
@@ -0,0 +1,2 @@
+You cannot receive quest rewards as your character's level is lower than the minimum required for the quest.
+
\ No newline at end of file
diff --git a/trunk/dist/game/data/scripts/quests/Q00497_IncarnationOfGreedZellakaSolo/33647-01.htm b/trunk/dist/game/data/scripts/quests/Q00497_IncarnationOfGreedZellakaSolo/33647-01.htm
new file mode 100644
index 0000000000..d951e1bf3f
--- /dev/null
+++ b/trunk/dist/game/data/scripts/quests/Q00497_IncarnationOfGreedZellakaSolo/33647-01.htm
@@ -0,0 +1,5 @@
+Kartia Researcher:
+What a disaster! Shilen has created dimensional fissures everywhere!
+Ever since the Kartia Labyrinth appeared monsters from the dark spirit realm have crossed over to our material plane. If we can't find a way to stop them, I'm afraid we're finished.
+
+
\ No newline at end of file
diff --git a/trunk/dist/game/data/scripts/quests/Q00497_IncarnationOfGreedZellakaSolo/33647-02.htm b/trunk/dist/game/data/scripts/quests/Q00497_IncarnationOfGreedZellakaSolo/33647-02.htm
new file mode 100644
index 0000000000..98ba26a301
--- /dev/null
+++ b/trunk/dist/game/data/scripts/quests/Q00497_IncarnationOfGreedZellakaSolo/33647-02.htm
@@ -0,0 +1,5 @@
+Kartia Researcher:
+The powerful demons Zellaka, Pelline, and Kalios command Kartia's Labyrinth!
+What's worse, they're summoning minions to do their bidding. We can't allow them to bring those friends into the Material Realm. Kill them before we're overrun!
+
+
\ No newline at end of file
diff --git a/trunk/dist/game/data/scripts/quests/Q00497_IncarnationOfGreedZellakaSolo/33647-03.htm b/trunk/dist/game/data/scripts/quests/Q00497_IncarnationOfGreedZellakaSolo/33647-03.htm
new file mode 100644
index 0000000000..b32f91c701
--- /dev/null
+++ b/trunk/dist/game/data/scripts/quests/Q00497_IncarnationOfGreedZellakaSolo/33647-03.htm
@@ -0,0 +1,4 @@
+Kartia Researcher:
+Really? That's great!
+Based on my extensive knowledge of the labyrinth, it should be enough to get rid of the minions and then kill one of more powerful demons--Zellaka.
+
\ No newline at end of file
diff --git a/trunk/dist/game/data/scripts/quests/Q00497_IncarnationOfGreedZellakaSolo/33647-04.html b/trunk/dist/game/data/scripts/quests/Q00497_IncarnationOfGreedZellakaSolo/33647-04.html
new file mode 100644
index 0000000000..26f7948690
--- /dev/null
+++ b/trunk/dist/game/data/scripts/quests/Q00497_IncarnationOfGreedZellakaSolo/33647-04.html
@@ -0,0 +1,4 @@
+Kartia Researcher:
+I'll leave it to you then. Come back quickly!
+Remember, clear out the minions and then kill Zellaka. Easy, right?
+
\ No newline at end of file
diff --git a/trunk/dist/game/data/scripts/quests/Q00497_IncarnationOfGreedZellakaSolo/33647-05.html b/trunk/dist/game/data/scripts/quests/Q00497_IncarnationOfGreedZellakaSolo/33647-05.html
new file mode 100644
index 0000000000..86e3cb5bce
--- /dev/null
+++ b/trunk/dist/game/data/scripts/quests/Q00497_IncarnationOfGreedZellakaSolo/33647-05.html
@@ -0,0 +1,4 @@
+Kartia Researcher:
+You're back! Well? Did you send the demons back to the darkness where they belong?
+
+
\ No newline at end of file
diff --git a/trunk/dist/game/data/scripts/quests/Q00497_IncarnationOfGreedZellakaSolo/33647-06.html b/trunk/dist/game/data/scripts/quests/Q00497_IncarnationOfGreedZellakaSolo/33647-06.html
new file mode 100644
index 0000000000..780863fca4
--- /dev/null
+++ b/trunk/dist/game/data/scripts/quests/Q00497_IncarnationOfGreedZellakaSolo/33647-06.html
@@ -0,0 +1,3 @@
+Kartia Researcher:
+Your brevity is disturbing, though maybe the details would have been more so. At least the demons won't escape from the labyrinth.
+
\ No newline at end of file
diff --git a/trunk/dist/game/data/scripts/quests/Q00497_IncarnationOfGreedZellakaSolo/33647-07.html b/trunk/dist/game/data/scripts/quests/Q00497_IncarnationOfGreedZellakaSolo/33647-07.html
new file mode 100644
index 0000000000..ec0e3a18c3
--- /dev/null
+++ b/trunk/dist/game/data/scripts/quests/Q00497_IncarnationOfGreedZellakaSolo/33647-07.html
@@ -0,0 +1,4 @@
+Kartia Researcher:
+It appears that we are safe for now. Could you come back to check again tomorrow?
+(This quest can only be undertaken once a day. It resets everyday at 06:30.)
+
\ No newline at end of file
diff --git a/trunk/dist/game/data/scripts/quests/Q00497_IncarnationOfGreedZellakaSolo/Q00497_IncarnationOfGreedZellakaSolo.java b/trunk/dist/game/data/scripts/quests/Q00497_IncarnationOfGreedZellakaSolo/Q00497_IncarnationOfGreedZellakaSolo.java
new file mode 100644
index 0000000000..f62c42d405
--- /dev/null
+++ b/trunk/dist/game/data/scripts/quests/Q00497_IncarnationOfGreedZellakaSolo/Q00497_IncarnationOfGreedZellakaSolo.java
@@ -0,0 +1,132 @@
+/*
+ * 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.Q00497_IncarnationOfGreedZellakaSolo;
+
+import com.l2jmobius.gameserver.enums.QuestType;
+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.model.quest.State;
+
+/**
+ * Incarnation of Greed Zellaka (Solo) (497)
+ * @author Mobius
+ */
+public class Q00497_IncarnationOfGreedZellakaSolo extends Quest
+{
+ // NPC
+ private static final int KARTIA_RESEARCHER = 33647;
+ // Item
+ private static final int DIMENSION_TRAVELERS_BLUE_BOX = 34930;
+ // Misc
+ private static final int MIN_LEVEL = 85;
+ private static final int MAX_LEVEL = 89;
+
+ public Q00497_IncarnationOfGreedZellakaSolo()
+ {
+ super(497);
+ addStartNpc(KARTIA_RESEARCHER);
+ addTalkId(KARTIA_RESEARCHER);
+ }
+
+ @Override
+ public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
+ {
+ final QuestState qs = getQuestState(player, false);
+ if (qs == null)
+ {
+ return null;
+ }
+
+ final String htmltext = event;
+ if (event.equals("33647-03.htm"))
+ {
+ qs.startQuest();
+ }
+ else if (event.equals("33647-06.html") && qs.isCond(2))
+ {
+ rewardItems(player, DIMENSION_TRAVELERS_BLUE_BOX, 1);
+ qs.exitQuest(QuestType.DAILY, true);
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onTalk(L2Npc npc, L2PcInstance player)
+ {
+ String htmltext = getNoQuestMsg(player);
+ final QuestState qs = getQuestState(player, true);
+ if (qs == null)
+ {
+ return htmltext;
+ }
+
+ switch (qs.getState())
+ {
+ case State.CREATED:
+ {
+ if ((player.getLevel() < MIN_LEVEL) || (player.getLevel() > MAX_LEVEL))
+ {
+ htmltext = "33647-00.htm";
+ }
+ else
+ {
+ htmltext = "33647-01.htm";
+ }
+ break;
+ }
+ case State.STARTED:
+ {
+ if (qs.isCond(1))
+ {
+ htmltext = "33647-04.html";
+ }
+ else if (qs.isCond(2))
+ {
+ if ((player.getLevel() < MIN_LEVEL) || (player.getLevel() > MAX_LEVEL))
+ {
+ htmltext = "33647-00a.htm";
+ }
+ else
+ {
+ htmltext = "33647-05.html";
+ }
+ }
+ break;
+ }
+ case State.COMPLETED:
+ {
+ if ((player.getLevel() < MIN_LEVEL) || (player.getLevel() > MAX_LEVEL))
+ {
+ htmltext = "33647-00.htm";
+ }
+ else if (!qs.isNowAvailable())
+ {
+ htmltext = "33647-07.html";
+ }
+ else
+ {
+ qs.setState(State.CREATED);
+ htmltext = "33647-01.htm";
+ }
+ break;
+ }
+ }
+ return htmltext;
+ }
+}
\ No newline at end of file
diff --git a/trunk/dist/game/data/scripts/quests/Q00498_IncarnationOfJealousyPellineSolo/33647-00.htm b/trunk/dist/game/data/scripts/quests/Q00498_IncarnationOfJealousyPellineSolo/33647-00.htm
new file mode 100644
index 0000000000..c155deb616
--- /dev/null
+++ b/trunk/dist/game/data/scripts/quests/Q00498_IncarnationOfJealousyPellineSolo/33647-00.htm
@@ -0,0 +1,4 @@
+Kartia Researcher:
+Don't waste my time. Strong though you may be, I need someone of a specific caliber for this task.
+(This quest can be undertaken by characters who are Lv. 90 - 94.)
+
\ No newline at end of file
diff --git a/trunk/dist/game/data/scripts/quests/Q00498_IncarnationOfJealousyPellineSolo/33647-00a.html b/trunk/dist/game/data/scripts/quests/Q00498_IncarnationOfJealousyPellineSolo/33647-00a.html
new file mode 100644
index 0000000000..4234024911
--- /dev/null
+++ b/trunk/dist/game/data/scripts/quests/Q00498_IncarnationOfJealousyPellineSolo/33647-00a.html
@@ -0,0 +1,2 @@
+You cannot receive quest rewards as your character's level is lower than the minimum required for the quest.
+
\ No newline at end of file
diff --git a/trunk/dist/game/data/scripts/quests/Q00498_IncarnationOfJealousyPellineSolo/33647-01.htm b/trunk/dist/game/data/scripts/quests/Q00498_IncarnationOfJealousyPellineSolo/33647-01.htm
new file mode 100644
index 0000000000..99f6b9d939
--- /dev/null
+++ b/trunk/dist/game/data/scripts/quests/Q00498_IncarnationOfJealousyPellineSolo/33647-01.htm
@@ -0,0 +1,5 @@
+Kartia Researcher:
+What a disaster! Shilen has created dimensional fissures everywhere!
+Ever since the Kartia Labyrinth appeared monsters from the dark spirit realm have crossed over to our material plane. If we can't find a way to stop them, I'm afraid we're finished.
+
+
\ No newline at end of file
diff --git a/trunk/dist/game/data/scripts/quests/Q00498_IncarnationOfJealousyPellineSolo/33647-02.htm b/trunk/dist/game/data/scripts/quests/Q00498_IncarnationOfJealousyPellineSolo/33647-02.htm
new file mode 100644
index 0000000000..debcd6015e
--- /dev/null
+++ b/trunk/dist/game/data/scripts/quests/Q00498_IncarnationOfJealousyPellineSolo/33647-02.htm
@@ -0,0 +1,5 @@
+Kartia Researcher:
+The powerful demons Zellaka, Pelline, and Kalios command Kartia's Labyrinth!
+What's worse, they're summoning minions to do their bidding. We can't allow them to bring those friends into the Material Realm. Kill them before we're overrun!
+
+
\ No newline at end of file
diff --git a/trunk/dist/game/data/scripts/quests/Q00498_IncarnationOfJealousyPellineSolo/33647-03.htm b/trunk/dist/game/data/scripts/quests/Q00498_IncarnationOfJealousyPellineSolo/33647-03.htm
new file mode 100644
index 0000000000..477e6dacb4
--- /dev/null
+++ b/trunk/dist/game/data/scripts/quests/Q00498_IncarnationOfJealousyPellineSolo/33647-03.htm
@@ -0,0 +1,4 @@
+Kartia Researcher:
+Really? That's great!
+Based on my extensive knowledge of the labyrinth, it should be enough to get rid of the minions and then kill one of more powerful demons--Pelline.
+
\ No newline at end of file
diff --git a/trunk/dist/game/data/scripts/quests/Q00498_IncarnationOfJealousyPellineSolo/33647-04.html b/trunk/dist/game/data/scripts/quests/Q00498_IncarnationOfJealousyPellineSolo/33647-04.html
new file mode 100644
index 0000000000..dfee16e7f6
--- /dev/null
+++ b/trunk/dist/game/data/scripts/quests/Q00498_IncarnationOfJealousyPellineSolo/33647-04.html
@@ -0,0 +1,4 @@
+Kartia Researcher:
+I'll leave it to you then. Come back quickly!
+Remember, clear out the minions and then kill Pelline. Easy, right?
+
\ No newline at end of file
diff --git a/trunk/dist/game/data/scripts/quests/Q00498_IncarnationOfJealousyPellineSolo/33647-05.html b/trunk/dist/game/data/scripts/quests/Q00498_IncarnationOfJealousyPellineSolo/33647-05.html
new file mode 100644
index 0000000000..76102ebd08
--- /dev/null
+++ b/trunk/dist/game/data/scripts/quests/Q00498_IncarnationOfJealousyPellineSolo/33647-05.html
@@ -0,0 +1,4 @@
+Kartia Researcher:
+You're back! Well? Did you send the demons back to the darkness where they belong?
+
+
\ No newline at end of file
diff --git a/trunk/dist/game/data/scripts/quests/Q00498_IncarnationOfJealousyPellineSolo/33647-06.html b/trunk/dist/game/data/scripts/quests/Q00498_IncarnationOfJealousyPellineSolo/33647-06.html
new file mode 100644
index 0000000000..780863fca4
--- /dev/null
+++ b/trunk/dist/game/data/scripts/quests/Q00498_IncarnationOfJealousyPellineSolo/33647-06.html
@@ -0,0 +1,3 @@
+Kartia Researcher:
+Your brevity is disturbing, though maybe the details would have been more so. At least the demons won't escape from the labyrinth.
+
\ No newline at end of file
diff --git a/trunk/dist/game/data/scripts/quests/Q00498_IncarnationOfJealousyPellineSolo/33647-07.html b/trunk/dist/game/data/scripts/quests/Q00498_IncarnationOfJealousyPellineSolo/33647-07.html
new file mode 100644
index 0000000000..ec0e3a18c3
--- /dev/null
+++ b/trunk/dist/game/data/scripts/quests/Q00498_IncarnationOfJealousyPellineSolo/33647-07.html
@@ -0,0 +1,4 @@
+Kartia Researcher:
+It appears that we are safe for now. Could you come back to check again tomorrow?
+(This quest can only be undertaken once a day. It resets everyday at 06:30.)
+
\ No newline at end of file
diff --git a/trunk/dist/game/data/scripts/quests/Q00498_IncarnationOfJealousyPellineSolo/Q00498_IncarnationOfJealousyPellineSolo.java b/trunk/dist/game/data/scripts/quests/Q00498_IncarnationOfJealousyPellineSolo/Q00498_IncarnationOfJealousyPellineSolo.java
new file mode 100644
index 0000000000..76032b8c32
--- /dev/null
+++ b/trunk/dist/game/data/scripts/quests/Q00498_IncarnationOfJealousyPellineSolo/Q00498_IncarnationOfJealousyPellineSolo.java
@@ -0,0 +1,132 @@
+/*
+ * 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.Q00498_IncarnationOfJealousyPellineSolo;
+
+import com.l2jmobius.gameserver.enums.QuestType;
+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.model.quest.State;
+
+/**
+ * Incarnation of Jealousy Pelline (Solo) (498)
+ * @author Mobius
+ */
+public class Q00498_IncarnationOfJealousyPellineSolo extends Quest
+{
+ // NPC
+ private static final int KARTIA_RESEARCHER = 33647;
+ // Item
+ private static final int DIMENSION_TRAVELERS_RED_BOX = 34931;
+ // Misc
+ private static final int MIN_LEVEL = 90;
+ private static final int MAX_LEVEL = 94;
+
+ public Q00498_IncarnationOfJealousyPellineSolo()
+ {
+ super(498);
+ addStartNpc(KARTIA_RESEARCHER);
+ addTalkId(KARTIA_RESEARCHER);
+ }
+
+ @Override
+ public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
+ {
+ final QuestState qs = getQuestState(player, false);
+ if (qs == null)
+ {
+ return null;
+ }
+
+ final String htmltext = event;
+ if (event.equals("33647-03.htm"))
+ {
+ qs.startQuest();
+ }
+ else if (event.equals("33647-06.html") && qs.isCond(2))
+ {
+ rewardItems(player, DIMENSION_TRAVELERS_RED_BOX, 1);
+ qs.exitQuest(QuestType.DAILY, true);
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onTalk(L2Npc npc, L2PcInstance player)
+ {
+ String htmltext = getNoQuestMsg(player);
+ final QuestState qs = getQuestState(player, true);
+ if (qs == null)
+ {
+ return htmltext;
+ }
+
+ switch (qs.getState())
+ {
+ case State.CREATED:
+ {
+ if ((player.getLevel() < MIN_LEVEL) || (player.getLevel() > MAX_LEVEL))
+ {
+ htmltext = "33647-00.htm";
+ }
+ else
+ {
+ htmltext = "33647-01.htm";
+ }
+ break;
+ }
+ case State.STARTED:
+ {
+ if (qs.isCond(1))
+ {
+ htmltext = "33647-04.html";
+ }
+ else if (qs.isCond(2))
+ {
+ if ((player.getLevel() < MIN_LEVEL) || (player.getLevel() > MAX_LEVEL))
+ {
+ htmltext = "33647-00a.htm";
+ }
+ else
+ {
+ htmltext = "33647-05.html";
+ }
+ }
+ break;
+ }
+ case State.COMPLETED:
+ {
+ if ((player.getLevel() < MIN_LEVEL) || (player.getLevel() > MAX_LEVEL))
+ {
+ htmltext = "33647-00.htm";
+ }
+ else if (!qs.isNowAvailable())
+ {
+ htmltext = "33647-07.html";
+ }
+ else
+ {
+ qs.setState(State.CREATED);
+ htmltext = "33647-01.htm";
+ }
+ break;
+ }
+ }
+ return htmltext;
+ }
+}
\ No newline at end of file
diff --git a/trunk/dist/game/data/scripts/quests/Q00499_IncarnationOfGluttonyKaliosSolo/33647-00.htm b/trunk/dist/game/data/scripts/quests/Q00499_IncarnationOfGluttonyKaliosSolo/33647-00.htm
new file mode 100644
index 0000000000..69e9244a8a
--- /dev/null
+++ b/trunk/dist/game/data/scripts/quests/Q00499_IncarnationOfGluttonyKaliosSolo/33647-00.htm
@@ -0,0 +1,4 @@
+Kartia Researcher:
+Don't waste my time. Strong though you may be, I need someone of a specific caliber for this task.
+(This quest can be undertaken by characters who are Lv. 95 - 99.)
+
\ No newline at end of file
diff --git a/trunk/dist/game/data/scripts/quests/Q00499_IncarnationOfGluttonyKaliosSolo/33647-00a.html b/trunk/dist/game/data/scripts/quests/Q00499_IncarnationOfGluttonyKaliosSolo/33647-00a.html
new file mode 100644
index 0000000000..4234024911
--- /dev/null
+++ b/trunk/dist/game/data/scripts/quests/Q00499_IncarnationOfGluttonyKaliosSolo/33647-00a.html
@@ -0,0 +1,2 @@
+You cannot receive quest rewards as your character's level is lower than the minimum required for the quest.
+
\ No newline at end of file
diff --git a/trunk/dist/game/data/scripts/quests/Q00499_IncarnationOfGluttonyKaliosSolo/33647-01.htm b/trunk/dist/game/data/scripts/quests/Q00499_IncarnationOfGluttonyKaliosSolo/33647-01.htm
new file mode 100644
index 0000000000..8c205d0c6a
--- /dev/null
+++ b/trunk/dist/game/data/scripts/quests/Q00499_IncarnationOfGluttonyKaliosSolo/33647-01.htm
@@ -0,0 +1,5 @@
+Kartia Researcher:
+What a disaster! Shilen has created dimensional fissures everywhere!
+Ever since the Kartia Labyrinth appeared monsters from the dark spirit realm have crossed over to our material plane. If we can't find a way to stop them, I'm afraid we're finished.
+
+
\ No newline at end of file
diff --git a/trunk/dist/game/data/scripts/quests/Q00499_IncarnationOfGluttonyKaliosSolo/33647-02.htm b/trunk/dist/game/data/scripts/quests/Q00499_IncarnationOfGluttonyKaliosSolo/33647-02.htm
new file mode 100644
index 0000000000..505b278b04
--- /dev/null
+++ b/trunk/dist/game/data/scripts/quests/Q00499_IncarnationOfGluttonyKaliosSolo/33647-02.htm
@@ -0,0 +1,5 @@
+Kartia Researcher:
+The powerful demons Zellaka, Pelline, and Kalios command Kartia's Labyrinth!
+What's worse, they're summoning minions to do their bidding. We can't allow them to bring those friends into the Material Realm. Kill them before we're overrun!
+
+
\ No newline at end of file
diff --git a/trunk/dist/game/data/scripts/quests/Q00499_IncarnationOfGluttonyKaliosSolo/33647-03.htm b/trunk/dist/game/data/scripts/quests/Q00499_IncarnationOfGluttonyKaliosSolo/33647-03.htm
new file mode 100644
index 0000000000..0547195e2c
--- /dev/null
+++ b/trunk/dist/game/data/scripts/quests/Q00499_IncarnationOfGluttonyKaliosSolo/33647-03.htm
@@ -0,0 +1,4 @@
+Kartia Researcher:
+Really? That's great!
+Based on my extensive knowledge of the labyrinth, it should be enough to get rid of the minions and then kill one of more powerful demons--Kalios.
+
\ No newline at end of file
diff --git a/trunk/dist/game/data/scripts/quests/Q00499_IncarnationOfGluttonyKaliosSolo/33647-04.html b/trunk/dist/game/data/scripts/quests/Q00499_IncarnationOfGluttonyKaliosSolo/33647-04.html
new file mode 100644
index 0000000000..d871f18728
--- /dev/null
+++ b/trunk/dist/game/data/scripts/quests/Q00499_IncarnationOfGluttonyKaliosSolo/33647-04.html
@@ -0,0 +1,4 @@
+Kartia Researcher:
+I'll leave it to you then. Come back quickly!
+Remember, clear out the minions and then kill Kalios. Easy, right?
+
\ No newline at end of file
diff --git a/trunk/dist/game/data/scripts/quests/Q00499_IncarnationOfGluttonyKaliosSolo/33647-05.html b/trunk/dist/game/data/scripts/quests/Q00499_IncarnationOfGluttonyKaliosSolo/33647-05.html
new file mode 100644
index 0000000000..7619fb9b7f
--- /dev/null
+++ b/trunk/dist/game/data/scripts/quests/Q00499_IncarnationOfGluttonyKaliosSolo/33647-05.html
@@ -0,0 +1,4 @@
+Kartia Researcher:
+You're back! Well? Did you send the demons back to the darkness where they belong?
+
+
\ No newline at end of file
diff --git a/trunk/dist/game/data/scripts/quests/Q00499_IncarnationOfGluttonyKaliosSolo/33647-06.html b/trunk/dist/game/data/scripts/quests/Q00499_IncarnationOfGluttonyKaliosSolo/33647-06.html
new file mode 100644
index 0000000000..780863fca4
--- /dev/null
+++ b/trunk/dist/game/data/scripts/quests/Q00499_IncarnationOfGluttonyKaliosSolo/33647-06.html
@@ -0,0 +1,3 @@
+Kartia Researcher:
+Your brevity is disturbing, though maybe the details would have been more so. At least the demons won't escape from the labyrinth.
+
\ No newline at end of file
diff --git a/trunk/dist/game/data/scripts/quests/Q00499_IncarnationOfGluttonyKaliosSolo/33647-07.html b/trunk/dist/game/data/scripts/quests/Q00499_IncarnationOfGluttonyKaliosSolo/33647-07.html
new file mode 100644
index 0000000000..ec0e3a18c3
--- /dev/null
+++ b/trunk/dist/game/data/scripts/quests/Q00499_IncarnationOfGluttonyKaliosSolo/33647-07.html
@@ -0,0 +1,4 @@
+Kartia Researcher:
+It appears that we are safe for now. Could you come back to check again tomorrow?
+(This quest can only be undertaken once a day. It resets everyday at 06:30.)
+
\ No newline at end of file
diff --git a/trunk/dist/game/data/scripts/quests/Q00499_IncarnationOfGluttonyKaliosSolo/Q00499_IncarnationOfGluttonyKaliosSolo.java b/trunk/dist/game/data/scripts/quests/Q00499_IncarnationOfGluttonyKaliosSolo/Q00499_IncarnationOfGluttonyKaliosSolo.java
new file mode 100644
index 0000000000..75e5a451ec
--- /dev/null
+++ b/trunk/dist/game/data/scripts/quests/Q00499_IncarnationOfGluttonyKaliosSolo/Q00499_IncarnationOfGluttonyKaliosSolo.java
@@ -0,0 +1,132 @@
+/*
+ * 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.Q00499_IncarnationOfGluttonyKaliosSolo;
+
+import com.l2jmobius.gameserver.enums.QuestType;
+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.model.quest.State;
+
+/**
+ * Incarnation of Gluttony Kalios (Solo) (499)
+ * @author Mobius
+ */
+public class Q00499_IncarnationOfGluttonyKaliosSolo extends Quest
+{
+ // NPC
+ private static final int KARTIA_RESEARCHER = 33647;
+ // Item
+ private static final int DIMENSION_TRAVELERS_GOLDEN_BOX = 34932;
+ // Misc
+ private static final int MIN_LEVEL = 95;
+ private static final int MAX_LEVEL = 99;
+
+ public Q00499_IncarnationOfGluttonyKaliosSolo()
+ {
+ super(499);
+ addStartNpc(KARTIA_RESEARCHER);
+ addTalkId(KARTIA_RESEARCHER);
+ }
+
+ @Override
+ public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
+ {
+ final QuestState qs = getQuestState(player, false);
+ if (qs == null)
+ {
+ return null;
+ }
+
+ final String htmltext = event;
+ if (event.equals("33647-03.htm"))
+ {
+ qs.startQuest();
+ }
+ else if (event.equals("33647-06.html") && qs.isCond(2))
+ {
+ rewardItems(player, DIMENSION_TRAVELERS_GOLDEN_BOX, 1);
+ qs.exitQuest(QuestType.DAILY, true);
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onTalk(L2Npc npc, L2PcInstance player)
+ {
+ String htmltext = getNoQuestMsg(player);
+ final QuestState qs = getQuestState(player, true);
+ if (qs == null)
+ {
+ return htmltext;
+ }
+
+ switch (qs.getState())
+ {
+ case State.CREATED:
+ {
+ if ((player.getLevel() < MIN_LEVEL) || (player.getLevel() > MAX_LEVEL))
+ {
+ htmltext = "33647-00.htm";
+ }
+ else
+ {
+ htmltext = "33647-01.htm";
+ }
+ break;
+ }
+ case State.STARTED:
+ {
+ if (qs.isCond(1))
+ {
+ htmltext = "33647-04.html";
+ }
+ else if (qs.isCond(2))
+ {
+ if ((player.getLevel() < MIN_LEVEL) || (player.getLevel() > MAX_LEVEL))
+ {
+ htmltext = "33647-00a.htm";
+ }
+ else
+ {
+ htmltext = "33647-05.html";
+ }
+ }
+ break;
+ }
+ case State.COMPLETED:
+ {
+ if ((player.getLevel() < MIN_LEVEL) || (player.getLevel() > MAX_LEVEL))
+ {
+ htmltext = "33647-00.htm";
+ }
+ else if (!qs.isNowAvailable())
+ {
+ htmltext = "33647-07.html";
+ }
+ else
+ {
+ qs.setState(State.CREATED);
+ htmltext = "33647-01.htm";
+ }
+ break;
+ }
+ }
+ return htmltext;
+ }
+}
\ No newline at end of file
diff --git a/trunk/dist/game/data/scripts/quests/QuestMasterHandler.java b/trunk/dist/game/data/scripts/quests/QuestMasterHandler.java
index 9c7ea53afc..cd27666377 100644
--- a/trunk/dist/game/data/scripts/quests/QuestMasterHandler.java
+++ b/trunk/dist/game/data/scripts/quests/QuestMasterHandler.java
@@ -127,6 +127,12 @@ import quests.Q00488_WondersOfCaring.Q00488_WondersOfCaring;
import quests.Q00489_InThisQuietPlace.Q00489_InThisQuietPlace;
import quests.Q00490_DutyOfTheSurvivor.Q00490_DutyOfTheSurvivor;
import quests.Q00493_KickingOutUnwelcomeGuests.Q00493_KickingOutUnwelcomeGuests;
+import quests.Q00494_IncarnationOfGreedZellakaGroup.Q00494_IncarnationOfGreedZellakaGroup;
+import quests.Q00495_IncarnationOfJealousyPellineGroup.Q00495_IncarnationOfJealousyPellineGroup;
+import quests.Q00496_IncarnationOfGluttonyKaliosGroup.Q00496_IncarnationOfGluttonyKaliosGroup;
+import quests.Q00497_IncarnationOfGreedZellakaSolo.Q00497_IncarnationOfGreedZellakaSolo;
+import quests.Q00498_IncarnationOfJealousyPellineSolo.Q00498_IncarnationOfJealousyPellineSolo;
+import quests.Q00499_IncarnationOfGluttonyKaliosSolo.Q00499_IncarnationOfGluttonyKaliosSolo;
import quests.Q00501_ProofOfClanAlliance.Q00501_ProofOfClanAlliance;
import quests.Q00508_AClansReputation.Q00508_AClansReputation;
import quests.Q00509_AClansFame.Q00509_AClansFame;
@@ -446,6 +452,12 @@ public class QuestMasterHandler
Q00489_InThisQuietPlace.class,
Q00490_DutyOfTheSurvivor.class,
Q00493_KickingOutUnwelcomeGuests.class,
+ Q00494_IncarnationOfGreedZellakaGroup.class,
+ Q00495_IncarnationOfJealousyPellineGroup.class,
+ Q00496_IncarnationOfGluttonyKaliosGroup.class,
+ Q00497_IncarnationOfGreedZellakaSolo.class,
+ Q00498_IncarnationOfJealousyPellineSolo.class,
+ Q00499_IncarnationOfGluttonyKaliosSolo.class,
Q00501_ProofOfClanAlliance.class,
Q00508_AClansReputation.class,
Q00509_AClansFame.class,