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

BETA: Retail like quest '''Trial of Duty''' (212).

	Patch by: jurchiks, Pandragon
	Reviewed by: Adry_85
	Tested by: Adry_85
parent 41a06944
No related branches found
No related tags found
No related merge requests found
Showing
with 6 additions and 391 deletions
......@@ -232,7 +232,6 @@ quests/178_IconicTrinity/__init__.py
quests/184_Nikolas_Cooperation_Contract/__init__.py
quests/185_Nikolas_Cooperation_Consideration/__init__.py
quests/211_TrialOfChallenger/__init__.py
quests/212_TrialOfDuty/__init__.py
quests/213_TrialOfSeeker/__init__.py
quests/214_TrialOfScholar/__init__.py
quests/215_TrialOfPilgrim/__init__.py
......
<html><body>Grand Master Hannavalt:<br>
Greetings. So, you have received your calling? You needn't tell me what it is. The virtues, actions, and responsibilities that you have seen, heard, and felt are the true callings of the Knight. Keep that deeply in your heart.<br>
Accept this Mark of the Calling. May the good will of Einhasad always remain in your heart...
</body></html>
\ No newline at end of file
<html><body>Priest Dustin:<br>
Have you delivered Sir Leon Athebaldt's remains to his family?<font color="LEVEL"> Sir Collin Windawood</font> of<font color="LEVEL"> Talking Island</font> is expecting you.
</body></html>
\ No newline at end of file
<html><body>Sir Collin Windawood:<br>
These! Are these the bones of Leon?! I heard he died a glorious death on the battle against Orcs... What a pity... Never did I know that I would meet you again like this, my nephew! I regret that we couldn't fight in the same battlefield!<br>
Young Warrior, I give you my gratitude in the name of my family. I heard that you worked hard to recover his bones. Thank you so much. I wrote a letter in gratitude to you and the Einhasad shrine. Give this to<font color="LEVEL"> Priest Dustin</font>. From now on... I shall prepare for my nephew's funeral... Whew...
</body></html>
\ No newline at end of file
<html><body>Sir Collin Windawood:<br>
Young Warrior, thank you for recovering my nephews remains and bringing them back here. I give you my gratitude in the name of our family. Now please take the letter that I gave you to<font color="LEVEL"> Priest Dustin of Giran Castle Town</font>. Thank you. May the light of Einhasad lead you to the right way.
</body></html>
\ No newline at end of file
<html><body>Sir Aaron Tanford:<br>
One of the virtues that define a Knight's brilliance is<font color="LEVEL"> dignity</font>. But the meaning of dignity differs from person to person...<br>
Right now, some group of gangs who knows nothing about dignity settled down in this Wastelands, and are disturbing the people around the area. By that I mean<font color="LEVEL"> Harrod and his perpetrators,</font> who was once a prestigious Knight of Gludio.<br>
At the time with war against Grecia, Harrod was allured by the enemy's leader. So he betrayed us and became the agent of the invaders. Sir Klaus Vasper who couldn't forgive his betrayal, chased after him tenaciously until he finally stuck in a spear into his heart. Karol said that 'A knight who abandoned his dignity is as good as dead' and without even holding a funeral, he dumped his body in the Wastelands.<br>
Even God seemed to disapprove of his rest, so he had no peace even dead. The once-prestigious Knight had been degraded into a cursed devil.<br>
Perhaps the only thing that can free him from the curse is this rusted Knight sword.<font color="LEVEL"> The undead skulls which are wondering around the Wasteland</font> are his perpetrators. As you terminate the filthy undead skulls one by one, you'll be able to confront the<font color="LEVEL"> Spirit of Harrod </font> in the end. Kill him with the sword I gave you, and remind him of the noble dignity of a Gludio Knight. If possible, please bring something that he left as he died.
</body></html>
\ No newline at end of file
<html><body>Sir Aaron Tanford:<br>
I know it is not an easy task. But it is a necessary job for you to do, in order to acquire brilliance. Make an end to the<font color="LEVEL"> Spirits of Harrod</font> with the rusty sword I gave you, and free him from his disgraceful curse. As you terminate the<font color="LEVEL"> undead skulls wandering around the Wastelands</font> one by one, you'll be able to confront him in the end.
</body></html>
\ No newline at end of file
<html><body>Sir Aaron Tanford:<br>
After all, the unfortunate Knight wasn't able to recover his dignity. All that is left for him is this tears of regret. What an intensive curse. So is it his fate to wander around the Wastelands like that forever?... But he can't blame anyone else but himself.<br>
Well done! You have completed my assignment successfully. However this is not the end of it. Now you must go to the<font color="LEVEL"> Dark Elven Guild in Dion Castle Town</font> and meet<font color="LEVEL"> Sir Kiel Knighthawk</font>. He will be waiting for you with your second task. By all means I hope that you complete the rest of your tasks successfully. I shall pray to Einhasad for your brilliance.
</body></html>
\ No newline at end of file
<html><body>Sir Aaron Tanford:<br>
If you want to know about the second level of the trial, go and meet<font color="LEVEL"> Sir Kiel Knighthawk</font>. He is in the<font color="LEVEL"> Dark Elven Guild of Dion Castle Town</font>. By all means I hope that you complete the rest of your tasks successfully. I shall pray to Einhasad for your brilliance.
</body></html>
\ No newline at end of file
<html><body>Sir Kiel Nighthawk:<br>
Nice to meet you, young Warrior. I am Kiel Nighthawk of the Griffon Knight union. I already received a notice from Hannavalt.<br>
One of the virtues that define a Knight's brightness is a<font color="LEVEL"> sense of justice</font>. There is a miserable history in this land of Dion because of the lack of justice. Especially the unfair mortification of Sir Talianus is such a case. Sir Talianus wrote in the report about the specific situations at the peasant's uprising. It was something that he prepared to give to the King, but unfortunately the report was torn into pieces and Sir Talianus was executed. The Soldiers who served him tried to collect the torn pages but even they were all killed.<br>
Even until this day, there are some people who claim that they heard the voices of the Knight and his followers, wailing in agony. Thou who sticks to what he believed was right, but his spirits are still wandering on earth, unable to side with Shilen... I want you to carry out the justice that he couldn't complete.<br>
Gather the pieces of the report and restore the contents of his articles. As you kill the undead of the execution ground one by one, you'll be able to gather the pieces of the report. Kill the<font color="LEVEL"> strains</font> and the<font color="LEVEL"> ghouls</font> to collect the<font color="LEVEL"> torn pieces of the report</font>. When you gather all the pieces and complete<font color="LEVEL"> Talianus's Report</font> bring it back to me.
</body></html>
\ No newline at end of file
<html><body>Sir Kiel Nighthawk:<br>
It is just as I had explained before. There are no changes. Kill the<font color="LEVEL"> strains</font> and the<font color="LEVEL"> ghouls</font> to collect the<font color="LEVEL"> torn pieces of the report</font>. When you gather all the pieces and complete the report of<font color="LEVEL"> Sir Talianus</font>, bring it back to me. Period.
</body></html>
\ No newline at end of file
<html><body>Sir Kiel Nighthawk:<br>
The very report that Sir Talianus couldn't deliver to the King until the end... When you meet his spirit and promise him that you will deliver the report to the King of Aden, he will finally be able to rest in peace. His spirits are now captured in the doomed tree of the execution ground. Take the<font color="LEVEL"> Mirror of Orpic</font> with you. There is power dwelling in this mirror which enables you to see the spirits of the dead. Go to the execution ground and get rid of the<font color="LEVEL"> hanged man ripper</font> who is suppressing the spirits of him. Then you shall be able to confront the ghost of Sir Talianus.
</body></html>
\ No newline at end of file
<html><body>Sir Kiel Nighthawk:<br>
It seems that you have not yet met the<font color="LEVEL"> Spirit of Sir Talianus</font>. Let the spirits have the rest and peace it deserves. Go now to the execution ground and get rid of<font color="LEVEL"> hanged man ripper</font> to free Sir Talianus from his grief.
</body></html>
\ No newline at end of file
<html><body>Sir Kiel Nighthawk:<br>
Now that I hear your story, it occurs to me that there must be some other reasons why the spirits of Talianus can't rest in peace... I will have to do some more research on this.<br>
As for you, you should now go to the<font color="LEVEL"> Hunter's Village</font> to take the next stage in the trial. There at the Hunter's Village you must meet<font color="LEVEL"> Sir Isael Silvershadow</font>.
</body></html>
\ No newline at end of file
<html><body>Sir Kiel Nighthawk:<br>
The task of resolving Sir Talianus' spite was my trial for you. About the next stage of the trial, you should ask<font color="LEVEL"> Sir Isael Silvershadow </font> of the<font color="LEVEL"> Hunter's Village</font>.
</body></html>
\ No newline at end of file
<html><body>Isael Silvershadow:<br>
The hour of the memorial service draws near. We must have the<font color="LEVEL"> personal articles of the guards</font> from the<font color="LEVEL"> leto lizardmen</font> for the ceremony. We need<font color="LEVEL"> about 20 pieces</font> of the articles. Thank you for your assistance in this matter.
</body></html>
\ No newline at end of file
<html><body>Spirit of Sir Talianus:<br>
The report that I tried to give to the King... Please deliver it to the King of Aden...<br>
But, listen young Warrior... I have something to confess. The depth of my sin is deeper than the well... Until the day I pay off the debts of my sin, and until justice settles down on this land of Dion, I shall not be able to rest in peace. I do not dare to...
</body></html>
\ No newline at end of file
# Made by Mr. Have fun! Version 0.2
# Fixed by Artful (http://L2PLanet.ru Lineage2 C3 Server)
# version 0.4 - updated by Kerberos on 2007.11.10
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
qn = "212_TrialOfDuty"
MARK_OF_DUTY = 2633
LETTER_OF_DUSTIN = 2634
KNIGHTS_TEAR = 2635
MIRROR_OF_ORPIC = 2636
TEAR_OF_CONFESSION = 2637
REPORT_PIECE = 2638
TALIANUSS_REPORT = 2639
TEAR_OF_LOYALTY = 2640
MILITAS_ARTICLE = 2641
SAINTS_ASHES_URN = 2642
ATEBALTS_SKULL = 2643
ATEBALTS_RIBS = 2644
ATEBALTS_SHIN = 2645
LETTER_OF_WINDAWOOD = 2646
OLD_KNIGHT_SWORD = 3027
class Quest (JQuest) :
def __init__(self,id,name,descr):
JQuest.__init__(self,id,name,descr)
self.questItemIds = range(2634, 2647)+[3027]
def onAdvEvent (self,event,npc, player) :
htmltext = event
st = player.getQuestState(qn)
if not st : return
if event == "1" :
htmltext = "30109-04.htm"
st.setState(State.STARTED)
st.playSound("ItemSound.quest_accept")
st.set("cond","1")
elif event == "30116_1" :
htmltext = "30116-02.htm"
elif event == "30116_2" :
htmltext = "30116-03.htm"
elif event == "30116_3" :
htmltext = "30116-04.htm"
elif event == "30116_4" :
htmltext = "30116-05.htm"
st.takeItems(TEAR_OF_LOYALTY,1)
st.set("cond","14")
st.playSound("ItemSound.quest_middle")
return htmltext
def onTalk (self,npc,player):
htmltext = Quest.getNoQuestMsg(player)
st = player.getQuestState(qn)
if not st : return htmltext
cond=st.getInt("cond")
npcId = npc.getId()
id = st.getState()
if npcId != 30109 and id != State.STARTED : return htmltext
if id == State.CREATED :
st.set("cond","0")
st.set("onlyone","0")
st.set("id","0")
if npcId == 30109 and cond == 0 and st.getInt("onlyone")==0 :
if player.getClassId().ordinal() in [ 0x04, 0x13, 0x20] :
if player.getLevel() >= 35 :
htmltext = "30109-03.htm"
else :
htmltext = "30109-01.htm"
st.exitQuest(1)
else:
htmltext = "30109-02.htm"
st.exitQuest(1)
elif npcId == 30109 and cond == 0 and st.getInt("onlyone")==1 :
htmltext = Quest.getAlreadyCompletedMsg(player)
elif npcId == 30109 and cond == 18 and st.getQuestItemsCount(LETTER_OF_DUSTIN):
st.takeItems(LETTER_OF_DUSTIN,1)
st.addExpAndSp(762576,49458)
st.giveItems(57,138968)
st.giveItems(7562,8)
st.giveItems(MARK_OF_DUTY,1)
htmltext = "30109-05.htm"
st.exitQuest(False)
st.playSound("ItemSound.quest_finish")
st.set("onlyone","1")
st.set("cond","0")
elif npcId == 30109 and cond == 1 :
htmltext = "30109-04.htm"
elif npcId == 30653 and cond == 1 :
htmltext = "30653-01.htm"
if st.getQuestItemsCount(OLD_KNIGHT_SWORD) == 0 :
st.giveItems(OLD_KNIGHT_SWORD,1)
st.set("cond","2")
st.playSound("ItemSound.quest_middle")
elif npcId == 30653 and cond == 2 and st.getQuestItemsCount(KNIGHTS_TEAR)==0 :
htmltext = "30653-02.htm"
elif npcId == 30653 and cond == 3 and st.getQuestItemsCount(KNIGHTS_TEAR) :
htmltext = "30653-03.htm"
st.takeItems(KNIGHTS_TEAR,1)
st.takeItems(OLD_KNIGHT_SWORD,1)
st.set("cond","4")
st.playSound("ItemSound.quest_middle")
elif npcId == 30653 and cond == 4 :
htmltext = "30653-04.htm"
elif npcId == 30654 and cond == 4 :
htmltext = "30654-01.htm"
st.set("cond","5")
st.playSound("ItemSound.quest_middle")
elif npcId == 30654 and cond == 5 and st.getQuestItemsCount(TALIANUSS_REPORT)==0 :
htmltext = "30654-02.htm"
elif npcId == 30654 and cond == 6 and st.getQuestItemsCount(TALIANUSS_REPORT) :
htmltext = "30654-03.htm"
st.set("cond","7")
st.playSound("ItemSound.quest_middle")
st.giveItems(MIRROR_OF_ORPIC,1)
elif npcId == 30654 and cond == 7 :
htmltext = "30654-04.htm"
elif npcId == 30654 and cond == 9 and st.getQuestItemsCount(TEAR_OF_CONFESSION) :
htmltext = "30654-05.htm"
st.takeItems(TEAR_OF_CONFESSION,1)
st.set("cond","10")
st.playSound("ItemSound.quest_middle")
elif npcId == 30654 and cond == 10 :
htmltext = "30654-06.htm"
elif npcId == 30656 and cond == 8 and st.getQuestItemsCount(MIRROR_OF_ORPIC) :
htmltext = "30656-01.htm"
st.takeItems(MIRROR_OF_ORPIC,1)
st.takeItems(TALIANUSS_REPORT,1)
st.giveItems(TEAR_OF_CONFESSION,1)
st.set("cond","9")
st.playSound("ItemSound.quest_middle")
elif npcId == 30655 and cond == 10 :
if player.getLevel() >= 35 :
htmltext = "30655-02.htm"
st.set("cond","11")
st.playSound("ItemSound.quest_middle")
else:
htmltext = "30655-01.htm"
elif npcId == 30655 and cond == 11 :
htmltext = "30655-03.htm"
elif npcId == 30655 and cond == 12 :
htmltext = "30655-04.htm"
st.takeItems(MILITAS_ARTICLE,st.getQuestItemsCount(MILITAS_ARTICLE))
st.giveItems(TEAR_OF_LOYALTY,1)
st.set("cond","13")
st.playSound("ItemSound.quest_middle")
elif npcId == 30655 and cond == 13 :
htmltext = "30655-05.htm"
elif npcId == 30116 and cond == 13 and st.getQuestItemsCount(TEAR_OF_LOYALTY) :
htmltext = "30116-01.htm"
elif npcId == 30116 and cond == 14 :
htmltext = "30116-06.htm"
elif npcId == 30116 and cond == 15 :
htmltext = "30116-07.htm"
st.takeItems(ATEBALTS_SKULL,1)
st.takeItems(ATEBALTS_RIBS,1)
st.takeItems(ATEBALTS_SHIN,1)
st.giveItems(SAINTS_ASHES_URN,1)
st.set("cond","16")
st.playSound("ItemSound.quest_middle")
elif npcId == 30116 and cond == 17 :
htmltext = "30116-08.htm"
st.takeItems(LETTER_OF_WINDAWOOD,1)
st.giveItems(LETTER_OF_DUSTIN,1)
st.set("cond","18")
st.playSound("ItemSound.quest_middle")
elif npcId == 30116 and cond == 16 :
htmltext = "30116-09.htm"
elif npcId == 30116 and cond == 18 :
htmltext = "30116-10.htm"
elif npcId == 30311 and cond == 16 and st.getQuestItemsCount(SAINTS_ASHES_URN) :
htmltext = "30311-01.htm"
st.takeItems(SAINTS_ASHES_URN,1)
st.giveItems(LETTER_OF_WINDAWOOD,1)
st.set("cond","17")
st.playSound("ItemSound.quest_middle")
elif npcId == 30311 and cond == 14 :
htmltext = "30311-02.htm"
return htmltext
def onKill(self,npc,player,isPet):
st = player.getQuestState(qn)
if not st : return
if st.getState() != State.STARTED : return
cond=st.getInt("cond")
npcId = npc.getId()
if npcId in [20190,20191] :
if cond == 2 :
if self.getRandom(50)<2 :
st.addSpawn(27119,npc,True,0)
st.playSound("ItemSound.quest_before_battle")
elif npcId == 27119 :
if cond == 2 and st.getQuestItemsCount(OLD_KNIGHT_SWORD) > 0 :
st.giveItems(KNIGHTS_TEAR,1)
st.playSound("ItemSound.quest_middle")
st.set("cond","3")
elif npcId == 20200 :
if cond == 5 and st.getQuestItemsCount(REPORT_PIECE) < 10 and st.getQuestItemsCount(TALIANUSS_REPORT) == 0 :
if st.getQuestItemsCount(REPORT_PIECE) == 9 :
if self.getRandom(2) == 1 :
st.takeItems(REPORT_PIECE,st.getQuestItemsCount(REPORT_PIECE))
st.giveItems(TALIANUSS_REPORT,1)
st.playSound("ItemSound.quest_middle")
st.set("cond","6")
elif self.getRandom(2) == 1 :
st.giveItems(REPORT_PIECE,1)
st.playSound("ItemSound.quest_itemget")
elif npcId == 20201 :
if cond == 5 and st.getQuestItemsCount(REPORT_PIECE) < 10 and st.getQuestItemsCount(TALIANUSS_REPORT) == 0 :
if st.getQuestItemsCount(REPORT_PIECE) == 9 :
if self.getRandom(2) == 1 :
st.takeItems(REPORT_PIECE,st.getQuestItemsCount(REPORT_PIECE))
st.giveItems(TALIANUSS_REPORT,1)
st.playSound("ItemSound.quest_middle")
st.set("cond","6")
elif self.getRandom(2) == 1 :
st.giveItems(REPORT_PIECE,1)
st.playSound("ItemSound.quest_itemget")
elif npcId == 20144 :
if cond == 7 :
if self.getRandom(100)<33 :
st.addSpawn(30656,npc.getX(),npc.getY(),npc.getZ(),npc.getHeading(),True,300000)
st.playSound("ItemSound.quest_middle")
st.set("cond","8")
elif npcId == 20577 :
if cond == 11 and st.getQuestItemsCount(MILITAS_ARTICLE) < 20 :
if st.getQuestItemsCount(MILITAS_ARTICLE) == 19 :
st.giveItems(MILITAS_ARTICLE,1)
st.playSound("ItemSound.quest_middle")
st.set("cond","12")
else:
st.giveItems(MILITAS_ARTICLE,1)
st.playSound("ItemSound.quest_itemget")
elif npcId == 20578 :
if cond == 11 and st.getQuestItemsCount(MILITAS_ARTICLE) < 20 :
if st.getQuestItemsCount(MILITAS_ARTICLE) == 19 :
st.giveItems(MILITAS_ARTICLE,1)
st.playSound("ItemSound.quest_middle")
st.set("cond","12")
else:
st.giveItems(MILITAS_ARTICLE,1)
st.playSound("ItemSound.quest_itemget")
elif npcId == 20579 :
if cond == 11 and st.getQuestItemsCount(MILITAS_ARTICLE) < 20 :
if st.getQuestItemsCount(MILITAS_ARTICLE) == 19 :
st.giveItems(MILITAS_ARTICLE,1)
st.playSound("ItemSound.quest_middle")
st.set("cond","12")
else:
st.giveItems(MILITAS_ARTICLE,1)
st.playSound("ItemSound.quest_itemget")
elif npcId == 20580 :
if cond == 11 and st.getQuestItemsCount(MILITAS_ARTICLE) < 20 :
if st.getQuestItemsCount(MILITAS_ARTICLE) == 19 :
st.giveItems(MILITAS_ARTICLE,1)
st.playSound("ItemSound.quest_middle")
st.set("cond","12")
else:
st.giveItems(MILITAS_ARTICLE,1)
st.playSound("ItemSound.quest_itemget")
elif npcId == 20581 :
if cond == 11 and st.getQuestItemsCount(MILITAS_ARTICLE) < 20 :
if st.getQuestItemsCount(MILITAS_ARTICLE) == 19 :
st.giveItems(MILITAS_ARTICLE,1)
st.playSound("ItemSound.quest_middle")
st.set("cond","12")
else:
st.giveItems(MILITAS_ARTICLE,1)
st.playSound("ItemSound.quest_itemget")
elif npcId == 20582 :
if cond == 11 and st.getQuestItemsCount(MILITAS_ARTICLE) < 20 :
if st.getQuestItemsCount(MILITAS_ARTICLE) == 19 :
st.giveItems(MILITAS_ARTICLE,1)
st.playSound("ItemSound.quest_middle")
st.set("cond","12")
else:
st.giveItems(MILITAS_ARTICLE,1)
st.playSound("ItemSound.quest_itemget")
elif npcId == 20270 :
if cond == 14 :
if self.getRandom(2) == 1 :
if st.getQuestItemsCount(ATEBALTS_SKULL) == 0 :
st.giveItems(ATEBALTS_SKULL,1)
st.playSound("ItemSound.quest_itemget")
elif st.getQuestItemsCount(ATEBALTS_RIBS) == 0 :
st.giveItems(ATEBALTS_RIBS,1)
st.playSound("ItemSound.quest_itemget")
elif st.getQuestItemsCount(ATEBALTS_SHIN) == 0 :
st.giveItems(ATEBALTS_SHIN,1)
st.set("cond","15")
st.playSound("ItemSound.quest_middle")
return
QUEST = Quest(212,qn,"Trial Of Duty")
QUEST.addStartNpc(30109)
QUEST.addTalkId(30109)
QUEST.addTalkId(30116)
QUEST.addTalkId(30311)
QUEST.addTalkId(30653)
QUEST.addTalkId(30654)
QUEST.addTalkId(30655)
QUEST.addTalkId(30656)
QUEST.addKillId(20144)
QUEST.addKillId(20190)
QUEST.addKillId(20191)
QUEST.addKillId(20200)
QUEST.addKillId(20201)
QUEST.addKillId(20270)
QUEST.addKillId(27119)
QUEST.addKillId(20577)
QUEST.addKillId(20578)
QUEST.addKillId(20579)
QUEST.addKillId(20580)
QUEST.addKillId(20581)
QUEST.addKillId(20582)
\ No newline at end of file
<html><body>Grand Master Hannavalt:<br>
You fool! You are hardly worthy of the title you bear! Before you think of advancement, you must first improve your skills!<br>
(This quest may only be undertaken by Knights, Elven Knights, or Palus Knights of level 35 or higher.)
<html><body>Grand Master Hannavalt:<br>
You fool! You are hardly worthy of the title you bear! Before you think of advancement, you must first improve your skills!<br>
(This quest may only be undertaken by Knights, Elven Knights, or Palus Knights of level 35 or higher.)
</body></html>
\ No newline at end of file
<html><body>Grand Master Hannavalt:<br>
The calling I refer to may only be answered by a Knight. You should seek another guide.<br>
(This quest may only be undertaken by Knights, Elven Knights, or Palus Knights of level 35 or higher.)
<html><body>Grand Master Hannavalt:<br>
The calling I refer to may only be answered by a Knight. You should seek another guide.<br>
(This quest may only be undertaken by Knights, Elven Knights, or Palus Knights of level 35 or higher.)
</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