Priest Bastian:
+Welcome! You brought the exact amount that was requested. Thanks to you, the peace in this place can be maintainde.
+Here is the reward that I mentioned. Goodbye.
+
\ No newline at end of file
diff --git a/trunk/dist/game/data/scripts/quests/Q00489_InThisQuietPlace/32327-01.htm b/trunk/dist/game/data/scripts/quests/Q00489_InThisQuietPlace/32327-01.htm
new file mode 100644
index 0000000000..416f6c280c
--- /dev/null
+++ b/trunk/dist/game/data/scripts/quests/Q00489_InThisQuietPlace/32327-01.htm
@@ -0,0 +1,5 @@
+Adventurers' Guide:
+Hear ye! Hear ye!
+All adventurers planning to visit the Shrine of Loyalty should listen to this important information. Though it was once widely visited by Aden's warriors and mages, increased monster activity has drastically reduced the number of visitors. This situation is something that Priest Bastian wishes remedied as soon as possible. Any persons willing to help should see me for further details.
+
+
\ No newline at end of file
diff --git a/trunk/dist/game/data/scripts/quests/Q00489_InThisQuietPlace/32327-02.htm b/trunk/dist/game/data/scripts/quests/Q00489_InThisQuietPlace/32327-02.htm
new file mode 100644
index 0000000000..9c6ef8e143
--- /dev/null
+++ b/trunk/dist/game/data/scripts/quests/Q00489_InThisQuietPlace/32327-02.htm
@@ -0,0 +1,5 @@
+Adventurers' Guide:
+Grave Scarabs, Scavenger Scarabs, Grave Ants, Scavenger Ants, Shrine Knights and Shrine Royal Guards have infested the Shrine of Loyalty.
+But it's never that simple, right? Some of them are infused with Traces of Evil Spirit, possibly as many as 700! But no one would agree to kill that many, so if you can collect 77 of them for now, I'm authorized to give a reward.
+
+
\ No newline at end of file
diff --git a/trunk/dist/game/data/scripts/quests/Q00489_InThisQuietPlace/32327-03.htm b/trunk/dist/game/data/scripts/quests/Q00489_InThisQuietPlace/32327-03.htm
new file mode 100644
index 0000000000..724da85d65
--- /dev/null
+++ b/trunk/dist/game/data/scripts/quests/Q00489_InThisQuietPlace/32327-03.htm
@@ -0,0 +1,4 @@
+Adventurers' Guide:
+Me? Nothing. I'm not that kind of guide. Priest Bastian in the Town of Goddard is the knowledgeable one. He will take the samples and pay you for your time. Will you take the mission?
+
+
\ No newline at end of file
diff --git a/trunk/dist/game/data/scripts/quests/Q00489_InThisQuietPlace/32327-04.htm b/trunk/dist/game/data/scripts/quests/Q00489_InThisQuietPlace/32327-04.htm
new file mode 100644
index 0000000000..7d259e296b
--- /dev/null
+++ b/trunk/dist/game/data/scripts/quests/Q00489_InThisQuietPlace/32327-04.htm
@@ -0,0 +1,4 @@
+Adventurers' Guide:
+Excellent. Now to review the mission...
+Kill Grave Scarabs, Scavenger Scarabs, Grave Ants, Scavenger Ants, Shrine Knights and Shrine Royal Guards and collect 77 Traces of Evil Spirit. Then take them to Priest Bastian in the Town of Goddard.
+
\ No newline at end of file
diff --git a/trunk/dist/game/data/scripts/quests/Q00489_InThisQuietPlace/32327-05.html b/trunk/dist/game/data/scripts/quests/Q00489_InThisQuietPlace/32327-05.html
new file mode 100644
index 0000000000..c1306730c0
--- /dev/null
+++ b/trunk/dist/game/data/scripts/quests/Q00489_InThisQuietPlace/32327-05.html
@@ -0,0 +1,4 @@
+Adventurers' Guide:
+One more time:
+Go to the Shrine of Loyalty and kill Grave Scarabs, Scavenger Scarabs, Grave Ants, Scavenger Ants, Shrine Knights and Shrine Royal Guards. Bring 77 Traces of Evil Spirit to Priest Bastian in the Town of Goddard, who will pay you for your time.
+
\ No newline at end of file
diff --git a/trunk/dist/game/data/scripts/quests/Q00489_InThisQuietPlace/32327-07.html b/trunk/dist/game/data/scripts/quests/Q00489_InThisQuietPlace/32327-07.html
new file mode 100644
index 0000000000..9d743ea29d
--- /dev/null
+++ b/trunk/dist/game/data/scripts/quests/Q00489_InThisQuietPlace/32327-07.html
@@ -0,0 +1,5 @@
+Adventurers' Guide:
+You already did what I asked today, remember?
+Thanks, but I don't need anything else right now.
+(You can only undertake this quest once a day. It resets every day at 6:30 AM.)
+
\ No newline at end of file
diff --git a/trunk/dist/game/data/scripts/quests/Q00489_InThisQuietPlace/Q00489_InThisQuietPlace.java b/trunk/dist/game/data/scripts/quests/Q00489_InThisQuietPlace/Q00489_InThisQuietPlace.java
new file mode 100644
index 0000000000..596d187536
--- /dev/null
+++ b/trunk/dist/game/data/scripts/quests/Q00489_InThisQuietPlace/Q00489_InThisQuietPlace.java
@@ -0,0 +1,141 @@
+/*
+ * 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.Q00489_InThisQuietPlace;
+
+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.holders.ItemHolder;
+import com.l2jmobius.gameserver.model.quest.Quest;
+import com.l2jmobius.gameserver.model.quest.QuestState;
+
+/**
+ * In This Quiet Place (489)
+ * @URL https://l2wiki.com/In_This_Quiet_Place
+ * @author Gigi
+ */
+public class Q00489_InThisQuietPlace extends Quest
+{
+ // NPCs
+ private static final int ADVANTURES_GUIDE = 32327;
+ private static final int BASTIAN = 31280;
+ // MONSTERS
+ private static final int GRAVE_SCARAB = 21646;
+ private static final int SCAVENGER_SCARAB = 21647;
+ private static final int GRAVE_ANT = 21648;
+ private static final int SCAVANGER_ANT = 21649;
+ private static final int SHRINE_KNIGHT = 21650;
+ private static final int SHRINE_ROYAL_GUARD = 21651;
+ // Items
+ private static final int TRACE_OF_EVIL_SPIRIT = 19501;
+ private static final ItemHolder ADENA = new ItemHolder(57, 283800);
+ // Misc
+ private static final int MIN_LEVEL = 75;
+ private static final int MAX_LEVEL = 79;
+ // Reward
+ private static final int EXP_REWARD = 19890000;
+ private static final int SP_REWARD = 4773;
+
+ public Q00489_InThisQuietPlace()
+ {
+ super(489, Q00489_InThisQuietPlace.class.getSimpleName(), "In This Quiet Place");
+ addStartNpc(ADVANTURES_GUIDE);
+ addTalkId(ADVANTURES_GUIDE, BASTIAN);
+ registerQuestItems(TRACE_OF_EVIL_SPIRIT);
+ addKillId(GRAVE_SCARAB, SCAVENGER_SCARAB, GRAVE_ANT, SCAVANGER_ANT, SHRINE_KNIGHT, SHRINE_ROYAL_GUARD);
+ addCondLevel(MIN_LEVEL, MAX_LEVEL, "no_level.html");
+ }
+
+ @Override
+ public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
+ {
+ String htmltext = event;
+ final QuestState qs = getQuestState(player, false);
+ if (qs == null)
+ {
+ return getNoQuestMsg(player);
+ }
+
+ switch (event)
+ {
+ case "32327-02.htm":
+ case "32327-03.htm":
+ {
+ htmltext = event;
+ break;
+ }
+ case "32327-04.htm":
+ {
+ qs.startQuest();
+ htmltext = event;
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onTalk(L2Npc npc, L2PcInstance player)
+ {
+ final QuestState qs = getQuestState(player, true);
+ String htmltext = getNoQuestMsg(player);
+
+ switch (npc.getId())
+ {
+ case ADVANTURES_GUIDE:
+ {
+ if (qs.isCreated())
+ {
+ htmltext = "32327-01.htm";
+ }
+ else if (qs.getCond() > 0)
+ {
+ htmltext = "32327-05.html";
+ }
+ else if (qs.isCompleted() && !qs.isNowAvailable())
+ {
+ htmltext = "32327-07.html";
+ }
+ break;
+ }
+ case BASTIAN:
+ {
+ if (qs.isCond(2) && (getQuestItemsCount(player, TRACE_OF_EVIL_SPIRIT) >= 77))
+ {
+ takeItems(player, TRACE_OF_EVIL_SPIRIT, -1);
+ giveItems(player, ADENA);
+ addExpAndSp(player, EXP_REWARD, SP_REWARD);
+ qs.exitQuest(QuestType.DAILY, true);
+ htmltext = "31280-01.html";
+ }
+ break;
+ }
+ }
+ return htmltext;
+ }
+
+ @Override
+ public String onKill(L2Npc monster, L2PcInstance killer, boolean isSummon)
+ {
+ final QuestState qs = getQuestState(killer, false);
+ if ((qs != null) && qs.isCond(1) && giveItemRandomly(killer, monster, TRACE_OF_EVIL_SPIRIT, 1, 77, 0.2, true))
+ {
+ qs.setCond(2, true);
+ }
+ return super.onKill(monster, killer, isSummon);
+ }
+}
\ No newline at end of file
diff --git a/trunk/dist/game/data/scripts/quests/Q00489_InThisQuietPlace/no_level.html b/trunk/dist/game/data/scripts/quests/Q00489_InThisQuietPlace/no_level.html
new file mode 100644
index 0000000000..3d3b8d32b6
--- /dev/null
+++ b/trunk/dist/game/data/scripts/quests/Q00489_InThisQuietPlace/no_level.html
@@ -0,0 +1,3 @@
+You don't meet level requirements
+(Quest available from level 75 - 79)
+
\ 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 0278092be7..e520986593 100644
--- a/trunk/dist/game/data/scripts/quests/QuestMasterHandler.java
+++ b/trunk/dist/game/data/scripts/quests/QuestMasterHandler.java
@@ -135,6 +135,7 @@ import quests.Q00472_ChallengeSteamCorridor.Q00472_ChallengeSteamCorridor;
import quests.Q00473_InTheCoralGarden.Q00473_InTheCoralGarden;
import quests.Q00485_HotSpringWater.Q00485_HotSpringWater;
import quests.Q00488_WondersOfCaring.Q00488_WondersOfCaring;
+import quests.Q00489_InThisQuietPlace.Q00489_InThisQuietPlace;
import quests.Q00490_DutyOfTheSurvivor.Q00490_DutyOfTheSurvivor;
import quests.Q00492_TombRaiders.Q00492_TombRaiders;
import quests.Q00494_IncarnationOfGreedZellakaGroup.Q00494_IncarnationOfGreedZellakaGroup;
@@ -568,6 +569,7 @@ final class QuestMasterHandler
Q10465_SoulFrostSword.class,
Q10472_WindsOfFate_EncroachingShadows.class,
Q00488_WondersOfCaring.class,
+ Q00489_InThisQuietPlace.class,
Q10501_ZakenEmbroideredSoulCloak.class,
Q10502_FreyaEmbroideredSoulCloak.class,
Q10503_FrintezzaEmbroideredSoulCloak.class,