diff --git a/L2J_DataPack_BETA/dist/game/data/scripts.cfg b/L2J_DataPack_BETA/dist/game/data/scripts.cfg index a51f92867dd0ccafef7ef025af4e22187b8b9358..5095922d241755789587c8e029370893e2dd381e 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 c12715da52ca498ec71b8df0b14ac589c9514c72..0000000000000000000000000000000000000000 --- 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 dd6124dab29494c0608bc00cb3293046bb3a7144..0000000000000000000000000000000000000000 --- 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 8d1b424d5442bc24959cb448a6e1098be704cbae..0000000000000000000000000000000000000000 --- 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 be7306d8752631ea9b8a0dabf653a2b05069916b..0000000000000000000000000000000000000000 --- 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 8b14c07475b8ab645060ec3a046e2d5ee31c2c76..0000000000000000000000000000000000000000 --- 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 9316e88eb882dbc62be56ae4466bb6f092d397dc..0000000000000000000000000000000000000000 --- 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 71094da34ae6fb98c5e541addbd7dc1f46ff27c5..0000000000000000000000000000000000000000 --- 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 092c4f8b41b0f79c33208191905aaf3448e2520d..4531dcbdfd37b676232033d5822d75bf16324f33 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 0000000000000000000000000000000000000000..40322cdf18a289ca3076ae6db2b2374b15a5fa03 --- /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 905bace8a947723ebeddc657f522d319232c36d5..51aeaa40589d2e787a67d70e4d8bec4d5dbaa17e 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 c7fc9e45d2a8a5c007a5745a3ced133faa5f75ca..28b8c7182c5eade1b0bbd4aedaf9260f6c19fbc9 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 0000000000000000000000000000000000000000..81873536f615f727b4df2db6fe2702aee4ae0140 --- /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 bde954480b9174a96ce0737f62a831d8a93c2b2a..f1dc1e9ed7d44990c0531fc82a7127bf798e3c21 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 445c331d93a0d536037251848569f3e80eb1db79..a2bb68caddf52ae20891b541e4023c0a6cee8afc 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 a08ed76a58577d4ba5391ea3a40ac30d1b2f6ffb..3eaaa00b7e0653170b93df85103d94e4d6c33223 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 3997bf80ca77c247f2385a5506fc2edfcb2cef55..7b54130598c10c3e1d6400344bdc1eb23d402c0f 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 0000000000000000000000000000000000000000..8f74f79dbb1aa259e41f4f914a69ea7cca4edbce --- /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 cbe10e1914777c1206bb64f94ff73930da0d7484..6b05f5bdced104c47b87deeff48c0ceaef806403 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 0000000000000000000000000000000000000000..7d05bc59cd9c00bd9c2d28398ecde3a34137d9bd --- /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 0000000000000000000000000000000000000000..fe5d444448e6b4acc466a7404edd38e3dd64f67d --- /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 506f40622f59850a689d930036ef3141c46620aa..d50cbb0cb0e41a73946c9f5d9fa019948e4975e1 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 ada7be608f4a134db4921562ae3bb543f9da7558..f3d9d953cd0836e19b12466a1ed33f907f998ce3 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 0cb29aa563c7b5da7dcfd202b3f401376802c3f9..f81fcbd6f0b95ea7144ae94799c90cba05ae00ac 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 0000000000000000000000000000000000000000..83c8c35c403ac989c4a9b15f7748aa61a879fee5 --- /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 f1c5a54176ee78075bd8eebe106b7b7b39d7f8aa..6752314c5757c1bb6a821c10b826ac39016bd018 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 0000000000000000000000000000000000000000..dedd4405c853d022fff032ef25c2c94d5d663a52 --- /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 0000000000000000000000000000000000000000..e999e4ed8550b1a3abbba13263ffc21a24b3a6d9 --- /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