Quest The Lost Garden of Spirits (10830).

Contributed by gigilo1968.
This commit is contained in:
MobiusDev
2017-01-06 09:56:38 +00:00
parent f82bdb881f
commit 99513c6507
11 changed files with 177 additions and 2 deletions

View File

@@ -122,7 +122,6 @@
10806 The Dimensional Warp, Part 6
10807 The Dimensional Warp, Part 7
10809 The Hero's Journey: Blazing Swamp
10830 The Lost Garden of Spirits
10831 Unbelievable Sight
10832 Energy of Sadness and Anger
10833 Put the Queen of Spirits to Sleep

View File

@@ -0,0 +1,4 @@
<html><body>Master Cyphona:<br>
Hm? You want to help? Just go away, that's helping.<br>
(This quest is for characters Lv. 100 and higher who have completed the "In Search of the Cause" quest.)
</body></html>

View File

@@ -0,0 +1,4 @@
<html><body>Master Cyphona:<br>
Bad news. I can't convince Ferin. Well, maybe if you can prove your skills... <br>
<Button ALIGN=LEFT ICON="Normal" action="bypass -h Quest Q10830_TheLostGardenOfSpirits 34055-02.htm">"Yes?"</Button>
</body></html>

View File

@@ -0,0 +1,4 @@
<html><body>Master Cyphona:<br>
Well, if you can prove your skills... It should be okay...<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10830_TheLostGardenOfSpirits 34055-03.htm">"How can I prove my skills to you?"</Button>
</body></html>

View File

@@ -0,0 +1,4 @@
<html><body>Master Cyphona:<br>
This is how you can prove your skills. Go to the <font color="LEVEL">Garden of Spirits</font>, kill the unstable spirits, and bring back some items. Will you do this mission? <br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10830_TheLostGardenOfSpirits 34055-04.htm">"Alright."</Button>
</body></html>

View File

@@ -0,0 +1,3 @@
<html><body>Master Cyphona:<br>
Alright. Go to the <font color="LEVEL">Garden of Spirits</font>. Once there, defeat the <font color="LEVEL">Kerberos Liger, Kerberos Fort, Kerberos Nero, Fury Sylph Barrena, Fury Sylph Temptress, Fury Sylph Purka, Fury Kerberos Liger, and the Fury Kerberos Nero</font>, and bring back <font color="LEVEL">100 Unstable Spirit's Energy</font>. We'll be using those items for research.
</body></html>

View File

@@ -0,0 +1,3 @@
<html><body>Master Cyphona:<br>
You are here to ask about the mission again, huh? Go to the <font color="LEVEL">Garden of Spirits</font>. Once there, defeat the <font color="LEVEL">Kerberos Liger, Kerberos Fort, Kerberos Nero, Fury Sylph Barrena, Fury Sylph Temptress, Fury Sylph Purka, Fury Kerberos Liger, and the Fury Kerberos Nero</font>, and bring back <font color="LEVEL">100 Unstable Spirit's Energy</font>. We'll be using those items for research.
</body></html>

View File

@@ -0,0 +1,4 @@
<html><body>Master Cyphona:<br>
Good to see you back safely. It looks like you've finished the mission. You must be a better warrior than I thought you were.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10830_TheLostGardenOfSpirits 34055-07.html">"Of course!"</Button>
</body></html>

View File

@@ -0,0 +1,3 @@
<html><body>Master Cyphona:<br>
Alright. Here's your reward. I'll have to give this to Magister Belas. As a warrior, there's only so much research I can do. Please go talk to Magister Belas after this. Well, but before that, you must build some trust first.
</body></html>

View File

@@ -0,0 +1,145 @@
/*
* 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 <http://www.gnu.org/licenses/>.
*/
package quests.Q10830_TheLostGardenOfSpirits;
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;
import quests.Q10829_InSearchOfTheCause.Q10829_InSearchOfTheCause;
/**
* The Lost Garden of Spirits (10830)
* @URL https://l2wiki.com/The_Lost_Garden_of_Spirits
* @author Gigi
*/
public final class Q10830_TheLostGardenOfSpirits extends Quest
{
// NPC
private static final int CYPHONIA = 34055;
// Monsters
private static final int[] MONSTERS =
{
23550, // Kerberos Lager
23551, // Kerberos Fort
23552, // Kerberos Nero
23553, // Fury Sylph Barrena
23555, // Fury Sylph Temptress
23556, // Fury Sylph Purka
23557, // Fury Kerberos Leger
23558 // Fury Kerberos Nero
};
// Items
private static final int UNSTABLE_SPIRITS_ENERGY = 45821;
private static final int SOE = 46158;
// Misc
private static final int MIN_LEVEL = 100;
public Q10830_TheLostGardenOfSpirits()
{
super(10830);
addStartNpc(CYPHONIA);
addTalkId(CYPHONIA);
addKillId(MONSTERS);
registerQuestItems(UNSTABLE_SPIRITS_ENERGY);
addCondMinLevel(MIN_LEVEL, "34055-00.htm");
addCondCompletedQuest(Q10829_InSearchOfTheCause.class.getSimpleName(), "34055-00.htm");
}
@Override
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
{
String htmltext = null;
final QuestState qs = getQuestState(player, false);
if (qs == null)
{
return htmltext;
}
switch (event)
{
case "34055-02.htm":
case "34055-03.htm":
{
htmltext = event;
break;
}
case "34055-04.htm":
{
qs.startQuest();
htmltext = event;
break;
}
case "34055-07.html":
{
giveItems(player, SOE, 1);
addExpAndSp(player, 5932440000L, 14237820);
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);
switch (qs.getState())
{
case State.CREATED:
{
htmltext = "34055-01.htm";
break;
}
case State.STARTED:
{
if (qs.isCond(1))
{
htmltext = "34055-05.html";
}
else
{
htmltext = "34055-06.html";
}
break;
}
case State.COMPLETED:
{
htmltext = getAlreadyCompletedMsg(player);
break;
}
}
return htmltext;
}
@Override
public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
{
final QuestState qs = getQuestState(killer, false);
if ((qs != null) && qs.isCond(1) && giveItemRandomly(killer, npc, UNSTABLE_SPIRITS_ENERGY, 1, 100, 0.5, true))
{
qs.setCond(2, true);
}
return super.onKill(npc, killer, isSummon);
}
}

View File

@@ -409,6 +409,7 @@ import quests.Q10825_ForVictory.Q10825_ForVictory;
import quests.Q10826_LuckBefittingOfTheStatus.Q10826_LuckBefittingOfTheStatus;
import quests.Q10827_StepUpToLead.Q10827_StepUpToLead;
import quests.Q10829_InSearchOfTheCause.Q10829_InSearchOfTheCause;
import quests.Q10830_TheLostGardenOfSpirits.Q10830_TheLostGardenOfSpirits;
/**
* @author NosBit
@@ -808,7 +809,8 @@ public class QuestMasterHandler
Q10825_ForVictory.class,
Q10826_LuckBefittingOfTheStatus.class,
Q10827_StepUpToLead.class,
Q10829_InSearchOfTheCause.class
Q10829_InSearchOfTheCause.class,
Q10830_TheLostGardenOfSpirits.class
};
public static void main(String[] args)