Skip to content
Snippets Groups Projects
Commit 2e956e30 authored by ivantotov's avatar ivantotov
Browse files

Quest: Art Of Persuasion (184)

Reviewed by: @Zoey76
parent 403db933
No related branches found
No related tags found
No related merge requests found
Showing
with 309 additions and 5 deletions
<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>
\ No newline at end of file
<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>
\ No newline at end of file
<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>
<a action="bypass -h Quest Q00184_ArtOfPersuasion 30673-08.html">Tell her what happened.</a>
</body></html>
\ No newline at end of file
<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>
\ No newline at end of file
<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>
\ No newline at end of file
<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>
\ No newline at end of file
<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>
\ No newline at end of file
<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>
\ No newline at end of file
/*
* 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;
}
}
\ No newline at end of file
......@@ -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,
......
UPDATE character_quests SET name='Q00184_ArtOfPersuasion' WHERE name='184_Nikolas_Cooperation_Contract';
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment