Addition of quest Orfen's Ambition (10533).

This commit is contained in:
MobiusDevelopment 2019-04-18 02:10:39 +00:00
parent 3d8c3ca671
commit e0ffed049d
15 changed files with 788 additions and 596 deletions

View File

@ -3,5 +3,5 @@ The Sea of Spores used to have a barrier, but it couldn't stop the sea expanding
So the Ivory Tower found a way of creating a new barrier: "Killing poison with poison"...<br>
We're using the very same Energy of The Sea of Spores which made the Sea of Spores more dangerous as our source of energy. But there's a problem. This energy is very unstable and keeps trying to spread and escape.<br>
So I had to come here for the maintenance of the barrier. I'm capable of the most minute distribution of energy for maintaining the barrier. As long as I'm here, you don't have to worry about Sea of Spores.<br>
<Button ALIGN=LEFT ICON="RETURN" action="bypass -h npc_%objectId%_Chat 34448.htm">Back</Button>
<Button ALIGN=LEFT ICON="RETURN" action="bypass -h npc_%objectId%_Chat 0">Back</Button>
</html>

View File

@ -0,0 +1,7 @@
<html><body>Jamon:<br>
Aracna is the name of the spider people. each of them was a fine warrior, but all but three of them fell to extinction. Those three sisters are closely related to the fates of all races, as well as their own.<br>
You must be familiar with the eldest sister Nerupa. She spins the Thread of the Present. Nerupa was the leader of the Aracna and received immortality in exchange for providing protection to the Mother Tree. the second eldest is Lithra, who spins the Thread of the Past. She continues to test her strength against Nerupa at the Shadow of the Mother Tree.<br>
the youngest is Orfen. She spins the Thread of the Future. She's the most ambitious sister of all. It's been a very long time since she settled here to build her own forces.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 2">"Tell me about Orfen."</Button>
<Button ALIGN=LEFT ICON="RETURN" action="bypass -h npc_%objectId%_Chat 0">To the beginning</Button>
</body></html>

View File

@ -0,0 +1,7 @@
<html><body>Jamon:<br>
Orfen was the most ambitious one of the three sisters. She felt that she should been the leader of the Aracna, not Nerupa. While her sister Lithra disappeared without a trace, Orfen declared she would create her own powerful forces and left the Aracna to settle in the Sea of Spores.<br>
Now Orfen is using the Energy of the Sea of Spores to make herself stronger. Orfen's Handmaidens Arima and Arimus are collecting the energy at the Sea of Spores.<br>
Orfen's Handmaidens have covered themselves with a barrier of the Sea of Spores to protect themselves and they're sending the Energy of the Sea of Spores to Orfen. If you want to defeat Orfen, you'll need to destroy barrier of the Sea of Spores worn by Orfen's Handmaidens, defeat the handmaidens and stop them from sending the energy to Orfen.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 1">"Tell me about the Aracna."</Button>
<Button ALIGN=LEFT ICON="RETURN" action="bypass -h npc_%objectId%_Chat 0">To the beginning</Button>
</body></html>

View File

@ -0,0 +1,8 @@
<html><body>Jamon:<br>
I'm Jamon, the sole Aracna Researcher.<br>
there has been no progress in research on the Aracna since they're almost extinct. There are only three Aracna survivors and their existence is critical, but their relationship is rather complicated.<br>
I'm currently researching Orfen, one of the Aracna survivors. I came here because I'm worried that things have been stirring after she has stayed quiet for so long.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 1">"Tell me more about the Aracna."</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 2">"Tell me about Orfen."</Button>
<Button ALIGN=LEFT ICON="QUEST" action="bypass -h npc_%objectId%_Quest">Quest</Button>
</body></html>

View File

@ -181,7 +181,6 @@
10457 Kefensis' Illusion
10531 Odd Happenings at Dragon Valley Strange Things Afoot in the Valley
10532 Uncovering the Conspiracy Eliminate the Undead and Dragons
10533 Orfen's Ambition
10535 Blacksmith's Soul-awakening Weapon - 3
10537 Kamael Disarray To Retbach
10538 Giant's Evolution Cause of failed evolution

View File

@ -414,6 +414,7 @@ import quests.custom.Q10518_SucceedingThePriestess.Q10518_SucceedingThePriestess
import quests.custom.Q10519_ControllingYourTemper.Q10519_ControllingYourTemper;
import quests.custom.Q10520_TempleGuardians.Q10520_TempleGuardians;
import quests.custom.Q10529_IvoryTowersResearchFloatingSeaJournal.Q10529_IvoryTowersResearchFloatingSeaJournal;
import quests.custom.Q10533_OrfensAmbition.Q10533_OrfensAmbition;
import quests.not_done.*;
/**
@ -805,7 +806,7 @@ public class QuestMasterHandler
Q10530_KekropusLetterTheDragonsTransition.class,
Q10531_OddHappeningsAtDragonValley.class, // TODO: Not done.
Q10532_UncoveringTheConspiracy.class, // TODO: Not done.
Q10533_OrfensAmbition.class, // TODO: Not done.
Q10533_OrfensAmbition.class, // FIXME: Custom.
Q10534_HatchlingResearch.class,
Q10535_BlacksmithsSoul3.class, // TODO: Not done.
Q10537_KamaelDisarray.class, // TODO: Not done.

View File

@ -0,0 +1,182 @@
/*
* 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.custom.Q10533_OrfensAmbition;
import org.l2jmobius.Config;
import org.l2jmobius.gameserver.enums.QuestType;
import org.l2jmobius.gameserver.model.actor.Npc;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
import org.l2jmobius.gameserver.model.quest.Quest;
import org.l2jmobius.gameserver.model.quest.QuestState;
import org.l2jmobius.gameserver.model.quest.State;
/**
* Orfen's Ambition (10533)
* @URL https://l2wiki.com/Orfen%27s_Ambition
* @author Mobius
*/
public class Q10533_OrfensAmbition extends Quest
{
// NPCs
private static final int START_NPC = 33846;
private static final int TALK_NPC_1 = 34449;
private static final int[] BOSS_IDS =
{
29325
};
// Misc
private static final QuestType QUEST_TYPE = QuestType.ONE_TIME; // REPEATABLE, ONE_TIME, DAILY
private static final int TALK_NPC_1_COND = 1;
private static final int KILLING_COND = 2;
private static final int FINISH_COND = 3;
private static final int MIN_LEVEL = 106;
public Q10533_OrfensAmbition()
{
super(10533);
addStartNpc(START_NPC, TALK_NPC_1);
addTalkId(START_NPC, TALK_NPC_1);
addKillId(BOSS_IDS);
addCondMinLevel(MIN_LEVEL, getNoQuestMsg(null));
}
@Override
public String onAdvEvent(String event, Npc npc, PlayerInstance player)
{
final QuestState qs = getQuestState(player, false);
if (qs == null)
{
return null;
}
switch (event)
{
case "accept.htm":
{
if (qs.isCreated())
{
qs.startQuest();
qs.setCond(TALK_NPC_1_COND);
}
break;
}
case "accept2.htm":
{
if (qs.isCond(TALK_NPC_1_COND))
{
qs.startQuest();
qs.setCond(KILLING_COND);
}
break;
}
case "reward.html":
{
if (qs.isCond(FINISH_COND))
{
// Reward.
addExpAndSp(player, 99527685300L, 99527580);
rewardItems(player, 46151, 1);
qs.exitQuest(QUEST_TYPE, true);
}
break;
}
default:
{
return null;
}
}
return event;
}
@Override
public String onTalk(Npc npc, PlayerInstance player)
{
final QuestState qs = getQuestState(player, true);
String htmltext = getNoQuestMsg(player);
if (npc.getId() == START_NPC)
{
switch (qs.getState())
{
case State.CREATED:
{
htmltext = "start.htm";
break;
}
case State.STARTED:
{
if (qs.isCond(TALK_NPC_1_COND))
{
htmltext = "accept.htm";
}
break;
}
case State.COMPLETED:
{
htmltext = getAlreadyCompletedMsg(player, QUEST_TYPE);
break;
}
}
}
else if (npc.getId() == TALK_NPC_1)
{
switch (qs.getState())
{
case State.STARTED:
{
if (qs.isCond(TALK_NPC_1_COND))
{
htmltext = "start2.htm";
}
else if (qs.isCond(KILLING_COND))
{
htmltext = "accept2.htm";
}
else if (qs.isCond(FINISH_COND))
{
htmltext = "finish.html";
}
break;
}
case State.COMPLETED:
{
htmltext = getAlreadyCompletedMsg(player, QUEST_TYPE);
break;
}
}
}
return htmltext;
}
@Override
public String onKill(Npc npc, PlayerInstance player, boolean isSummon)
{
executeForEachPlayer(player, npc, isSummon, true, false);
return super.onKill(npc, player, isSummon);
}
@Override
public void actionForEachPlayer(PlayerInstance player, Npc npc, boolean isSummon)
{
final QuestState qs = getQuestState(player, false);
if ((qs != null) && qs.isCond(KILLING_COND) && player.isInsideRadius3D(npc, Config.ALT_PARTY_RANGE))
{
qs.setCond(FINISH_COND);
}
}
}

View File

@ -0,0 +1,3 @@
<html><body>Bacon:<br>
I need you to talk to <font color="LEVEL">Jamon</font> to find out about the changes to <font color="LEVEL">Orfen</font>.
</body></html>

View File

@ -0,0 +1,3 @@
<html><body>Jamon:<br>
You will have to subdue <font color="LEVEL">Orfen</font>.
</body></html>

View File

@ -0,0 +1,4 @@
<html><body>Bacon:<br>
Did you subdue the great enemy I spoke you about?<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10533_OrfensAmbition reward.html">"It is done."</Button>
</body></html>

View File

@ -0,0 +1,3 @@
<html><body>Bacon:<br>
Thank you for your assistance.
</body></html>

View File

@ -0,0 +1,5 @@
<html><body>Bacon:<br>
If you have time I have a mission for you.<br1>
I need you to speak with someone.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10533_OrfensAmbition accept.htm">"Say no more. On my way."</Button>
</body></html>

View File

@ -0,0 +1,5 @@
<html><body>Jamon:<br>
If you have time I have a mission for you.<br1>
I need you to subdue a great enemy.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10533_OrfensAmbition accept2.htm">"Say no more. I accept."</Button>
</body></html>

View File

@ -1,36 +0,0 @@
/*
* 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.not_done;
import org.l2jmobius.Config;
import org.l2jmobius.gameserver.model.quest.Quest;
/**
* @author Mobius
*/
public class Q10533_OrfensAmbition extends Quest
{
private static final int START_NPC = 33846;
public Q10533_OrfensAmbition()
{
super(10533);
addStartNpc(START_NPC);
addTalkId(START_NPC);
addCondMinLevel(Config.PLAYER_MAXIMUM_LEVEL, getNoQuestMsg(null));
}
}

File diff suppressed because it is too large Load Diff