This commit is contained in:
mobius
2015-01-01 20:02:50 +00:00
parent eeae660458
commit a6a3718849
17894 changed files with 2818932 additions and 0 deletions

View File

@@ -0,0 +1,8 @@
<html><body>Singsing:<br>
Ah, an adventurer! Are you looking for a job? Since the discovery of this Primeval Isle, Aden port has added a wharf for those interested in seeing the strange new island for themselves.<br>
In fact, we're getting flooded with adventurers and wizards eager to uncover the island's mysteries or test their mettle against the terrible creatures there.<br>
We handle tickets here for the ship bound for the island as well as offering accommodations for those who wish to trade with the natives.<br>
Now we have expanded our service to connect adventurers with those in need of their services.<br>
Ah, but there is one request I have...<br>
<a action="bypass -h Quest Q00643_RiseAndFallOfTheElrokiTribe 32106-02.htm">"What kind of request?"</a>
</body></html>

View File

@@ -0,0 +1,7 @@
<html><body>Singsing:<br>
On this Primeval Isle you'll find primitive creatures called dinosaurs -- you'll never see anything like them in Aden, believe me! According to wise wizards, even the gods and Giants were afraid of the dinosaurs. They cannot be found in Aden -- thankfully -- but are still plentiful on that strange island.<br>
Around the wharf, you'll find only relatively weak ones, but they are still a challenge for even the hardiest adventurer.<br>
The wizard Karakawei has been pestering me to acquire some of those creatures' bone for study. If you defeat them and bring back their bones, I will purchase them from you on his behalf. What do you say?<br>
<a action="bypass -h Quest Q00643_RiseAndFallOfTheElrokiTribe quest_accept">"Doesn't sound that tough -- count me in."</a><br>
<a action="bypass -h Quest Q00643_RiseAndFallOfTheElrokiTribe 32106-04.htm">"Ah, I really can't stand reptiles... Sorry, but I'll pass."</a>
</body></html>

View File

@@ -0,0 +1,5 @@
<html><body>Singsing:<br>
Ah, you are a true adventurer! Go and hunt <font color="LEVEL">Pachycephalosaurus and wild striders</font> and bring back the <font color="LEVEL">bones of dinosaurs from the plains</font>. I will purchase them from you on Karakawei's behalf.<br>
Just as a favor to you, I heard from a friend of mine who trades with the island natives that the native shaman is also in the market for dinosaur bones. While you're at it, you may want to try to contact him as well.<br>
<a action="bypass -h Quest Q00643_RiseAndFallOfTheElrokiTribe 32106-05.html">"Where can I find this native shaman?"</a>
</body></html>

View File

@@ -0,0 +1,3 @@
<html><body>Singsing:<br>
Sure, I understand. I don't think this island is the place for you, though, if you're afraid of reptiles. (So much for being an adventurer!)
</body></html>

View File

@@ -0,0 +1,3 @@
<html><body>Singsing:<br>
The shaman lives on the island's southern Primeval Plains. He doesn't like to have contact with outsiders, though, so you'll need someone he trusts to vouch for you before he'll likely talk to you. There is a native warrior, <font color="LEVEL">Orahochin</font>, who lives at the foot of the mountain between the southern shore of Primeval Plains and the Lost Nest. I've heard that he is more accepting of outsiders.
</body></html>

View File

@@ -0,0 +1,9 @@
<html><body>Singsing:<br>
Ah, an adventurer! Are you looking for a job? Since the discovery of this Primeval Isle, Aden port has added a wharf for those interested in seeing the strange new island for themselves.<br>
In fact, we're getting flooded with adventurers and wizards eager to uncover the island's mysteries or test their mettle against the terrible creatures there.<br>
We handle tickets here for the ship bound for the island as well as offering accommodations for those who wish to trade with the natives.<br>
Now we have expanded our service to connect adventurers with those in need of their services.<br>
I have just one request, but hmmm...<br>
I don't think that you're suited for this particular task.<br>
(Only characters level 75 and above are permitted to take on this quest.)
</body></html>

View File

@@ -0,0 +1,3 @@
<html><body>Singsing:<br>
I don't think this task is suitable for you.<br>(Only characters level 75 and above are permitted to take on this quest.)
</body></html>

View File

@@ -0,0 +1,5 @@
<html><body>Singsing:<br>
I see that you've returned! The <font color="LEVEL">bones of dinosaurs from the plains</font> you've brought will certainly further Pillbug's research...and I'm sure he'll pay well for them.<br>
<a action="bypass -h Quest Q00643_RiseAndFallOfTheElrokiTribe 32106-09.html">Give him the bones.</a><br>
<a action="bypass -h Quest Q00643_RiseAndFallOfTheElrokiTribe 32106-13.html">Tell him that you will take the bones to the native shaman instead.</a>
</body></html>

View File

@@ -0,0 +1,6 @@
<html><body>Singsing:<br>
Well done! Karakawei will be very pleased.<br>Here's the fee we agreed upon; I trust it's sufficient.<br>
Say, since you've done such a good job, how about continuing this kind of work?<br>
<a action="bypass -h Quest Q00643_RiseAndFallOfTheElrokiTribe 32106-10.html">Continue.</a><br>
<a action="bypass -h Quest Q00643_RiseAndFallOfTheElrokiTribe exit">Stop.</a>
</body></html>

View File

@@ -0,0 +1,3 @@
<html><body>Singsing:<br>
Glad to hear it! I think you'll make us both rich men at this rate. Go and hunt <font color="LEVEL">Pachycephalosaurus and wild striders</font> and bring back their <font color="LEVEL">bones</font>.
</body></html>

View File

@@ -0,0 +1,3 @@
<html><body>Singsing:<br>
Well, thanks for your help. It was a pleasure doing business with you, and I wish you the best of luck during your stay on this Primeval Isle.
</body></html>

View File

@@ -0,0 +1,3 @@
<html><body>Singsing:<br>
Thanks for your help; it was a pleasure doing business with you. I know that Karakawei is going to be one happy wizard! Farewell, and I wish you the best of luck during your stay on this Primeval Isle.
</body></html>

View File

@@ -0,0 +1,4 @@
<html><body>Singsing:<br>
Hey, that wasn't really what I had in mind... Ah, I suppose it is your decision how to dispose of the <font color="LEVEL">bones of dinosaurs from the plains</font>. You did risk your own skin for them, after all. But are you sure that this is the most profitable thing for you to do?<br>
<a action="bypass -h Quest Q00643_RiseAndFallOfTheElrokiTribe 32106-05.html">"Where can I find the native shaman?"</a>
</body></html>

View File

@@ -0,0 +1,7 @@
<html><body>Singsing:<br>
Please go and collect those dinosaur bones as quickly as possible. Karakawei's been pressing me even harder these days.<br>
Without the bones, I think his research has ground to a halt.<br>
He's planning to present his findings to the Mizbody Magic Association very soon, and I know he's getting anxious.<br>
So get started!<br>
Hunt the <font color="LEVEL">Pachycephalosaurus and wild striders</font> from the plains and bring back their <font color="LEVEL">bones</font>.
</body></html>

View File

@@ -0,0 +1,4 @@
<html><body>Shaman Karakawei:<br>
Once our race was strong and wise, Shilen's chosen people to govern these powerful primitive creatures, dinosaurs, who struck fear into the hearts of the very gods themselves. But long ago, Shilen fell silent; our prayers to her now go unanswered.<br>
<a action="bypass -h Quest Q00643_RiseAndFallOfTheElrokiTribe 32117-02.html">Ask why she no longer responds.</a>
</body></html>

View File

@@ -0,0 +1,8 @@
<html><body>Karakawei:<br>
We know not... Perhaps we have been unfaithful. But we must win back Shilen's favor. Without it, we grow weaker with each passing season, sickening like a tree deprived of sunlight. Without her blessing, our race grows weaker and weaker... We become ill... Even the dinosaurs that we once commanded turn against us, tearing our people to pieces!<br>
Outsider, if you are willing to help us to earn back the favor of Shilen,<br>
please donate <font color="LEVEL">300 bones from the dinosaurs of the plains</font>.<br>
<a action="bypass -h Quest Q00643_RiseAndFallOfTheElrokiTribe exchange">"I hope you use these bones for your sacrificial rite." (Hand over the bones.)</a><br>
<a action="bypass -h npc_%objectId%_multisell 2012">"I hope you use these bones for medicine." (Hand over the bones.)</a><br>
<a action="bypass -h Quest Q00643_RiseAndFallOfTheElrokiTribe 32117-06.html">"I'm really not interested in helping a primitive race like yours. Figure it out on your own."</a>
</body></html>

View File

@@ -0,0 +1,7 @@
<html><body>Karakawei:<br>
You are the adventurer from earlier... What business do you have with our tribe?<br>
<a action="bypass -h Quest Q00643_RiseAndFallOfTheElrokiTribe 32117-07.html">Ask about the rise and fall of the Elroki tribe.</a><br>
<a action="bypass -h Quest Q00643_RiseAndFallOfTheElrokiTribe exchange">"I hope you use these 300 bones for your sacrificial rite." (Hand over the bones.)</a><br>
<a action="bypass -h npc_%objectId%_multisell 2012">"I hope you use these 300 bones for medicine." (Hand over the bones.)</a><br>
<a action="bypass -h Quest Q00643_RiseAndFallOfTheElrokiTribe 32117-06.html">"I'm really not interested in helping a primitive race like yours. Solve your own problems."</a>
</body></html>

View File

@@ -0,0 +1,4 @@
<html><body>Karakawei:<br>
To undertake the necessary ritual, I need <font color="LEVEL">300 bones of dinosaurs from the plains</font>. Unless I do this, the curse cannot be lifted; Shilen's grace will be forever denied to us, I fear.<br>
Please make haste and hunt <font color="LEVEL">Pachycephalosaurus and wild striders</font> and bring back <font color="LEVEL">300 bones of dinosaurs from the plains</font>.
</body></html>

View File

@@ -0,0 +1,14 @@
<html><body>Karakawei:<br>
Thank you, adventurer...<br>
I can now perform the ritual.<br>
(Karakawei softly chants and seems to lose consciousness.)<br>
....<br>
....<br>
....<br>
....<br>
(Suddenly, his eyes open!)<br>
Ah, I feel that Shilen is satisfied with the ritual!<br>
Thank you, adventurer...<br>
Please accept this as a token of our appreciation.<br><br>
I also ask that you bring back those bones of the dinosaurs from the plains so that we may continue with these rituals!
</body></html>

View File

@@ -0,0 +1,4 @@
<html><body>Karakawei:<br>
Hmmmph! Arrogant, you are, like all outsiders. If my race still had the power of the old days, you would treat us with the respect that is our due!<br>
Ah, Shilen...forgive us!<br>You, leave now if you still refuse to help us in our time of need.
</body></html>

View File

@@ -0,0 +1,4 @@
<html><body>Karakawei:<br>
Once our race was strong and wise, Shilen's chosen people to govern these powerful primitive creatures, dinosaurs, who struck fear into the hearts of the very gods themselves. But long ago, Shilen fell silent; our prayers to her now go unanswered.<br>
<a action="bypass -h Quest Q00643_RiseAndFallOfTheElrokiTribe 32117-02.html">Ask why she no longer responds.</a>
</body></html>

View File

@@ -0,0 +1,272 @@
/*
* Copyright (C) 2004-2014 L2J DataPack
*
* This file is part of L2J DataPack.
*
* L2J DataPack 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.
*
* L2J DataPack 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.Q00643_RiseAndFallOfTheElrokiTribe;
import com.l2jserver.Config;
import com.l2jserver.gameserver.enums.QuestSound;
import com.l2jserver.gameserver.model.actor.L2Npc;
import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
import com.l2jserver.gameserver.model.quest.Quest;
import com.l2jserver.gameserver.model.quest.QuestState;
import com.l2jserver.gameserver.model.quest.State;
import com.l2jserver.gameserver.util.Util;
/**
* Rise and Fall of the Elroki Tribe (643)
* @author Adry_85
*/
public class Q00643_RiseAndFallOfTheElrokiTribe extends Quest
{
// NPCs
private static final int SINGSING = 32106;
private static final int KARAKAWEI = 32117;
// Item
private static final int BONES_OF_A_PLAINS_DINOSAUR = 8776;
// Misc
private static final int MIN_LEVEL = 75;
private static final int CHANCE_MOBS1 = 116;
private static final int CHANCE_MOBS2 = 360;
private static final int CHANCE_DEINO = 558;
private boolean isFirstTalk = true;
// Rewards
private static final int[] PIECE =
{
8712, // Sirra's Blade Edge
8713, // Sword of Ipos Blade
8714, // Barakiel's Axe Piece
8715, // Behemoth's Tuning Fork Piece
8716, // Naga Storm Piece
8717, // Tiphon's Spear Edge
8718, // Shyeed's Bow Shaft
8719, // Sobekk's Hurricane Edge
8720, // Themis' Tongue Piece
8721, // Cabrio's Hand Head
8722, // Daimon Crystal Fragment
};
// Mobs
private static final int[] MOBS1 =
{
22200, // Ornithomimus
22201, // Ornithomimus
22202, // Ornithomimus
22204, // Deinonychus
22205, // Deinonychus
22208, // Pachycephalosaurus
22209, // Pachycephalosaurus
22210, // Pachycephalosaurus
22211, // Wild Strider
22212, // Wild Strider
22213, // Wild Strider
22219, // Ornithomimus
22220, // Deinonychus
22221, // Pachycephalosaurus
22222, // Wild Strider
22224, // Ornithomimus
22225, // Deinonychus
22226, // Pachycephalosaurus
22227, // Wild Strider
};
private static final int[] MOBS2 =
{
22742, // Ornithomimus
22743, // Deinonychus
22744, // Ornithomimus
22745, // Deinonychus
};
private static final int DEINONYCHUS = 22203;
public Q00643_RiseAndFallOfTheElrokiTribe()
{
super(643, Q00643_RiseAndFallOfTheElrokiTribe.class.getSimpleName(), "Rise and Fall of the Elroki Tribe");
addStartNpc(SINGSING);
addTalkId(SINGSING, KARAKAWEI);
addKillId(MOBS1);
addKillId(MOBS2);
addKillId(DEINONYCHUS);
registerQuestItems(BONES_OF_A_PLAINS_DINOSAUR);
}
@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 "32106-02.htm":
case "32106-04.htm":
case "32106-05.html":
case "32106-10.html":
case "32106-13.html":
case "32117-02.html":
case "32117-06.html":
case "32117-07.html":
{
htmltext = event;
break;
}
case "quest_accept":
{
if (player.getLevel() >= MIN_LEVEL)
{
st.startQuest();
htmltext = "32106-03.html";
}
else
{
htmltext = "32106-07.html";
}
break;
}
case "32106-09.html":
{
st.giveAdena(1374 * st.getQuestItemsCount(BONES_OF_A_PLAINS_DINOSAUR), true);
st.takeItems(BONES_OF_A_PLAINS_DINOSAUR, -1);
htmltext = event;
break;
}
case "exit":
{
if (!st.hasQuestItems(BONES_OF_A_PLAINS_DINOSAUR))
{
htmltext = "32106-11.html";
}
else
{
st.giveAdena(1374 * st.getQuestItemsCount(BONES_OF_A_PLAINS_DINOSAUR), true);
htmltext = "32106-12.html";
}
st.exitQuest(true, true);
break;
}
case "exchange":
{
if (st.getQuestItemsCount(BONES_OF_A_PLAINS_DINOSAUR) < 300)
{
htmltext = "32117-04.html";
}
else
{
st.rewardItems(PIECE[getRandom(PIECE.length)], 5);
st.takeItems(BONES_OF_A_PLAINS_DINOSAUR, 300);
st.playSound(QuestSound.ITEMSOUND_QUEST_MIDDLE);
htmltext = "32117-05.html";
}
break;
}
}
return htmltext;
}
@Override
public String onKill(L2Npc npc, L2PcInstance player, boolean isSummon)
{
final L2PcInstance partyMember = getRandomPartyMember(player, 1);
if (partyMember == null)
{
return super.onKill(npc, player, isSummon);
}
final QuestState st = getQuestState(partyMember, false);
int npcId = npc.getId();
if (Util.contains(MOBS1, npcId))
{
float chance = (CHANCE_MOBS1 * Config.RATE_QUEST_DROP);
if (getRandom(1000) < chance)
{
st.rewardItems(BONES_OF_A_PLAINS_DINOSAUR, 2);
}
else
{
st.rewardItems(BONES_OF_A_PLAINS_DINOSAUR, 1);
}
st.playSound(QuestSound.ITEMSOUND_QUEST_ITEMGET);
}
if (Util.contains(MOBS2, npcId))
{
float chance = (CHANCE_MOBS2 * Config.RATE_QUEST_DROP);
if (getRandom(1000) < chance)
{
st.rewardItems(BONES_OF_A_PLAINS_DINOSAUR, 1);
st.playSound(QuestSound.ITEMSOUND_QUEST_ITEMGET);
}
}
if (npcId == DEINONYCHUS)
{
float chance = (CHANCE_DEINO * Config.RATE_QUEST_DROP);
if (getRandom(1000) < chance)
{
st.rewardItems(BONES_OF_A_PLAINS_DINOSAUR, 1);
st.playSound(QuestSound.ITEMSOUND_QUEST_ITEMGET);
}
}
return super.onKill(npc, player, isSummon);
}
@Override
public String onTalk(L2Npc npc, L2PcInstance player)
{
final QuestState st = getQuestState(player, true);
String htmltext = getNoQuestMsg(player);
if (st == null)
{
return htmltext;
}
switch (st.getState())
{
case State.CREATED:
{
htmltext = (player.getLevel() >= MIN_LEVEL) ? "32106-01.htm" : "32106-06.html";
break;
}
case State.STARTED:
{
if (npc.getId() == SINGSING)
{
htmltext = (st.hasQuestItems(BONES_OF_A_PLAINS_DINOSAUR)) ? "32106-08.html" : "32106-14.html";
}
else if (npc.getId() == KARAKAWEI)
{
if (isFirstTalk)
{
isFirstTalk = false;
htmltext = "32117-01.html";
}
else
{
htmltext = "32117-03.html";
}
}
break;
}
}
return htmltext;
}
}