Skip to content
Snippets Groups Projects
Commit 0c94cf92 authored by Adry_85's avatar Adry_85
Browse files

BETA: Retail like quest '''Rise and Fall of the Elroki Tribe''' (643).

parent 92206b6e
No related branches found
No related tags found
No related merge requests found
Showing
with 56 additions and 196 deletions
<?xml version="1.0" encoding="UTF-8"?>
<list xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../xsd/multisell.xsd">
<item>
<!-- Bones of a Plains Dinosaur -->
<ingredient count="400" id="8776" />
<!-- Recipe: Sealed Dynasty Tunic (60%) -->
<production count="1" id="9492" />
</item>
<item>
<!-- Bones of a Plains Dinosaur -->
<ingredient count="250" id="8776" />
<!-- Recipe: Sealed Dynasty Stockings (60%) -->
<production count="1" id="9493" />
</item>
<item>
<!-- Bones of a Plains Dinosaur -->
<ingredient count="200" id="8776" />
<!-- Recipe: Sealed Dynasty Circlet (60%) -->
<production count="1" id="9494" />
</item>
<item>
<!-- Bones of a Plains Dinosaur -->
<ingredient count="134" id="8776" />
<!-- Recipe: Sealed Dynasty Gloves (60%) -->
<production count="1" id="9495" />
</item>
<item>
<!-- Bones of a Plains Dinosaur -->
<ingredient count="134" id="8776" />
<!-- Recipe: Sealed Dynasty Shoes (60%) -->
<production count="1" id="9496" />
</item>
<item>
<!-- Bones of a Plains Dinosaur -->
<ingredient count="287" id="8776" />
<!-- Recipe: Sealed Dynasty Sigil (60%) -->
<production count="1" id="10115" />
</item>
</list>
\ No newline at end of file
......@@ -669,7 +669,7 @@ quests/639_GuardiansOfTheHolyGrail/__init__.py
#quests/640_TheZeroHour/__init__.py
quests/Q00641_AttackSailren/Q00641_AttackSailren.java
quests/Q00642_APowerfulPrimevalCreature/Q00642_APowerfulPrimevalCreature.java
quests/643_RiseandFalloftheElrokiTribe/__init__.py
quests/Q00643_RiseAndFallOfTheElrokiTribe/Q00643_RiseAndFallOfTheElrokiTribe.java
quests/644_GraveRobberAnnihilation/__init__.py
quests/645_GhostsOfBatur/__init__.py
quests/646_SignsOfRevolt/__init__.py
......
<html><body>Singsing:<br>
You're not someone who is skilled enough and brave enough to handle my tasks.<br>
(This quest can be undertaken by characters level 75 and above)</body></html>
\ No newline at end of file
<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 643_RiseandFalloftheElrokiTribe 32106-02.htm">"What kind of request?"</a></body></html>
\ No newline at end of file
<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 wizads, 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 643_RiseandFalloftheElrokiTribe 32106-03.htm">"Doesn't sound that tough -- count me in."</a><br>
<a action="bypass -h Quest 643_RiseandFalloftheElrokiTribe Quit">"Ah, I really can't stand reptiles... Sorry, but I'll pass."</a></body></html>
\ No newline at end of file
<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 643_RiseandFalloftheElrokiTribe 32106-04.htm">"Where can I find this native shaman?"</a></body></html>
\ No newline at end of file
<html><body>Singsing:<br>
Do you want to continue this kind of work, or do you give up?<br>
<a action="bypass -h Quest 643_RiseandFalloftheElrokiTribe None">"Continue."</a><br>
<a action="bypass -h Quest 643_RiseandFalloftheElrokiTribe Quit">"Stop."</a></body></html>
\ No newline at end of file
<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 643_RiseandFalloftheElrokiTribe None">"Continue."</a><br>
<a action="bypass -h Quest 643_RiseandFalloftheElrokiTribe Quit">"Stop."</a></body></html>
\ No newline at end of file
<html><body>Shaman Karakawei:<br>
You are that adventurer... Have you any business with my race?<br>
<a action = "bypass -h Quest 643_RiseandFalloftheElrokiTribe 32117-01.htm">Ask about the rise and fall of the Elroki tribe.</a><br>
<a action = "bypass -h Quest 643_RiseandFalloftheElrokiTribe 32117-03.htm">"Use 300 Plain Dinosaur Bones to appease Shilen."</a><br>
<a action = "bypass -h Quest 643_RiseandFalloftheElrokiTribe 32117-05.htm">"Use the Plain Dinosaur Bones for the medicine."</a><br>
<a action = "bypass -h Quest 643_RiseandFalloftheElrokiTribe None">"I'm really not interested in a primitive race like you. You keep to your business and I'll keep to mine!"</a>
</body></html>
\ No newline at end of file
<html><body>Karakawei:<br>
We know not... Perhaps we have been unfaithful. But we must win back Shilen's grace. Without it, we grow weaker with each passing season, sickening like a tree deprived of sunlight. Even the dinosaurs we once commanded turn on us, tearing our people to pieces!<br>
Outsider, if you are willing to help us to earn back the grace of Shilen, would you donate <font color="LEVEL">Plain Dinosaur Bones</font>? If so, I will give you ingredients to make your weapons. On the other hand, if you can help us to make a medicine to cure this illness, I will give you the recipe you need to make your weapons.<br>
<a action="bypass -h Quest 643_RiseandFalloftheElrokiTribe 32117-03.htm">"Use 300 Plain Dinosaur Bones to appease Shilen."</a><br>
<a action="bypass -h Quest 643_RiseandFalloftheElrokiTribe 32117-05.htm">"Use the Plain Dinosaur Bones for the medicine."</a><br>
<a action="bypass -h Quest 643_RiseandFalloftheElrokiTribe None">"I'm really not interested in helping a primitive race like you. You keep yo your business and i'll keep to mine!"</a></body></html>
\ No newline at end of file
<html><body>Shaman 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. 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>
\ No newline at end of file
<html><body>Shaman Karakawei:<br>
To undertake the necessary ritual, we need <font color="LEVEL">300 Plain Dinosaur Bones</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">Deinonychus, Ornithomimus, Pakikepalosaurus and Wild Striders</font> and bring back <font color="LEVEL">300 Bones</font>!
</body></html>
\ No newline at end of file
<html><body>Shaman Karakawei:<br>
If you donate Plain Dinosaur Bones to cure the illness, we will reward you based on the number you give us.<br>
What would you like?<br>
<a action="bypass -h Quest 643_RiseandFalloftheElrokiTribe 1">Recipe: Sealed Dynasty Tunic (60%) (400 Plain Dinosaur Bones)</a><br>
<a action="bypass -h Quest 643_RiseandFalloftheElrokiTribe 2">Recipe: Sealed Dynasty Stockings (60%) (250 Plain Dinosaur Bones)</a><br>
<a action="bypass -h Quest 643_RiseandFalloftheElrokiTribe 3">Recipe: Sealed Dynasty Circlet (60%) (200 Plain Dinosaur Bones)</a><br>
<a action="bypass -h Quest 643_RiseandFalloftheElrokiTribe 4">Recipe: Sealed Dynasty Gloves (60%) (134 Plain Dinosaur Bones)</a><br>
<a action="bypass -h Quest 643_RiseandFalloftheElrokiTribe 5">Recipe: Sealed Dynasty Shoes (60%) (134 Plain Dinosaur Bones)</a><br>
<a action="bypass -h Quest 643_RiseandFalloftheElrokiTribe 6">Recipe: Sealed Dynasty Sigil (60%) (287 Plain Dinosaur Bones)</a><br>
<a action="bypass -h Quest 643_RiseandFalloftheElrokiTribe None">"Quit"</a></body></html>
\ No newline at end of file
<html><body>Shaman Karakawei:<br>
Thank you, adventurer.<br>
I think I can make a good medicine with the bones you gave me. Now we can stay alive a little longer...<br>
(Despite his words, Karakawei seems depressed.)<br>
Take it as a token of our tribe's appreciation. And please bring more Plain Dinosaur Bones so we can make even more medicine.
</body></html>
\ No newline at end of file
<html><body>Shaman Karakawei:<br>
We need a certain number of Plain Dinosaur Bones to make the medicine we need. This may only be a matter of profit for you, but to us it's a matter of survival! There's no room to bergain. Unless you bring me the exact number we need, we will not reward you.<br>
So hurry and hunt <font color="LEVEL">Deinonychus, Ornithomimus, Pakikepalosaurus and Wild Striders</font> and bring me the number of <font color="LEVEL">Plain Dinosaur Bones</font> I asked for!
</body></html>
\ No newline at end of file
# Created by Gigiikun
import sys
from com.l2jserver import Config
from com.l2jserver.gameserver.model.quest import State
from com.l2jserver.gameserver.model.quest import QuestState
from com.l2jserver.gameserver.model.quest.jython import QuestJython as JQuest
qn = "643_RiseandFalloftheElrokiTribe"
#Settings: drop chance in %
DROP_CHANCE = 75
BONES_OF_A_PLAINS_DINOSAUR = 8776
PLAIN_DINOSAURS = [22201,22202,22204,22205,22209,22210,22212,22213,22219,22220,22221,22222,22224,22225,22742,22743,22744,22745]
REWARDS = range(8712,8723)
REWARDS_DYNA = {
"1" : [9492 , 400], #Recipe: Sealed Dynasty Tunic (60%)
"2" : [9493 , 250], #Recipe: Sealed Dynasty Stockings (60%)
"3" : [9494 , 200], #Recipe: Sealed Dynasty Circlet (60%)
"4" : [9495 , 134], #Recipe: Sealed Dynasty Gloves (60%)
"5" : [9496 , 134], #Recipe: Sealed Dynasty Shoes (60%)
"6" : [10115, 287], #Recipe: Sealed Dynasty Sigil (60%)
}
class Quest (JQuest) :
def __init__(self,id,name,descr):
JQuest.__init__(self,id,name,descr)
self.questItemIds = [BONES_OF_A_PLAINS_DINOSAUR]
def onAdvEvent (self,event,npc, player) :
htmltext = event
st = player.getQuestState(qn)
if not st : return
count = st.getQuestItemsCount(BONES_OF_A_PLAINS_DINOSAUR)
if event == "None" :
return
elif event == "32106-03.htm" :
st.set("cond","1")
st.setState(State.STARTED)
st.playSound("ItemSound.quest_accept")
elif event == "32117-03.htm" :
if count >= 300 :
st.takeItems(BONES_OF_A_PLAINS_DINOSAUR,300)
st.rewardItems(REWARDS[self.getRandom(len(REWARDS))],5)
else :
htmltext = "32117-04.htm"
elif event in REWARDS_DYNA.keys() :
if count >= REWARDS_DYNA[event][1] :
st.takeItems(BONES_OF_A_PLAINS_DINOSAUR,REWARDS_DYNA[event][1])
st.rewardItems(REWARDS_DYNA[event][0],1)
htmltext = "32117-06.htm"
else :
htmltext = "32117-07.htm"
elif event == "Quit" :
st.playSound("ItemSound.quest_finish")
st.exitQuest(1)
return
return htmltext
def onTalk (self, npc, player):
st = player.getQuestState(qn)
htmltext = Quest.getNoQuestMsg(player)
if st :
npcId = npc.getNpcId()
cond = st.getInt("cond")
count = st.getQuestItemsCount(BONES_OF_A_PLAINS_DINOSAUR)
if cond == 0 and npcId == 32106:
if player.getLevel() >= 75 :
htmltext = "32106-01.htm"
else :
htmltext = "32106-00.htm"
st.exitQuest(1)
elif st.getState() == State.STARTED :
if npcId == 32106 :
if count == 0 :
htmltext = "32106-05.htm"
else :
htmltext = "32106-06.htm"
st.takeItems(BONES_OF_A_PLAINS_DINOSAUR,-1)
st.giveItems(57,count*1374)
elif npcId == 32117 :
htmltext = "32117-01.htm"
return htmltext
def onKill (self, npc, player,isPet):
partyMember = self.getRandomPartyMember(player,"1")
if not partyMember: return
st = partyMember.getQuestState(qn)
if st :
if st.getState() == State.STARTED :
npcId = npc.getNpcId()
cond = st.getInt("cond")
count = st.getQuestItemsCount(BONES_OF_A_PLAINS_DINOSAUR)
if cond == 1 :
chance = DROP_CHANCE*Config.RATE_QUEST_DROP
numItems, chance = divmod(chance,100)
if self.getRandom(100) < chance :
numItems += 1
if numItems :
if int(count + numItems)/300 > int(count)/300 :
st.playSound("ItemSound.quest_middle")
else :
st.playSound("ItemSound.quest_itemget")
st.giveItems(BONES_OF_A_PLAINS_DINOSAUR,int(numItems))
return
QUEST = Quest(643,qn,"Rise and Fall of the Elroki Tribe")
QUEST.addStartNpc(32106)
QUEST.addTalkId(32106)
QUEST.addTalkId(32117)
for mob in PLAIN_DINOSAURS :
QUEST.addKillId(mob)
<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>
<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>
<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>
<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>
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment