Selaa lähdekoodia

Quest: Art Of Persuasion (184)
Reviewed by: @Zoey76

ivantotov 10 vuotta sitten
vanhempi
sitoutus
2e956e308a
43 muutettua tiedostoa jossa 340 lisäystä ja 276 poistoa
  1. 0 1
      L2J_DataPack/dist/game/data/scripts.cfg
  2. 0 4
      L2J_DataPack/dist/game/data/scripts/quests/184_Nikolas_Cooperation_Contract/30621-01.htm
  3. 0 6
      L2J_DataPack/dist/game/data/scripts/quests/184_Nikolas_Cooperation_Contract/30621-02.htm
  4. 0 3
      L2J_DataPack/dist/game/data/scripts/quests/184_Nikolas_Cooperation_Contract/30621-04.htm
  5. 0 4
      L2J_DataPack/dist/game/data/scripts/quests/184_Nikolas_Cooperation_Contract/30673-01.htm
  6. 0 4
      L2J_DataPack/dist/game/data/scripts/quests/184_Nikolas_Cooperation_Contract/30673-07.htm
  7. 0 4
      L2J_DataPack/dist/game/data/scripts/quests/184_Nikolas_Cooperation_Contract/32366-03.htm
  8. 0 4
      L2J_DataPack/dist/game/data/scripts/quests/184_Nikolas_Cooperation_Contract/32367-01.htm
  9. 0 17
      L2J_DataPack/dist/game/data/scripts/quests/184_Nikolas_Cooperation_Contract/32367-02.htm
  10. 0 16
      L2J_DataPack/dist/game/data/scripts/quests/184_Nikolas_Cooperation_Contract/32367-03.htm
  11. 0 15
      L2J_DataPack/dist/game/data/scripts/quests/184_Nikolas_Cooperation_Contract/32367-04.htm
  12. 0 16
      L2J_DataPack/dist/game/data/scripts/quests/184_Nikolas_Cooperation_Contract/32367-05.htm
  13. 0 8
      L2J_DataPack/dist/game/data/scripts/quests/184_Nikolas_Cooperation_Contract/32367-06.htm
  14. 0 7
      L2J_DataPack/dist/game/data/scripts/quests/184_Nikolas_Cooperation_Contract/32367-07.htm
  15. 0 158
      L2J_DataPack/dist/game/data/scripts/quests/184_Nikolas_Cooperation_Contract/__init__.py
  16. 5 0
      L2J_DataPack/dist/game/data/scripts/quests/Q00184_ArtOfPersuasion/30621-01.htm
  17. 4 0
      L2J_DataPack/dist/game/data/scripts/quests/Q00184_ArtOfPersuasion/30621-02.htm
  18. 4 0
      L2J_DataPack/dist/game/data/scripts/quests/Q00184_ArtOfPersuasion/30621-03.htm
  19. 2 2
      L2J_DataPack/dist/game/data/scripts/quests/Q00184_ArtOfPersuasion/30621-03a.htm
  20. 6 0
      L2J_DataPack/dist/game/data/scripts/quests/Q00184_ArtOfPersuasion/30621-04.htm
  21. 1 1
      L2J_DataPack/dist/game/data/scripts/quests/Q00184_ArtOfPersuasion/30621-05.htm
  22. 4 0
      L2J_DataPack/dist/game/data/scripts/quests/Q00184_ArtOfPersuasion/30621-06.htm
  23. 0 0
      L2J_DataPack/dist/game/data/scripts/quests/Q00184_ArtOfPersuasion/30621-07.html
  24. 4 0
      L2J_DataPack/dist/game/data/scripts/quests/Q00184_ArtOfPersuasion/30673-01.html
  25. 1 1
      L2J_DataPack/dist/game/data/scripts/quests/Q00184_ArtOfPersuasion/30673-02.html
  26. 0 0
      L2J_DataPack/dist/game/data/scripts/quests/Q00184_ArtOfPersuasion/30673-03.html
  27. 1 1
      L2J_DataPack/dist/game/data/scripts/quests/Q00184_ArtOfPersuasion/30673-04.html
  28. 0 0
      L2J_DataPack/dist/game/data/scripts/quests/Q00184_ArtOfPersuasion/30673-05.html
  29. 1 1
      L2J_DataPack/dist/game/data/scripts/quests/Q00184_ArtOfPersuasion/30673-06.html
  30. 4 0
      L2J_DataPack/dist/game/data/scripts/quests/Q00184_ArtOfPersuasion/30673-07.html
  31. 1 1
      L2J_DataPack/dist/game/data/scripts/quests/Q00184_ArtOfPersuasion/30673-08.html
  32. 0 0
      L2J_DataPack/dist/game/data/scripts/quests/Q00184_ArtOfPersuasion/30673-09.html
  33. 0 0
      L2J_DataPack/dist/game/data/scripts/quests/Q00184_ArtOfPersuasion/30673-10.html
  34. 1 1
      L2J_DataPack/dist/game/data/scripts/quests/Q00184_ArtOfPersuasion/32366-01.html
  35. 0 0
      L2J_DataPack/dist/game/data/scripts/quests/Q00184_ArtOfPersuasion/32366-03.html
  36. 3 0
      L2J_DataPack/dist/game/data/scripts/quests/Q00184_ArtOfPersuasion/32366-04.html
  37. 4 0
      L2J_DataPack/dist/game/data/scripts/quests/Q00184_ArtOfPersuasion/32366-05.html
  38. 0 0
      L2J_DataPack/dist/game/data/scripts/quests/Q00184_ArtOfPersuasion/32366-06.html
  39. 1 1
      L2J_DataPack/dist/game/data/scripts/quests/Q00184_ArtOfPersuasion/32366-07.html
  40. 0 0
      L2J_DataPack/dist/game/data/scripts/quests/Q00184_ArtOfPersuasion/32366-08.html
  41. 290 0
      L2J_DataPack/dist/game/data/scripts/quests/Q00184_ArtOfPersuasion/Q00184_ArtOfPersuasion.java
  42. 2 0
      L2J_DataPack/dist/game/data/scripts/quests/QuestMasterHandler.java
  43. 1 0
      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/184_Nikolas_Cooperation_Contract/__init__.py
 quests/185_Nikolas_Cooperation_Consideration/__init__.py
 quests/227_TestOfReformer/__init__.py
 quests/230_TestOfSummoner/__init__.py

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

@@ -1,4 +0,0 @@
-<html><body>Maestro Nikola:<br>
-What's in it for me? I think you are just wasting your time here...<br>
-<a action="bypass -h Quest 184_Nikolas_Cooperation_Contract 30621-02.htm">"The Tower of Cruma is no place to explore alone. I know you and Lorain have your differences, but can't you set them aside for the sake of the work at hand?"</a>
-</body></html>

+ 0 - 6
L2J_DataPack/dist/game/data/scripts/quests/184_Nikolas_Cooperation_Contract/30621-02.htm

@@ -1,6 +0,0 @@
-<html><body>Maestro Nikola:<br>
-Work together? Undoubtedly she has made some minor strides in her studies that might possibly be of use to me, but... <br>
-My pride would never allow me to conclude some sort of agreement with her. In fact, I can barely stand to even speak to her!<br>
-Unfortunate, perhaps... <br>
-<a action="bypass -h Quest 184_Nikolas_Cooperation_Contract 30621-03.htm">"Perhaps you could enter into a contract with me, not with her. Then I will also make a separate contract with her. With me as a go-between you won't have to deal directly with each other."</a>
-</body></html>

+ 0 - 3
L2J_DataPack/dist/game/data/scripts/quests/184_Nikolas_Cooperation_Contract/30621-04.htm

@@ -1,3 +0,0 @@
-<html><body>Maestro Nikola:<br>
-Ah, that is easily done. Here is the map showing the location of that district. Lorain will be able to find the place easily.
-</body></html>

+ 0 - 4
L2J_DataPack/dist/game/data/scripts/quests/184_Nikolas_Cooperation_Contract/30673-01.htm

@@ -1,4 +0,0 @@
-<html><body>Researcher Lorain:<br>
-Well! Where is the place we're looking for? Did that coward tell you?<br>
-<a action="bypass -h Quest 184_Nikolas_Cooperation_Contract 30673-02.htm">Tell her about the contract with Nikola.
-</a></body></html>

+ 0 - 4
L2J_DataPack/dist/game/data/scripts/quests/184_Nikolas_Cooperation_Contract/30673-07.htm

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

+ 0 - 4
L2J_DataPack/dist/game/data/scripts/quests/184_Nikolas_Cooperation_Contract/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 184_Nikolas_Cooperation_Contract 32366-06.htm">Examine it.</a>
-</body></html>

+ 0 - 4
L2J_DataPack/dist/game/data/scripts/quests/184_Nikolas_Cooperation_Contract/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 184_Nikolas_Cooperation_Contract 32367-02.htm">Enter the passcode.</a>
-</body></html>

+ 0 - 17
L2J_DataPack/dist/game/data/scripts/quests/184_Nikolas_Cooperation_Contract/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 184_Nikolas_Cooperation_Contract 32367-03.htm">1</a></td>
-<td width="20" height="20" align="center"><a action="bypass -h Quest 184_Nikolas_Cooperation_Contract 32367-03.htm">2</a></td>
-<td width="20" height="20" align="center"><a action="bypass -h Quest 184_Nikolas_Cooperation_Contract correct_32367-03.htm">3</a></td></tr><tr>
-<td width="20" height="20" align="center"><a action="bypass -h Quest 184_Nikolas_Cooperation_Contract 32367-03.htm">4</a></td>
-<td width="20" height="20" align="center"><a action="bypass -h Quest 184_Nikolas_Cooperation_Contract 32367-03.htm">5</a></td>
-<td width="20" height="20" align="center"><a action="bypass -h Quest 184_Nikolas_Cooperation_Contract 32367-03.htm">6</a></td></tr><tr>
-<td width="20" height="20" align="center"><a action="bypass -h Quest 184_Nikolas_Cooperation_Contract 32367-03.htm">7</a></td>
-<td width="20" height="20" align="center"><a action="bypass -h Quest 184_Nikolas_Cooperation_Contract 32367-03.htm">8</a></td>
-<td width="20" height="20" align="center"><a action="bypass -h Quest 184_Nikolas_Cooperation_Contract 32367-03.htm">9</a></td></tr></table>
-</body></html>

+ 0 - 16
L2J_DataPack/dist/game/data/scripts/quests/184_Nikolas_Cooperation_Contract/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 184_Nikolas_Cooperation_Contract correct_32367-04.htm">1</a></td>
-<td width="20" height="20" align="center"><a action="bypass -h Quest 184_Nikolas_Cooperation_Contract 32367-04.htm">2</a></td>
-<td width="20" height="20" align="center"><a action="bypass -h Quest 184_Nikolas_Cooperation_Contract 32367-04.htm">3</a></td></tr><tr>
-<td width="20" height="20" align="center"><a action="bypass -h Quest 184_Nikolas_Cooperation_Contract 32367-04.htm">4</a></td>
-<td width="20" height="20" align="center"><a action="bypass -h Quest 184_Nikolas_Cooperation_Contract 32367-04.htm">5</a></td>
-<td width="20" height="20" align="center"><a action="bypass -h Quest 184_Nikolas_Cooperation_Contract 32367-04.htm">6</a></td></tr><tr>
-<td width="20" height="20" align="center"><a action="bypass -h Quest 184_Nikolas_Cooperation_Contract 32367-04.htm">7</a></td>
-<td width="20" height="20" align="center"><a action="bypass -h Quest 184_Nikolas_Cooperation_Contract 32367-04.htm">8</a></td>
-<td width="20" height="20" align="center"><a action="bypass -h Quest 184_Nikolas_Cooperation_Contract 32367-04.htm">9</a></td></tr></table>
-</body></html>

+ 0 - 15
L2J_DataPack/dist/game/data/scripts/quests/184_Nikolas_Cooperation_Contract/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 184_Nikolas_Cooperation_Contract 32367-05.htm">1</a></td>
-<td width="20" height="20" align="center"><a action="bypass -h Quest 184_Nikolas_Cooperation_Contract 32367-05.htm">2</a></td>
-<td width="20" height="20" align="center"><a action="bypass -h Quest 184_Nikolas_Cooperation_Contract 32367-05.htm">3</a></td></tr><tr>
-<td width="20" height="20" align="center"><a action="bypass -h Quest 184_Nikolas_Cooperation_Contract 32367-05.htm">4</a></td>
-<td width="20" height="20" align="center"><a action="bypass -h Quest 184_Nikolas_Cooperation_Contract 32367-05.htm">5</a></td>
-<td width="20" height="20" align="center"><a action="bypass -h Quest 184_Nikolas_Cooperation_Contract 32367-05.htm">6</a></td></tr><tr>
-<td width="20" height="20" align="center"><a action="bypass -h Quest 184_Nikolas_Cooperation_Contract 32367-05.htm">7</a></td>
-<td width="20" height="20" align="center"><a action="bypass -h Quest 184_Nikolas_Cooperation_Contract 32367-05.htm">8</a></td>
-<td width="20" height="20" align="center"><a action="bypass -h Quest 184_Nikolas_Cooperation_Contract correct_32367-05.htm">9</a></td></tr></table>
-</body></html>

+ 0 - 16
L2J_DataPack/dist/game/data/scripts/quests/184_Nikolas_Cooperation_Contract/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 184_Nikolas_Cooperation_Contract 32367-06.htm">1</a></td>
-<td width="20" height="20" align="center"><a action="bypass -h Quest 184_Nikolas_Cooperation_Contract 32367-06.htm">2</a></td>
-<td width="20" height="20" align="center"><a action="bypass -h Quest 184_Nikolas_Cooperation_Contract 32367-06.htm">3</a></td></tr><tr>
-<td width="20" height="20" align="center"><a action="bypass -h Quest 184_Nikolas_Cooperation_Contract 32367-06.htm">4</a></td>
-<td width="20" height="20" align="center"><a action="bypass -h Quest 184_Nikolas_Cooperation_Contract 32367-06.htm">5</a></td>
-<td width="20" height="20" align="center"><a action="bypass -h Quest 184_Nikolas_Cooperation_Contract correct_32367-07.htm">6</a></td></tr><tr>
-<td width="20" height="20" align="center"><a action="bypass -h Quest 184_Nikolas_Cooperation_Contract 32367-06.htm">7</a></td>
-<td width="20" height="20" align="center"><a action="bypass -h Quest 184_Nikolas_Cooperation_Contract 32367-06.htm">8</a></td>
-<td width="20" height="20" align="center"><a action="bypass -h Quest 184_Nikolas_Cooperation_Contract 32367-06.htm">9</a></td></tr></table>
-</body></html>

+ 0 - 8
L2J_DataPack/dist/game/data/scripts/quests/184_Nikolas_Cooperation_Contract/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 184_Nikolas_Cooperation_Contract 32367-02.htm">Re-enter passcode.</a>
-</body></html>

+ 0 - 7
L2J_DataPack/dist/game/data/scripts/quests/184_Nikolas_Cooperation_Contract/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 - 158
L2J_DataPack/dist/game/data/scripts/quests/184_Nikolas_Cooperation_Contract/__init__.py

@@ -1,158 +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 = "184_Nikolas_Cooperation_Contract"
-
-#NPCs
-Nikola = 30621
-Lorain = 30673
-Device = 32366
-Alarm = 32367
-
-#Items
-Certificate = 10362
-Metal = 10359
-BrokenMetal = 10360
-NicolasMap = 10361
-
-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
-
-QUEST       = Quest(184,qn,"Nikola's Cooperation - Contract")
-
-QUEST.addTalkId(Nikola)
-QUEST.addTalkId(Lorain)
-QUEST.addTalkId(Device)
-QUEST.addTalkId(Alarm)

+ 5 - 0
L2J_DataPack/dist/game/data/scripts/quests/Q00184_ArtOfPersuasion/30621-01.htm

@@ -0,0 +1,5 @@
+<html><body>Maestro Nikola:<br>
+Why did you come to see me?<br>
+<a action="bypass -h Quest Q00184_ArtOfPersuasion 30621-03.htm">"I came here to offer you something."</a><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/Q00184_ArtOfPersuasion/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/Q00184_ArtOfPersuasion/30621-03.htm

@@ -0,0 +1,4 @@
+<html><body>Maestro Nikola:<br>
+What's in it for me? I think you are just wasting your time here...<br>
+<a action="bypass -h Quest Q00184_ArtOfPersuasion 30621-04.htm">"The Tower of Cruma is no place to explore alone. I know you and Lorain have your differences, but can't you set them aside for the sake of the work at hand?"</a>
+</body></html>

+ 2 - 2
L2J_DataPack/dist/game/data/scripts/quests/184_Nikolas_Cooperation_Contract/30621-00.htm → L2J_DataPack/dist/game/data/scripts/quests/Q00184_ArtOfPersuasion/30621-03a.htm

@@ -1,4 +1,4 @@
 <html><body>Maestro Nikola:<br>
-What's in it for me? I think you are just wasting your time here...<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>

+ 6 - 0
L2J_DataPack/dist/game/data/scripts/quests/Q00184_ArtOfPersuasion/30621-04.htm

@@ -0,0 +1,6 @@
+<html><body>Maestro Nikola:<br>
+Work together? Undoubtedly she has made some minor strides in her studies that might possibly be of use to me, but...<br>
+My pride would never allow me to conclude some sort of agreement with her. In fact, I can barely stand to even speak to her!<br>
+Unfortunate, perhaps...<br>
+<a action="bypass -h Quest Q00184_ArtOfPersuasion 30621-05.htm">"Perhaps you could enter into a contract with me, not with her. Then I will also make a separate contract with her. With me as a go-between you won't have to deal directly with each other."</a>
+</body></html>

+ 1 - 1
L2J_DataPack/dist/game/data/scripts/quests/184_Nikolas_Cooperation_Contract/30621-03.htm → L2J_DataPack/dist/game/data/scripts/quests/Q00184_ArtOfPersuasion/30621-05.htm

@@ -2,5 +2,5 @@
 Hmm. An intriguing suggestion... Very well! Let us conclude a contract together.<br>
 My condition, however, is that you share all information you discover about the matter.<br>
 What is your condition?<br>
-<a action="bypass -h Quest 184_Nikolas_Cooperation_Contract 30621-04.htm">"Give me the information about the district that you failed to explore."</a>
+<a action="bypass -h Quest Q00184_ArtOfPersuasion 30621-06.htm">"Give me the information about the district that you failed to explore."</a>
 </body></html>

+ 4 - 0
L2J_DataPack/dist/game/data/scripts/quests/Q00184_ArtOfPersuasion/30621-06.htm

@@ -0,0 +1,4 @@
+<html><body>Maestro Nikola:<br>
+Ah, that is easily done. Here is the map showing the location of that district. Lorain will be able to find the place easily.<br>
+Please note that Cruma Tower is not accessible after level 56.
+</body></html>

+ 0 - 0
L2J_DataPack/dist/game/data/scripts/quests/184_Nikolas_Cooperation_Contract/30621-05.htm → L2J_DataPack/dist/game/data/scripts/quests/Q00184_ArtOfPersuasion/30621-07.html


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

@@ -0,0 +1,4 @@
+<html><body>Researcher Lorain:<br>
+Well! Where is the place we're looking for? Did that coward tell you?<br>
+<a action="bypass -h Quest Q00184_ArtOfPersuasion 30673-02.html">Tell her about the contract with Nikola.</a>
+</body></html>

+ 1 - 1
L2J_DataPack/dist/game/data/scripts/quests/184_Nikolas_Cooperation_Contract/30673-02.htm → L2J_DataPack/dist/game/data/scripts/quests/Q00184_ArtOfPersuasion/30673-02.html

@@ -1,5 +1,5 @@
 <html><body>Researcher Lorain:<br>
 Hmm, I must admit that you did better than I expected. I am satisfied. As long as our work can continue...<br>
 Now then, show me the map. I need to study it to see where we should search.<br>
-<a action="bypass -h Quest 184_Nikolas_Cooperation_Contract 30673-03.htm">Give her the map.</a>
+<a action="bypass -h Quest Q00184_ArtOfPersuasion 30673-03.html">Give her the map.</a>
 </body></html>

+ 0 - 0
L2J_DataPack/dist/game/data/scripts/quests/184_Nikolas_Cooperation_Contract/30673-03.htm → L2J_DataPack/dist/game/data/scripts/quests/Q00184_ArtOfPersuasion/30673-03.html


+ 1 - 1
L2J_DataPack/dist/game/data/scripts/quests/184_Nikolas_Cooperation_Contract/30673-04.htm → L2J_DataPack/dist/game/data/scripts/quests/Q00184_ArtOfPersuasion/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 184_Nikolas_Cooperation_Contract 30673-05.htm">"Let me know the exact location."</a>
+<a action="bypass -h Quest Q00184_ArtOfPersuasion 30673-05.html">"Let me know the exact location."</a>
 </body></html>

+ 0 - 0
L2J_DataPack/dist/game/data/scripts/quests/184_Nikolas_Cooperation_Contract/30673-05.htm → L2J_DataPack/dist/game/data/scripts/quests/Q00184_ArtOfPersuasion/30673-05.html


+ 1 - 1
L2J_DataPack/dist/game/data/scripts/quests/184_Nikolas_Cooperation_Contract/30673-06.htm → L2J_DataPack/dist/game/data/scripts/quests/Q00184_ArtOfPersuasion/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/Q00184_ArtOfPersuasion/30673-07.html

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

+ 1 - 1
L2J_DataPack/dist/game/data/scripts/quests/184_Nikolas_Cooperation_Contract/30673-08.htm → L2J_DataPack/dist/game/data/scripts/quests/Q00184_ArtOfPersuasion/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 184_Nikolas_Cooperation_Contract 30673-09.htm">Give it to Lorain.</a>
+<a action="bypass -h Quest Q00184_ArtOfPersuasion 30673-09.html">Give it to Lorain.</a>
 </body></html>

+ 0 - 0
L2J_DataPack/dist/game/data/scripts/quests/184_Nikolas_Cooperation_Contract/30673-09.htm → L2J_DataPack/dist/game/data/scripts/quests/Q00184_ArtOfPersuasion/30673-09.html


+ 0 - 0
L2J_DataPack/dist/game/data/scripts/quests/184_Nikolas_Cooperation_Contract/30673-10.htm → L2J_DataPack/dist/game/data/scripts/quests/Q00184_ArtOfPersuasion/30673-10.html


+ 1 - 1
L2J_DataPack/dist/game/data/scripts/quests/184_Nikolas_Cooperation_Contract/32366-01.htm → L2J_DataPack/dist/game/data/scripts/quests/Q00184_ArtOfPersuasion/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 184_Nikolas_Cooperation_Contract 32366-02.htm">Look around.</a>
+<a action="bypass -h Quest Q00184_ArtOfPersuasion 32366-03.html">Look around.</a>
 </body></html>

+ 0 - 0
L2J_DataPack/dist/game/data/scripts/quests/184_Nikolas_Cooperation_Contract/32366-02.htm → L2J_DataPack/dist/game/data/scripts/quests/Q00184_ArtOfPersuasion/32366-03.html


+ 3 - 0
L2J_DataPack/dist/game/data/scripts/quests/Q00184_ArtOfPersuasion/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/Q00184_ArtOfPersuasion/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 Q00184_ArtOfPersuasion 32366-06.html">Examine it.</a>
+</body></html>

+ 0 - 0
L2J_DataPack/dist/game/data/scripts/quests/184_Nikolas_Cooperation_Contract/32366-06.htm → L2J_DataPack/dist/game/data/scripts/quests/Q00184_ArtOfPersuasion/32366-06.html


+ 1 - 1
L2J_DataPack/dist/game/data/scripts/quests/184_Nikolas_Cooperation_Contract/32366-04.htm → L2J_DataPack/dist/game/data/scripts/quests/Q00184_ArtOfPersuasion/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 184_Nikolas_Cooperation_Contract 32366-05.htm">Examine it.</a>
+<a action="bypass -h Quest Q00184_ArtOfPersuasion 32366-08.html">Examine it.</a>
 </body></html>

+ 0 - 0
L2J_DataPack/dist/game/data/scripts/quests/184_Nikolas_Cooperation_Contract/32366-05.htm → L2J_DataPack/dist/game/data/scripts/quests/Q00184_ArtOfPersuasion/32366-08.html


+ 290 - 0
L2J_DataPack/dist/game/data/scripts/quests/Q00184_ArtOfPersuasion/Q00184_ArtOfPersuasion.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.Q00184_ArtOfPersuasion;
+
+import quests.Q00183_RelicExploration.Q00183_RelicExploration;
+import quests.Q00185_NikolasCooperation.Q00185_NikolasCooperation;
+
+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;
+
+/**
+ * Art Of Persuasion (184)
+ * @author ivantotov
+ */
+public final class Q00184_ArtOfPersuasion extends Quest
+{
+	// NPCs
+	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 = 10359;
+	private static final int BROKEN_METAL_PIECES = 10360;
+	private static final int NIKOLAS_MAP = 10361;
+	// 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 Q00184_ArtOfPersuasion()
+	{
+		super(184, Q00184_ArtOfPersuasion.class.getSimpleName(), "Art Of Persuasion");
+		addStartNpc(MAESTRO_NIKOLA);
+		addTalkId(MAESTRO_NIKOLA, RESEARCHER_LORAIN, DESTROYED_DEVICE, ALARM_OF_GIANT);
+		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.htm";
+						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

@@ -178,6 +178,7 @@ import quests.Q00176_StepsForHonor.Q00176_StepsForHonor;
 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.Q00186_ContractExecution.Q00186_ContractExecution;
 import quests.Q00187_NikolasHeart.Q00187_NikolasHeart;
 import quests.Q00188_SealRemoval.Q00188_SealRemoval;
@@ -634,6 +635,7 @@ public class QuestMasterHandler
 		Q00179_IntoTheLargeCavern.class,
 		Q00182_NewRecruits.class,
 		Q00183_RelicExploration.class,
+		Q00184_ArtOfPersuasion.class,
 		Q00186_ContractExecution.class,
 		Q00187_NikolasHeart.class,
 		Q00188_SealRemoval.class,

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

@@ -0,0 +1 @@
+UPDATE character_quests SET name='Q00184_ArtOfPersuasion' WHERE name='184_Nikolas_Cooperation_Contract';