Quest Looking for the Blackbird Clan Member (10837).

Contributed by gigilo1968.
This commit is contained in:
MobiusDev
2017-01-06 10:19:38 +00:00
parent 3a27cb68dc
commit eabcf04293
13 changed files with 256 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
10837 Looking for the Blackbird Clan Member
10838 The Reason For Not Being Able to Get Out
10839 Blackbird's Name Value
10840 Time to Recover

View File

@@ -0,0 +1,4 @@
<html><body>Aden Vanguard Captain Adolph:<br>
This place is dangerous. You might lose your life here. Come back when you get stronger.<br>
(Only characters above Lv. 101.)
</body></html>

View File

@@ -0,0 +1,6 @@
<html><body>Aden Vanguard Captain Adolph:<br>
What? Oh, it's you. So Elikia asked you for a favor, huh?<br>
I can tell from that <font color="LEVEL">Blackbird Seal</font> you are carrying. Elikia sent you to find the Blackbird clan members, right?<br>
So you must have come to me to ask me whether I saw the Blackbird clan members.<br>
<Button ALIGN=LEFT ICON="Normal" action="bypass -h Quest Q10837_LookingForTheBlackbirdClanMember 34058-02.htm">"Yes, I did."</Button>
</body></html>

View File

@@ -0,0 +1,6 @@
<html><body>Aden Vanguard Captain Adolph:<br>
To tell you the truth, the Blackbird clan members are in the stronghold. Along with our members.<br>
We rescued them from the Embryo while trying to obtain a stronghold, but it looks like they don't trust us yet.<br>
They don't even want us to tell Elikia about their locations. <br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10837_LookingForTheBlackbirdClanMember 34058-03.htm">"How come?"</Button>
</body></html>

View File

@@ -0,0 +1,5 @@
<html><body>Aden Vanguard Captain Adolph:<br>
I'm not sure, but it might be a trust issue and something else.<br>
Anyway, it doesn't look like they are against the members in the stronghold, but they get very defensive when I or other people go.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10837_LookingForTheBlackbirdClanMember 34058-04.htm">"What should I do?"</Button>
</body></html>

View File

@@ -0,0 +1,6 @@
<html><body>Aden Vanguard Captain Adolph:<br>
The most important thing you need to gain the trust of the Blackbird clan members is to show them that you are not the enemy.<br>
It's not enough that you are carrying the <font color="LEVEL">Blackbird Seal</font>.<br>
Defeat 60 of the <font color="LEVEL">Fortress Raiders and the Atelia Passionate Soldiers</font> and 40 of the <font color="LEVEL">Fortress Guardian Captains</font>.<br>
After that, go find <font color="LEVEL">Glenkinchie</font> in the <font color="LEVEL">1st stronghold</font>. He won't question your seal once you defeat those monsters.
</body></html>

View File

@@ -0,0 +1,4 @@
<html><body>Aden Vanguard Captain Adolph:<br>
Defeat 60 of the <font color="LEVEL">Fortress Raiders and the Atelia Passionate Soldiers</font> and 40 of the <font color="LEVEL">Fortress Guardian Captains</font>.<br>
After that, go find <font color="LEVEL">Glenkinchie</font> in the <font color="LEVEL">1st stronghold</font>. He won't question your seal once you defeat those monsters.
</body></html>

View File

@@ -0,0 +1,4 @@
<html><body>Aden Vanguard Captain Adolph:<br>
What's wrong? I don't think I have anything to tell you.<br>
(Quest may only be undertaken by characters with the Blackbird Seal.)
</body></html>

View File

@@ -0,0 +1,5 @@
<html><body>Blackbird Clan Member Glenkinchie:<br>
Are you an enemy? Or our ally?<br>
You don't looklike the enemy. I don't know who to trust here. Show me that you are not the enemy.<br>
You should at least defeat some Embryo to show me, don't you think?
</body></html>

View File

@@ -0,0 +1,4 @@
<html><body>Blackbird Clan Member Glenkinchie:<br>
You are our ally. Is that... A Blackbird clan member? Or is Leona here?<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10837_LookingForTheBlackbirdClanMember 34063-02.html">"Elikia sent me."</Button>
</body></html>

View File

@@ -0,0 +1,4 @@
<html><body>Blackbird Clan Member Glenkinchie:<br>
Oh, Elikia? Then I must do something too.<br>
I'll have to work on what I've been trying to do. If you ever go see Elikia, please send my regards. I'll also write down what I found out so you can take it.
</body></html>

View File

@@ -0,0 +1,205 @@
/*
* 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.Q10837_LookingForTheBlackbirdClanMember;
import com.l2jmobius.gameserver.enums.QuestSound;
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.network.serverpackets.ExQuestNpcLogList;
/**
* Looking for the Blackbird Clan Member (10837)
* @URL https://l2wiki.com/Looking_for_the_Blackbird_Clan_Member
* @author Gigi
*/
public final class Q10837_LookingForTheBlackbirdClanMember extends Quest
{
// NPC
private static final int ADOLF = 34058;
private static final int GLENKINCHIE = 34063;
// Monsters
private static final int FORTRESS_GUARDIAN_CAPTAIN = 23506;
private static final int FORTRESS_RAIDER = 23505;
private static final int ATELIA_PASSIONATE_SOLDIER = 23507;
// Items
private static final int BLACKBIRD_REPORT_GLENKINCHIE = 46134;
private static final int BLACKBIRD_SEAL = 46132;
// Misc
private static final int MIN_LEVEL = 101;
public Q10837_LookingForTheBlackbirdClanMember()
{
super(10837);
addStartNpc(ADOLF);
addTalkId(ADOLF, GLENKINCHIE);
addKillId(FORTRESS_GUARDIAN_CAPTAIN, FORTRESS_RAIDER, ATELIA_PASSIONATE_SOLDIER);
addCondMinLevel(MIN_LEVEL, "34058-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 "34058-02.htm":
case "34058-03.htm":
{
htmltext = event;
break;
}
case "34058-04.htm":
{
qs.startQuest();
htmltext = event;
break;
}
case "34063-02.html":
{
giveItems(player, BLACKBIRD_REPORT_GLENKINCHIE, 1);
addExpAndSp(player, 9683068920L, 23239200);
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:
{
if (npc.getId() == ADOLF)
{
if (!hasQuestItems(player, BLACKBIRD_SEAL))
{
htmltext = "34058-06.htm";
break;
}
htmltext = "34058-01.htm";
}
break;
}
case State.STARTED:
{
switch (npc.getId())
{
case ADOLF:
{
if (qs.getCond() > 0)
{
htmltext = "34058-05.html";
}
break;
}
case GLENKINCHIE:
{
if (qs.isCond(1))
{
htmltext = "34063-00.html";
}
else if (qs.isCond(2))
{
htmltext = "34063-01.html";
}
break;
}
}
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, true);
if ((qs != null) && qs.isCond(1))
{
switch (npc.getId())
{
case FORTRESS_GUARDIAN_CAPTAIN:
{
int kills = qs.getInt(Integer.toString(FORTRESS_GUARDIAN_CAPTAIN));
if (kills < 40)
{
kills++;
qs.set(Integer.toString(FORTRESS_GUARDIAN_CAPTAIN), kills);
playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET);
}
break;
}
case FORTRESS_RAIDER:
{
int kills = qs.getInt(Integer.toString(FORTRESS_RAIDER));
if (kills < 60)
{
kills++;
qs.set(Integer.toString(FORTRESS_RAIDER), kills);
playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET);
}
break;
}
case ATELIA_PASSIONATE_SOLDIER:
{
int kills = qs.getInt(Integer.toString(ATELIA_PASSIONATE_SOLDIER));
if (kills < 60)
{
kills++;
qs.set(Integer.toString(ATELIA_PASSIONATE_SOLDIER), kills);
playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET);
}
break;
}
}
final ExQuestNpcLogList log = new ExQuestNpcLogList(getId());
log.addNpc(FORTRESS_GUARDIAN_CAPTAIN, qs.getInt(Integer.toString(FORTRESS_GUARDIAN_CAPTAIN)));
log.addNpc(FORTRESS_RAIDER, qs.getInt(Integer.toString(FORTRESS_RAIDER)));
log.addNpc(ATELIA_PASSIONATE_SOLDIER, qs.getInt(Integer.toString(ATELIA_PASSIONATE_SOLDIER)));
qs.getPlayer().sendPacket(log);
if ((qs.getInt(Integer.toString(FORTRESS_GUARDIAN_CAPTAIN)) >= 40) && (qs.getInt(Integer.toString(FORTRESS_RAIDER)) >= 60) && (qs.getInt(Integer.toString(ATELIA_PASSIONATE_SOLDIER)) >= 60))
{
qs.setCond(2, true);
}
}
return super.onKill(npc, killer, isSummon);
}
}

View File

@@ -414,6 +414,7 @@ import quests.Q10831_UnbelievableSight.Q10831_UnbelievableSight;
import quests.Q10832_EnergyOfSadnessAndAnger.Q10832_EnergyOfSadnessAndAnger;
import quests.Q10833_PutTheQueenOfSpiritsToSleep.Q10833_PutTheQueenOfSpiritsToSleep;
import quests.Q10836_DisappearedClanMember.Q10836_DisappearedClanMember;
import quests.Q10837_LookingForTheBlackbirdClanMember.Q10837_LookingForTheBlackbirdClanMember;
/**
* @author NosBit
@@ -818,7 +819,8 @@ public class QuestMasterHandler
Q10831_UnbelievableSight.class,
Q10832_EnergyOfSadnessAndAnger.class,
Q10833_PutTheQueenOfSpiritsToSleep.class,
Q10836_DisappearedClanMember.class
Q10836_DisappearedClanMember.class,
Q10837_LookingForTheBlackbirdClanMember.class
};
public static void main(String[] args)