This commit is contained in:
mobius
2015-01-01 20:02:50 +00:00
parent eeae660458
commit a6a3718849
17894 changed files with 2818932 additions and 0 deletions

View File

@@ -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>

View File

@@ -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>

View File

@@ -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>

View File

@@ -0,0 +1,4 @@
<html><body>Maestro Nikola:<br>
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>

View File

@@ -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>

View File

@@ -0,0 +1,6 @@
<html><body>Maestro Nikola:<br>
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 Q00184_ArtOfPersuasion 30621-06.htm">"Give me the information about the district that you failed to explore."</a>
</body></html>

View File

@@ -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>

View File

@@ -0,0 +1,3 @@
<html><body>Maestro Nikola:<br>
One more thing... The map I gave you is worth my life. Please return it after you use it.
</body></html>

View File

@@ -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>

View File

@@ -0,0 +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 Q00184_ArtOfPersuasion 30673-03.html">Give her the map.</a>
</body></html>

View File

@@ -0,0 +1,3 @@
<html><body>Researcher Lorain:<br>
Patience! I need a little more time to study this map.
</body></html>

View File

@@ -0,0 +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 Q00184_ArtOfPersuasion 30673-05.html">"Let me know the exact location."</a>
</body></html>

View File

@@ -0,0 +1,4 @@
<html><body>Researcher Lorain:<br>
<font color="LEVEL">After you go up to the 2nd floor 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. Be careful, though -- the alarm system in that area may be still functional. If you let the alarm ring, your life may be in danger.<br>
To disable it, enter the <font color="LEVEL">passcode number 3196</font> into the alarm device. Be careful!
</body></html>

View File

@@ -0,0 +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!
</body></html>

View File

@@ -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>

View File

@@ -0,0 +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 Q00184_ArtOfPersuasion 30673-09.html">Give it to Lorain.</a>
</body></html>

View File

@@ -0,0 +1,4 @@
<html><body>Researcher Lorain:<br>
To ensure that there are no oversights, we're issuing a certificate whenever we trade with anyone. Please keep this in a safe place -- <font color="LEVEL">if you lose it, you'll be in big trouble</font>! Now go get some rest.<br>
(If you lose the Certificate of Lorain, you will be moved back to the Seal Removal quest.)
</body></html>

View File

@@ -0,0 +1,3 @@
<html><body>Researcher Lorain:<br>
Good job! After I study this, I'll ask for your help. In the meantime, you'd best go get some rest.
</body></html>

View File

@@ -0,0 +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 Q00184_ArtOfPersuasion 32366-03.html">Look around.</a>
</body></html>

View File

@@ -0,0 +1,3 @@
<html><body>Destroyed Device:<br>
The alarm is deafeningly loud. Unless it is turned off soon, it may cause permanent damage!
</body></html>

View File

@@ -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>

View File

@@ -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>

View File

@@ -0,0 +1,3 @@
<html><body>Destroyed Device:<br>
You see a metal plate with something written on it. Take it back to Lorain.
</body></html>

View File

@@ -0,0 +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 Q00184_ArtOfPersuasion 32366-08.html">Examine it.</a>
</body></html>

View File

@@ -0,0 +1,3 @@
<html><body>Destroyed Device:<br>
It is a broken piece that appears to have been destroyed in the recent explosion. Perhaps you should take it back to Lorain.
</body></html>

View File

@@ -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;
}
}