Quest A Sick Ambition (10459).

Contributed by gigilo1968.
This commit is contained in:
MobiusDev
2016-08-24 16:12:50 +00:00
parent dce1c88ce6
commit 65b99da7af
12 changed files with 193 additions and 1 deletions

View File

@@ -101,7 +101,6 @@
10456 Operation: Rescue
10457 Kefensis' Illusion
10458 To the Desert Quarry
10459 A Sick Ambition
10462 Temper a Rusting Blade
10506 Diana's Request
10703 Bottle of Istina's Soul

View File

@@ -0,0 +1,4 @@
<html><body>Fire Dragon Bride Leona Blackbird:<br>
This place is too dangerous for you. Please return to the continent.<br>
(Only characters Lv. 99 or above who have completed the "Elikia's Letter" quest may undertake this quest.)
</body></html>

View File

@@ -0,0 +1,4 @@
<html><body>Fire Dragon Bride Leona Blackbird:<br>
Beleth...! That man is behind everything that happened here. Only his death will end this nightmare. Please, help me.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10459_ASickAmbition 31595-02.htm">"What is it?"</Button>
</body></html>

View File

@@ -0,0 +1,4 @@
<html><body>Fire Dragon Bride Leona Blackbird:<br>
To interfere with his plans, we began finding and destroying Fragments of Chaos, though the latter did require the Giant's Grinder. Anyway, destroying these will lure Beleth out of safety, and we plan to start the operation as soon as we have enough.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10459_ASickAmbition 31595-03.htm">"Interesting..."</Button>
</body></html>

View File

@@ -0,0 +1,5 @@
<html><body>Fire Dragon Bride Leona Blackbird:<br>
The Giant's Grinder is in the heart of Hellbound. I will give a signal when Beleth appears; gather up your allies and let us all take him down once and for all.<br>
For our dignity.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10459_ASickAmbition 31595-04.htm">"It is a good cause. I'm in."</Button>
</body></html>

View File

@@ -0,0 +1,4 @@
<html><body>Fire Dragon Bride Leona Blackbird:<br>
The Wormhole activates when Beleth appears; use it to go to the heart of Hellbound. There we will face and defeat <font color="LEVEL">Beleth</font> together! If nothing else, we must at least take down <font color="LEVEL">Darion</font>, his right-hand man. <br>
If it is the will of you and your fellow warriors, I will also join the battle.
</body></html>

View File

@@ -0,0 +1,4 @@
<html><body>Fire Dragon Bride Leona Blackbird:<br>
The Wormhole activates when Beleth appears; use it to go to the heart of Hellbound. There we will face and defeat <font color="LEVEL">Beleth</font> together! If nothing else, we must at least take down <font color="LEVEL">Darion</font>, his right-hand man. <br>
If it is the will of you and your fellow warriors, I will also join the battle.
</body></html>

View File

@@ -0,0 +1,4 @@
<html><body>Fire Dragon Bride Leona Blackbird:<br>
It may have been an illusion, but let us call it a success.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10459_ASickAmbition 33899-02.html">"Great! Uh, do I get anything in return?"</Button>
</body></html>

View File

@@ -0,0 +1,3 @@
<html><body>Fire Dragon Bride Leona Blackbird:<br>
Please take this gift of gratitude.
</body></html>

View File

@@ -0,0 +1,4 @@
<html><body>Fire Dragon Bride Leona Blackbird:<br>
The Wormhole activates when Beleth appears; use it to go to the heart of Hellbound. There we will face and defeat <font color="LEVEL">Beleth</font> together! If nothing else, we must at least take down <font color="LEVEL">Darion</font>, his right-hand man. <br>
If it is the will of you and your fellow warriors, I will also join the battle.
</body></html>

View File

@@ -0,0 +1,155 @@
/*
* 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.Q10459_ASickAmbition;
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 com.l2jmobius.gameserver.util.Util;
import quests.Q10455_ElikiasLetter.Q10455_ElikiasLetter;
/**
* A Sick Ambition (10459)
* @URL https://l2wiki.com/A_Sick_Ambition
* @author Gigi
*/
public class Q10459_ASickAmbition extends Quest
{
// NPCs
private static final int LEONA_BLACKBIRD = 31595;
private static final int LEONA_BLACKBIRD_2 = 33899;
// Boss
private static final int DARION = 25603;
private static final int BELETH = 29118;
// Misc
private static final int MIN_LEVEL = 99;
private static final int SP_RUNE_PACK = 37903;
public Q10459_ASickAmbition()
{
super(10459);
addStartNpc(LEONA_BLACKBIRD);
addTalkId(LEONA_BLACKBIRD, LEONA_BLACKBIRD_2);
addKillId(DARION, BELETH);
addCondMinLevel(MIN_LEVEL, "31595-00.htm");
addCondCompletedQuest(Q10455_ElikiasLetter.class.getSimpleName(), "31595-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 null;
}
switch (event)
{
case "31595-02.htm":
case "31595-03.htm":
{
htmltext = event;
break;
}
case "31595-04.htm":
{
qs.startQuest();
htmltext = event;
break;
}
case "33899-02.html":
{
giveItems(player, SP_RUNE_PACK, 1);
addExpAndSp(player, 555716700, 2133952);
qs.exitQuest(false, true);
htmltext = event;
break;
}
}
return htmltext;
}
@Override
public String onTalk(L2Npc npc, L2PcInstance player)
{
final QuestState qs = getQuestState(player, true);
String htmltext = getNoQuestMsg(player);
if (qs == null)
{
return htmltext;
}
switch (qs.getState())
{
case State.CREATED:
{
htmltext = "31595-01.htm";
break;
}
case State.STARTED:
{
switch (npc.getId())
{
case LEONA_BLACKBIRD:
{
htmltext = "31595-05.html";
break;
}
case LEONA_BLACKBIRD_2:
{
if (qs.isCond(1))
{
htmltext = "33899-03.html";
}
else if (qs.isCond(2))
{
htmltext = "33899-01.html";
}
break;
}
}
break;
}
case State.COMPLETED:
{
htmltext = getAlreadyCompletedMsg(player);
break;
}
}
return htmltext;
}
@Override
public void actionForEachPlayer(L2PcInstance player, L2Npc npc, boolean isSummon)
{
final QuestState qs = getQuestState(player, false);
if ((qs != null) && qs.isCond(1) && Util.checkIfInRange(1500, npc, player, false))
{
qs.setCond(2, true);
}
}
@Override
public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
{
executeForEachPlayer(killer, npc, isSummon, true, false);
return super.onKill(npc, killer, isSummon);
}
}

View File

@@ -304,6 +304,7 @@ import quests.Q10445_AnImpendingThreat.Q10445_AnImpendingThreat;
import quests.Q10450_ADarkAmbition.Q10450_ADarkAmbition;
import quests.Q10453_StoppingTheWindDragon.Q10453_StoppingTheWindDragon;
import quests.Q10455_ElikiasLetter.Q10455_ElikiasLetter;
import quests.Q10459_ASickAmbition.Q10459_ASickAmbition;
import quests.Q10460_ReturnOfTheAlligatorHunter.Q10460_ReturnOfTheAlligatorHunter;
import quests.Q10461_TappingThePowerWithin.Q10461_TappingThePowerWithin;
import quests.Q10464_BePreparedForAnything.Q10464_BePreparedForAnything;
@@ -684,6 +685,7 @@ public class QuestMasterHandler
Q10450_ADarkAmbition.class,
Q10453_StoppingTheWindDragon.class,
Q10455_ElikiasLetter.class,
Q10459_ASickAmbition.class,
Q10460_ReturnOfTheAlligatorHunter.class,
Q10461_TappingThePowerWithin.class,
Q10464_BePreparedForAnything.class,