From b466511f15569c49466e6b0f78dc4c3445508f0b Mon Sep 17 00:00:00 2001 From: malyelfik <malyelfik@users.noreply.github.com> Date: Tue, 16 Apr 2013 17:03:56 +0000 Subject: [PATCH] BETA: '''Sword of Solidarity''' (101) in Java Patch by: xban1x Reviewed by: jurchiks, malyelfik --- L2J_DataPack_BETA/dist/game/data/scripts.cfg | 2 +- .../quests/101_SwordOfSolidarity/30008-10.htm | 3 - .../quests/101_SwordOfSolidarity/30008-12.htm | 3 - .../quests/101_SwordOfSolidarity/30283-01.htm | 5 - .../quests/101_SwordOfSolidarity/30283-02.htm | 4 - .../quests/101_SwordOfSolidarity/30283-03.htm | 3 - .../quests/101_SwordOfSolidarity/30283-04.htm | 3 - .../quests/101_SwordOfSolidarity/__init__.py | 153 --------- .../30008-01.htm} | 2 +- .../30008-02.htm | 6 +- .../30008-03.html} | 4 +- .../30008-04.htm | 2 +- .../30008-05.html} | 2 +- .../30008-06.html} | 2 +- .../30008-07.html} | 0 .../30008-08.htm | 2 +- .../30008-09.html} | 4 +- .../Q00101_SwordOfSolidarity/30008-10.html | 3 + .../30008-11.html} | 2 +- .../Q00101_SwordOfSolidarity/30008-12.html | 3 + .../Q00101_SwordOfSolidarity/30283-01.html | 4 + .../Q00101_SwordOfSolidarity/30283-02.html | 4 + .../Q00101_SwordOfSolidarity/30283-03.html | 3 + .../Q00101_SwordOfSolidarity/30283-04.html | 3 + .../30283-05.html} | 0 .../30283-06.html} | 2 +- .../30283-07.html} | 2 +- .../30283-08.html} | 0 .../Q00101_SwordOfSolidarity.java | 314 ++++++++++++++++++ .../dist/sql/game/updates/20130416update.sql | 1 + 30 files changed, 351 insertions(+), 190 deletions(-) delete mode 100644 L2J_DataPack_BETA/dist/game/data/scripts/quests/101_SwordOfSolidarity/30008-10.htm delete mode 100644 L2J_DataPack_BETA/dist/game/data/scripts/quests/101_SwordOfSolidarity/30008-12.htm delete mode 100644 L2J_DataPack_BETA/dist/game/data/scripts/quests/101_SwordOfSolidarity/30283-01.htm delete mode 100644 L2J_DataPack_BETA/dist/game/data/scripts/quests/101_SwordOfSolidarity/30283-02.htm delete mode 100644 L2J_DataPack_BETA/dist/game/data/scripts/quests/101_SwordOfSolidarity/30283-03.htm delete mode 100644 L2J_DataPack_BETA/dist/game/data/scripts/quests/101_SwordOfSolidarity/30283-04.htm delete mode 100644 L2J_DataPack_BETA/dist/game/data/scripts/quests/101_SwordOfSolidarity/__init__.py rename L2J_DataPack_BETA/dist/game/data/scripts/quests/{101_SwordOfSolidarity/30008-00.htm => Q00101_SwordOfSolidarity/30008-01.htm} (77%) rename L2J_DataPack_BETA/dist/game/data/scripts/quests/{101_SwordOfSolidarity => Q00101_SwordOfSolidarity}/30008-02.htm (73%) rename L2J_DataPack_BETA/dist/game/data/scripts/quests/{101_SwordOfSolidarity/30008-03.htm => Q00101_SwordOfSolidarity/30008-03.html} (85%) rename L2J_DataPack_BETA/dist/game/data/scripts/quests/{101_SwordOfSolidarity => Q00101_SwordOfSolidarity}/30008-04.htm (72%) rename L2J_DataPack_BETA/dist/game/data/scripts/quests/{101_SwordOfSolidarity/30008-05.htm => Q00101_SwordOfSolidarity/30008-05.html} (60%) rename L2J_DataPack_BETA/dist/game/data/scripts/quests/{101_SwordOfSolidarity/30008-06.htm => Q00101_SwordOfSolidarity/30008-06.html} (83%) rename L2J_DataPack_BETA/dist/game/data/scripts/quests/{101_SwordOfSolidarity/30008-07.htm => Q00101_SwordOfSolidarity/30008-07.html} (100%) rename L2J_DataPack_BETA/dist/game/data/scripts/quests/{101_SwordOfSolidarity => Q00101_SwordOfSolidarity}/30008-08.htm (92%) rename L2J_DataPack_BETA/dist/game/data/scripts/quests/{101_SwordOfSolidarity/30008-09.htm => Q00101_SwordOfSolidarity/30008-09.html} (78%) create mode 100644 L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00101_SwordOfSolidarity/30008-10.html rename L2J_DataPack_BETA/dist/game/data/scripts/quests/{101_SwordOfSolidarity/30008-11.htm => Q00101_SwordOfSolidarity/30008-11.html} (87%) create mode 100644 L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00101_SwordOfSolidarity/30008-12.html create mode 100644 L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00101_SwordOfSolidarity/30283-01.html create mode 100644 L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00101_SwordOfSolidarity/30283-02.html create mode 100644 L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00101_SwordOfSolidarity/30283-03.html create mode 100644 L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00101_SwordOfSolidarity/30283-04.html rename L2J_DataPack_BETA/dist/game/data/scripts/quests/{101_SwordOfSolidarity/30283-05.htm => Q00101_SwordOfSolidarity/30283-05.html} (100%) rename L2J_DataPack_BETA/dist/game/data/scripts/quests/{101_SwordOfSolidarity/30283-06.htm => Q00101_SwordOfSolidarity/30283-06.html} (69%) rename L2J_DataPack_BETA/dist/game/data/scripts/quests/{101_SwordOfSolidarity/30283-07.htm => Q00101_SwordOfSolidarity/30283-07.html} (84%) rename L2J_DataPack_BETA/dist/game/data/scripts/quests/{101_SwordOfSolidarity/30283-08.htm => Q00101_SwordOfSolidarity/30283-08.html} (100%) create mode 100644 L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00101_SwordOfSolidarity/Q00101_SwordOfSolidarity.java create mode 100644 L2J_DataPack_BETA/dist/sql/game/updates/20130416update.sql diff --git a/L2J_DataPack_BETA/dist/game/data/scripts.cfg b/L2J_DataPack_BETA/dist/game/data/scripts.cfg index 2eb07da452..7e1171e9d6 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts.cfg +++ b/L2J_DataPack_BETA/dist/game/data/scripts.cfg @@ -363,7 +363,7 @@ quests/63_PathoftheWarder/__init__.py quests/64_CertifiedBerserker/__init__.py quests/65_CertifiedSoulBreaker/__init__.py quests/66_CertifiedArbalester/__init__.py -quests/101_SwordOfSolidarity/__init__.py +quests/Q00101_SwordOfSolidarity/Q00101_SwordOfSolidarity.java quests/Q00102_SeaOfSporesFever/Q00102_SeaOfSporesFever.java quests/103_SpiritOfCraftsman/__init__.py quests/104_SpiritOfMirrors/__init__.py diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/101_SwordOfSolidarity/30008-10.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/101_SwordOfSolidarity/30008-10.htm deleted file mode 100644 index 668c8c233e..0000000000 --- a/L2J_DataPack_BETA/dist/game/data/scripts/quests/101_SwordOfSolidarity/30008-10.htm +++ /dev/null @@ -1,3 +0,0 @@ -<html><body>Grand Master Roien:<br> -I hear you are helping Altran. He says that you will bring back the broken blade from the<font color="LEVEL"> Elven Ruins</font>. Good luck! -</body></html> \ No newline at end of file diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/101_SwordOfSolidarity/30008-12.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/101_SwordOfSolidarity/30008-12.htm deleted file mode 100644 index 20f6dd9903..0000000000 --- a/L2J_DataPack_BETA/dist/game/data/scripts/quests/101_SwordOfSolidarity/30008-12.htm +++ /dev/null @@ -1,3 +0,0 @@ -<html><body>Grand Master Roien:<br> -So you've found all the pieces of the broken blade! Take them to Altran immediately! -</body></html> \ No newline at end of file diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/101_SwordOfSolidarity/30283-01.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/101_SwordOfSolidarity/30283-01.htm deleted file mode 100644 index 8953f472b7..0000000000 --- a/L2J_DataPack_BETA/dist/game/data/scripts/quests/101_SwordOfSolidarity/30283-01.htm +++ /dev/null @@ -1,5 +0,0 @@ -<html><body>Blacksmith Altran:<br> -Ah! Roien's letter! Thank you!<br> -So they say that the craftsman in the legends that created the 'Sword of Solidarity' was a Dwarf, like me? A sword created by my ancestors a thousand years ago ... I'm curious to see what it looks like. If only we could find the missing broken blades, I would be able to return the Sword of Solidarity to its original state ... I hope you can recover the blade fragments. Is that too difficult of a task to ask?<br> -<a action="bypass -h Quest 101_SwordOfSolidarity 30283-02.htm">Say that you will search for the broken blade portions</a> -</body></html> \ No newline at end of file diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/101_SwordOfSolidarity/30283-02.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/101_SwordOfSolidarity/30283-02.htm deleted file mode 100644 index 56c6b4a2f6..0000000000 --- a/L2J_DataPack_BETA/dist/game/data/scripts/quests/101_SwordOfSolidarity/30283-02.htm +++ /dev/null @@ -1,4 +0,0 @@ -<html><body>Blacksmith Altran:<br> -According to Roien's research, the blade was broken into two parts, and they are probably somewhere in the Elven Ruins. They may even be in the dirty hands of the<font color="LEVEL"> Orcs that live in the ruins</font> ... But those Orcs don't know how to deal with steel, and probably don't have the skills to reassemble the pieces. They're probably using it to skin rabbits or something.<br> -Go to the<font color="LEVEL"> Elven Ruins</font> and search for the<font color="LEVEL"> two pieces of the broken blade</font>. I'm sure you don't know the way, so I will write down the directions on this note. Be careful! They say that the ruins are not only full of Orcs, but other savage beasts as well. -</body></html> \ No newline at end of file diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/101_SwordOfSolidarity/30283-03.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/101_SwordOfSolidarity/30283-03.htm deleted file mode 100644 index 04842f6911..0000000000 --- a/L2J_DataPack_BETA/dist/game/data/scripts/quests/101_SwordOfSolidarity/30283-03.htm +++ /dev/null @@ -1,3 +0,0 @@ -<html><body>Blacksmith Altran:<br> -If you can't find the Elven Ruins even with the directions I've given, ask the Village Guard Kenyos. When you find the two pieces of the blade, bring them to me. -</body></html> \ No newline at end of file diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/101_SwordOfSolidarity/30283-04.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/101_SwordOfSolidarity/30283-04.htm deleted file mode 100644 index e47840032f..0000000000 --- a/L2J_DataPack_BETA/dist/game/data/scripts/quests/101_SwordOfSolidarity/30283-04.htm +++ /dev/null @@ -1,3 +0,0 @@ -<html><body>Blacksmith Altran:<br> -So you've managed to find it! Hmm ... I will have to attach the two halves of the blade together, but the task is going to take some time. Meanwhile, go and see Roien. I will write a note asking for the sword handle, and you will please deliver the note to<font color="LEVEL"> Roien</font>. -</body></html> \ No newline at end of file diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/101_SwordOfSolidarity/__init__.py b/L2J_DataPack_BETA/dist/game/data/scripts/quests/101_SwordOfSolidarity/__init__.py deleted file mode 100644 index 81e0af8afe..0000000000 --- a/L2J_DataPack_BETA/dist/game/data/scripts/quests/101_SwordOfSolidarity/__init__.py +++ /dev/null @@ -1,153 +0,0 @@ -# Made by Mr. Have fun! - Version 0.3 by DrLecter - -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 = "101_SwordOfSolidarity" - -ROIENS_LETTER = 796 -HOWTOGO_RUINS = 937 -BROKEN_SWORD_HANDLE = 739 -BROKEN_BLADE_BOTTOM = 740 -BROKEN_BLADE_TOP = 741 -ALLTRANS_NOTE = 742 -SWORD_OF_SOLIDARITY = 738 -#Newbie/one time rewards section -#Any quest should rely on a unique bit, but -#it could be shared among quest that were mutually -#exclusive or race restricted. -#Bit #1 isn't used for backwards compatibility. -NEWBIE_REWARD = 8 -SOULSHOT_FOR_BEGINNERS = 5789 - -class Quest (JQuest) : - - def __init__(self,id,name,descr): - JQuest.__init__(self,id,name,descr) - self.questItemIds = [ALLTRANS_NOTE, HOWTOGO_RUINS, BROKEN_BLADE_TOP, BROKEN_BLADE_BOTTOM, ROIENS_LETTER, BROKEN_SWORD_HANDLE] - - def onAdvEvent (self,event,npc, player) : - htmltext = event - st = player.getQuestState(qn) - if not st : return - if event == "30008-04.htm" : - st.set("cond","1") - st.setState(State.STARTED) - st.playSound("ItemSound.quest_accept") - st.giveItems(ROIENS_LETTER,1) - elif event == "30283-02.htm" : - st.set("cond","2") - st.playSound("ItemSound.quest_middle") - st.takeItems(ROIENS_LETTER,st.getQuestItemsCount(ROIENS_LETTER)) - st.giveItems(HOWTOGO_RUINS,1) - elif event == "30283-07.htm" : - st.giveItems(57,10981) - st.takeItems(BROKEN_SWORD_HANDLE,-1) - st.giveItems(SWORD_OF_SOLIDARITY,1) - st.rewardItems(1060,100) # Lesser Healing Potions - for item in range(4412,4417) : - st.rewardItems(item,10) # Echo crystals - st.addExpAndSp(25747,2171) - st.unset("cond") - st.exitQuest(False) - st.playSound("ItemSound.quest_finish") - # check the player state against this quest newbie rewarding mark. - player = st.getPlayer() - newbie = player.getNewbie() - if newbie | NEWBIE_REWARD != newbie : - player.setNewbie(newbie|NEWBIE_REWARD) - if not player.getClassId().isMage() : - st.giveItems(SOULSHOT_FOR_BEGINNERS,7000) - st.playTutorialVoice("tutorial_voice_026") - return htmltext - - - def onTalk (self,npc,player) : - npcId = npc.getNpcId() - htmltext = Quest.getNoQuestMsg(player) - st = player.getQuestState(qn) - if not st: return htmltext - id = st.getState() - if id == State.COMPLETED : - htmltext = Quest.getAlreadyCompletedMsg(player) - elif npcId == 30008 and id == State.CREATED : - if player.getRace().ordinal() != 0 : - htmltext = "30008-00.htm" - elif player.getLevel() >= 9 : - htmltext = "30008-02.htm" - return htmltext - else: - htmltext = "30008-08.htm" - st.exitQuest(1) - elif id == State.STARTED: - if npcId == 30008 and st.getInt("cond")==1 and (st.getQuestItemsCount(ROIENS_LETTER)==1) : - htmltext = "30008-05.htm" - elif npcId == 30008 and st.getInt("cond")>=2 and st.getQuestItemsCount(ROIENS_LETTER)==0 and st.getQuestItemsCount(ALLTRANS_NOTE)==0 : - if st.getQuestItemsCount(BROKEN_BLADE_TOP) and st.getQuestItemsCount(BROKEN_BLADE_BOTTOM) : - htmltext = "30008-12.htm" - if (st.getQuestItemsCount(BROKEN_BLADE_TOP) + st.getQuestItemsCount(BROKEN_BLADE_BOTTOM)) <= 1 : - htmltext = "30008-11.htm" - if st.getQuestItemsCount(BROKEN_SWORD_HANDLE) > 0 : - htmltext = "30008-07.htm" - if st.getQuestItemsCount(HOWTOGO_RUINS) == 1 : - htmltext = "30008-10.htm" - elif npcId == 30008 and st.getInt("cond")==4 and st.getQuestItemsCount(ROIENS_LETTER)==0 and st.getQuestItemsCount(ALLTRANS_NOTE) : - htmltext = "30008-06.htm" - st.set("cond","5") - st.playSound("ItemSound.quest_middle") - st.takeItems(ALLTRANS_NOTE,st.getQuestItemsCount(ALLTRANS_NOTE)) - st.giveItems(BROKEN_SWORD_HANDLE,1) - elif npcId == 30283 and st.getInt("cond")==1 and st.getQuestItemsCount(ROIENS_LETTER)>0 : - htmltext = "30283-01.htm" - elif npcId == 30283 and st.getInt("cond")>=2 and st.getQuestItemsCount(ROIENS_LETTER)==0 and st.getQuestItemsCount(HOWTOGO_RUINS)>0 : - if (st.getQuestItemsCount(BROKEN_BLADE_TOP) + st.getQuestItemsCount(BROKEN_BLADE_BOTTOM)) == 1 : - htmltext = "30283-08.htm" - if (st.getQuestItemsCount(BROKEN_BLADE_TOP) + st.getQuestItemsCount(BROKEN_BLADE_BOTTOM)) == 0 : - htmltext = "30283-03.htm" - if st.getQuestItemsCount(BROKEN_BLADE_TOP) and st.getQuestItemsCount(BROKEN_BLADE_BOTTOM) : - htmltext = "30283-04.htm" - st.set("cond","4") - st.playSound("ItemSound.quest_middle") - st.takeItems(HOWTOGO_RUINS,st.getQuestItemsCount(HOWTOGO_RUINS)) - st.takeItems(BROKEN_BLADE_TOP,st.getQuestItemsCount(BROKEN_BLADE_TOP)) - st.takeItems(BROKEN_BLADE_BOTTOM,st.getQuestItemsCount(BROKEN_BLADE_BOTTOM)) - st.giveItems(ALLTRANS_NOTE,1) - elif npcId == 30283 and st.getInt("cond")==4 and st.getQuestItemsCount(ALLTRANS_NOTE) : - htmltext = "30283-05.htm" - elif npcId == 30283 and st.getInt("cond")==5 and st.getQuestItemsCount(BROKEN_SWORD_HANDLE) : - htmltext = "30283-06.htm" - return htmltext - - def onKill(self,npc,player,isPet): - st = player.getQuestState(qn) - if not st: return - if st.getState() == State.STARTED : - npcId = npc.getNpcId() - if npcId in [20361,20362] : - if st.getQuestItemsCount(HOWTOGO_RUINS) : - if st.getQuestItemsCount(BROKEN_BLADE_TOP) == 0 : - if self.getRandom(5) == 0 : - st.giveItems(BROKEN_BLADE_TOP,1) - elif st.getQuestItemsCount(BROKEN_BLADE_BOTTOM) == 0 : - if self.getRandom(5) == 0 : - st.giveItems(BROKEN_BLADE_BOTTOM,1) - if st.getQuestItemsCount(BROKEN_BLADE_TOP) and st.getQuestItemsCount(BROKEN_BLADE_BOTTOM) : - st.set("cond","3") - st.playSound("ItemSound.quest_middle") - else : - st.playSound("ItemSound.quest_itemget") - return - -QUEST = Quest(101,qn,"Sword Of Solidarity") - -QUEST.addStartNpc(30008) - -QUEST.addTalkId(30008) - -QUEST.addTalkId(30283) - -QUEST.addKillId(20361) -QUEST.addKillId(20362) diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/101_SwordOfSolidarity/30008-00.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00101_SwordOfSolidarity/30008-01.htm similarity index 77% rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/101_SwordOfSolidarity/30008-00.htm rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00101_SwordOfSolidarity/30008-01.htm index d0460308c0..f1e197a192 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/quests/101_SwordOfSolidarity/30008-00.htm +++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00101_SwordOfSolidarity/30008-01.htm @@ -1,4 +1,4 @@ <html><body>Grand Master Roien:<br> You have travelled quite far from your homeland, young stranger of a foreign race. I'm sorry, but I have no work for you.<br> -(Quest for Human characters.) +(Quest for Human characters level 9 and above.) </body></html> \ No newline at end of file diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/101_SwordOfSolidarity/30008-02.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00101_SwordOfSolidarity/30008-02.htm similarity index 73% rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/101_SwordOfSolidarity/30008-02.htm rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00101_SwordOfSolidarity/30008-02.htm index 44e6284d62..4e09e182d7 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/quests/101_SwordOfSolidarity/30008-02.htm +++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00101_SwordOfSolidarity/30008-02.htm @@ -1,4 +1,4 @@ <html><body>Grand Master Roien:<br> -In the past, this island was where the Elves taught us Humans their magic. In the year marking the hundredth anniversary of the Humans coming to this remote island to learn the magic of the Elves, Human magicians commissioned a Dwarven craftsman to create a beautiful sword that was presented to the Elves. It was a sign of thanks for their teaching the Humans magic, and a symbol of the pledge to strengthen the unity between the two Human and Elf races. The Elves named this present the<font color="LEVEL"> Sword of Solidarity</font>.<br> -<a action="bypass -h Quest 101_SwordOfSolidarity 30008-03.htm">Ask about the Sword of Solidarity</a> -</body></html> \ No newline at end of file +In the past, this island was where the Elves taught us Humans their magic. In the year marking the hundredth anniversary of the Humans coming to this remote island to learn the magic of the Elves, Human magicians commissioned a Dwarven craftsman to create a beautiful sword that was presented to the Elves. It was a sign of thanks for their teaching the Humans magic, and a symbol of the pledge to strengthen the unity between the two Human and Elf races. The Elves named this present the <font color="LEVEL">Sword of Solidarity</font>.<br> +<a action="bypass -h Quest Q00101_SwordOfSolidarity 30008-03.html">Ask about the Sword of Solidarity</a> +</body></html> diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/101_SwordOfSolidarity/30008-03.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00101_SwordOfSolidarity/30008-03.html similarity index 85% rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/101_SwordOfSolidarity/30008-03.htm rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00101_SwordOfSolidarity/30008-03.html index b876bc9176..30bbcebd65 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/quests/101_SwordOfSolidarity/30008-03.htm +++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00101_SwordOfSolidarity/30008-03.html @@ -1,6 +1,6 @@ <html><body>Grand Master Roien:<br> A thousand years ago, war arose between the Humans and the Elves, and the Elves were eventually defeated. The Elves of Talking Island said that the present they had received was not a Sword of Solidarity but a sword of betrayal, and broke the blade in half before leaving the island. Thereafter, the Elves never returned to this island, and the building where they had taught magic was abandoned and became the present Elven Ruins.<br> I read about the sword in a history book, and came to believe that it is hidden somewhere on this island. A few weeks ago, one of my pupils discovered an old sword handle during his exploration of the ruins. Upon close examination of the engravings on the handle, it exactly matched a text recorded in the Elven historical books that speak of the Sword of Solidarity. I am certain that the handle is a part of the Sword of Solidarity.<br> -It is my opinion that if the<font color="LEVEL"> rest of the blade</font> can be found, we can recreate the Sword of Solidarity that has only existed in history books until now.<br> -<a action="bypass -h Quest 101_SwordOfSolidarity 30008-09.htm">Ask about the remaining portions</a> +It is my opinion that if the <font color="LEVEL">rest of the blade</font> can be found, we can recreate the Sword of Solidarity that has only existed in history books until now.<br> +<a action="bypass -h Quest Q00101_SwordOfSolidarity 30008-09.html">Ask about the remaining portions</a> </body></html> \ No newline at end of file diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/101_SwordOfSolidarity/30008-04.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00101_SwordOfSolidarity/30008-04.htm similarity index 72% rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/101_SwordOfSolidarity/30008-04.htm rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00101_SwordOfSolidarity/30008-04.htm index 834384528b..578a5d75cd 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/quests/101_SwordOfSolidarity/30008-04.htm +++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00101_SwordOfSolidarity/30008-04.htm @@ -1,4 +1,4 @@ <html><body>Grand Master Roien:<br> -First, go and show this letter to<font color="LEVEL"> Blacksmith Altran</font>. In the letter, I have organized information that I've discovered regarding the Sword of Solidarity during my research of ancient scrolls at Einhovant's School of Magic. Altran says that his ancestors created the blade and asked me to research information about the sword.<br> +First, go and show this letter to <font color="LEVEL">Blacksmith Altran</font>. In the letter, I have organized information that I've discovered regarding the Sword of Solidarity during my research of Ancient Scrolls at Einhovant's School of Magic. Altran says that his ancestors created the blade and asked me to research information about the sword.<br> You can meet Altran by going to the village forge. Thank you. </body></html> \ No newline at end of file diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/101_SwordOfSolidarity/30008-05.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00101_SwordOfSolidarity/30008-05.html similarity index 60% rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/101_SwordOfSolidarity/30008-05.htm rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00101_SwordOfSolidarity/30008-05.html index 34740267fa..e2a20809be 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/quests/101_SwordOfSolidarity/30008-05.htm +++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00101_SwordOfSolidarity/30008-05.html @@ -1,3 +1,3 @@ <html><body>Grand Master Roien:<br> -Please deliver my letter to<font color="LEVEL"> Blacksmith Altran</font>. You can find him at the village forge. +Please deliver my letter to <font color="LEVEL">Blacksmith Altran</font>. You can find him at the village forge. </body></html> \ No newline at end of file diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/101_SwordOfSolidarity/30008-06.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00101_SwordOfSolidarity/30008-06.html similarity index 83% rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/101_SwordOfSolidarity/30008-06.htm rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00101_SwordOfSolidarity/30008-06.html index efd8e5d853..223db1e5ca 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/quests/101_SwordOfSolidarity/30008-06.htm +++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00101_SwordOfSolidarity/30008-06.html @@ -1,4 +1,4 @@ <html><body>Grand Master Roien:<br> You've found all the pieces of the broken blade?! What wonderful news! Now Altran can restore the Sword of Solidarity. But in order to do so, he's going to need the sword handle.<br> -Now, take this to<font color="LEVEL"> Altran</font>. Please tell him that it is given to him in thanks for all the help he has given us with the reconstruction of the training hall. +Now, take this to <font color="LEVEL">Altran</font>. Please tell him that it is given to him in thanks for all the help he has given us with the reconstruction of the training hall. </body></html> \ No newline at end of file diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/101_SwordOfSolidarity/30008-07.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00101_SwordOfSolidarity/30008-07.html similarity index 100% rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/101_SwordOfSolidarity/30008-07.htm rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00101_SwordOfSolidarity/30008-07.html diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/101_SwordOfSolidarity/30008-08.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00101_SwordOfSolidarity/30008-08.htm similarity index 92% rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/101_SwordOfSolidarity/30008-08.htm rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00101_SwordOfSolidarity/30008-08.htm index 62ff26d93a..5232acf77a 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/quests/101_SwordOfSolidarity/30008-08.htm +++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00101_SwordOfSolidarity/30008-08.htm @@ -1,5 +1,5 @@ <html><body>Grand Master Roien:<br> -Perhaps you have heard of the<font color="LEVEL"> Sword of Solidarity?</font> They say it is a fine blade treasured by the Elves that resided on this island long ago. These days, whenever I have the time I visit the libraries within Einhovant's School of Magic, to look through books and read stories related to the sword. Seeing that it is recorded not only in Human history books but also in those of the Elves, it seems certain that this sword really existed...<br> +Perhaps you have heard of the <font color="LEVEL">Sword of Solidarity?</font> They say it is a fine blade treasured by the Elves that resided on this island long ago. These days, whenever I have the time I visit the libraries within Einhovant's School of Magic, to look through books and read stories related to the sword. Seeing that it is recorded not only in Human history books but also in those of the Elves, it seems certain that this sword really existed...<br> If this Sword of Solidarity really existed, wouldn't it be hidden somewhere on the island? Such a precious and magnificent blade as that would not be easily destroyed or abandoned... I plan to search the island for the sword some day. If you are interested, won't you come along?<br> (Quest for Human characters level 9 and above.) </body></html> \ No newline at end of file diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/101_SwordOfSolidarity/30008-09.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00101_SwordOfSolidarity/30008-09.html similarity index 78% rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/101_SwordOfSolidarity/30008-09.htm rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00101_SwordOfSolidarity/30008-09.html index d1e510c23b..f1b83ff6f2 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/quests/101_SwordOfSolidarity/30008-09.htm +++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00101_SwordOfSolidarity/30008-09.html @@ -1,5 +1,5 @@ <html><body>Grand Master Roien:<br> -A few days ago, I mentioned the sword handle to Blacksmith Altran over a couple of drinks, and he showed avid interest in it. He says that if only he had the<font color="LEVEL"> blade portion</font>, he could resurrect the sword to its original state, and suggested that since it is probably somewhere in the ruins, we should send someone to go and find it.<br> +A few days ago, I mentioned the sword handle to Blacksmith Altran over a couple of drinks, and he showed avid interest in it. He says that if only he had the <font color="LEVEL">blade portion</font>, he could resurrect the sword to its original state, and suggested that since it is probably somewhere in the ruins, we should send someone to go and find it.<br> Regretfully, I am occupied with the construction that is going on for the outer walls of the training hall, which was destroyed during a storm, and cannot perform the task myself. But I think you would be able to help Altran ... What do you think? Will you give it a try?<br> -<a action="bypass -h Quest 101_SwordOfSolidarity 30008-04.htm">Say you will perform the task</a> +<a action="bypass -h Quest Q00101_SwordOfSolidarity 30008-04.htm">Say you will perform the task</a> </body></html> \ No newline at end of file diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00101_SwordOfSolidarity/30008-10.html b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00101_SwordOfSolidarity/30008-10.html new file mode 100644 index 0000000000..5b8896adcd --- /dev/null +++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00101_SwordOfSolidarity/30008-10.html @@ -0,0 +1,3 @@ +<html><body>Grand Master Roien:<br> +I heard that you are helping Altran. They say you are going to find the broken sword blade in the <font color="LEVEL">Elven Ruins.</font> I wish you good luck! +</body></html> \ No newline at end of file diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/101_SwordOfSolidarity/30008-11.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00101_SwordOfSolidarity/30008-11.html similarity index 87% rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/101_SwordOfSolidarity/30008-11.htm rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00101_SwordOfSolidarity/30008-11.html index 2f580be47b..38c2cd3996 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/quests/101_SwordOfSolidarity/30008-11.htm +++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00101_SwordOfSolidarity/30008-11.html @@ -1,3 +1,3 @@ <html><body>Blacksmith Altran:<br> Is this from the blade of the Sword of Solidarity? If only we could find the other half! -</body></html> \ No newline at end of file +</body></html> diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00101_SwordOfSolidarity/30008-12.html b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00101_SwordOfSolidarity/30008-12.html new file mode 100644 index 0000000000..3b1c6081a9 --- /dev/null +++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00101_SwordOfSolidarity/30008-12.html @@ -0,0 +1,3 @@ +<html><body>Blacksmith Altran:<br> +You've found the broken sword blades! Quickly, bring them to Altran! +</body></html> \ No newline at end of file diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00101_SwordOfSolidarity/30283-01.html b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00101_SwordOfSolidarity/30283-01.html new file mode 100644 index 0000000000..d0518d6983 --- /dev/null +++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00101_SwordOfSolidarity/30283-01.html @@ -0,0 +1,4 @@ +<html><body>Blacksmith Altran:<br> +Oh! This is Roien's letter! Thank you!<br>It was a dwarf like me that forged the Sword of Solidarity that's found in the history books, wasn't it? I wonder how a sword that my ancestor made one thousand years ago looked. If I could find the broken sword blade, I'm sure I could remake the Sword of Solidarity in its original form... I'd appreciate it if you could find that broken sword blade for me. Am I asking for too much?<br> +<a action="bypass -h Quest Q00101_SwordOfSolidarity 30283-02.html">Say that you will look for the broken sword blade.</a> +</body></html> \ No newline at end of file diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00101_SwordOfSolidarity/30283-02.html b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00101_SwordOfSolidarity/30283-02.html new file mode 100644 index 0000000000..192e3e4cf4 --- /dev/null +++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00101_SwordOfSolidarity/30283-02.html @@ -0,0 +1,4 @@ +<html><body>Blacksmith Altran:<br> +According to Roien's research, the blade was broken in half. I think they're somewhere in the Elven Ruins. Or maybe <font color="LEVEL">those dirty orcs who live in the ruins have gotten their paws on them...</font> Those orcs don't know how to handle metal, so they won't be able to reforge the broken pieces into one blade. They're probably using them to peel rabbit skins or something like that.<br> +Go to the <font color="LEVEL">Elven Ruins</font> and find <font color="LEVEL">the two broken sword blade pieces.</font> In case you don't know how to get into the ruins, I'll write it down for you in this note. Be careful! Orcs aren't the worst of the dangers in those ruins. +</body></html> \ No newline at end of file diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00101_SwordOfSolidarity/30283-03.html b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00101_SwordOfSolidarity/30283-03.html new file mode 100644 index 0000000000..f6e15973e4 --- /dev/null +++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00101_SwordOfSolidarity/30283-03.html @@ -0,0 +1,3 @@ +<html><body>Blacksmith Altran:<br> +If you still have trouble finding the Elven Ruins after looking at my note, go and ask Guard Kenyos. Once you find the two broken sword blade pieces, bring them to me. +</body></html> \ No newline at end of file diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00101_SwordOfSolidarity/30283-04.html b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00101_SwordOfSolidarity/30283-04.html new file mode 100644 index 0000000000..fdc4a516d8 --- /dev/null +++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00101_SwordOfSolidarity/30283-04.html @@ -0,0 +1,3 @@ +<html><body>Blacksmith Altran:<br> +You found them! Hmm. Now I have to make these two sword blade pieces into one. It might take some time. While I take care of this, go meet with <font color="LEVEL">Roien.</font> I'll give you a note for him, asking for the sword handle. Go, bring it to him.</font> +</body></html> \ No newline at end of file diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/101_SwordOfSolidarity/30283-05.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00101_SwordOfSolidarity/30283-05.html similarity index 100% rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/101_SwordOfSolidarity/30283-05.htm rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00101_SwordOfSolidarity/30283-05.html diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/101_SwordOfSolidarity/30283-06.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00101_SwordOfSolidarity/30283-06.html similarity index 69% rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/101_SwordOfSolidarity/30283-06.htm rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00101_SwordOfSolidarity/30283-06.html index 704e1f4e1c..c3e21d448c 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/quests/101_SwordOfSolidarity/30283-06.htm +++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00101_SwordOfSolidarity/30283-06.html @@ -1,4 +1,4 @@ <html><body>Blacksmith Altran:<br> So this is the sword handle. While you were visiting the training hall, I managed to attach the broken blade fragments together. All I have to do now is attach the handle ... Would you wait a moment?<br> -<a action="bypass -h Quest 101_SwordOfSolidarity 30283-07.htm">Wait until Altran finishes his task</a> +<a action="bypass -h Quest Q00101_SwordOfSolidarity 30283-07.html">Wait until Altran finishes his task</a> </body></html> \ No newline at end of file diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/101_SwordOfSolidarity/30283-07.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00101_SwordOfSolidarity/30283-07.html similarity index 84% rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/101_SwordOfSolidarity/30283-07.htm rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00101_SwordOfSolidarity/30283-07.html index 56c3a761e6..e11825eec0 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/quests/101_SwordOfSolidarity/30283-07.htm +++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00101_SwordOfSolidarity/30283-07.html @@ -1,5 +1,5 @@ <html><body>Blacksmith Altran:<br> -Ta da, it's finished! This is the legendary<font color="LEVEL"> Sword of Solidarity</font>. Isn't it beautiful? The blade has been crafted of mithril and hasn't lost its sharpness yet!<br> +Ta da, it's finished! This is the legendary <font color="LEVEL">Sword of Solidarity</font>. Isn't it beautiful? The blade has been crafted of Mithril and hasn't lost its sharpness yet!<br> As my ancestors created this Sword of Solidarity for the Humans of this island a thousand years ago, I will now present you with this sword. Please do not refuse, and accept it as a gift. For your information, Dwarves are happiest when the weapons they create have been placed in the hands of a skilled user. The way I see it, you are qualified to receive this sword.<br> I hope that you will perform a mighty deed appropriate for a sword with such a great history. And if anyone should ask, tell them that Blacksmith Altran reconstructed this sword! May the grace of Maphr be with you! </body></html> \ No newline at end of file diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/101_SwordOfSolidarity/30283-08.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00101_SwordOfSolidarity/30283-08.html similarity index 100% rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/101_SwordOfSolidarity/30283-08.htm rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00101_SwordOfSolidarity/30283-08.html diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00101_SwordOfSolidarity/Q00101_SwordOfSolidarity.java b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00101_SwordOfSolidarity/Q00101_SwordOfSolidarity.java new file mode 100644 index 0000000000..38470b5624 --- /dev/null +++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00101_SwordOfSolidarity/Q00101_SwordOfSolidarity.java @@ -0,0 +1,314 @@ +/* + * Copyright (C) 2004-2013 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.Q00101_SwordOfSolidarity; + +import com.l2jserver.gameserver.model.actor.L2Npc; +import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; +import com.l2jserver.gameserver.model.base.ClassId; +import com.l2jserver.gameserver.model.base.Race; +import com.l2jserver.gameserver.model.holders.ItemHolder; +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.network.NpcStringId; + +/** + * Sword of Solidarity (101) + * @author xban1x + */ +public class Q00101_SwordOfSolidarity extends Quest +{ + // NPCs + private static final int ROIEN = 30008; + private static final int ALTRAN = 30283; + // Items + private static final int BROKEN_SWORD_HANDLE = 739; + private static final int BROKEN_BLADE_BOTTOM = 740; + private static final int BROKEN_BLADE_TOP = 741; + private static final int ALTRANS_NOTE = 742; + private static final int ROIENS_LETTER = 796; + private static final int DIRECTIONS_TO_RUINS = 937; + // Monsters + private static final int[] MONSTERS = + { + 20361, // Tunath Orc Marksman + 20362, // Tunath Orc Warrior + }; + // Rewards + private static final int SOULSHOT_NO_GRADE = 5789; + private static final ItemHolder[] REWARDS = + { + new ItemHolder(738, 1), // Sword of Solidarity + new ItemHolder(1060, 100), // Lesser Healing Potion + new ItemHolder(4412, 10), // Echo Crystal - Theme of Battle + new ItemHolder(4413, 10), // Echo Crystal - Theme of Love + new ItemHolder(4414, 10), // Echo Crystal - Theme of Solitude + new ItemHolder(4415, 10), // Echo Crystal - Theme of Feast + new ItemHolder(4416, 10), // Echo Crystal - Theme of Celebration + }; + // Misc + private static final int MIN_LVL = 9; + + private Q00101_SwordOfSolidarity(int questId, String name, String descr) + { + super(questId, name, descr); + addStartNpc(ROIEN); + addKillId(MONSTERS); + addTalkId(ROIEN, ALTRAN); + registerQuestItems(BROKEN_SWORD_HANDLE, BROKEN_BLADE_BOTTOM, BROKEN_BLADE_TOP, ALTRANS_NOTE, ROIENS_LETTER, DIRECTIONS_TO_RUINS); + } + + @Override + public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) + { + final QuestState st = player.getQuestState(getName()); + String htmltext = null; + if (st != null) + { + switch (event) + { + case "30008-03.html": + case "30008-09.html": + { + htmltext = event; + break; + } + case "30008-04.htm": + { + st.startQuest(); + st.giveItems(ROIENS_LETTER, 1); + htmltext = event; + break; + } + case "30283-02.html": + { + if (st.isCond(1) && st.hasQuestItems(ROIENS_LETTER)) + { + st.takeItems(ROIENS_LETTER, -1); + st.giveItems(DIRECTIONS_TO_RUINS, 1); + st.setCond(2, true); + htmltext = event; + } + break; + } + case "30283-07.html": + { + if (st.isCond(5) && st.hasQuestItems(BROKEN_SWORD_HANDLE)) + { + if ((player.getLevel() < 25) && (player.getClassId() == ClassId.fighter)) + { + st.rewardItems(SOULSHOT_NO_GRADE, 7000); + st.playTutorialVoice("tutorial_voice_026"); + } + for (ItemHolder reward : REWARDS) + { + st.giveItems(reward); + } + st.addExpAndSp(25747, 2171); + st.giveAdena(10981, true); + st.exitQuest(false, true); + // TODO: Newbie Guide + showOnScreenMsg(player, NpcStringId.ACQUISITION_OF_RACE_SPECIFIC_WEAPON_COMPLETE_N_GO_FIND_THE_NEWBIE_GUIDE, 2, 5000); + htmltext = event; + } + break; + } + } + } + return htmltext; + } + + @Override + public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon) + { + final QuestState st = killer.getQuestState(getName()); + if ((st != null) && st.isCond(2) && (getRandom(5) == 0)) + { + if (!st.hasQuestItems(BROKEN_BLADE_TOP)) + { + st.giveItems(BROKEN_BLADE_TOP, 1); + if (st.hasQuestItems(BROKEN_BLADE_BOTTOM)) + { + st.setCond(3, true); + } + else + { + st.playSound(QuestSound.ITEMSOUND_QUEST_ITEMGET); + } + } + else if (!st.hasQuestItems(BROKEN_BLADE_BOTTOM)) + { + st.giveItems(BROKEN_BLADE_BOTTOM, 1); + if (st.hasQuestItems(BROKEN_BLADE_TOP)) + { + st.setCond(3, true); + } + else + { + st.playSound(QuestSound.ITEMSOUND_QUEST_ITEMGET); + } + } + } + return super.onKill(npc, killer, isSummon); + } + + @Override + public String onTalk(L2Npc npc, L2PcInstance player) + { + final QuestState st = player.getQuestState(getName()); + String htmltext = getNoQuestMsg(player); + if (st != null) + { + switch (npc.getNpcId()) + { + case ROIEN: + { + switch (st.getState()) + { + case State.CREATED: + { + htmltext = (player.getRace() == Race.Human) ? (player.getLevel() >= MIN_LVL) ? "30008-02.htm" : "30008-08.htm" : "30008-01.htm"; + break; + } + case State.STARTED: + { + switch (st.getCond()) + { + case 1: + { + if (st.hasQuestItems(ROIENS_LETTER)) + { + htmltext = "30008-05.html"; + } + break; + } + case 2: + { + if (hasAtLeastOneQuestItem(player, BROKEN_BLADE_BOTTOM, BROKEN_BLADE_TOP)) + { + htmltext = "30008-11.html"; + } + else if (st.hasQuestItems(DIRECTIONS_TO_RUINS)) + { + htmltext = "30008-10.html"; + } + break; + } + case 3: + { + if (st.hasQuestItems(BROKEN_BLADE_BOTTOM, BROKEN_BLADE_TOP)) + { + htmltext = "30008-12.html"; + } + break; + } + case 4: + { + if (st.hasQuestItems(ALTRANS_NOTE)) + { + st.takeItems(ALTRANS_NOTE, -1); + st.giveItems(BROKEN_SWORD_HANDLE, 1); + st.setCond(5, true); + htmltext = "30008-06.html"; + } + break; + } + case 5: + { + if (st.hasQuestItems(BROKEN_SWORD_HANDLE)) + { + htmltext = "30008-07.html"; + } + break; + } + } + break; + } + case State.COMPLETED: + { + htmltext = getAlreadyCompletedMsg(player); + break; + } + } + break; + } + case ALTRAN: + { + switch (st.getCond()) + { + case 1: + { + if (st.hasQuestItems(ROIENS_LETTER)) + { + htmltext = "30283-01.html"; + } + break; + } + case 2: + { + if (hasAtLeastOneQuestItem(player, BROKEN_BLADE_BOTTOM, BROKEN_BLADE_TOP)) + { + htmltext = "30008-08.html"; + } + else if (st.hasQuestItems(DIRECTIONS_TO_RUINS)) + { + htmltext = "30283-03.html"; + } + break; + } + case 3: + { + if (st.hasQuestItems(BROKEN_BLADE_BOTTOM, BROKEN_BLADE_TOP)) + { + takeItems(player, -1, DIRECTIONS_TO_RUINS, BROKEN_BLADE_TOP, BROKEN_BLADE_BOTTOM); + st.giveItems(ALTRANS_NOTE, 1); + st.setCond(4, true); + htmltext = "30283-04.html"; + } + break; + } + case 4: + { + if (st.hasQuestItems(ALTRANS_NOTE)) + { + htmltext = "30283-05.html"; + } + break; + } + case 5: + { + if (st.hasQuestItems(BROKEN_SWORD_HANDLE)) + { + htmltext = "30283-06.html"; + } + break; + } + } + break; + } + } + } + return htmltext; + } + + public static void main(String[] args) + { + new Q00101_SwordOfSolidarity(101, Q00101_SwordOfSolidarity.class.getSimpleName(), "Sword of Solidarity"); + } +} \ No newline at end of file diff --git a/L2J_DataPack_BETA/dist/sql/game/updates/20130416update.sql b/L2J_DataPack_BETA/dist/sql/game/updates/20130416update.sql new file mode 100644 index 0000000000..4057459ffa --- /dev/null +++ b/L2J_DataPack_BETA/dist/sql/game/updates/20130416update.sql @@ -0,0 +1 @@ +UPDATE character_quests SET name='Q00101_SwordOfSolidarity' WHERE name='101_SwordOfSolidarity'; \ No newline at end of file -- GitLab