From 1c5c98d8706253f168541322e14f7448e3d57b06 Mon Sep 17 00:00:00 2001 From: Adry_85 <Adrya85@hotmail.it> Date: Sun, 22 Sep 2013 11:05:52 +0000 Subject: [PATCH] BETA: Quest '''Grim Collector''' (325) in Java. Patch by: ivantotov Reviewed by: Adry_85, jurchiks, !UnAfraid, xban1x Tested by: Adry_85 --- L2J_DataPack_BETA/dist/game/data/scripts.cfg | 2 +- .../quests/325_GrimCollector/30336-02.htm | 5 - .../quests/325_GrimCollector/30336-05.htm | 3 - .../quests/325_GrimCollector/30434-01.htm | 4 - .../quests/325_GrimCollector/30434-03.htm | 5 - .../quests/325_GrimCollector/30434-04.htm | 6 - .../quests/325_GrimCollector/30434-08.htm | 6 - .../quests/325_GrimCollector/__init__.py | 248 --------------- .../30336-01.htm | 6 +- .../quests/Q00325_GrimCollector/30336-02.htm | 5 + .../30336-03.htm | 6 +- .../30336-04.html} | 6 +- .../quests/Q00325_GrimCollector/30336-05.html | 3 + .../30342-01.html} | 8 +- .../30342-02.html} | 6 +- .../30342-03.html} | 6 +- .../30342-04.html} | 4 +- .../quests/Q00325_GrimCollector/30434-01.html | 4 + .../30434-02.htm | 10 +- .../quests/Q00325_GrimCollector/30434-03.html | 5 + .../quests/Q00325_GrimCollector/30434-04.html | 6 + .../30434-05.html} | 8 +- .../30434-06.html} | 6 +- .../30434-07.html} | 6 +- .../quests/Q00325_GrimCollector/30434-08.html | 6 + .../30434-09.html} | 10 +- .../Q00325_GrimCollector.java | 288 ++++++++++++++++++ .../dist/sql/game/updates/20130922update.sql | 1 + 28 files changed, 360 insertions(+), 319 deletions(-) delete mode 100644 L2J_DataPack_BETA/dist/game/data/scripts/quests/325_GrimCollector/30336-02.htm delete mode 100644 L2J_DataPack_BETA/dist/game/data/scripts/quests/325_GrimCollector/30336-05.htm delete mode 100644 L2J_DataPack_BETA/dist/game/data/scripts/quests/325_GrimCollector/30434-01.htm delete mode 100644 L2J_DataPack_BETA/dist/game/data/scripts/quests/325_GrimCollector/30434-03.htm delete mode 100644 L2J_DataPack_BETA/dist/game/data/scripts/quests/325_GrimCollector/30434-04.htm delete mode 100644 L2J_DataPack_BETA/dist/game/data/scripts/quests/325_GrimCollector/30434-08.htm delete mode 100644 L2J_DataPack_BETA/dist/game/data/scripts/quests/325_GrimCollector/__init__.py rename L2J_DataPack_BETA/dist/game/data/scripts/quests/{325_GrimCollector => Q00325_GrimCollector}/30336-01.htm (98%) create mode 100644 L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00325_GrimCollector/30336-02.htm rename L2J_DataPack_BETA/dist/game/data/scripts/quests/{325_GrimCollector => Q00325_GrimCollector}/30336-03.htm (81%) rename L2J_DataPack_BETA/dist/game/data/scripts/quests/{325_GrimCollector/30336-04.htm => Q00325_GrimCollector/30336-04.html} (65%) create mode 100644 L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00325_GrimCollector/30336-05.html rename L2J_DataPack_BETA/dist/game/data/scripts/quests/{325_GrimCollector/30342-01.htm => Q00325_GrimCollector/30342-01.html} (79%) rename L2J_DataPack_BETA/dist/game/data/scripts/quests/{325_GrimCollector/30342-02.htm => Q00325_GrimCollector/30342-02.html} (85%) rename L2J_DataPack_BETA/dist/game/data/scripts/quests/{325_GrimCollector/30342-03.htm => Q00325_GrimCollector/30342-03.html} (52%) rename L2J_DataPack_BETA/dist/game/data/scripts/quests/{325_GrimCollector/30342-04.htm => Q00325_GrimCollector/30342-04.html} (98%) create mode 100644 L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00325_GrimCollector/30434-01.html rename L2J_DataPack_BETA/dist/game/data/scripts/quests/{325_GrimCollector => Q00325_GrimCollector}/30434-02.htm (66%) create mode 100644 L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00325_GrimCollector/30434-03.html create mode 100644 L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00325_GrimCollector/30434-04.html rename L2J_DataPack_BETA/dist/game/data/scripts/quests/{325_GrimCollector/30434-05.htm => Q00325_GrimCollector/30434-05.html} (50%) rename L2J_DataPack_BETA/dist/game/data/scripts/quests/{325_GrimCollector/30434-06.htm => Q00325_GrimCollector/30434-06.html} (99%) rename L2J_DataPack_BETA/dist/game/data/scripts/quests/{325_GrimCollector/30434-07.htm => Q00325_GrimCollector/30434-07.html} (99%) create mode 100644 L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00325_GrimCollector/30434-08.html rename L2J_DataPack_BETA/dist/game/data/scripts/quests/{325_GrimCollector/30434-09.htm => Q00325_GrimCollector/30434-09.html} (52%) create mode 100644 L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00325_GrimCollector/Q00325_GrimCollector.java create mode 100644 L2J_DataPack_BETA/dist/sql/game/updates/20130922update.sql diff --git a/L2J_DataPack_BETA/dist/game/data/scripts.cfg b/L2J_DataPack_BETA/dist/game/data/scripts.cfg index a51f92867d..5095922d24 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts.cfg +++ b/L2J_DataPack_BETA/dist/game/data/scripts.cfg @@ -458,7 +458,7 @@ quests/Q00317_CatchTheWind/Q00317_CatchTheWind.java quests/Q00319_ScentOfDeath/Q00319_ScentOfDeath.java quests/Q00320_BonesTellTheFuture/Q00320_BonesTellTheFuture.java quests/Q00324_SweetestVenom/Q00324_SweetestVenom.java -quests/325_GrimCollector/__init__.py +quests/Q00325_GrimCollector/Q00325_GrimCollector.java quests/Q00326_VanquishRemnants/Q00326_VanquishRemnants.java quests/327_ReclaimTheLand/__init__.py quests/Q00328_SenseForBusiness/Q00328_SenseForBusiness.java diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/325_GrimCollector/30336-02.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/325_GrimCollector/30336-02.htm deleted file mode 100644 index c12715da52..0000000000 --- a/L2J_DataPack_BETA/dist/game/data/scripts/quests/325_GrimCollector/30336-02.htm +++ /dev/null @@ -1,5 +0,0 @@ -<html><body>Guard Curtis:<br> -If you are thinking of going to the ruins, I can give you an errand that you will find rewarding. Just recently, I spoke with<font color="LEVEL"> Samed</font>, who lives near the edge of the village ... He asked me to refer a few skilled friends to him, when guards or mercenary soldier troops were dispatched near the ruins.<br> -I myself have helped him out a few times. The job is a little unpleasant, but ... the pay is good. What do you say, do you want to give it a try?<br> -<a action="bypass -h Quest 325_GrimCollector 30336-03.htm">Say you will take the job</a> -</body></html> \ No newline at end of file diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/325_GrimCollector/30336-05.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/325_GrimCollector/30336-05.htm deleted file mode 100644 index dd6124dab2..0000000000 --- a/L2J_DataPack_BETA/dist/game/data/scripts/quests/325_GrimCollector/30336-05.htm +++ /dev/null @@ -1,3 +0,0 @@ -<html><body>Guard Curtis:<br> -I see you've talked with Samed. It is a bit unpleasant, but ... selling the bones and organs of those who are already dead should not cause any sort of real problem. And it doesn't hurt anyone, right? -</body></html> \ No newline at end of file diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/325_GrimCollector/30434-01.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/325_GrimCollector/30434-01.htm deleted file mode 100644 index 8d1b424d54..0000000000 --- a/L2J_DataPack_BETA/dist/game/data/scripts/quests/325_GrimCollector/30434-01.htm +++ /dev/null @@ -1,4 +0,0 @@ -<html><body>Samed:<br> -What could a humble person like me have to ask you? It would be nice if you just left me alone so I could live quietly ...<br> -<a action="bypass -h Quest 325_GrimCollector 30434-02.htm">Say that Curtis sent you</a> -</body></html> \ No newline at end of file diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/325_GrimCollector/30434-03.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/325_GrimCollector/30434-03.htm deleted file mode 100644 index be7306d875..0000000000 --- a/L2J_DataPack_BETA/dist/game/data/scripts/quests/325_GrimCollector/30434-03.htm +++ /dev/null @@ -1,5 +0,0 @@ -<html><body>Samed:<br> -Collect corpse pieces from the<font color="LEVEL"> Ruins of Despair</font> or the<font color="LEVEL"> Ruins of Agony.</font> If you don't know how to find the ruins, ask Guard Curtis or Guard Babenco. From the<font color="LEVEL"> zombies</font>, bring their<font color="LEVEL"> head, heart, and liver</font>. From the<font color="LEVEL"> skeletons</font>, bring the<font color="LEVEL"> skull, spine, rib, arm bone, and thigh bone</font>. -I also need bone pieces, but actually I need a<font color="LEVEL"> complete skeleton</font> of Human form more. Unfortunately, when you fight with the undead, their body shatters so it will be impossible to find a complete skeleton. But the person that took this job before you found one somehow. -Ah, and don't bring back anything from the spartoi. Spartoi are 'his' minions... It is better not to make him angry. -</body></html> \ No newline at end of file diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/325_GrimCollector/30434-04.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/325_GrimCollector/30434-04.htm deleted file mode 100644 index 8b14c07475..0000000000 --- a/L2J_DataPack_BETA/dist/game/data/scripts/quests/325_GrimCollector/30434-04.htm +++ /dev/null @@ -1,6 +0,0 @@ -<html><body>Samed:<br> -You have returned already? I see you have not found the items I asked you for. I am very disappointed ...<br> -I will explain to you again, so listen carefully. Go to the<font color="LEVEL"> Ruins of Despair</font> or the<font color="LEVEL"> Ruins of Agony</font> and find me the<font color="LEVEL"> corpse pieces</font> of the undead and I will give you an ample reward. If you don't know how to find the ruins, ask Guard Curtis or Guard Babenco.<br> -<a action="bypass -h Quest 325_GrimCollector 30434-06.htm">Say you will quit</a><br> -<a action="bypass -h Quest 325_GrimCollector 30434-07.htm">Say you will continue</a> -</body></html> \ No newline at end of file diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/325_GrimCollector/30434-08.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/325_GrimCollector/30434-08.htm deleted file mode 100644 index 9316e88eb8..0000000000 --- a/L2J_DataPack_BETA/dist/game/data/scripts/quests/325_GrimCollector/30434-08.htm +++ /dev/null @@ -1,6 +0,0 @@ -<html><body>Samed:<br> -Ohh! You brought back a complete skeleton! You haven't dug up some cemetery, have you? Well, hand it over to me before the villagers see!<br> -<a action="bypass -h Quest 325_GrimCollector 30434-09.htm">Calculate complete skeleton</a><br> -<a action="bypass -h Quest 325_GrimCollector 30434-07.htm">Calculate corpse pieces</a><br> -<a action="bypass -h Quest 325_GrimCollector 30434-06.htm">Say you will quit</a> -</body></html> \ No newline at end of file diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/325_GrimCollector/__init__.py b/L2J_DataPack_BETA/dist/game/data/scripts/quests/325_GrimCollector/__init__.py deleted file mode 100644 index 71094da34a..0000000000 --- a/L2J_DataPack_BETA/dist/game/data/scripts/quests/325_GrimCollector/__init__.py +++ /dev/null @@ -1,248 +0,0 @@ -# Made by Mr. Have fun! - Version 0.3 by DrLecter -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 = "325_GrimCollector" - -ZOMBIE_HEAD1_ID = 1350 -ZOMBIE_HEART1_ID = 1351 -ZOMBIE_LIVER1_ID = 1352 -SKULL1_ID = 1353 -RIB_BONE1_ID = 1354 -SPINE1_ID = 1355 -ARM_BONE1_ID = 1356 -THIGH_BONE1_ID = 1357 -COMPLETE_SKELETON_ID = 1358 -ANATOMY_DIAGRAM_ID = 1349 -ADENA_ID = 57 - -def pieces(st): - return st.getQuestItemsCount(ZOMBIE_HEAD1_ID)+\ - st.getQuestItemsCount(SPINE1_ID)+\ - st.getQuestItemsCount(ARM_BONE1_ID)+\ - st.getQuestItemsCount(ZOMBIE_HEART1_ID)+\ - st.getQuestItemsCount(ZOMBIE_LIVER1_ID)+\ - st.getQuestItemsCount(SKULL1_ID)+\ - st.getQuestItemsCount(RIB_BONE1_ID)+\ - st.getQuestItemsCount(THIGH_BONE1_ID)+\ - st.getQuestItemsCount(COMPLETE_SKELETON_ID) - -def payback(st): - count = pieces(st) - amount = 0 - if count : - amount = 30*st.getQuestItemsCount(ZOMBIE_HEAD1_ID)+20*st.getQuestItemsCount(ZOMBIE_HEART1_ID)+20*st.getQuestItemsCount(ZOMBIE_LIVER1_ID)+100*st.getQuestItemsCount(SKULL1_ID)+40*st.getQuestItemsCount(RIB_BONE1_ID)+14*st.getQuestItemsCount(SPINE1_ID)+14*st.getQuestItemsCount(ARM_BONE1_ID)+14*st.getQuestItemsCount(THIGH_BONE1_ID)+341*st.getQuestItemsCount(COMPLETE_SKELETON_ID) - if count > 10: - amount += 1629 - if st.getQuestItemsCount(COMPLETE_SKELETON_ID): - amount +=543 - st.giveItems(ADENA_ID,amount) - st.takeItems(ZOMBIE_HEAD1_ID,-1) - st.takeItems(ZOMBIE_HEART1_ID,-1) - st.takeItems(ZOMBIE_LIVER1_ID,-1) - st.takeItems(SKULL1_ID,-1) - st.takeItems(RIB_BONE1_ID,-1) - st.takeItems(SPINE1_ID,-1) - st.takeItems(ARM_BONE1_ID,-1) - st.takeItems(THIGH_BONE1_ID,-1) - st.takeItems(COMPLETE_SKELETON_ID,-1) - return amount - -class Quest (JQuest) : - - def __init__(self,id,name,descr): - JQuest.__init__(self,id,name,descr) - self.questItemIds = [ZOMBIE_HEAD1_ID, ZOMBIE_HEART1_ID, ZOMBIE_LIVER1_ID, SKULL1_ID, RIB_BONE1_ID, SPINE1_ID, ARM_BONE1_ID, THIGH_BONE1_ID, COMPLETE_SKELETON_ID, ANATOMY_DIAGRAM_ID] - - def onEvent (self,event,st) : - htmltext = event - if event == "30336-03.htm" : - st.set("cond","1") - st.setState(State.STARTED) - st.playSound("ItemSound.quest_accept") - elif event == "30434-03.htm" : - st.giveItems(ANATOMY_DIAGRAM_ID,1) - elif event == "30434-06.htm" : - payback(st) - st.takeItems(ANATOMY_DIAGRAM_ID,-1) - st.playSound("ItemSound.quest_finish") - st.exitQuest(1) - elif event == "30434-07.htm" : - if not payback(st) : - htmltext = "You don't have required items" - elif event == "30434-09.htm" : - st.giveItems(ADENA_ID,543+(341*st.getQuestItemsCount(COMPLETE_SKELETON_ID))) - st.takeItems(COMPLETE_SKELETON_ID,-1) - elif event == "30342-03.htm" : - if st.getQuestItemsCount(SPINE1_ID) and st.getQuestItemsCount(ARM_BONE1_ID) and st.getQuestItemsCount(SKULL1_ID) and st.getQuestItemsCount(RIB_BONE1_ID) and st.getQuestItemsCount(THIGH_BONE1_ID) : - st.takeItems(SPINE1_ID,1) - st.takeItems(SKULL1_ID,1) - st.takeItems(ARM_BONE1_ID,1) - st.takeItems(RIB_BONE1_ID,1) - st.takeItems(THIGH_BONE1_ID,1) - if self.getRandom(5)<4 : - st.giveItems(COMPLETE_SKELETON_ID,1) - else: - htmltext = "30342-04.htm" - else: - htmltext = "30342-02.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 != 30336 and id != State.STARTED : return htmltext - - cond = st.getInt("cond") - if npcId == 30336 and cond==0 : - if player.getLevel() >= 15 : - htmltext = "30336-02.htm" - return htmltext - else: - htmltext = "30336-01.htm" - st.exitQuest(1) - elif npcId == 30336 and cond and not st.getQuestItemsCount(ANATOMY_DIAGRAM_ID) : - htmltext = "30336-04.htm" - elif npcId == 30336 and cond and st.getQuestItemsCount(ANATOMY_DIAGRAM_ID) : - htmltext = "30336-05.htm" - elif npcId == 30434 and cond and not st.getQuestItemsCount(ANATOMY_DIAGRAM_ID) : - htmltext = "30434-01.htm" - elif npcId == 30434 and cond and st.getQuestItemsCount(ANATOMY_DIAGRAM_ID) and not pieces(st) : - htmltext = "30434-04.htm" - elif npcId == 30434 and cond and st.getQuestItemsCount(ANATOMY_DIAGRAM_ID) and pieces(st) and not st.getQuestItemsCount(COMPLETE_SKELETON_ID): - htmltext = "30434-05.htm" - elif npcId == 30434 and cond and st.getQuestItemsCount(ANATOMY_DIAGRAM_ID) and pieces(st) and st.getQuestItemsCount(COMPLETE_SKELETON_ID) : - htmltext = "30434-08.htm" - elif npcId == 30342 and cond and st.getQuestItemsCount(ANATOMY_DIAGRAM_ID) : - htmltext = "30342-01.htm" - 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 st.getQuestItemsCount(ANATOMY_DIAGRAM_ID) : - n = self.getRandom(100) - if npcId == 20026 : - if n<90 : - st.playSound("ItemSound.quest_itemget") - if n<40 : - st.giveItems(ZOMBIE_HEAD1_ID,1) - elif n<60 : - st.giveItems(ZOMBIE_HEART1_ID,1) - else : - st.giveItems(ZOMBIE_LIVER1_ID,1) - elif npcId == 20029 : - st.playSound("ItemSound.quest_itemget") - if n<44 : - st.giveItems(ZOMBIE_HEAD1_ID,1) - elif n<66 : - st.giveItems(ZOMBIE_HEART1_ID,1) - else : - st.giveItems(ZOMBIE_LIVER1_ID,1) - elif npcId == 20035 : - if n<79 : - st.playSound("ItemSound.quest_itemget") - if n<5 : - st.giveItems(SKULL1_ID,1) - elif n<15 : - st.giveItems(RIB_BONE1_ID,1) - elif n<29 : - st.giveItems(SPINE1_ID,1) - else : - st.giveItems(THIGH_BONE1_ID,1) - elif npcId == 20042 : - if n<86 : - st.playSound("ItemSound.quest_itemget") - if n<6 : - st.giveItems(SKULL1_ID,1) - elif n<19 : - st.giveItems(RIB_BONE1_ID,1) - elif n<69 : - st.giveItems(ARM_BONE1_ID,1) - else : - st.giveItems(THIGH_BONE1_ID,1) - elif npcId == 20045 : - if n<97 : - st.playSound("ItemSound.quest_itemget") - if n<9 : - st.giveItems(SKULL1_ID,1) - elif n<59 : - st.giveItems(SPINE1_ID,1) - elif n<77 : - st.giveItems(ARM_BONE1_ID,1) - else : - st.giveItems(THIGH_BONE1_ID,1) - elif npcId == 20051 : - if n<99 : - st.playSound("ItemSound.quest_itemget") - if n<9 : - st.giveItems(SKULL1_ID,1) - elif n<59 : - st.giveItems(RIB_BONE1_ID,1) - elif n<79 : - st.giveItems(SPINE1_ID,1) - else : - st.giveItems(ARM_BONE1_ID,1) - elif npcId == 20514 : - if n<51 : - st.playSound("ItemSound.quest_itemget") - if n<2 : - st.giveItems(SKULL1_ID,1) - elif n<8 : - st.giveItems(RIB_BONE1_ID,1) - elif n<17 : - st.giveItems(SPINE1_ID,1) - elif n<18 : - st.giveItems(ARM_BONE1_ID,1) - else : - st.giveItems(THIGH_BONE1_ID,1) - elif npcId == 20515 : - if n<60 : - st.playSound("ItemSound.quest_itemget") - if n<3 : - st.giveItems(SKULL1_ID,1) - elif n<11 : - st.giveItems(RIB_BONE1_ID,1) - elif n<22 : - st.giveItems(SPINE1_ID,1) - elif n<24 : - st.giveItems(ARM_BONE1_ID,1) - else : - st.giveItems(THIGH_BONE1_ID,1) - elif npcId == 20457 : - st.playSound("ItemSound.quest_itemget") - if n<42 : - st.giveItems(ZOMBIE_HEAD1_ID,1) - elif n<67 : - st.giveItems(ZOMBIE_HEART1_ID,1) - else : - st.giveItems(ZOMBIE_LIVER1_ID,1) - elif npcId == 20458 : - st.playSound("ItemSound.quest_itemget") - if n<42 : - st.giveItems(ZOMBIE_HEAD1_ID,1) - elif n<67 : - st.giveItems(ZOMBIE_HEART1_ID,1) - else : - st.giveItems(ZOMBIE_LIVER1_ID,1) - return - -QUEST = Quest(325,qn,"Grim Collector") - -QUEST.addStartNpc(30336) -QUEST.addTalkId(30336) - -QUEST.addTalkId(30342) -QUEST.addTalkId(30434) - -for i in [20026,20029,20035,20042,20045,20457,20458,20051,20514,20515] : - QUEST.addKillId(i) \ No newline at end of file diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/325_GrimCollector/30336-01.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00325_GrimCollector/30336-01.htm similarity index 98% rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/325_GrimCollector/30336-01.htm rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00325_GrimCollector/30336-01.htm index 092c4f8b41..4531dcbdfd 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/quests/325_GrimCollector/30336-01.htm +++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00325_GrimCollector/30336-01.htm @@ -1,4 +1,4 @@ -<html><body>Guard Curtis:<br> -If you are thinking of going to the ruins, I can give you an errand that you will find rewarding. I can't tell you about it right now, but if you stop by later on I'll tell you in private.<br> -(Quest for characters level 15 and above.) +<html><body>Guard Curtis:<br> +If you are thinking of going to the ruins, I can give you an errand that you will find rewarding. I can't tell you about it right now, but if you stop by later on I'll tell you in private.<br> +(Quest for characters level 15 and above.) </body></html> \ No newline at end of file diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00325_GrimCollector/30336-02.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00325_GrimCollector/30336-02.htm new file mode 100644 index 0000000000..40322cdf18 --- /dev/null +++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00325_GrimCollector/30336-02.htm @@ -0,0 +1,5 @@ +<html><body>Guard Curtis:<br> +If you are thinking of going to the ruins, I can give you an errand that you will find rewarding. Just recently, I spoke with <font color="LEVEL">Samed</font>, who lives near the edge of the village... He asked me to refer a few skilled friends to him, when guards or mercenary soldier troops were dispatched near the ruins.<br> +I myself have helped him out a few times. The job is a little unpleasant, but... the pay is good. What do you say, do you want to give it a try?<br> +<a action="bypass -h Quest Q00325_GrimCollector 30336-03.htm">Say you will take the job</a> +</body></html> \ No newline at end of file diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/325_GrimCollector/30336-03.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00325_GrimCollector/30336-03.htm similarity index 81% rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/325_GrimCollector/30336-03.htm rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00325_GrimCollector/30336-03.htm index 905bace8a9..51aeaa4058 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/quests/325_GrimCollector/30336-03.htm +++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00325_GrimCollector/30336-03.htm @@ -1,4 +1,4 @@ -<html><body>Guard Curtis:<br> -Go to<font color="LEVEL"> Samed</font> to get all the details. If you meet him, tell him that Curtis sent you. Then he'll know I sent you and will give you the job.<br> -I wouldn't tell anyone you are working for Samed. So I hope you won't tell anyone that you received the job from me. Do you understand what I'm saying? +<html><body>Guard Curtis:<br> +Go to <font color="LEVEL">Samed</font> to get all the details. If you meet him, tell him that Curtis sent you. Then he'll know I sent you and will give you the job.<br> +I wouldn't tell anyone you are working for Samed. So I hope you won't tell anyone that you received the job from me. Do you understand what I'm saying? </body></html> \ No newline at end of file diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/325_GrimCollector/30336-04.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00325_GrimCollector/30336-04.html similarity index 65% rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/325_GrimCollector/30336-04.htm rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00325_GrimCollector/30336-04.html index c7fc9e45d2..28b8c7182c 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/quests/325_GrimCollector/30336-04.htm +++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00325_GrimCollector/30336-04.html @@ -1,4 +1,4 @@ -<html><body>Guard Curtis:<br> -You haven't met Samed yet? Look now, I personally guarantee that this is a job that pays very well! Someone with your skills could earn big money. Of course, you'll have to work so that no one notices you ...<br> -So hurry up and find<font color="LEVEL"> Samed</font>. If you meet him, tell him that Curtis sent you. +<html><body>Guard Curtis:<br> +You haven't met Samed yet? Look now, I personally guarantee that this is a job that pays very well! Someone with your skills could earn big money. Of course, you'll have to work so that no one notices you...<br> +So hurry up and find Samed. If you meet him, tell him that Curtis sent you. </body></html> \ No newline at end of file diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00325_GrimCollector/30336-05.html b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00325_GrimCollector/30336-05.html new file mode 100644 index 0000000000..81873536f6 --- /dev/null +++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00325_GrimCollector/30336-05.html @@ -0,0 +1,3 @@ +<html><body>Guard Curtis:<br> +I see you've talked with Samed. It is a bit unpleasant, but... selling the bones and organs of those who are already dead should not cause any sort of real problem. And it doesn't hurt anyone, right? +</body></html> \ No newline at end of file diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/325_GrimCollector/30342-01.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00325_GrimCollector/30342-01.html similarity index 79% rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/325_GrimCollector/30342-01.htm rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00325_GrimCollector/30342-01.html index bde954480b..f1dc1e9ed7 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/quests/325_GrimCollector/30342-01.htm +++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00325_GrimCollector/30342-01.html @@ -1,5 +1,5 @@ -<html><body>Varsak:<br> -Our family has been doing this work for generations. However, there are hardly any people who look for undertakers these days. It is because the priests of Einhasad encourage cremation. However, sometimes, there are a few who come to follow the old customs.<br> -Have you come to me for a funeral? Is there anything I can do for you?<br> -<a action="bypass -h Quest 325_GrimCollector 30342-03.htm">Ask to assemble a skeleton</a> +<html><body>Varsak:<br> +Our family has been doing this work for generations. However, there are hardly any people who look for undertakers these days. It is because the priests of Einhasad encourage cremation. However, sometimes, there are a few who come to follow the old customs.<br> +Have you come to me for a funeral? Is there anything I can do for you?<br> +<a action="bypass -h Quest Q00325_GrimCollector assembleSkeleton">Ask to assemble a skeleton</a> </body></html> \ No newline at end of file diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/325_GrimCollector/30342-02.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00325_GrimCollector/30342-02.html similarity index 85% rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/325_GrimCollector/30342-02.htm rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00325_GrimCollector/30342-02.html index 445c331d93..a2bb68cadd 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/quests/325_GrimCollector/30342-02.htm +++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00325_GrimCollector/30342-02.html @@ -1,4 +1,4 @@ -<html><body>Varsak:<br> -I'm sorry, but that is impossible. To recompose a skeleton to human form, you must have all five parts: the<font color="LEVEL"> skull, rib, spine, arm bone and thigh bone</font>.<br> -By the way, you don't work for Samed, do you? It would be better to stay away from him. Bad rumors always follow him -- that he is a student of the evil Wizard Hardin or a servant of the devil Beleth. That is why people avoid him. +<html><body>Varsak:<br> +I'm sorry, but that is impossible. To recompose a skeleton to human form, you must have all five parts: the <font color="LEVEL">skull, rib, spine, arm bone and thigh bone</font>.<br> +By the way, you don't work for Samed, do you? It would be better to stay away from him. Bad rumors always follow him -- that he is a student of the evil Wizard Hardin or a servant of the devil Beleth. That is why people avoid him. </body></html> \ No newline at end of file diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/325_GrimCollector/30342-03.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00325_GrimCollector/30342-03.html similarity index 52% rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/325_GrimCollector/30342-03.htm rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00325_GrimCollector/30342-03.html index a08ed76a58..3eaaa00b7e 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/quests/325_GrimCollector/30342-03.htm +++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00325_GrimCollector/30342-03.html @@ -1,4 +1,4 @@ -<html><body>Varsak:<br> -I am not sure the bone pieces are from the same person, but ... At any rate, I'll try to recompose the skeleton. This is the least we can do to put the angry spirit of a person who died at war to rest. Please give him or her a proper funeral.<br> -But... You don't work for Samed, do you? It would be better to keep your distance from him. Bad rumors always follow him -- they say he is a student of the black magician Hardin or a servant of the devil Beleth. People avoid him for a reason. +<html><body>Varsak:<br> +I am not sure the bone pieces are from the same person, but... At any rate, I'll try to recompose the skeleton. This is the least we can do to put the angry spirit of a person who died at war to rest. Please give him or her a proper funeral.<br> +But... You don't work for Samed, do you? It would be better to keep your distance from him. Bad rumors always follow him -- they say he is a student of the black magician Hardin or a servant of the devil Beleth. People avoid him for a reason. </body></html> \ No newline at end of file diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/325_GrimCollector/30342-04.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00325_GrimCollector/30342-04.html similarity index 98% rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/325_GrimCollector/30342-04.htm rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00325_GrimCollector/30342-04.html index 3997bf80ca..7b54130598 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/quests/325_GrimCollector/30342-04.htm +++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00325_GrimCollector/30342-04.html @@ -1,3 +1,3 @@ -<html><body>Varsak:<br> -Ah! Oh dear... Forgive me! The bone was too old... It got smashed while I was trying to recompose the skeleton. +<html><body>Varsak:<br> +Ah! Oh dear... Forgive me! The bone was too old... It got smashed while I was trying to recompose the skeleton. </body></html> \ No newline at end of file diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00325_GrimCollector/30434-01.html b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00325_GrimCollector/30434-01.html new file mode 100644 index 0000000000..8f74f79dbb --- /dev/null +++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00325_GrimCollector/30434-01.html @@ -0,0 +1,4 @@ +<html><body>Samed:<br> +What could a humble person like me have to ask you? It would be nice if you just left me alone so I could live quietly...<br> +<a action="bypass -h Quest Q00325_GrimCollector 30434-02.htm">Say that Curtis sent you</a> +</body></html> \ No newline at end of file diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/325_GrimCollector/30434-02.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00325_GrimCollector/30434-02.htm similarity index 66% rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/325_GrimCollector/30434-02.htm rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00325_GrimCollector/30434-02.htm index cbe10e1914..6b05f5bdce 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/quests/325_GrimCollector/30434-02.htm +++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00325_GrimCollector/30434-02.htm @@ -1,6 +1,6 @@ -<html><body>Samed:<br> -Hmm? So you came to me for a job. Well, are you thinking of going to the ruins? If you find me a few things from there, I will generously reward you afterwards. Though I am not sure whether you will come back alive from that place which crawls with zombies and skeletons.<br> -You must find me<font color="LEVEL"> corpse pieces</font>. Of course there are many corpses in the graveyard, but if you are caught disturbing the graves and pulling out coffins, you will be considered a witch and be burnt at the stake. So there is no choice but to take the living corpses of the undead.<br> -Why do I need corpse pieces? Don't try to know the reason. Haven't you heard that curiosity killed the cat? All you have to do is find what I need and take the money.<br> -<a action="bypass -h Quest 325_GrimCollector 30434-03.htm">Ask about the corpse pieces</a> +<html><body>Samed:<br> +Hmm? So you came to me for a job. Well, are you thinking of going to the ruins? If you find me a few things from there, I will generously reward you afterwards. Though I am not sure whether you will come back alive from that place that crawls with zombies and skeletons.<br> +You must find me <font color="LEVEL">corpse pieces</font>. Of course there are many corpses in the graveyard, but if you are caught disturbing the graves and pulling out coffins, you will be considered a witch and be burnt at the stake. So there is no choice but to take the living corpses from the undead.<br> +Why do I need corpse pieces? Don't try to know the reason. Haven't you heard that curiosity killed the cat? All you have to do is find what I need and take the money.<br> +<a action="bypass -h Quest Q00325_GrimCollector 30434-03.html">Ask about the corpse pieces</a> </body></html> \ No newline at end of file diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00325_GrimCollector/30434-03.html b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00325_GrimCollector/30434-03.html new file mode 100644 index 0000000000..7d05bc59cd --- /dev/null +++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00325_GrimCollector/30434-03.html @@ -0,0 +1,5 @@ +<html><body>Samed:<br> +Collect corpse pieces from the <font color="LEVEL">Ruins of Despair</font> or the <font color="LEVEL">Ruins of Agony.</font> If you don't know how to find the ruins, ask Guard Curtis or Guard Babenco. From the <font color="LEVEL">zombies,</font> bring their <font color="LEVEL">head, heart, and liver.</font> From the <font color="LEVEL">skeletons,</font> bring the <font color="LEVEL">skull, spine, rib, arm bone, and thigh bone.</font><br> +I also need bone pieces, but actually I need a <font color="LEVEL">Complete Skeleton of Human form</font> more. Unfortunately, when you fight with the undead, their body shatters so it will be impossible to find a Complete Skeleton. But the person that took this job before you found one somehow.<br> +Ah, and don't bring back anything from the spartoi. Spartoi are his minions... It is better not to make him angry. +</body></html> \ No newline at end of file diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00325_GrimCollector/30434-04.html b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00325_GrimCollector/30434-04.html new file mode 100644 index 0000000000..fe5d444448 --- /dev/null +++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00325_GrimCollector/30434-04.html @@ -0,0 +1,6 @@ +<html><body>Samed:<br> +You have returned already? I see you have not found the items I asked you for. I am very disappointed...<br> +I will explain to you again, so listen carefully. Go to the <font color="LEVEL">Ruins of Despair</font> or the <font color="LEVEL">Ruins of Agony</font> and find me the <font color="LEVEL">corpse pieces</font> of the undead and I will give you an ample reward. If you don't know how to find the ruins, ask Guard Curtis or Guard Babenco.<br> +<a action="bypass -h Quest Q00325_GrimCollector 30434-06.html">Say you will quit.</a><br> +<a action="bypass -h Quest Q00325_GrimCollector 30434-07.html">Say you will continue.</a> +</body></html> \ No newline at end of file diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/325_GrimCollector/30434-05.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00325_GrimCollector/30434-05.html similarity index 50% rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/325_GrimCollector/30434-05.htm rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00325_GrimCollector/30434-05.html index 506f40622f..d50cbb0cb0 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/quests/325_GrimCollector/30434-05.htm +++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00325_GrimCollector/30434-05.html @@ -1,5 +1,5 @@ -<html><body>Samed:<br> -Did you come unseen by the guards? Do you have the items I asked you for? Give them to me before the smell of decay fills the village!<br> -<a action="bypass -h Quest 325_GrimCollector 30434-07.htm">Calculate items</a><br> -<a action="bypass -h Quest 325_GrimCollector 30434-06.htm">Say you will quit</a> +<html><body>Samed:<br> +Did you come unseen by the guards? Do you have the items I asked you for? Give them to me before the smell of decay fills the village!<br> +<a action="bypass -h Quest Q00325_GrimCollector 30434-07.html">Calculate items</a><br> +<a action="bypass -h Quest Q00325_GrimCollector 30434-06.html">Say you will quit</a> </body></html> \ No newline at end of file diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/325_GrimCollector/30434-06.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00325_GrimCollector/30434-06.html similarity index 99% rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/325_GrimCollector/30434-06.htm rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00325_GrimCollector/30434-06.html index ada7be608f..f3d9d953cd 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/quests/325_GrimCollector/30434-06.htm +++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00325_GrimCollector/30434-06.html @@ -1,4 +1,4 @@ -<html><body>Samed:<br> -You seem exhausted from dealing with the dead souls. Well, it may have been too difficult for someone like you, who has lived only in the bright world. But I keep my promises, don't I? I will compensate you for the number of items you have brought. I have put the money in this coin purse, so make sure you tuck it in your pocket.<br> -You must be swearing to yourself that you will never do such an unpleasant job again, right? I can tell just from your eyes. However, you may have to come to me in the end. You will realize in no time that there is no other job that pays as much. +<html><body>Samed:<br> +You seem exhausted from dealing with the dead souls. Well, it may have been too difficult for someone like you, who has lived only in the bright world. But I keep my promises, don't I? I will compensate you for the number of items you have brought. I have put the money in this coin purse, so make sure you tuck it in your pocket.<br> +You must be swearing to yourself that you will never do such an unpleasant job again, right? I can tell just from your eyes. However, you may have to come to me in the end. You will realize in no time that there is no other job that pays as much. </body></html> \ No newline at end of file diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/325_GrimCollector/30434-07.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00325_GrimCollector/30434-07.html similarity index 99% rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/325_GrimCollector/30434-07.htm rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00325_GrimCollector/30434-07.html index 0cb29aa563..f81fcbd6f0 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/quests/325_GrimCollector/30434-07.htm +++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00325_GrimCollector/30434-07.html @@ -1,4 +1,4 @@ -<html><body>Samed:<br> -Then I will pay you according to the number of corpse pieces you have brought. Keep up the good work.<br> -Ah! And let me give you one word of advice. You do not need to be frightened by the undead of the ruins. They move by the power of black magic, but they are really just decayed pieces of meat. If you think of it that way, there is no reason to be afraid, right? +<html><body>Samed:<br> +Then I will pay you according to the number of corpse pieces you have brought. Keep up the good work.<br> +Ah! And let me give you one word of advice. You do not need to be frightened by the undead of the ruins. They move by the power of black magic, but they are really just decayed pieces of meat. If you think of it that way, there is no reason to be afraid, right? </body></html> \ No newline at end of file diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00325_GrimCollector/30434-08.html b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00325_GrimCollector/30434-08.html new file mode 100644 index 0000000000..83c8c35c40 --- /dev/null +++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00325_GrimCollector/30434-08.html @@ -0,0 +1,6 @@ +<html><body>Samed:<br> +Ohh! You brought back a Complete Skeleton! You haven't dug up some cemetery, have you? Well, hand it over to me before the villagers see!<br> +<a action="bypass -h Quest Q00325_GrimCollector 30434-09.html">Calculate Complete Skeleton</a><br> +<a action="bypass -h Quest Q00325_GrimCollector 30434-07.html">Calculate corpse pieces</a><br> +<a action="bypass -h Quest Q00325_GrimCollector 30434-06.html">Say you will quit</a> +</body></html> \ No newline at end of file diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/325_GrimCollector/30434-09.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00325_GrimCollector/30434-09.html similarity index 52% rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/325_GrimCollector/30434-09.htm rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00325_GrimCollector/30434-09.html index f1c5a54176..6752314c57 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/quests/325_GrimCollector/30434-09.htm +++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00325_GrimCollector/30434-09.html @@ -1,6 +1,6 @@ -<html><body>Samed:<br> -As I promised, I will compensate you according to the number of remains. I have filled this pouch full of coins so keep it safe.<br> -Looking at your pocket, I see you have many small corpse pieces in addition to complete skeletons. Give them to me before the smell of decay fills the village!<br> -<a action="bypass -h Quest 325_GrimCollector 30434-07.htm">Calculate corpse pieces</a><br> -<a action="bypass -h Quest 325_GrimCollector 30434-06.htm">Say you will quit</a> +<html><body>Samed:<br> +As I promised, I will compensate you according to the number of remains. I have filled this pouch full of coins so keep it safe.<br> +Looking at your pocket, I see you have many small corpse pieces in addition to Complete Skeletons. Give them to me before the smell of decay fills the village!<br> +<a action="bypass -h Quest Q00325_GrimCollector 30434-07.html">Calculate corpse pieces</a><br> +<a action="bypass -h Quest Q00325_GrimCollector 30434-06.html">Say you will quit</a> </body></html> \ No newline at end of file diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00325_GrimCollector/Q00325_GrimCollector.java b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00325_GrimCollector/Q00325_GrimCollector.java new file mode 100644 index 0000000000..dedd4405c8 --- /dev/null +++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00325_GrimCollector/Q00325_GrimCollector.java @@ -0,0 +1,288 @@ +/* + * 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.Q00325_GrimCollector; + +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import com.l2jserver.gameserver.model.actor.L2Npc; +import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; +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.util.Util; + +/** + * Grim Collector (325) + * @author ivantotov + */ +public final class Q00325_GrimCollector extends Quest +{ + // NPCs + private static final int GUARD_CURTIZ = 30336; + private static final int VARSAK = 30342; + private static final int SAMED = 30434; + // Items + private static final int ANATOMY_DIAGRAM = 1349; + private static final int ZOMBIE_HEAD = 1350; + private static final int ZOMBIE_HEART = 1351; + private static final int ZOMBIE_LIVER = 1352; + private static final int SKULL = 1353; + private static final int RIB_BONE = 1354; + private static final int SPINE = 1355; + private static final int ARM_BONE = 1356; + private static final int THIGH_BONE = 1357; + private static final int COMPLETE_SKELETON = 1358; + // Misc + private static final int MIN_LEVEL = 15; + // Monsters + private static final Map<Integer, List<ItemHolder>> MONSTER_DROPS = new HashMap<>(); + static + { + MONSTER_DROPS.put(20026, Arrays.asList(new ItemHolder(ZOMBIE_HEAD, 30), new ItemHolder(ZOMBIE_HEART, 50), new ItemHolder(ZOMBIE_LIVER, 75))); + MONSTER_DROPS.put(20029, Arrays.asList(new ItemHolder(ZOMBIE_HEAD, 30), new ItemHolder(ZOMBIE_HEART, 52), new ItemHolder(ZOMBIE_LIVER, 75))); + MONSTER_DROPS.put(20035, Arrays.asList(new ItemHolder(SKULL, 5), new ItemHolder(RIB_BONE, 15), new ItemHolder(SPINE, 29), new ItemHolder(THIGH_BONE, 79))); + MONSTER_DROPS.put(20042, Arrays.asList(new ItemHolder(SKULL, 6), new ItemHolder(RIB_BONE, 19), new ItemHolder(ARM_BONE, 69), new ItemHolder(THIGH_BONE, 86))); + MONSTER_DROPS.put(20045, Arrays.asList(new ItemHolder(SKULL, 9), new ItemHolder(SPINE, 59), new ItemHolder(ARM_BONE, 77), new ItemHolder(THIGH_BONE, 97))); + MONSTER_DROPS.put(20051, Arrays.asList(new ItemHolder(SKULL, 9), new ItemHolder(RIB_BONE, 59), new ItemHolder(SPINE, 79), new ItemHolder(ARM_BONE, 100))); + MONSTER_DROPS.put(20457, Arrays.asList(new ItemHolder(ZOMBIE_HEAD, 40), new ItemHolder(ZOMBIE_HEART, 60), new ItemHolder(ZOMBIE_LIVER, 80))); + MONSTER_DROPS.put(20458, Arrays.asList(new ItemHolder(ZOMBIE_HEAD, 40), new ItemHolder(ZOMBIE_HEART, 70), new ItemHolder(ZOMBIE_LIVER, 100))); + MONSTER_DROPS.put(20514, Arrays.asList(new ItemHolder(SKULL, 6), new ItemHolder(RIB_BONE, 21), new ItemHolder(SPINE, 30), new ItemHolder(ARM_BONE, 31), new ItemHolder(THIGH_BONE, 64))); + MONSTER_DROPS.put(20515, Arrays.asList(new ItemHolder(SKULL, 5), new ItemHolder(RIB_BONE, 20), new ItemHolder(SPINE, 31), new ItemHolder(ARM_BONE, 33), new ItemHolder(THIGH_BONE, 69))); + } + + private Q00325_GrimCollector(int questId, String name, String descr) + { + super(questId, name, descr); + addStartNpc(GUARD_CURTIZ); + addTalkId(GUARD_CURTIZ, VARSAK, SAMED); + addKillId(MONSTER_DROPS.keySet()); + registerQuestItems(ANATOMY_DIAGRAM, ZOMBIE_HEAD, ZOMBIE_HEART, ZOMBIE_LIVER, SKULL, RIB_BONE, SPINE, ARM_BONE, THIGH_BONE, COMPLETE_SKELETON); + } + + @Override + public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) + { + final QuestState st = player.getQuestState(getName()); + if (st == null) + { + return null; + } + String htmltext = null; + switch (event) + { + case "30336-03.htm": + { + if (st.isCreated()) + { + st.startQuest(); + htmltext = event; + } + break; + } + case "assembleSkeleton": + { + if (!hasQuestItems(player, SPINE, ARM_BONE, SKULL, RIB_BONE, THIGH_BONE)) + { + htmltext = "30342-02.html"; + } + else + { + takeItems(player, 1, SPINE, ARM_BONE, SKULL, RIB_BONE, THIGH_BONE); + + if (getRandom(5) < 4) + { + giveItems(player, COMPLETE_SKELETON, 1); + htmltext = "30342-03.html"; + } + else + { + htmltext = "30342-04.html"; + } + } + break; + } + case "30434-02.htm": + { + htmltext = event; + break; + } + case "30434-03.html": + { + st.giveItems(ANATOMY_DIAGRAM, 1); + htmltext = event; + break; + } + case "30434-06.html": + case "30434-07.html": + { + if (hasQuestItems(player, getRegisteredItemIds())) + { + final long head = st.getQuestItemsCount(ZOMBIE_HEAD); + final long heart = st.getQuestItemsCount(ZOMBIE_HEART); + final long liver = st.getQuestItemsCount(ZOMBIE_LIVER); + final long skull = st.getQuestItemsCount(SKULL); + final long rib = st.getQuestItemsCount(RIB_BONE); + final long spine = st.getQuestItemsCount(SPINE); + final long arm = st.getQuestItemsCount(ARM_BONE); + final long thigh = st.getQuestItemsCount(THIGH_BONE); + final long complete = st.getQuestItemsCount(COMPLETE_SKELETON); + final long totalCount = (head + heart + liver + skull + rib + spine + arm + thigh + complete); + if (totalCount > 0) + { + long sum = ((head * 30) + (heart * 20) + (liver * 20) + (skull * 100) + (rib * 40) + (spine * 14) + (arm * 14) + (thigh * 14)); + + if (totalCount >= 10) + { + sum += 1629; + } + + if (complete > 0) + { + sum += 543 + (complete * 341); + } + + st.giveAdena(sum, true); + } + } + + if (event.equals("30434-06.html")) + { + st.exitQuest(true, true); + } + + htmltext = event; + break; + } + case "30434-09.html": + { + final long complete = st.getQuestItemsCount(COMPLETE_SKELETON); + if (complete > 0) + { + st.giveAdena(((complete * 341) + 543), true); + st.takeItems(COMPLETE_SKELETON, -1); + } + break; + } + } + return htmltext; + } + + @Override + public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon) + { + final QuestState qs = killer.getQuestState(getName()); + + if ((qs == null) || !qs.isStarted()) + { + return super.onKill(npc, killer, isSummon); + } + + if (!Util.checkIfInRange(1500, killer, npc, true) || !qs.hasQuestItems(ANATOMY_DIAGRAM)) + { + return super.onKill(npc, killer, isSummon); + } + + final int rnd = getRandom(100); + for (ItemHolder drop : MONSTER_DROPS.get(npc.getId())) + { + if (rnd < drop.getCount()) + { + qs.giveItemRandomly(npc, drop.getId(), 1, 0, 1.0, true); + break; + } + } + return super.onKill(npc, killer, isSummon); + } + + @Override + public String onTalk(L2Npc npc, L2PcInstance player) + { + String htmltext = getNoQuestMsg(player); + final QuestState st = player.getQuestState(getName()); + if (st == null) + { + return htmltext; + } + + switch (npc.getId()) + { + case GUARD_CURTIZ: + { + switch (st.getState()) + { + case State.CREATED: + { + htmltext = (player.getLevel() >= MIN_LEVEL) ? "30336-02.htm" : "30336-01.htm"; + break; + } + case State.STARTED: + { + htmltext = st.hasQuestItems(ANATOMY_DIAGRAM) ? "30336-05.html" : "30336-04.html"; + break; + } + } + break; + } + case VARSAK: + { + if (st.isStarted() && st.hasQuestItems(ANATOMY_DIAGRAM)) + { + htmltext = "30342-01.html"; + } + break; + } + case SAMED: + { + if (st.isStarted()) + { + if (!st.hasQuestItems(ANATOMY_DIAGRAM)) + { + htmltext = "30434-01.html"; + } + else + { + if (!hasAtLeastOneQuestItem(player, getRegisteredItemIds())) + { + htmltext = "30434-04.html"; + } + else if (!st.hasQuestItems(COMPLETE_SKELETON)) + { + htmltext = "30434-05.html"; + } + else + { + htmltext = "30434-08.html"; + } + } + } + break; + } + } + return htmltext; + } + + public static void main(String[] args) + { + new Q00325_GrimCollector(325, Q00325_GrimCollector.class.getSimpleName(), "Grim Collector"); + } +} \ No newline at end of file diff --git a/L2J_DataPack_BETA/dist/sql/game/updates/20130922update.sql b/L2J_DataPack_BETA/dist/sql/game/updates/20130922update.sql new file mode 100644 index 0000000000..e999e4ed85 --- /dev/null +++ b/L2J_DataPack_BETA/dist/sql/game/updates/20130922update.sql @@ -0,0 +1 @@ +UPDATE character_quests SET name='Q00325_GrimCollector' WHERE name='325_GrimCollector'; \ No newline at end of file -- GitLab