Эх сурвалжийг харах

Quest: Nikolas Cooperation (185)
Reviewed by: @Zoey76

ivantotov 10 жил өмнө
parent
commit
b6fda66f4e
43 өөрчлөгдсөн 343 нэмэгдсэн , 292 устгасан
  1. 0 1
      L2J_DataPack/dist/game/data/scripts.cfg
  2. 0 4
      L2J_DataPack/dist/game/data/scripts/quests/185_Nikolas_Cooperation_Consideration/30621-01.htm
  3. 0 4
      L2J_DataPack/dist/game/data/scripts/quests/185_Nikolas_Cooperation_Consideration/30621-02.htm
  4. 0 6
      L2J_DataPack/dist/game/data/scripts/quests/185_Nikolas_Cooperation_Consideration/30621-03.htm
  5. 0 4
      L2J_DataPack/dist/game/data/scripts/quests/185_Nikolas_Cooperation_Consideration/30673-01.htm
  6. 0 4
      L2J_DataPack/dist/game/data/scripts/quests/185_Nikolas_Cooperation_Consideration/30673-07.htm
  7. 0 4
      L2J_DataPack/dist/game/data/scripts/quests/185_Nikolas_Cooperation_Consideration/32366-03.htm
  8. 0 4
      L2J_DataPack/dist/game/data/scripts/quests/185_Nikolas_Cooperation_Consideration/32367-01.htm
  9. 0 17
      L2J_DataPack/dist/game/data/scripts/quests/185_Nikolas_Cooperation_Consideration/32367-02.htm
  10. 0 16
      L2J_DataPack/dist/game/data/scripts/quests/185_Nikolas_Cooperation_Consideration/32367-03.htm
  11. 0 15
      L2J_DataPack/dist/game/data/scripts/quests/185_Nikolas_Cooperation_Consideration/32367-04.htm
  12. 0 16
      L2J_DataPack/dist/game/data/scripts/quests/185_Nikolas_Cooperation_Consideration/32367-05.htm
  13. 0 8
      L2J_DataPack/dist/game/data/scripts/quests/185_Nikolas_Cooperation_Consideration/32367-06.htm
  14. 0 7
      L2J_DataPack/dist/game/data/scripts/quests/185_Nikolas_Cooperation_Consideration/32367-07.htm
  15. 0 171
      L2J_DataPack/dist/game/data/scripts/quests/185_Nikolas_Cooperation_Consideration/__init__.py
  16. 4 0
      L2J_DataPack/dist/game/data/scripts/quests/Q00185_NikolasCooperation/30621-01.htm
  17. 4 0
      L2J_DataPack/dist/game/data/scripts/quests/Q00185_NikolasCooperation/30621-02.htm
  18. 4 0
      L2J_DataPack/dist/game/data/scripts/quests/Q00185_NikolasCooperation/30621-03.htm
  19. 2 2
      L2J_DataPack/dist/game/data/scripts/quests/Q00185_NikolasCooperation/30621-03a.htm
  20. 4 0
      L2J_DataPack/dist/game/data/scripts/quests/Q00185_NikolasCooperation/30621-04.htm
  21. 6 0
      L2J_DataPack/dist/game/data/scripts/quests/Q00185_NikolasCooperation/30621-05.htm
  22. 2 1
      L2J_DataPack/dist/game/data/scripts/quests/Q00185_NikolasCooperation/30621-06.htm
  23. 0 0
      L2J_DataPack/dist/game/data/scripts/quests/Q00185_NikolasCooperation/30621-07.html
  24. 4 0
      L2J_DataPack/dist/game/data/scripts/quests/Q00185_NikolasCooperation/30673-01.html
  25. 3 2
      L2J_DataPack/dist/game/data/scripts/quests/Q00185_NikolasCooperation/30673-02.html
  26. 0 0
      L2J_DataPack/dist/game/data/scripts/quests/Q00185_NikolasCooperation/30673-03.html
  27. 1 1
      L2J_DataPack/dist/game/data/scripts/quests/Q00185_NikolasCooperation/30673-04.html
  28. 0 0
      L2J_DataPack/dist/game/data/scripts/quests/Q00185_NikolasCooperation/30673-05.html
  29. 1 1
      L2J_DataPack/dist/game/data/scripts/quests/Q00185_NikolasCooperation/30673-06.html
  30. 4 0
      L2J_DataPack/dist/game/data/scripts/quests/Q00185_NikolasCooperation/30673-07.html
  31. 1 1
      L2J_DataPack/dist/game/data/scripts/quests/Q00185_NikolasCooperation/30673-08.html
  32. 0 0
      L2J_DataPack/dist/game/data/scripts/quests/Q00185_NikolasCooperation/30673-09.html
  33. 0 0
      L2J_DataPack/dist/game/data/scripts/quests/Q00185_NikolasCooperation/30673-10.html
  34. 1 1
      L2J_DataPack/dist/game/data/scripts/quests/Q00185_NikolasCooperation/32366-01.html
  35. 0 0
      L2J_DataPack/dist/game/data/scripts/quests/Q00185_NikolasCooperation/32366-03.html
  36. 3 0
      L2J_DataPack/dist/game/data/scripts/quests/Q00185_NikolasCooperation/32366-04.html
  37. 4 0
      L2J_DataPack/dist/game/data/scripts/quests/Q00185_NikolasCooperation/32366-05.html
  38. 0 0
      L2J_DataPack/dist/game/data/scripts/quests/Q00185_NikolasCooperation/32366-06.html
  39. 1 1
      L2J_DataPack/dist/game/data/scripts/quests/Q00185_NikolasCooperation/32366-07.html
  40. 0 0
      L2J_DataPack/dist/game/data/scripts/quests/Q00185_NikolasCooperation/32366-08.html
  41. 290 0
      L2J_DataPack/dist/game/data/scripts/quests/Q00185_NikolasCooperation/Q00185_NikolasCooperation.java
  42. 2 0
      L2J_DataPack/dist/game/data/scripts/quests/QuestMasterHandler.java
  43. 2 1
      L2J_DataPack/dist/sql/game/updates/20141207update.sql

+ 0 - 1
L2J_DataPack/dist/game/data/scripts.cfg

@@ -215,7 +215,6 @@ quests/118_ToLeadAndBeLed/__init__.py
 quests/123_TheLeaderAndTheFollower/__init__.py
 quests/171_ActsOfEvil/__init__.py
 quests/178_IconicTrinity/__init__.py
-quests/185_Nikolas_Cooperation_Consideration/__init__.py
 quests/227_TestOfReformer/__init__.py
 quests/230_TestOfSummoner/__init__.py
 quests/234_FatesWhisper/__init__.py

+ 0 - 4
L2J_DataPack/dist/game/data/scripts/quests/185_Nikolas_Cooperation_Consideration/30621-01.htm

@@ -1,4 +0,0 @@
-<html><body>Maestro Nikola:<br>
-I have no idea what you are talking about. I have nothing to say on the matter. <br>
-<a action="bypass -h Quest 185_Nikolas_Cooperation_Consideration 30621-02.htm">"Wouldn't you like to work together with Lorain in the future?"</a>
-</body></html>

+ 0 - 4
L2J_DataPack/dist/game/data/scripts/quests/185_Nikolas_Cooperation_Consideration/30621-02.htm

@@ -1,4 +0,0 @@
-<html><body>Maestro Nikola:<br>
-That was not my fault. I do not know what you heard, but I have nothing to say. I did nothing wrong! <br>
-<a action="bypass -h Quest 185_Nikolas_Cooperation_Consideration 30621-03.htm">"Are you going to ignore her?"</a>
-</body></html>

+ 0 - 6
L2J_DataPack/dist/game/data/scripts/quests/185_Nikolas_Cooperation_Consideration/30621-03.htm

@@ -1,6 +0,0 @@
-<html><body>Maestro Nikola:<br>
-How can I deal civilly with someone who is so unreasonable? <br>
-You obviously know nothing about this. Why don't you just go away and leave me alone!<br>
-I have a great deal of work to do.<br>
-<a action="bypass -h Quest 185_Nikolas_Cooperation_Consideration 30621-04.htm">"Why not work with her? I can help you contact her."</a>
-</body></html>

+ 0 - 4
L2J_DataPack/dist/game/data/scripts/quests/185_Nikolas_Cooperation_Consideration/30673-01.htm

@@ -1,4 +0,0 @@
-<html><body>Researcher Lorain:<br>
-Well! Where is the place? Did that coward tell you? <br>
-<a action="bypass -h Quest 185_Nikolas_Cooperation_Consideration 30673-02.htm">"He wanted to repair his relationship with you -- he told me that what happened was simply a misunderstanding. As a sign of good faith, he lent me this map to show you."</a>
-</body></html>

+ 0 - 4
L2J_DataPack/dist/game/data/scripts/quests/185_Nikolas_Cooperation_Consideration/30673-07.htm

@@ -1,4 +0,0 @@
-<html><body>Researcher Lorain:<br>
-Were you in any danger?<br>
-<a action="bypass -h Quest 185_Nikolas_Cooperation_Consideration 30673-08.htm">Tell her what happened.</a>
-</body></html>

+ 0 - 4
L2J_DataPack/dist/game/data/scripts/quests/185_Nikolas_Cooperation_Consideration/32366-03.htm

@@ -1,4 +0,0 @@
-<html><body>Destroyed Device:<br>
-You see something shiny in the pile of broken pieces. <br>
-<a action="bypass -h Quest 185_Nikolas_Cooperation_Consideration 32366-06.htm">Examine it.</a>
-</body></html>

+ 0 - 4
L2J_DataPack/dist/game/data/scripts/quests/185_Nikolas_Cooperation_Consideration/32367-01.htm

@@ -1,4 +0,0 @@
-<html><body>Alarm System:<br>
-As the alarm rings, a window for the passcode pops up. On the screen you see the number 120, which begins counting down. It looks like the alarm system will be activated in about 2 minutes unless the passcode is successfully entered.<br>
-<a action="bypass -h Quest 185_Nikolas_Cooperation_Consideration 32367-02.htm">Enter the passcode.</a>
-</body></html>

+ 0 - 17
L2J_DataPack/dist/game/data/scripts/quests/185_Nikolas_Cooperation_Consideration/32367-02.htm

@@ -1,17 +0,0 @@
-<html><body>Alarm System:<br>
-########################<br>
-Enter the passcode for communication.<br>
-Passcode :| <br>
-########################<br>
-The first number is...
-<table border="0" border color="white" width="65" height="65"><tr>
-<td width="20" height="20" align="center"><a action="bypass -h Quest 185_Nikolas_Cooperation_Consideration 32367-03.htm">1</a></td>
-<td width="20" height="20" align="center"><a action="bypass -h Quest 185_Nikolas_Cooperation_Consideration 32367-03.htm">2</a></td>
-<td width="20" height="20" align="center"><a action="bypass -h Quest 185_Nikolas_Cooperation_Consideration correct_32367-03.htm">3</a></td></tr><tr>
-<td width="20" height="20" align="center"><a action="bypass -h Quest 185_Nikolas_Cooperation_Consideration 32367-03.htm">4</a></td>
-<td width="20" height="20" align="center"><a action="bypass -h Quest 185_Nikolas_Cooperation_Consideration 32367-03.htm">5</a></td>
-<td width="20" height="20" align="center"><a action="bypass -h Quest 185_Nikolas_Cooperation_Consideration 32367-03.htm">6</a></td></tr><tr>
-<td width="20" height="20" align="center"><a action="bypass -h Quest 185_Nikolas_Cooperation_Consideration 32367-03.htm">7</a></td>
-<td width="20" height="20" align="center"><a action="bypass -h Quest 185_Nikolas_Cooperation_Consideration 32367-03.htm">8</a></td>
-<td width="20" height="20" align="center"><a action="bypass -h Quest 185_Nikolas_Cooperation_Consideration 32367-03.htm">9</a></td></tr></table>
-</body></html>

+ 0 - 16
L2J_DataPack/dist/game/data/scripts/quests/185_Nikolas_Cooperation_Consideration/32367-03.htm

@@ -1,16 +0,0 @@
-<html><body>Alarm System:<br>
-########################<br>
-Enter the passcode for communication.<br>
-Passcode : *| <br>########################<br>
-The second number is...
-<table border="0" border color="white" width="65" height="65"><tr>
-<td width="20" height="20" align="center"><a action="bypass -h Quest 185_Nikolas_Cooperation_Consideration correct_32367-04.htm">1</a></td>
-<td width="20" height="20" align="center"><a action="bypass -h Quest 185_Nikolas_Cooperation_Consideration 32367-04.htm">2</a></td>
-<td width="20" height="20" align="center"><a action="bypass -h Quest 185_Nikolas_Cooperation_Consideration 32367-04.htm">3</a></td></tr><tr>
-<td width="20" height="20" align="center"><a action="bypass -h Quest 185_Nikolas_Cooperation_Consideration 32367-04.htm">4</a></td>
-<td width="20" height="20" align="center"><a action="bypass -h Quest 185_Nikolas_Cooperation_Consideration 32367-04.htm">5</a></td>
-<td width="20" height="20" align="center"><a action="bypass -h Quest 185_Nikolas_Cooperation_Consideration 32367-04.htm">6</a></td></tr><tr>
-<td width="20" height="20" align="center"><a action="bypass -h Quest 185_Nikolas_Cooperation_Consideration 32367-04.htm">7</a></td>
-<td width="20" height="20" align="center"><a action="bypass -h Quest 185_Nikolas_Cooperation_Consideration 32367-04.htm">8</a></td>
-<td width="20" height="20" align="center"><a action="bypass -h Quest 185_Nikolas_Cooperation_Consideration 32367-04.htm">9</a></td></tr></table>
-</body></html>

+ 0 - 15
L2J_DataPack/dist/game/data/scripts/quests/185_Nikolas_Cooperation_Consideration/32367-04.htm

@@ -1,15 +0,0 @@
-<html><body>Alarm System:<br>
-########################<br>
-Enter the passcode for communication.<br>
-Passcode : **| <br>########################<br>
-The third number is...  <table border="0" border color="white" width="65" height="65"><tr>
-<td width="20" height="20" align="center"><a action="bypass -h Quest 185_Nikolas_Cooperation_Consideration 32367-05.htm">1</a></td>
-<td width="20" height="20" align="center"><a action="bypass -h Quest 185_Nikolas_Cooperation_Consideration 32367-05.htm">2</a></td>
-<td width="20" height="20" align="center"><a action="bypass -h Quest 185_Nikolas_Cooperation_Consideration 32367-05.htm">3</a></td></tr><tr>
-<td width="20" height="20" align="center"><a action="bypass -h Quest 185_Nikolas_Cooperation_Consideration 32367-05.htm">4</a></td>
-<td width="20" height="20" align="center"><a action="bypass -h Quest 185_Nikolas_Cooperation_Consideration 32367-05.htm">5</a></td>
-<td width="20" height="20" align="center"><a action="bypass -h Quest 185_Nikolas_Cooperation_Consideration 32367-05.htm">6</a></td></tr><tr>
-<td width="20" height="20" align="center"><a action="bypass -h Quest 185_Nikolas_Cooperation_Consideration 32367-05.htm">7</a></td>
-<td width="20" height="20" align="center"><a action="bypass -h Quest 185_Nikolas_Cooperation_Consideration 32367-05.htm">8</a></td>
-<td width="20" height="20" align="center"><a action="bypass -h Quest 185_Nikolas_Cooperation_Consideration correct_32367-05.htm">9</a></td></tr></table>
-</body></html>

+ 0 - 16
L2J_DataPack/dist/game/data/scripts/quests/185_Nikolas_Cooperation_Consideration/32367-05.htm

@@ -1,16 +0,0 @@
-<html><body>Alarm System:<br>
-########################<br>
-Enter the passcode for communication.<br>
-Passcode : ***| <br>########################<br>
-The fourth number is...
-<table border="0" border color="white" width="65" height="65"><tr>
-<td width="20" height="20" align="center"><a action="bypass -h Quest 185_Nikolas_Cooperation_Consideration 32367-06.htm">1</a></td>
-<td width="20" height="20" align="center"><a action="bypass -h Quest 185_Nikolas_Cooperation_Consideration 32367-06.htm">2</a></td>
-<td width="20" height="20" align="center"><a action="bypass -h Quest 185_Nikolas_Cooperation_Consideration 32367-06.htm">3</a></td></tr><tr>
-<td width="20" height="20" align="center"><a action="bypass -h Quest 185_Nikolas_Cooperation_Consideration 32367-06.htm">4</a></td>
-<td width="20" height="20" align="center"><a action="bypass -h Quest 185_Nikolas_Cooperation_Consideration 32367-06.htm">5</a></td>
-<td width="20" height="20" align="center"><a action="bypass -h Quest 185_Nikolas_Cooperation_Consideration correct_32367-07.htm">6</a></td></tr><tr>
-<td width="20" height="20" align="center"><a action="bypass -h Quest 185_Nikolas_Cooperation_Consideration 32367-06.htm">7</a></td>
-<td width="20" height="20" align="center"><a action="bypass -h Quest 185_Nikolas_Cooperation_Consideration 32367-06.htm">8</a></td>
-<td width="20" height="20" align="center"><a action="bypass -h Quest 185_Nikolas_Cooperation_Consideration 32367-06.htm">9</a></td></tr></table>
-</body></html>

+ 0 - 8
L2J_DataPack/dist/game/data/scripts/quests/185_Nikolas_Cooperation_Consideration/32367-06.htm

@@ -1,8 +0,0 @@
-<html><body>Alarm System:<br>
-########################<br>
-Enter passcode for communication.<br>
-Passcode : **** <br>
-########################<br>
-Validation has failed.<br><br>
-<a action="bypass -h Quest 185_Nikolas_Cooperation_Consideration 32367-02.htm">Re-enter passcode.</a>
-</body></html>

+ 0 - 7
L2J_DataPack/dist/game/data/scripts/quests/185_Nikolas_Cooperation_Consideration/32367-07.htm

@@ -1,7 +0,0 @@
-<html><body>Alarm System:<br>
-########################<br>
-Enter the passcode for communication.<br>
-Passcode : **** <br>
-########################<br>
-Validation completed. Alarm has been disabled.
-</body></html>

+ 0 - 171
L2J_DataPack/dist/game/data/scripts/quests/185_Nikolas_Cooperation_Consideration/__init__.py

@@ -1,171 +0,0 @@
-# Made by Kerberos v1.0 on 2009/21/02
-# this script is part of the Official L2J Datapack Project.
-# Visit http://www.l2jdp.com/forum for more details.
-
-import sys
-import time
-
-from com.l2jserver.gameserver.instancemanager import QuestManager
-from com.l2jserver.gameserver.model.quest import State
-from com.l2jserver.gameserver.model.quest import QuestState
-from com.l2jserver.gameserver.model.quest import Quest as JQuest
-from com.l2jserver.gameserver.network.serverpackets	import NpcSay
-
-qn = "185_Nikolas_Cooperation_Consideration"
-
-#NPCs
-Nikola = 30621
-Lorain = 30673
-Device = 32366
-Alarm = 32367
-
-#Items
-Certificate = 10362
-Metal = 10363
-BrokenMetal = 10364
-NicolasMap = 10365
-
-class Quest (JQuest) :
-    def __init__(self,id,name,descr):
-        JQuest.__init__(self,id,name,descr)
-        self.questItemIds = [NicolasMap,BrokenMetal,Metal]
-
-    def onAdvEvent (self,event,npc, player) :
-        st = self.getQuestState(player, False)
-        if not st: return
-        htmltext = event
-        if event == "30621-01.htm":
-            if player.getLevel() < 40 :
-                htmltext = "30621-00.htm"
-        elif event == "30621-04.htm" :
-            st.playSound("ItemSound.quest_accept")
-            st.set("cond","1")
-            st.giveItems(NicolasMap,1)
-        elif event == "30673-03.htm" :
-            st.playSound("ItemSound.quest_middle")
-            st.set("cond","2")
-            st.takeItems(NicolasMap,-1)
-        elif event == "30673-05.htm" :
-            st.playSound("ItemSound.quest_middle")
-            st.set("cond","3")
-        elif event == "30673-09.htm" :
-            if st.getQuestItemsCount(BrokenMetal) :
-                htmltext = "30673-10.htm"
-            elif st.getQuestItemsCount(Metal) :
-                st.giveItems(Certificate,1)
-            if player.getLevel() < 50 :
-               st.addExpAndSp(203717,14032)
-            st.giveItems(57,72527)
-            st.exitQuest(False)
-            st.playSound("ItemSound.quest_finish")
-        elif event == "32366-02.htm" :
-            alarm = st.addSpawn(32367,16491,113563,-9064)
-            st.set("step","1")
-            st.playSound("ItemSound3.sys_siren")
-            self.startQuestTimer("1",60000, alarm, player)
-            time.sleep(1)
-            player.sendPacket(NpcSay(alarm.getObjectId(), 0, alarm.getId(), "Intruder Alert! The alarm will self-destruct in 2 minutes."))
-        elif event == "32366-05.htm" :
-            st.unset("step")
-            st.playSound("ItemSound.quest_middle")
-            st.set("cond","5")
-            st.giveItems(BrokenMetal,1)
-        elif event == "32366-06.htm" :
-            st.unset("step")
-            st.playSound("ItemSound.quest_middle")
-            st.set("cond","4")
-            st.giveItems(Metal,1)
-        elif event == "32367-02.htm" :
-            st.set("pass","0")
-        elif event[0:7] == "correct" :
-            st.set("pass",str(st.getInt("pass")+1))
-            htmltext = event[8:]
-            if htmltext == "32367-07.htm":
-                if st.getInt("pass") == 4 :
-                    st.set("step","3")
-                    self.cancelQuestTimer("1",npc,player)
-                    self.cancelQuestTimer("2",npc,player)
-                    self.cancelQuestTimer("3",npc,player)
-                    self.cancelQuestTimer("4",npc,player)
-                    st.unset("pass")
-                    npc.deleteMe()
-                else :
-                    htmltext == "32367-06.htm"
-        elif event == "1" :
-            player.sendPacket(NpcSay(npc.getObjectId(), 0, npc.getId(), "The alarm will self-destruct in 60 seconds. Enter passcode to override."))
-            self.startQuestTimer("2",30000, npc, player)
-            return
-        elif event == "2" :
-            player.sendPacket(NpcSay(npc.getObjectId(), 0, npc.getId(), "The alarm will self-destruct in 30 seconds. Enter passcode to override."))
-            self.startQuestTimer("3",20000, npc, player)
-            return
-        elif event == "3" :
-            player.sendPacket(NpcSay(npc.getObjectId(), 0, npc.getId(), "The alarm will self-destruct in 10 seconds. Enter passcode to override."))
-            self.startQuestTimer("4",10000, npc, player)
-            return
-        elif event == "4" :
-            player.sendPacket(NpcSay(npc.getObjectId(), 0, npc.getId(), "Recorder crushed."))
-            npc.deleteMe()
-            st.set("step","2")
-            return
-        return htmltext
-
-    def onTalk (self,npc,player):
-        htmltext = Quest.getNoQuestMsg(player)
-        st = self.getQuestState(player, True)
-        if not st : return htmltext
-        npcId = npc.getId()
-        id = st.getState()
-        cond = st.getInt("cond")
-        if id == State.COMPLETED:
-            htmltext = Quest.getAlreadyCompletedMsg(player)
-        elif id == State.STARTED:
-            if npcId == Nikola :
-                if not cond :
-                    if player.getLevel() < 40 :
-                        htmltext = "30621-00.htm"
-                    else :
-                        htmltext = "30621-01.htm"
-                elif cond == 1 :
-                    htmltext = "30621-05.htm"
-            elif npcId == Lorain:
-                if cond == 1 :
-                    htmltext = "30673-01.htm"
-                elif cond == 2 :
-                    htmltext = "30673-04.htm"
-                elif cond == 3 :
-                    htmltext = "30673-06.htm"
-                elif cond in [4,5] :
-                    htmltext = "30673-07.htm"
-            elif npcId == Device:
-                step = st.getInt("step")
-                if cond == 3 :
-                    if not step:
-                        htmltext = "32366-01.htm"
-                    elif step == 1 :
-                        htmltext = "32366-02.htm"
-                    elif step == 2 :
-                        htmltext = "32366-04.htm"
-                    elif step == 3 :
-                        htmltext = "32366-03.htm"
-        return htmltext
-
-    def onFirstTalk (self,npc,player):
-       st = self.getQuestState(player, False)
-       q2 = QuestManager.getInstance().getQuest("184_Nikolas_Cooperation_Contract")
-       if st:
-           player.setLastQuestNpcObject(npc.getObjectId())
-           return "32367-01.htm"
-       elif q2:
-           player.setLastQuestNpcObject(npc.getObjectId())
-           q2.notifyEvent("32367-01.htm",npc,player)
-       return None
-
-QUEST       = Quest(185,qn,"Nikola's Cooperation - Consideration")
-
-QUEST.addTalkId(Nikola)
-QUEST.addTalkId(Lorain)
-QUEST.addTalkId(Device)
-QUEST.addTalkId(Alarm)
-QUEST.addFirstTalkId(Alarm)
-QUEST.addStartNpc(Alarm)

+ 4 - 0
L2J_DataPack/dist/game/data/scripts/quests/Q00185_NikolasCooperation/30621-01.htm

@@ -0,0 +1,4 @@
+<html><body>Maestro Nikola:<br>
+Why did you come to see me?<br>
+<a action="bypass -h Quest Q00185_NikolasCooperation 30621-03.htm">"I came here to tell you something."</a>
+</body></html>

+ 4 - 0
L2J_DataPack/dist/game/data/scripts/quests/Q00185_NikolasCooperation/30621-02.htm

@@ -0,0 +1,4 @@
+<html><body>Maestro Nikola:<br>
+Why did you come to see me? This place is far too dangerous for someone so inexperienced.<br>
+(Only characters level 40 and above are permitted to undertake this quest.)
+</body></html>

+ 4 - 0
L2J_DataPack/dist/game/data/scripts/quests/Q00185_NikolasCooperation/30621-03.htm

@@ -0,0 +1,4 @@
+<html><body>Maestro Nikola:<br>
+I have no idea what you are talking about. I have nothing to say on the matter.<br>
+<a action="bypass -h Quest Q00185_NikolasCooperation 30621-04.htm">"Wouldn't you like to work together with Lorain in the future?"</a>
+</body></html>

+ 2 - 2
L2J_DataPack/dist/game/data/scripts/quests/185_Nikolas_Cooperation_Consideration/30621-00.htm → L2J_DataPack/dist/game/data/scripts/quests/Q00185_NikolasCooperation/30621-03a.htm

@@ -1,4 +1,4 @@
 <html><body>Maestro Nikola:<br>
-I have no idea what you are talking about. I have nothing to say on the matter. <br>
-(Only characters level 40 and above are permitted to undertake this quest.) 
+Don't you think that it's too soon for you to join us?<br>
+(Only characters level 40 and above are permitted to undertake this quest.)
 </body></html>

+ 4 - 0
L2J_DataPack/dist/game/data/scripts/quests/Q00185_NikolasCooperation/30621-04.htm

@@ -0,0 +1,4 @@
+<html><body>Maestro Nikola:<br>
+That was not my fault. I do not know what you heard, but I have nothing to say. I did nothing wrong!<br>
+<a action="bypass -h Quest Q00185_NikolasCooperation 30621-05.htm">"Are you going to ignore her?"</a>
+</body></html>

+ 6 - 0
L2J_DataPack/dist/game/data/scripts/quests/Q00185_NikolasCooperation/30621-05.htm

@@ -0,0 +1,6 @@
+<html><body>Maestro Nikola:<br>
+How can I deal civilly with someone who is so unreasonable?<br>
+You obviously know nothing about this. Why don't you just go away and leave me alone!<br>
+I have a great deal of work to do.<br>
+<a action="bypass -h Quest Q00185_NikolasCooperation 30621-06.htm">"Why not work with her? I can help you contact her."</a>
+</body></html>

+ 2 - 1
L2J_DataPack/dist/game/data/scripts/quests/185_Nikolas_Cooperation_Consideration/30621-04.htm → L2J_DataPack/dist/game/data/scripts/quests/Q00185_NikolasCooperation/30621-06.htm

@@ -1,5 +1,6 @@
 <html><body>Maestro Nikola:<br>
 You don't give up, do you?<br>
 Very well. I will agree to help her in good faith. But you had best keep your promise as well! Here, take this map. It shows the last place that Lorain explored.<br>
-I hope to hear good news from you soon!
+I hope to hear good news from you soon!<br>
+Please note that Cruma Tower is not accessible after level 56.
 </body></html>

+ 0 - 0
L2J_DataPack/dist/game/data/scripts/quests/185_Nikolas_Cooperation_Consideration/30621-05.htm → L2J_DataPack/dist/game/data/scripts/quests/Q00185_NikolasCooperation/30621-07.html


+ 4 - 0
L2J_DataPack/dist/game/data/scripts/quests/Q00185_NikolasCooperation/30673-01.html

@@ -0,0 +1,4 @@
+<html><body>Researcher Lorain:<br>
+Well! Where is the place? Did that coward tell you?<br>
+<a action="bypass -h Quest Q00185_NikolasCooperation 30673-02.html">"He wanted to repair his relationship with you -- he told me that what happened was simply a misunderstanding. As a sign of good faith, he lent me this map to show you."</a>
+</body></html>

+ 3 - 2
L2J_DataPack/dist/game/data/scripts/quests/185_Nikolas_Cooperation_Consideration/30673-02.htm → L2J_DataPack/dist/game/data/scripts/quests/Q00185_NikolasCooperation/30673-02.html

@@ -1,7 +1,8 @@
 <html><body>Researcher Lorain:<br>
 What? Misunderstanding?<br>
-What is that old man talking about? That's absurd... <br>But he said he would help us, eh? It's certainly not like him to lend us his precious map.<br>
+What is that old man talking about? That's absurd...<br>
+But he said he would help us, eh? It's certainly not like him to lend us his precious map.<br>
 I'm still angry at him, but now I have to admit I'm curious enough about his motives to talk to him again...<br>
 In any case, show me the map! I want to study it to see exactly where we should search.<br>
-<a action="bypass -h Quest 185_Nikolas_Cooperation_Consideration 30673-03.htm">Give her the map.</a>
+<a action="bypass -h Quest Q00185_NikolasCooperation 30673-03.html">Give her the map.</a>
 </body></html>

+ 0 - 0
L2J_DataPack/dist/game/data/scripts/quests/185_Nikolas_Cooperation_Consideration/30673-03.htm → L2J_DataPack/dist/game/data/scripts/quests/Q00185_NikolasCooperation/30673-03.html


+ 1 - 1
L2J_DataPack/dist/game/data/scripts/quests/185_Nikolas_Cooperation_Consideration/30673-04.htm → L2J_DataPack/dist/game/data/scripts/quests/Q00185_NikolasCooperation/30673-04.html

@@ -1,4 +1,4 @@
 <html><body>Researcher Lorain:<br>
 I think we searched the entire 1st floor after comparing my information to Nikola's map. The place we were in danger was somewhere on the 2nd floor. Nikola said that he was examining some broken devices in the front with help from the keeper, but he couldn't determine their exact purpose because of the monster attack. I suppose that's the place we want -- will you go there and check it out?<br>
-<a action="bypass -h Quest 185_Nikolas_Cooperation_Consideration 30673-05.htm">"Let me know the exact location."</a>
+<a action="bypass -h Quest Q00185_NikolasCooperation 30673-05.html">"Let me know the exact location."</a>
 </body></html>

+ 0 - 0
L2J_DataPack/dist/game/data/scripts/quests/185_Nikolas_Cooperation_Consideration/30673-05.htm → L2J_DataPack/dist/game/data/scripts/quests/Q00185_NikolasCooperation/30673-05.html


+ 1 - 1
L2J_DataPack/dist/game/data/scripts/quests/185_Nikolas_Cooperation_Consideration/30673-06.htm → L2J_DataPack/dist/game/data/scripts/quests/Q00185_NikolasCooperation/30673-06.html

@@ -1,3 +1,3 @@
 <html><body>Researcher Lorain:<br>
-As I told you, <font color="LEVEL">climb up to the 2nd floor of the tower and pass the crossroads. You will see an intersection where 3 roads meet. Go to the right</font> and you should be able to see the broken pieces of the machine. Hurry!
+As I told you, <font color="LEVEL">climb up to the 2nd floor of the tower and pass the crossroads. You will see an intersection where 3 roads meet. Go to the right</font>and you should be able to see the broken pieces of the machine. Hurry!
 </body></html>

+ 4 - 0
L2J_DataPack/dist/game/data/scripts/quests/Q00185_NikolasCooperation/30673-07.html

@@ -0,0 +1,4 @@
+<html><body>Researcher Lorain:<br>
+Were you in any danger?<br>
+<a action="bypass -h Quest Q00185_NikolasCooperation 30673-08.html">Tell her what happened.</a>
+</body></html>

+ 1 - 1
L2J_DataPack/dist/game/data/scripts/quests/185_Nikolas_Cooperation_Consideration/30673-08.htm → L2J_DataPack/dist/game/data/scripts/quests/Q00185_NikolasCooperation/30673-08.html

@@ -1,4 +1,4 @@
 <html><body>Researcher Lorain:<br>
 Well, I'm relieved that you're OK. May I see what you recovered from the ruins?<br>
-<a action="bypass -h Quest 185_Nikolas_Cooperation_Consideration 30673-09.htm">Give it to Lorain.</a>
+<a action="bypass -h Quest Q00185_NikolasCooperation 30673-09.html">Give it to Lorain.</a>
 </body></html>

+ 0 - 0
L2J_DataPack/dist/game/data/scripts/quests/185_Nikolas_Cooperation_Consideration/30673-09.htm → L2J_DataPack/dist/game/data/scripts/quests/Q00185_NikolasCooperation/30673-09.html


+ 0 - 0
L2J_DataPack/dist/game/data/scripts/quests/185_Nikolas_Cooperation_Consideration/30673-10.htm → L2J_DataPack/dist/game/data/scripts/quests/Q00185_NikolasCooperation/30673-10.html


+ 1 - 1
L2J_DataPack/dist/game/data/scripts/quests/185_Nikolas_Cooperation_Consideration/32366-01.htm → L2J_DataPack/dist/game/data/scripts/quests/Q00185_NikolasCooperation/32366-01.html

@@ -1,5 +1,5 @@
 <html><body>Destroyed Device:<br>
 You see a pile of broken pieces. As you walk forward for a closer look...<br>
 You suddenly hear an ear-splitting siren!<br>
-<a action="bypass -h Quest 185_Nikolas_Cooperation_Consideration 32366-02.htm">Look around.</a>
+<a action="bypass -h Quest Q00185_NikolasCooperation 32366-03.html">Look around.</a>
 </body></html>

+ 0 - 0
L2J_DataPack/dist/game/data/scripts/quests/185_Nikolas_Cooperation_Consideration/32366-02.htm → L2J_DataPack/dist/game/data/scripts/quests/Q00185_NikolasCooperation/32366-03.html


+ 3 - 0
L2J_DataPack/dist/game/data/scripts/quests/Q00185_NikolasCooperation/32366-04.html

@@ -0,0 +1,3 @@
+<html><body>Destroyed Device:<br>
+The siren is deafening. Someone must have accidentally tripped the alarm system. You'd best get out of there right away!
+</body></html>

+ 4 - 0
L2J_DataPack/dist/game/data/scripts/quests/Q00185_NikolasCooperation/32366-05.html

@@ -0,0 +1,4 @@
+<html><body>Destroyed Device:<br>
+You see something shiny in the pile of broken pieces.<br>
+<a action="bypass -h Quest Q00185_NikolasCooperation 32366-06.html">Examine it.</a>
+</body></html>

+ 0 - 0
L2J_DataPack/dist/game/data/scripts/quests/185_Nikolas_Cooperation_Consideration/32366-06.htm → L2J_DataPack/dist/game/data/scripts/quests/Q00185_NikolasCooperation/32366-06.html


+ 1 - 1
L2J_DataPack/dist/game/data/scripts/quests/185_Nikolas_Cooperation_Consideration/32366-04.htm → L2J_DataPack/dist/game/data/scripts/quests/Q00185_NikolasCooperation/32366-07.html

@@ -1,4 +1,4 @@
 <html><body>Destroyed Device:<br>
 The surrounding area was devastated by the explosion of the alarm system. You see something shiny in the pile of broken pieces.<br>
-<a action="bypass -h Quest 185_Nikolas_Cooperation_Consideration 32366-05.htm">Examine it.</a>
+<a action="bypass -h Quest Q00185_NikolasCooperation 32366-08.html">Examine it.</a>
 </body></html>

+ 0 - 0
L2J_DataPack/dist/game/data/scripts/quests/185_Nikolas_Cooperation_Consideration/32366-05.htm → L2J_DataPack/dist/game/data/scripts/quests/Q00185_NikolasCooperation/32366-08.html


+ 290 - 0
L2J_DataPack/dist/game/data/scripts/quests/Q00185_NikolasCooperation/Q00185_NikolasCooperation.java

@@ -0,0 +1,290 @@
+/*
+ * Copyright (C) 2004-2014 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.Q00185_NikolasCooperation;
+
+import quests.Q00183_RelicExploration.Q00183_RelicExploration;
+import quests.Q00184_ArtOfPersuasion.Q00184_ArtOfPersuasion;
+
+import com.l2jserver.gameserver.model.actor.L2Npc;
+import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
+import com.l2jserver.gameserver.model.quest.Quest;
+import com.l2jserver.gameserver.model.quest.QuestState;
+
+/**
+ * Nikola's Cooperation (185)
+ * @author ivantotov
+ */
+public final class Q00185_NikolasCooperation extends Quest
+{
+	// NPC's
+	private static final int MAESTRO_NIKOLA = 30621;
+	private static final int RESEARCHER_LORAIN = 30673;
+	private static final int DESTROYED_DEVICE = 32366;
+	private static final int ALARM_OF_GIANT = 32367;
+	// Items
+	private static final int METALLOGRAPH = 10363;
+	private static final int BROKEN_METAL_PIECES = 10364;
+	private static final int NIKOLAS_MAP = 10365;
+	// Reward
+	private static final int LORAINES_CERTIFICATE = 10362;
+	// Misc
+	private static final int MIN_LEVEL = 40;
+	private static final int MAX_LEVEL_FOR_EXP_SP = 46;
+	
+	public Q00185_NikolasCooperation()
+	{
+		super(185, Q00185_NikolasCooperation.class.getSimpleName(), "Nikola's Cooperation");
+		addStartNpc(MAESTRO_NIKOLA);
+		addTalkId(MAESTRO_NIKOLA, RESEARCHER_LORAIN, DESTROYED_DEVICE);
+		registerQuestItems(METALLOGRAPH, BROKEN_METAL_PIECES, NIKOLAS_MAP);
+	}
+	
+	@Override
+	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
+	{
+		final QuestState qs = getQuestState(player, false);
+		if (qs == null)
+		{
+			return null;
+		}
+		
+		String htmltext = null;
+		switch (event)
+		{
+			case "30621-06.htm":
+			{
+				if (qs.isCreated())
+				{
+					qs.startQuest();
+					qs.setMemoState(1);
+					giveItems(player, NIKOLAS_MAP, 1);
+					htmltext = event;
+				}
+				break;
+			}
+			case "30621-03.htm":
+			{
+				if (player.getLevel() >= MIN_LEVEL)
+				{
+					htmltext = event;
+				}
+				else
+				{
+					htmltext = "30621-03a.htm";
+				}
+				break;
+			}
+			case "30621-04.htm":
+			case "30621-05.htm":
+			{
+				htmltext = event;
+				break;
+			}
+			case "30673-02.html":
+			{
+				if (qs.isMemoState(1))
+				{
+					htmltext = event;
+				}
+				break;
+			}
+			case "30673-03.html":
+			{
+				if (qs.isMemoState(1))
+				{
+					takeItems(player, NIKOLAS_MAP, -1);
+					qs.setMemoState(2);
+					qs.setCond(2, true);
+					htmltext = event;
+				}
+				break;
+			}
+			case "30673-05.html":
+			{
+				if (qs.isMemoState(2))
+				{
+					qs.setMemoState(3);
+					qs.setCond(3, true);
+					htmltext = event;
+				}
+				break;
+			}
+			case "30673-08.html":
+			{
+				if (qs.isMemoState(6))
+				{
+					htmltext = event;
+				}
+				break;
+			}
+			case "30673-09.html":
+			{
+				if (qs.isMemoState(6))
+				{
+					if (hasQuestItems(player, METALLOGRAPH))
+					{
+						giveItems(player, LORAINES_CERTIFICATE, 1);
+						qs.exitQuest(false, true);
+						htmltext = event;
+					}
+					else
+					{
+						htmltext = "30673-10.html";
+						qs.exitQuest(false, true);
+					}
+					if (player.getLevel() < MAX_LEVEL_FOR_EXP_SP)
+					{
+						giveAdena(player, 72527, true);
+						addExpAndSp(player, 203717, 14032);
+					}
+					else
+					{
+						giveAdena(player, 72527, true);
+					}
+				}
+				break;
+			}
+			case "32366-03.html":
+			{
+				if (qs.isMemoState(3) && !npc.getVariables().getBoolean("SPAWNED", false))
+				{
+					npc.getVariables().set("SPAWNED", true);
+					npc.getVariables().set("PLAYER_ID", player.getObjectId());
+					L2Npc alarm = addSpawn(ALARM_OF_GIANT, player.getX() + 80, player.getY() + 60, player.getZ(), 16384, false, 0);
+					alarm.getVariables().set("player0", player);
+					alarm.getVariables().set("npc0", npc);
+				}
+				break;
+			}
+			case "32366-06.html":
+			{
+				if (qs.isMemoState(4))
+				{
+					giveItems(player, METALLOGRAPH, 1);
+					qs.setMemoState(6);
+					qs.setCond(4, true);
+					htmltext = event;
+				}
+				break;
+			}
+			case "32366-08.html":
+			{
+				if (qs.isMemoState(5))
+				{
+					giveItems(player, BROKEN_METAL_PIECES, 1);
+					qs.setMemoState(6);
+					qs.setCond(5, true);
+					htmltext = event;
+				}
+				break;
+			}
+		}
+		return htmltext;
+	}
+	
+	@Override
+	public String onTalk(L2Npc npc, L2PcInstance player)
+	{
+		final QuestState qs = getQuestState(player, true);
+		final int memoState = qs.getMemoState();
+		String htmltext = getNoQuestMsg(player);
+		if (qs.isCreated())
+		{
+			if (npc.getId() == MAESTRO_NIKOLA)
+			{
+				final QuestState q183 = player.getQuestState(Q00183_RelicExploration.class.getSimpleName());
+				final QuestState q184 = player.getQuestState(Q00184_ArtOfPersuasion.class.getSimpleName());
+				final QuestState q185 = player.getQuestState(Q00185_NikolasCooperation.class.getSimpleName());
+				if ((q183 != null) && q183.isCompleted() && (q184 != null) && (q185 != null))
+				{
+					htmltext = (player.getLevel() >= MIN_LEVEL) ? "30621-01.htm" : "30621-02.html";
+				}
+			}
+		}
+		else if (qs.isStarted())
+		{
+			switch (npc.getId())
+			{
+				case MAESTRO_NIKOLA:
+				{
+					if (memoState == 1)
+					{
+						htmltext = "30621-07.html";
+					}
+					break;
+				}
+				case RESEARCHER_LORAIN:
+				{
+					if (memoState == 1)
+					{
+						htmltext = "30673-01.html";
+					}
+					else if (memoState == 2)
+					{
+						htmltext = "30673-04.html";
+					}
+					else if ((memoState >= 3) && (memoState <= 5))
+					{
+						htmltext = "30673-06.html";
+					}
+					else if (memoState == 6)
+					{
+						htmltext = "30673-07.html";
+					}
+					break;
+				}
+				case DESTROYED_DEVICE:
+				{
+					if (memoState == 3)
+					{
+						if (!npc.getVariables().getBoolean("SPAWNED", false))
+						{
+							htmltext = "32366-01.html";
+						}
+						else if (npc.getVariables().getInt("PLAYER_ID") == player.getObjectId())
+						{
+							htmltext = "32366-03.html";
+						}
+						else
+						{
+							htmltext = "32366-04.html";
+						}
+					}
+					else if (memoState == 4)
+					{
+						htmltext = "32366-05.html";
+					}
+					else if (memoState == 5)
+					{
+						htmltext = "32366-07.html";
+					}
+					break;
+				}
+			}
+		}
+		else if (qs.isCompleted())
+		{
+			if (npc.getId() == MAESTRO_NIKOLA)
+			{
+				htmltext = getAlreadyCompletedMsg(player);
+			}
+		}
+		return htmltext;
+	}
+}

+ 2 - 0
L2J_DataPack/dist/game/data/scripts/quests/QuestMasterHandler.java

@@ -179,6 +179,7 @@ import quests.Q00179_IntoTheLargeCavern.Q00179_IntoTheLargeCavern;
 import quests.Q00182_NewRecruits.Q00182_NewRecruits;
 import quests.Q00183_RelicExploration.Q00183_RelicExploration;
 import quests.Q00184_ArtOfPersuasion.Q00184_ArtOfPersuasion;
+import quests.Q00185_NikolasCooperation.Q00185_NikolasCooperation;
 import quests.Q00186_ContractExecution.Q00186_ContractExecution;
 import quests.Q00187_NikolasHeart.Q00187_NikolasHeart;
 import quests.Q00188_SealRemoval.Q00188_SealRemoval;
@@ -636,6 +637,7 @@ public class QuestMasterHandler
 		Q00182_NewRecruits.class,
 		Q00183_RelicExploration.class,
 		Q00184_ArtOfPersuasion.class,
+		Q00185_NikolasCooperation.class,
 		Q00186_ContractExecution.class,
 		Q00187_NikolasHeart.class,
 		Q00188_SealRemoval.class,

+ 2 - 1
L2J_DataPack/dist/sql/game/updates/20141207update.sql

@@ -1 +1,2 @@
-UPDATE character_quests SET name='Q00184_ArtOfPersuasion' WHERE name='184_Nikolas_Cooperation_Contract'; 
+UPDATE character_quests SET name='Q00184_ArtOfPersuasion' WHERE name='184_Nikolas_Cooperation_Contract'; 
+UPDATE character_quests SET name='Q00185_NikolasCooperation' WHERE name='185_Nikolas_Cooperation_Consideration';