Merged with released L2J-Unity files.

This commit is contained in:
mobiusdev
2016-06-12 01:34:09 +00:00
parent e003e87887
commit 635557f5da
18352 changed files with 3245113 additions and 2892959 deletions

View File

@@ -0,0 +1,5 @@
<html><body>Tracker Dokara:<br>
Now that I know the <font color="LEVEL">Embryo</font> organization supported the <font color="LEVEL">Suspicious Vagabond</font> and they are working for <font color="LEVEL">Shilen</font>, I have to do something.<br>
But I can't leave the <font color="LEVEL">Swamp of Screams</font> either. Not when my comrades bodies are still warm on the ground.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10410_EmbryoInTheSwampOfScreams 33847-02.htm">Let me help you</Button>
</body></html>

View File

@@ -0,0 +1,4 @@
<html><body>Tracker Dokara:<br>
Thank you for your compassion. We must avenge my comrades. Kill the members of <font color="LEVEL">Embryo</font>! But they cower in secret spaces. To drag them out of hiding, you must defeat the <font color="LEVEL">Stakatos</font> in the <font color="LEVEL">Swamp of Screams</font>.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10410_EmbryoInTheSwampOfScreams 33847-03.htm">How do you know that'll work?</Button>
</body></html>

View File

@@ -0,0 +1,4 @@
<html><body>Tracker Dokara:<br>
The <font color="LEVEL">Golden Ram Army</font> complains about an unidentified group of people who are wooing <font color="LEVEL">Stakatos</font> to their side. If there's a mutual protection pact between Embryo and Stakatos, then you need only attack one to find the other.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10410_EmbryoInTheSwampOfScreams 33847-04.htm">Got it</Button>
</body></html>

View File

@@ -0,0 +1,3 @@
<html><body>Tracker Dokara:<br>
<font color="LEVEL">Embryo, the Swamp of Screams Scouts,</font> will rush to <font color="LEVEL">Stakatos</font>'s defense in the <font color="LEVEL">Swamp of Screams</font>. Defeat <font color="LEVEL">50</font> of them, and then we'll decide what to do next.
</body></html>

View File

@@ -0,0 +1,4 @@
<html><body>Tracker Dokara:<br>
What're you waiting for?<br>
Just defeat the <font color="LEVEL">Stakatos</font> in the <font color="LEVEL">Swamp of Screams</font>, and the <font color="LEVEL">Embryo, the Swamp of Screams Scouts,</font> will appear. Really. <font color="LEVEL">50</font> members should be enough to avenge my dead brethren.
</body></html>

View File

@@ -0,0 +1,4 @@
<html><body>Tracker Dokara:<br>
Now my late comrades can rest in peace. Thank you for your compassion.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10410_EmbryoInTheSwampOfScreams 33847-07.html">What should we do now?</Button>
</body></html>

View File

@@ -0,0 +1,4 @@
<html><body>Tracker Dokara:<br>
You should take a break from this intrigue. I've sent a message to my other comrades about the <font color="LEVEL">Embryo</font> organization. We'll take care of them now. <br>
Thank you so much for your great help. You will always be my friend! I hope our paths will cross again.
</body></html>

View File

@@ -0,0 +1,4 @@
<html><body>Tracker Dokara:<br>
I can't trust you.<br>
(This quest may only be undertaken by a Fighter class character of level 65 or above who has completed the quest "Suspicious Vagabond in the Swamp".)
</body></html>

View File

@@ -0,0 +1,4 @@
<html><body>Tracker Dokara:<br>
I don't trust you.<br>
(Ertheia classes cannot perform this quest.)
</body></html>

View File

@@ -0,0 +1,191 @@
/*
* 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.Q10410_EmbryoInTheSwampOfScreams;
import java.util.HashSet;
import java.util.Set;
import com.l2jmobius.gameserver.enums.CategoryType;
import com.l2jmobius.gameserver.enums.ChatType;
import com.l2jmobius.gameserver.enums.QuestSound;
import com.l2jmobius.gameserver.enums.Race;
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;
import quests.Q10409_ASuspiciousVagabondInTheSwamp.Q10409_ASuspiciousVagabondInTheSwamp;
/**
* Embryo in the Swamp of Screams (10410)
* @author St3eT
*/
public final class Q10410_EmbryoInTheSwampOfScreams extends Quest
{
// NPCs
private static final int DOKARA = 33847;
private static final int EMBRYO = 27508;
private static final int[] MONSTERS =
{
21508, // Splinter Stakato
21509, // Splinter Stakato Worker
21510, // Splinter Stakato Soldier
21511, // Splinter Stakato Drone
21513, // Needle Stakato
21514, // Needle Stakato Worker
21515, // Needle Stakato Soldier
21516, // Needle Stakato Drone
21517, // Needle Stakato Drone
21518, // Frenzied Stakato Soldier
};
// Items
private static final int EAA = 730; // Scroll: Enchant Armor (A-grade)
// Misc
private static final int MIN_LEVEL = 65;
private static final int MAX_LEVEL = 70;
public Q10410_EmbryoInTheSwampOfScreams()
{
super(10410);
addStartNpc(DOKARA);
addTalkId(DOKARA);
addKillId(MONSTERS);
addKillId(EMBRYO);
addCondNotRace(Race.ERTHEIA, "33847-09.html");
addCondInCategory(CategoryType.FIGHTER_GROUP, "33847-08.htm");
addCondLevel(MIN_LEVEL, MAX_LEVEL, "33847-08.htm");
addCondCompletedQuest(Q10409_ASuspiciousVagabondInTheSwamp.class.getSimpleName(), "33847-08.htm");
}
@Override
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
{
final QuestState st = getQuestState(player, false);
if (st == null)
{
return null;
}
String htmltext = null;
switch (event)
{
case "33847-02.htm":
case "33847-03.htm":
{
htmltext = event;
break;
}
case "33847-04.htm":
{
st.startQuest();
htmltext = event;
break;
}
case "33847-07.html":
{
if (st.isCond(2))
{
st.exitQuest(false, true);
giveItems(player, EAA, 5);
giveStoryQuestReward(player, 63);
if (player.getLevel() >= MIN_LEVEL)
{
addExpAndSp(player, 16_968_420, 4072);
}
htmltext = event;
}
break;
}
}
return htmltext;
}
@Override
public String onTalk(L2Npc npc, L2PcInstance player)
{
final QuestState st = getQuestState(player, true);
String htmltext = null;
switch (st.getState())
{
case State.CREATED:
{
htmltext = "33847-01.htm";
break;
}
case State.STARTED:
{
htmltext = st.isCond(1) ? "33847-05.html" : "33847-06.html";
break;
}
case State.COMPLETED:
{
htmltext = getAlreadyCompletedMsg(player);
break;
}
}
return htmltext;
}
@Override
public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
{
final QuestState st = getQuestState(killer, false);
if ((st != null) && st.isCond(1))
{
if (npc.getId() == EMBRYO)
{
int count = st.getInt("KillCount");
st.set("KillCount", ++count);
if (count >= 50)
{
st.setCond(2, true);
}
else
{
sendNpcLogList(killer);
playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET);
}
}
else
{
final L2Npc embryo = addSpawn(EMBRYO, npc, false, 60000);
addAttackPlayerDesire(embryo, killer);
embryo.broadcastSay(ChatType.NPC_GENERAL, NpcStringId.YOU_DARE_INTERFERE_WITH_EMBRYO_SURELY_YOU_WISH_FOR_DEATH);
}
}
return super.onKill(npc, killer, isSummon);
}
@Override
public Set<NpcLogListHolder> getNpcLogList(L2PcInstance activeChar)
{
final QuestState st = getQuestState(activeChar, false);
if ((st != null) && st.isCond(1))
{
final Set<NpcLogListHolder> npcLogList = new HashSet<>(1);
npcLogList.add(new NpcLogListHolder(EMBRYO, false, st.getInt("KillCount")));
return npcLogList;
}
return super.getNpcLogList(activeChar);
}
}