diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/MissingQuests.txt b/L2J_Mobius_Underground/dist/game/data/scripts/quests/MissingQuests.txt index 9e4700519b..7ff59f8da5 100644 --- a/L2J_Mobius_Underground/dist/game/data/scripts/quests/MissingQuests.txt +++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/MissingQuests.txt @@ -122,7 +122,6 @@ 10806 The Dimensional Warp, Part 6 10807 The Dimensional Warp, Part 7 10809 The Hero's Journey: Blazing Swamp -10839 Blackbird's Name Value 10840 Time to Recover 10841 Deep Inside Atelia Fortress 10843 Anomaly in the Enchanted Valley diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10839_BlackbirdsNameValue/34065-00.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10839_BlackbirdsNameValue/34065-00.htm new file mode 100644 index 0000000000..3bc52ad41e --- /dev/null +++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10839_BlackbirdsNameValue/34065-00.htm @@ -0,0 +1,5 @@ +Blackbird Clan Member Laffian:
+What brings you to such a dangerous place?
+You shouldn't be here. Go back.
+(Only characters above Lv. 101.) + \ No newline at end of file diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10839_BlackbirdsNameValue/34065-01.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10839_BlackbirdsNameValue/34065-01.htm new file mode 100644 index 0000000000..b2af9598d7 --- /dev/null +++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10839_BlackbirdsNameValue/34065-01.htm @@ -0,0 +1,6 @@ +Blackbird Clan Member Laffian:
+Huh? Are you an ally?
+That seal... Isn't it Elikia's? Well I guess you are an ally.
+Did Elikia send you?
+ + \ No newline at end of file diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10839_BlackbirdsNameValue/34065-02.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10839_BlackbirdsNameValue/34065-02.htm new file mode 100644 index 0000000000..2319559d4d --- /dev/null +++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10839_BlackbirdsNameValue/34065-02.htm @@ -0,0 +1,6 @@ +Blackbird Clan Member Laffian:
+Elikia must have been in a hurry.
+Well, I'm doing fine. Of course I didn't completly recover from my time with the Embryo, but I should be able to carry out my revenge soon.
+Elise is pretty talented. I was able to recover thanks to her.
+ + \ No newline at end of file diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10839_BlackbirdsNameValue/34065-03.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10839_BlackbirdsNameValue/34065-03.htm new file mode 100644 index 0000000000..40b61cc770 --- /dev/null +++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10839_BlackbirdsNameValue/34065-03.htm @@ -0,0 +1,5 @@ +Blackbird Clan Member Laffian:
+Why are you talking to me?
+I don't know you... Don't you even try to trick me.
+(Quest may only be undertaken by characters with the Blackbird Seal.) + \ No newline at end of file diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10839_BlackbirdsNameValue/34065-04.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10839_BlackbirdsNameValue/34065-04.htm new file mode 100644 index 0000000000..f0522314c2 --- /dev/null +++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10839_BlackbirdsNameValue/34065-04.htm @@ -0,0 +1,5 @@ +Blackbird Clan Member Laffian:
+We have to get our revenge!
+They dared set up a trap for me, and made me rely on Elise! Unforgivable!
+Won't you help me get my revenge?
+ \ No newline at end of file diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10839_BlackbirdsNameValue/34065-05.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10839_BlackbirdsNameValue/34065-05.htm new file mode 100644 index 0000000000..7fa9b0ccce --- /dev/null +++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10839_BlackbirdsNameValue/34065-05.htm @@ -0,0 +1,5 @@ +Blackbird Clan Member Laffian:
+As long as you have the Blackbird Seal, you are part of us. We have to honor that name!
+Let's make them tremble at the mere mention of the Blackbird clan's name.
+ + \ No newline at end of file diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10839_BlackbirdsNameValue/34065-06.htm b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10839_BlackbirdsNameValue/34065-06.htm new file mode 100644 index 0000000000..6e9a03f4fa --- /dev/null +++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10839_BlackbirdsNameValue/34065-06.htm @@ -0,0 +1,4 @@ +Blackbird Clan Member Laffian:
+Good that you can make quick decisions. No wonder Elikia trusts you.
+Let's get rid of the Embryo here. Alright? Kill 200 Atelia Passionate Soldiers, Atelia Elite Captains, Atelia High Pirests, and Fortress Dark Wizards. That should be enough. + \ No newline at end of file diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10839_BlackbirdsNameValue/34065-07.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10839_BlackbirdsNameValue/34065-07.html new file mode 100644 index 0000000000..a61119a1db --- /dev/null +++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10839_BlackbirdsNameValue/34065-07.html @@ -0,0 +1,4 @@ +Blackbird Clan Member Laffian:
+Not enough. You think this is enough to honor our name?
+Kill 200 Atelia Passionate Soldiers, Atelia Elite Captains, Atelia High Pirests, and Fortress Dark Wizards. + \ No newline at end of file diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10839_BlackbirdsNameValue/34065-08.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10839_BlackbirdsNameValue/34065-08.html new file mode 100644 index 0000000000..396bd272dd --- /dev/null +++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10839_BlackbirdsNameValue/34065-08.html @@ -0,0 +1,4 @@ +Blackbird Clan Member Laffian:
+Already done? Great!
+ + \ No newline at end of file diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10839_BlackbirdsNameValue/34065-09.html b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10839_BlackbirdsNameValue/34065-09.html new file mode 100644 index 0000000000..647330b8c7 --- /dev/null +++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10839_BlackbirdsNameValue/34065-09.html @@ -0,0 +1,4 @@ +Blackbird Clan Member Laffian:
+Great! No wonder Elikia sent you here.
+But this isn't enough. I'll stay here until I'm satisfied. Elikia and Leona might be worried about me, so can you tell them I'm alright? Here's a letter. They'll know I'm safe with this. + \ No newline at end of file diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10839_BlackbirdsNameValue/Q10839_BlackbirdsNameValue.java b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10839_BlackbirdsNameValue/Q10839_BlackbirdsNameValue.java new file mode 100644 index 0000000000..8efd38bd64 --- /dev/null +++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/Q10839_BlackbirdsNameValue/Q10839_BlackbirdsNameValue.java @@ -0,0 +1,176 @@ +/* + * 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.Q10839_BlackbirdsNameValue; + +import java.util.HashSet; +import java.util.Set; + +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.holders.NpcLogListHolder; +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.NpcStringId; + +/** + * Blackbird's Name Value (10839) + * @URL https://l2wiki.com/Blackbird%27s_Name_Value + * @author Gigi + */ +public final class Q10839_BlackbirdsNameValue extends Quest +{ + // NPC + private static final int LAFFIAN = 34065; + private static final int[] MONSTERS = + { + 23512, // Atelia High Priest + 23509, // Fortress Dark Wizard + 23507, // Atelia Passionate Soldier + 23508 // Atelia Elite Captain + }; + // Items + private static final int BLACKBIRD_REPORT_LAFFIAN = 46136; + private static final int BLACKBIRD_SEAL = 46132; + // Misc + private static final int MIN_LEVEL = 101; + private static final String KILL_COUNT_VAR = "KillCount"; + + public Q10839_BlackbirdsNameValue() + { + super(10839); + addStartNpc(LAFFIAN); + addTalkId(LAFFIAN); + addKillId(MONSTERS); + addCondMinLevel(MIN_LEVEL, "34065-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 "34065-02.htm": + case "34065-04.htm": + case "34065-05.htm": + { + htmltext = event; + break; + } + case "34065-06.htm": + { + qs.startQuest(); + htmltext = event; + break; + } + case "34065-09.html": + { + giveItems(player, BLACKBIRD_REPORT_LAFFIAN, 1); + addExpAndSp(player, 12103836150L, 2904900); + 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 (!hasQuestItems(player, BLACKBIRD_SEAL)) + { + htmltext = "34065-03.htm"; + break; + } + htmltext = "34065-01.htm"; + break; + } + case State.STARTED: + { + if (qs.isCond(1)) + { + htmltext = "34065-07.html"; + } + else + { + htmltext = "34065-08.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)) + { + int count = qs.getInt(KILL_COUNT_VAR); + qs.set(KILL_COUNT_VAR, ++count); + if (count >= 200) + { + qs.setCond(2, true); + } + else + { + sendNpcLogList(killer); + playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET); + } + } + return super.onKill(npc, killer, isSummon); + } + + @Override + public Set getNpcLogList(L2PcInstance player) + { + final QuestState qs = getQuestState(player, false); + if ((qs != null) && qs.isCond(1)) + { + final int killCount = qs.getInt(KILL_COUNT_VAR); + if (killCount > 0) + { + final Set holder = new HashSet<>(); + holder.add(new NpcLogListHolder(NpcStringId.DEFEAT_THE_EMBRYO2, killCount)); + return holder; + } + } + return super.getNpcLogList(player); + } +} \ No newline at end of file diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/quests/QuestMasterHandler.java b/L2J_Mobius_Underground/dist/game/data/scripts/quests/QuestMasterHandler.java index eb3be2e5a8..ab8df5c668 100644 --- a/L2J_Mobius_Underground/dist/game/data/scripts/quests/QuestMasterHandler.java +++ b/L2J_Mobius_Underground/dist/game/data/scripts/quests/QuestMasterHandler.java @@ -416,6 +416,7 @@ import quests.Q10833_PutTheQueenOfSpiritsToSleep.Q10833_PutTheQueenOfSpiritsToSl import quests.Q10836_DisappearedClanMember.Q10836_DisappearedClanMember; import quests.Q10837_LookingForTheBlackbirdClanMember.Q10837_LookingForTheBlackbirdClanMember; import quests.Q10838_TheReasonForNotBeingAbleToGetOut.Q10838_TheReasonForNotBeingAbleToGetOut; +import quests.Q10839_BlackbirdsNameValue.Q10839_BlackbirdsNameValue; /** * @author NosBit @@ -822,7 +823,8 @@ public class QuestMasterHandler Q10833_PutTheQueenOfSpiritsToSleep.class, Q10836_DisappearedClanMember.class, Q10837_LookingForTheBlackbirdClanMember.class, - Q10838_TheReasonForNotBeingAbleToGetOut.class + Q10838_TheReasonForNotBeingAbleToGetOut.class, + Q10839_BlackbirdsNameValue.class }; public static void main(String[] args)