Skip to content
Snippets Groups Projects
Commit 1a7b79b8 authored by Zoey76's avatar Zoey76
Browse files

BETA: Quest Path of the Elven Scout (407) in Java.

Patch by: ivantotov
Reviewed by: xban1x, jurchiks, Zoey76
parent a45f1239
No related branches found
No related tags found
No related merge requests found
Showing
with 30 additions and 280 deletions
<html><body>Pippen:<br>
Hey, pretend you haven't seen me and quickly walk past. I beg you. By any chance ... no, nothing.<br>
<html><body>Prias:<br>
Please, don't even start.<br>
<a action="bypass -h npc_%objectId%_Quest">Quest</a>
</body></html>
\ No newline at end of file
......@@ -286,7 +286,6 @@ quests/403_PathToRogue/__init__.py
quests/404_PathToWizard/__init__.py
quests/405_PathToCleric/__init__.py
quests/406_PathToElvenKnight/__init__.py
quests/407_PathToElvenScout/__init__.py
quests/408_PathToElvenwizard/__init__.py
quests/409_PathToOracle/__init__.py
quests/410_PathToPalusKnight/__init__.py
......
<html>
<body>
Master Reisa:<br>
You have already changed profession to Elven Ranger, so there is no need for you to reaffirm your skills. You are not needed in villages like these, but in the vast plains. Travel wide and far and increase the dignity of our Elven race.
</body>
</html>
\ No newline at end of file
<html><body>Master Reisa:<br>
Becoming an Elven Ranger ... I appreciate your enthusiasm, but you do not have enough skill. Enthusiasm alone is not enough to become an Elven Ranger.
</body></html>
\ No newline at end of file
<html>
<body>
Master Reisa:<br>
Now, go to<font color="LEVEL"> Grand Master Rains</font> to change your profession to Elven Ranger. If you take my recommendation, you will be permitted to change profession to Elven Ranger. And friend, I hope you raise the dignity of our race ever higher with your steadfast manner.
</body>
</html>
\ No newline at end of file
<html>
<body>
Master Reisa:<br>
I see you have received an honorary guard certificate. I have already heard of your achievements. Guard Moretti highly praised you. Now I can gladly recommend you as an Elven Ranger. Who but a skilled Elf like you could become an Elven Ranger?<br>
In the future, I hope you train still further, to become a magnificent Stealth Sentinel or Silver Ranger. Now take my recommendation and go to<font color="LEVEL"> Grand Master Rains</font>. He will change your profession to Elven Ranger. May the power of Eva be with you.
</body>
</html>
\ No newline at end of file
<html>
<body>
Guard Moretti:<br>
Ah, you haven't gone to Reisa yet? Go on now and see Reisa. I hear you want to be an Elven Ranger. I'm sure everything will turn out well. I am busy, so please excuse me.
</body>
</html>
\ No newline at end of file
<html>
<body>
Prias:<br>
Elven friend, do not worry about me but<font color="LEVEL"> please take my letter to Moretti.</font> I will have to scout some more.
</body>
</html>
\ No newline at end of file
# Made by Mr. Have fun! Version 0.2
# Shadow Weapon Coupons contributed by BiTi for the Official L2J Datapack Project
# Visit http://www.l2jdp.com/forum/ for more details
import sys
from com.l2jserver.gameserver.model.quest import State
from com.l2jserver.gameserver.model.quest import QuestState
from com.l2jserver.gameserver.model.quest import Quest as JQuest
from com.l2jserver.gameserver.network.serverpackets import SocialAction
qn = "407_PathToElvenScout"
REORIA_LETTER2 = 1207
PRIGUNS_TEAR_LETTER1 = 1208
PRIGUNS_TEAR_LETTER2 = 1209
PRIGUNS_TEAR_LETTER3 = 1210
PRIGUNS_TEAR_LETTER4 = 1211
MORETTIS_HERB = 1212
MORETTIS_LETTER = 1214
PRIGUNS_LETTER = 1215
HONORARY_GUARD = 1216
REORIA_RECOMMENDATION = 1217
RUSTED_KEY = 1293
class Quest (JQuest) :
def __init__(self,id,name,descr):
JQuest.__init__(self,id,name,descr)
self.questItemIds = range(1207,1217)+[RUSTED_KEY]
def onEvent (self,event,st) :
htmltext = event
player = st.getPlayer()
if event == "1" :
st.set("id","0")
if player.getClassId().getId() == 0x12 :
if player.getLevel() >= 18 :
if st.getQuestItemsCount(REORIA_RECOMMENDATION)>0 :
htmltext = "30328-04.htm"
else:
htmltext = "30328-05.htm"
st.giveItems(REORIA_LETTER2,1)
st.set("cond","1")
st.setState(State.STARTED)
st.playSound("ItemSound.quest_accept")
else :
htmltext = "30328-03.htm"
else:
if player.getClassId().getId() == 0x16 :
htmltext = "30328-02a.htm"
else:
htmltext = "30328-02.htm"
elif event == "30337_1" :
st.takeItems(REORIA_LETTER2,1)
st.set("cond","2")
st.playSound("ItemSound.quest_middle")
htmltext = "30337-03.htm"
return htmltext
def onTalk (self,npc,player):
htmltext = Quest.getNoQuestMsg(player)
st = player.getQuestState(qn)
if not st : return htmltext
npcId = npc.getId()
id = st.getState()
if npcId != 30328 and id != State.STARTED : return htmltext
if npcId == 30328 and st.getInt("cond")==0 :
htmltext = "30328-01.htm"
return htmltext
elif npcId == 30328 and st.getInt("cond") and st.getQuestItemsCount(REORIA_LETTER2)>0 :
htmltext = "30328-06.htm"
elif npcId == 30328 and st.getInt("cond") and st.getQuestItemsCount(REORIA_LETTER2)==0 and st.getQuestItemsCount(HONORARY_GUARD)==0 :
htmltext = "30328-08.htm"
elif npcId == 30337 and st.getInt("cond") and st.getQuestItemsCount(REORIA_LETTER2)>0 and st.getQuestItemsCount(PRIGUNS_TEAR_LETTER1)+st.getQuestItemsCount(PRIGUNS_TEAR_LETTER2)+st.getQuestItemsCount(PRIGUNS_TEAR_LETTER3)+st.getQuestItemsCount(PRIGUNS_TEAR_LETTER4)==0 :
htmltext = "30337-01.htm"
elif npcId == 30337 and st.getQuestItemsCount(MORETTIS_LETTER)<1 and st.getQuestItemsCount(PRIGUNS_LETTER)==0 and st.getQuestItemsCount(HONORARY_GUARD)==0 :
if st.getQuestItemsCount(PRIGUNS_TEAR_LETTER1)+st.getQuestItemsCount(PRIGUNS_TEAR_LETTER2)+st.getQuestItemsCount(PRIGUNS_TEAR_LETTER3)+st.getQuestItemsCount(PRIGUNS_TEAR_LETTER4)<1 :
htmltext = "30337-04.htm"
elif st.getQuestItemsCount(PRIGUNS_TEAR_LETTER1)+st.getQuestItemsCount(PRIGUNS_TEAR_LETTER2)+st.getQuestItemsCount(PRIGUNS_TEAR_LETTER3)+st.getQuestItemsCount(PRIGUNS_TEAR_LETTER4)>0 and st.getQuestItemsCount(PRIGUNS_TEAR_LETTER1)+st.getQuestItemsCount(PRIGUNS_TEAR_LETTER2)+st.getQuestItemsCount(PRIGUNS_TEAR_LETTER3)+st.getQuestItemsCount(PRIGUNS_TEAR_LETTER4)<4 :
htmltext = "30337-05.htm"
else:
htmltext = "30337-06.htm"
st.takeItems(PRIGUNS_TEAR_LETTER1,1)
st.takeItems(PRIGUNS_TEAR_LETTER2,1)
st.takeItems(PRIGUNS_TEAR_LETTER3,1)
st.takeItems(PRIGUNS_TEAR_LETTER4,1)
st.giveItems(MORETTIS_HERB,1)
st.giveItems(MORETTIS_LETTER,1)
st.set("cond","4")
st.playSound("ItemSound.quest_middle")
elif npcId == 30334 and st.getInt("cond") :
htmltext = "30334-01.htm"
elif npcId == 30426 and st.getInt("cond") and st.getQuestItemsCount(MORETTIS_LETTER) and st.getQuestItemsCount(MORETTIS_HERB) :
if st.getQuestItemsCount(RUSTED_KEY)<1 :
htmltext = "30426-01.htm"
st.set("cond","5")
st.playSound("ItemSound.quest_middle")
else:
htmltext = "30426-02.htm"
st.takeItems(RUSTED_KEY,1)
st.takeItems(MORETTIS_HERB,1)
st.takeItems(MORETTIS_LETTER,1)
st.giveItems(PRIGUNS_LETTER,1)
st.set("cond","7")
st.playSound("ItemSound.quest_middle")
elif npcId == 30426 and st.getInt("cond") and st.getQuestItemsCount(PRIGUNS_LETTER) :
htmltext = "30426-04.htm"
elif npcId == 30337 and st.getInt("cond") and st.getQuestItemsCount(PRIGUNS_LETTER)>0 :
if st.getQuestItemsCount(MORETTIS_HERB) :
htmltext = "30337-09.htm"
else:
htmltext = "30337-07.htm"
st.takeItems(PRIGUNS_LETTER,1)
st.giveItems(HONORARY_GUARD,1)
st.set("cond","8")
st.playSound("ItemSound.quest_middle")
elif npcId == 30337 and st.getInt("cond") and st.getQuestItemsCount(HONORARY_GUARD)>0 :
htmltext = "30337-08.htm"
elif npcId == 30328 and st.getInt("cond") and st.getQuestItemsCount(HONORARY_GUARD)>0 :
htmltext = "30328-07.htm"
st.takeItems(HONORARY_GUARD,1)
st.giveItems(REORIA_RECOMMENDATION,1)
isFinished = st.getGlobalQuestVar("1ClassQuestFinished")
if isFinished == "" :
if player.getLevel() >= 20 :
st.addExpAndSp(320534, 19932)
elif player.getLevel() == 19 :
st.addExpAndSp(456128, 26630)
else:
st.addExpAndSp(591724, 33328)
st.giveItems(57, 163800)
player.sendPacket(SocialAction(player.getObjectId(),3))
st.set("cond","0")
st.exitQuest(False)
st.saveGlobalQuestVar("1ClassQuestFinished","1")
st.playSound("ItemSound.quest_finish")
return htmltext
def onKill(self,npc,player,isPet):
st = player.getQuestState(qn)
if not st : return
if st.getState() != State.STARTED : return
npcId = npc.getId()
if npcId == 20053 :
st.set("id","0")
if st.getInt("cond") :
if st.getQuestItemsCount(PRIGUNS_TEAR_LETTER1)+st.getQuestItemsCount(PRIGUNS_TEAR_LETTER2)+st.getQuestItemsCount(PRIGUNS_TEAR_LETTER3)+st.getQuestItemsCount(PRIGUNS_TEAR_LETTER4) < 4 :
if st.getQuestItemsCount(PRIGUNS_TEAR_LETTER1)<1 :
st.giveItems(PRIGUNS_TEAR_LETTER1,1)
if st.getQuestItemsCount(PRIGUNS_TEAR_LETTER1)+st.getQuestItemsCount(PRIGUNS_TEAR_LETTER2)+st.getQuestItemsCount(PRIGUNS_TEAR_LETTER3)+st.getQuestItemsCount(PRIGUNS_TEAR_LETTER4) == 4 :
st.playSound("ItemSound.quest_middle")
st.set("cond","3")
else:
st.playSound("ItemSound.quest_itemget")
else:
if st.getQuestItemsCount(PRIGUNS_TEAR_LETTER2)<1 :
st.giveItems(PRIGUNS_TEAR_LETTER2,1)
if st.getQuestItemsCount(PRIGUNS_TEAR_LETTER1)+st.getQuestItemsCount(PRIGUNS_TEAR_LETTER2)+st.getQuestItemsCount(PRIGUNS_TEAR_LETTER3)+st.getQuestItemsCount(PRIGUNS_TEAR_LETTER4) == 4 :
st.playSound("ItemSound.quest_middle")
st.set("cond","3")
else:
st.playSound("ItemSound.quest_itemget")
else:
if st.getQuestItemsCount(PRIGUNS_TEAR_LETTER3)<1 :
st.giveItems(PRIGUNS_TEAR_LETTER3,1)
if st.getQuestItemsCount(PRIGUNS_TEAR_LETTER1)+st.getQuestItemsCount(PRIGUNS_TEAR_LETTER2)+st.getQuestItemsCount(PRIGUNS_TEAR_LETTER3)+st.getQuestItemsCount(PRIGUNS_TEAR_LETTER4) == 4 :
st.playSound("ItemSound.quest_middle")
st.set("cond","3")
else:
st.playSound("ItemSound.quest_itemget")
else:
if st.getQuestItemsCount(PRIGUNS_TEAR_LETTER4)<1 :
st.giveItems(PRIGUNS_TEAR_LETTER4,1)
if st.getQuestItemsCount(PRIGUNS_TEAR_LETTER1)+st.getQuestItemsCount(PRIGUNS_TEAR_LETTER2)+st.getQuestItemsCount(PRIGUNS_TEAR_LETTER3)+st.getQuestItemsCount(PRIGUNS_TEAR_LETTER4) == 4 :
st.playSound("ItemSound.quest_middle")
st.set("cond","3")
else:
st.playSound("ItemSound.quest_itemget")
elif npcId == 27031 :
st.set("id","0")
if st.getInt("cond") and st.getQuestItemsCount(MORETTIS_HERB) == 1 and st.getQuestItemsCount(MORETTIS_LETTER) == 1 and st.getQuestItemsCount(RUSTED_KEY) == 0 and self.getRandom(10)<6 :
st.giveItems(RUSTED_KEY,1)
st.playSound("ItemSound.quest_middle")
st.set("cond","6")
return
QUEST = Quest(407,qn,"Path of the Elven Scout")
QUEST.addStartNpc(30328)
QUEST.addTalkId(30328)
QUEST.addTalkId(30334)
QUEST.addTalkId(30337)
QUEST.addTalkId(30426)
QUEST.addKillId(27031)
QUEST.addKillId(20053)
\ No newline at end of file
<html><body>Master Reisa:<br>
So you want to be an Elven Scout? Hmm ... it is not my place to recommend you as an Elven Scout without reason, so I would like to see your skills first. By chance, there is a task you may be perfect for. Prove your skills as an Elven Fighter through this task. What do you say, will you accept the assignment?<br>
<a action="bypass -h Quest 407_PathToElvenScout 1">Say you will accept the task</a>
<a action="bypass -h Quest Q00407_PathOfTheElvenScout ACCEPT">Say you will accept the task</a>
</body></html>
\ No newline at end of file
<html>
<body>
Master Reisa:<br>
I'm sorry, but you are not qualified to take the test to become an to Elven Ranger. Try to find the path that is right for you.
</body>
</html>
\ No newline at end of file
<html><body>Master Reisa:<br>
I'm sorry, but you are not qualified to take the test to become an to Elven Scout. Try to find the path that is right for you.
</body></html>
\ No newline at end of file
<html><body>Master Reisa:<br>
You have already changed profession to Elven Scout, so there is no need for you to reaffirm your skills. You are not needed in villages like these, but in the vast plains. Travel wide and far and increase the dignity of our Elven race.
</body></html>
\ No newline at end of file
<html><body>Master Reisa:<br>
Class transfer to Elven Scout... I admire your ambition, but you are not yet ready. Ambition alone cannot make you an Elven Scout! Return here after you have received additional training and I will reconsider your request.<br>
(Only characters level 18 and above may undertake this quest.)</body></html>
\ No newline at end of file
<html><body>Master Reisa:<br>
Now, go to <font color="LEVEL">Grand Master Rains</font> to change your profession to Elven Scout. If you take my Recommendation, you will be permitted to change profession to Elven Scout. And friend, I hope you raise the dignity of our race ever higher with your steadfast manner.
</body></html>
\ No newline at end of file
<html>
<body>
Master Reisa:<br>
Haven't you met<font color="LEVEL"> Guard Moretti</font> yet? You can learn the details from him. Moretti stands guard at the east entrance of the village where you can see the bridge.
</body>
</html>
\ No newline at end of file
<html><body>Master Reisa:<br>
Haven't you met <font color="LEVEL">Guard Moretti</font> yet? You can learn the details from him. Moretti stands guard at the east entrance of the village where you can see the bridge.
</body></html>
\ No newline at end of file
<html><body>Master Reisa:<br>
I see you have received an Honorary Guard certificate. I have already heard of your achievements. Guard Moretti highly praised you. Now I can gladly recommend you as an Elven Scout. Who but a skilled Elf like you could become an Elven Scout?<br>
In the future, I hope you train still further, to become a magnificent Plainswalker or Silver Ranger. Now take my Recommendation and go to <font color="LEVEL">Grand Master Rains</font>. He will change your profession to Elven Scout. May the power of Eva be with you.
</body></html>
\ No newline at end of file
<html>
<body>
Master Reisa:<br>
<html><body>Master Reisa:<br>
I see you have not solved the matter yet. Go now and help Guard Moretti.
</body>
</html>
\ No newline at end of file
</body></html>
\ No newline at end of file
<html>
<body>
Guard Babenco:<br>
I have heard from Moretti. You must be the one who took charge of investigating this case. You must be going to the ol mahum's campgrounds. If you follow this road west, you will arrive at a fork in the road. Follow the road that heads southwest and you will reach the campgrounds. It used to be a place where the Gracian army made its camp, but it was abandoned for some time before the remaining army of ol mahums settled down there.<br>
<html><body>Guard Babenco:<br>
I have heard from Moretti. You must be the one who took charge of investigating this case. You must be going to the Ol Mahum's campgrounds. If you follow this road west, you will arrive at a fork in the road. Follow the road that heads southwest and you will reach the campgrounds. It used to be a place where the Gracian army made its camp, but it was abandoned for some time before the remaining army of Ol Mahums settled down there.<br>
Prias and I were classmates, so please find out where he is. I hope nothing has happened to him ... Pray, be careful.
</body>
</html>
\ No newline at end of file
</body></html>
\ No newline at end of file
<html>
<body>
Guard Moretti:<br>
<html><body>Guard Moretti:<br>
Ah, you were sent by Reisa. Greetings. In this letter, Reisa says that you will complete this task without fail.<br>
Very well, then let me explain to you exactly what is required. I hope we can find the whereabouts of Prias as soon as possible ...<br>
<a action="bypass -h Quest 407_PathToElvenScout 30337-02.htm">Listen to details</a>
</body>
</html>
\ No newline at end of file
<a action="bypass -h Quest Q00407_PathOfTheElvenScout 30337-02.html">Listen to details</a>
</body></html>
\ No newline at end of file
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