Removed simulated onTalk method.

This commit is contained in:
MobiusDev 2017-08-09 00:11:10 +00:00
parent af0ea3c255
commit a35d8a82c3
103 changed files with 677 additions and 1053 deletions

View File

@ -87,6 +87,10 @@ public class QuestLink implements IBypassHandler
final StringBuilder sbCanStart = new StringBuilder(128);
final StringBuilder sbCantStart = new StringBuilder(128);
final StringBuilder sbCompleted = new StringBuilder(128);
int availableQuestCounter = 0;
int inProgressQuestCounter = 0;
Quest lastSavedAvailableQuest = null;
Quest lastSavedProgressQuest = null;
//@formatter:off
final Set<Quest> startingQuests = npc.getListeners(EventType.ON_NPC_QUEST_START).stream()
@ -109,11 +113,6 @@ public class QuestLink implements IBypassHandler
for (Quest quest : quests)
{
if (quest.getId() == 255) // do not list tutorial quest
{
continue;
}
final QuestState qs = player.getQuestState(quest.getScriptName());
if ((qs == null) || qs.isCreated() || (qs.isCompleted() && qs.isNowAvailable()))
{
@ -128,6 +127,8 @@ public class QuestLink implements IBypassHandler
sbCanStart.append("<button icon=\"quest\" align=\"left\" action=\"bypass -h npc_" + npc.getObjectId() + "_Quest " + quest.getName() + "\">");
sbCanStart.append(quest.isCustomQuest() ? quest.getPath() : "<fstring>" + quest.getNpcStringId() + "01</fstring>");
sbCanStart.append("</button></font>");
availableQuestCounter++;
lastSavedAvailableQuest = quest;
}
else
{
@ -137,16 +138,14 @@ public class QuestLink implements IBypassHandler
sbCantStart.append("</button></font>");
}
}
else if (Quest.getNoQuestMsg(player).equals(quest.onTalk(npc, player, true)))
{
continue;
}
else if (qs.isStarted())
{
sbStarted.append("<font color=\"ffdd66\">");
sbStarted.append("<button icon=\"quest\" align=\"left\" action=\"bypass -h npc_" + npc.getObjectId() + "_Quest " + quest.getName() + "\">");
sbStarted.append(quest.isCustomQuest() ? quest.getPath() + " (In Progress)" : "<fstring>" + quest.getNpcStringId() + "02</fstring>");
sbStarted.append("</button></font>");
inProgressQuestCounter++;
lastSavedProgressQuest = quest;
}
else if (qs.isCompleted())
{
@ -157,6 +156,17 @@ public class QuestLink implements IBypassHandler
}
}
if ((availableQuestCounter == 0) && (inProgressQuestCounter == 1) && (lastSavedProgressQuest != null))
{
showQuestWindow(player, npc, lastSavedProgressQuest.getName());
return;
}
if ((availableQuestCounter == 1) && (inProgressQuestCounter == 0) && (lastSavedAvailableQuest != null))
{
showQuestWindow(player, npc, lastSavedAvailableQuest.getName());
return;
}
String content;
if ((sbStarted.length() > 0) || (sbCanStart.length() > 0) || (sbCantStart.length() > 0) || (sbCompleted.length() > 0))
{
@ -223,7 +233,7 @@ public class QuestLink implements IBypassHandler
}
}
q.notifyTalk(npc, player, false);
q.notifyTalk(npc, player);
}
else
{
@ -253,8 +263,7 @@ public class QuestLink implements IBypassHandler
.map(AbstractEventListener::getOwner)
.filter(Quest.class::isInstance)
.map(Quest.class::cast)
.filter(quest -> (quest.getId() > 0) && (quest.getId() < 20000))
//.filter(quest -> !Quest.getNoQuestMsg(player).equals(quest.onTalk(npc, player, true)))
.filter(quest -> (quest.getId() > 0) && (quest.getId() < 20000) && (quest.getId() != 255))
.distinct()
.collect(Collectors.toSet());
//@formatter:on

View File

@ -613,9 +613,8 @@ public class Quest extends AbstractScript implements IIdentifiable
/**
* @param npc
* @param player
* @param isSimulated
*/
public final void notifyTalk(L2Npc npc, L2PcInstance player, boolean isSimulated)
public final void notifyTalk(L2Npc npc, L2PcInstance player)
{
String res = null;
try
@ -636,7 +635,7 @@ public class Quest extends AbstractScript implements IIdentifiable
}
else
{
res = onTalk(npc, player, isSimulated);
res = onTalk(npc, player);
}
}
catch (Exception e)
@ -1125,19 +1124,6 @@ public class Quest extends AbstractScript implements IIdentifiable
return null;
}
/**
* This function is called whenever a player clicks to the "Quest" link of an NPC that is registered for the quest.<br>
* <font color="red"><b>This method overrides {@link #onTalk(L2Npc, L2PcInstance)}</b></font>
* @param npc this parameter contains a reference to the exact instance of the NPC that the player is talking with.
* @param talker this parameter contains a reference to the exact instance of the player who is talking to the NPC.
* @param isSimulated this parameter contains indication if the call to this onTalk is just to verify if the player has some buisness with this npc or not, no actions should be taken if its true!
* @return the text returned by the event (may be {@code null}, a filename or just text)
*/
public String onTalk(L2Npc npc, L2PcInstance talker, boolean isSimulated)
{
return onTalk(npc, talker);
}
/**
* This function is called whenever a player talks to an NPC that is registered for the quest.<br>
* That is, it is triggered from the very first click on the NPC, not via another dialog.<br>

View File

@ -87,6 +87,10 @@ public class QuestLink implements IBypassHandler
final StringBuilder sbCanStart = new StringBuilder(128);
final StringBuilder sbCantStart = new StringBuilder(128);
final StringBuilder sbCompleted = new StringBuilder(128);
int availableQuestCounter = 0;
int inProgressQuestCounter = 0;
Quest lastSavedAvailableQuest = null;
Quest lastSavedProgressQuest = null;
//@formatter:off
final Set<Quest> startingQuests = npc.getListeners(EventType.ON_NPC_QUEST_START).stream()
@ -123,6 +127,8 @@ public class QuestLink implements IBypassHandler
sbCanStart.append("<button icon=\"quest\" align=\"left\" action=\"bypass -h npc_" + npc.getObjectId() + "_Quest " + quest.getName() + "\">");
sbCanStart.append(quest.isCustomQuest() ? quest.getPath() : "<fstring>" + quest.getNpcStringId() + "01</fstring>");
sbCanStart.append("</button></font>");
availableQuestCounter++;
lastSavedAvailableQuest = quest;
}
else
{
@ -132,16 +138,14 @@ public class QuestLink implements IBypassHandler
sbCantStart.append("</button></font>");
}
}
else if (Quest.getNoQuestMsg(player).equals(quest.onTalk(npc, player, true)))
{
continue;
}
else if (qs.isStarted())
{
sbStarted.append("<font color=\"ffdd66\">");
sbStarted.append("<button icon=\"quest\" align=\"left\" action=\"bypass -h npc_" + npc.getObjectId() + "_Quest " + quest.getName() + "\">");
sbStarted.append(quest.isCustomQuest() ? quest.getPath() + " (In Progress)" : "<fstring>" + quest.getNpcStringId() + "02</fstring>");
sbStarted.append("</button></font>");
inProgressQuestCounter++;
lastSavedProgressQuest = quest;
}
else if (qs.isCompleted())
{
@ -152,6 +156,17 @@ public class QuestLink implements IBypassHandler
}
}
if ((availableQuestCounter == 0) && (inProgressQuestCounter == 1) && (lastSavedProgressQuest != null))
{
showQuestWindow(player, npc, lastSavedProgressQuest.getName());
return;
}
if ((availableQuestCounter == 1) && (inProgressQuestCounter == 0) && (lastSavedAvailableQuest != null))
{
showQuestWindow(player, npc, lastSavedAvailableQuest.getName());
return;
}
String content;
if ((sbStarted.length() > 0) || (sbCanStart.length() > 0) || (sbCantStart.length() > 0) || (sbCompleted.length() > 0))
{
@ -218,7 +233,7 @@ public class QuestLink implements IBypassHandler
}
}
q.notifyTalk(npc, player, false);
q.notifyTalk(npc, player);
}
else
{
@ -249,7 +264,6 @@ public class QuestLink implements IBypassHandler
.filter(Quest.class::isInstance)
.map(Quest.class::cast)
.filter(quest -> (quest.getId() > 0) && (quest.getId() < 20000))
//.filter(quest -> !Quest.getNoQuestMsg(player).equals(quest.onTalk(npc, player, true)))
.distinct()
.collect(Collectors.toSet());
//@formatter:on

View File

@ -289,14 +289,14 @@ public final class EvilIncubator extends AbstractInstance
}
@Override
public String onTalk(L2Npc npc, L2PcInstance player, boolean isSimulated)
public String onTalk(L2Npc npc, L2PcInstance player)
{
String htmltext = getNoQuestMsg(player);
final QuestState st = getQuestState(player);
if ((st == null) || !st.isStarted())
{
return super.onTalk(npc, player, isSimulated);
return super.onTalk(npc, player);
}
if (st.getState() == State.STARTED)

View File

@ -165,7 +165,7 @@ public final class Q00016_TheComingDarkness extends Quest
}
@Override
public String onTalk(L2Npc npc, L2PcInstance player, boolean isSimulated)
public String onTalk(L2Npc npc, L2PcInstance player)
{
String htmltext = getNoQuestMsg(player);
final QuestState qs = getQuestState(player, true);
@ -194,21 +194,15 @@ public final class Q00016_TheComingDarkness extends Quest
}
else
{
if (!isSimulated)
{
qs.exitQuest(true, true);
}
qs.exitQuest(true, true);
htmltext = "31517-06.html";
}
break;
}
else if (qs.isCond(6))
{
if (!isSimulated)
{
addExpAndSp(player, 1_795_524, 79);
qs.exitQuest(false, true);
}
addExpAndSp(player, 1_795_524, 79);
qs.exitQuest(false, true);
htmltext = "31517-05.html";
}
}

View File

@ -146,7 +146,7 @@ public final class Q00017_LightAndDarkness extends Quest
}
@Override
public String onTalk(L2Npc npc, L2PcInstance player, boolean isSimulated)
public String onTalk(L2Npc npc, L2PcInstance player)
{
String htmltext = getNoQuestMsg(player);
final QuestState qs = getQuestState(player, true);
@ -179,21 +179,15 @@ public final class Q00017_LightAndDarkness extends Quest
}
else
{
if (!isSimulated)
{
qs.exitQuest(true, true);
}
qs.exitQuest(true, true);
htmltext = "31517-06.html";
}
break;
}
else if (qs.isCond(5))
{
if (!isSimulated)
{
addExpAndSp(player, 1_469_840, 352);
qs.exitQuest(false, true);
}
addExpAndSp(player, 1_469_840, 352);
qs.exitQuest(false, true);
htmltext = "31517-05.html";
}
}

View File

@ -107,7 +107,7 @@ public final class Q00040_ASpecialOrder extends Quest
}
@Override
public String onTalk(L2Npc npc, L2PcInstance player, boolean isSimulated)
public String onTalk(L2Npc npc, L2PcInstance player)
{
String htmltext = getNoQuestMsg(player);
final QuestState st = getQuestState(player, true);
@ -172,12 +172,9 @@ public final class Q00040_ASpecialOrder extends Quest
{
if (hasQuestItems(player, ELCYUM_CRYSTAL))
{
if (!isSimulated)
{
takeItems(player, ELCYUM_CRYSTAL, 1);
giveItems(player, WONDEROUS_CUBIC, 1);
st.exitQuest(false, true);
}
takeItems(player, ELCYUM_CRYSTAL, 1);
giveItems(player, WONDEROUS_CUBIC, 1);
st.exitQuest(false, true);
htmltext = "30081-08.html";
}
else

View File

@ -228,7 +228,7 @@ public final class Q00453_NotStrongEnoughAlone extends Quest
}
@Override
public String onTalk(L2Npc npc, L2PcInstance player, boolean isSimulated)
public String onTalk(L2Npc npc, L2PcInstance player)
{
String htmltext = getNoQuestMsg(player);
final QuestState st = getQuestState(player, true);
@ -266,83 +266,80 @@ public final class Q00453_NotStrongEnoughAlone extends Quest
}
case 5:
{
if (!isSimulated)
final int random = getRandom(1000);
if (random < 34)
{
final int random = getRandom(1000);
if (random < 34)
{
giveItems(player, 34861, 1); // Ingredient and Hardener Pouch (R-grade)
}
else if (random < 52)
{
giveItems(player, 34861, 2); // Ingredient and Hardener Pouch (R-grade)
}
else if (random < 64)
{
giveItems(player, 34861, 3); // Ingredient and Hardener Pouch (R-grade)
}
else if (random < 73)
{
giveItems(player, 34861, 4); // Ingredient and Hardener Pouch (R-grade)
}
else if (random < 77)
{
giveItems(player, 17526, 1); // Scroll: Enchant Weapon (R-grade)
}
else if (random < 124)
{
giveItems(player, 17527, 1); // Scroll: Enchant Armor (R-grade)
}
else if (random < 153)
{
giveItems(player, 9552, 1); // Fire Crystal
}
else if (random < 182)
{
giveItems(player, 9553, 1); // Water Crystal
}
else if (random < 211)
{
giveItems(player, 9554, 1); // Earth Crystal
}
else if (random < 240)
{
giveItems(player, 9555, 1); // Wind Crystal
}
else if (random < 269)
{
giveItems(player, 9556, 1); // Dark Crystal
}
else if (random < 298)
{
giveItems(player, 9557, 1); // Holy Crystal
}
else if (random < 415)
{
giveItems(player, 9546, 1); // Fire Stone
}
else if (random < 532)
{
giveItems(player, 9547, 1); // Water Stone
}
else if (random < 649)
{
giveItems(player, 9548, 1); // Earth Stone
}
else if (random < 766)
{
giveItems(player, 9549, 1); // Wind Stone
}
else if (random < 883)
{
giveItems(player, 9550, 1); // Dark Stone
}
else if (random < 1000)
{
giveItems(player, 9551, 1); // Holy Stone
}
st.exitQuest(QuestType.DAILY, true);
giveItems(player, 34861, 1); // Ingredient and Hardener Pouch (R-grade)
}
else if (random < 52)
{
giveItems(player, 34861, 2); // Ingredient and Hardener Pouch (R-grade)
}
else if (random < 64)
{
giveItems(player, 34861, 3); // Ingredient and Hardener Pouch (R-grade)
}
else if (random < 73)
{
giveItems(player, 34861, 4); // Ingredient and Hardener Pouch (R-grade)
}
else if (random < 77)
{
giveItems(player, 17526, 1); // Scroll: Enchant Weapon (R-grade)
}
else if (random < 124)
{
giveItems(player, 17527, 1); // Scroll: Enchant Armor (R-grade)
}
else if (random < 153)
{
giveItems(player, 9552, 1); // Fire Crystal
}
else if (random < 182)
{
giveItems(player, 9553, 1); // Water Crystal
}
else if (random < 211)
{
giveItems(player, 9554, 1); // Earth Crystal
}
else if (random < 240)
{
giveItems(player, 9555, 1); // Wind Crystal
}
else if (random < 269)
{
giveItems(player, 9556, 1); // Dark Crystal
}
else if (random < 298)
{
giveItems(player, 9557, 1); // Holy Crystal
}
else if (random < 415)
{
giveItems(player, 9546, 1); // Fire Stone
}
else if (random < 532)
{
giveItems(player, 9547, 1); // Water Stone
}
else if (random < 649)
{
giveItems(player, 9548, 1); // Earth Stone
}
else if (random < 766)
{
giveItems(player, 9549, 1); // Wind Stone
}
else if (random < 883)
{
giveItems(player, 9550, 1); // Dark Stone
}
else if (random < 1000)
{
giveItems(player, 9551, 1); // Holy Stone
}
st.exitQuest(QuestType.DAILY, true);
htmltext = "32734-14.html";
break;
}

View File

@ -101,7 +101,7 @@ public final class Q00470_DivinityProtector extends Quest
}
@Override
public String onTalk(L2Npc npc, L2PcInstance player, boolean isSimulated)
public String onTalk(L2Npc npc, L2PcInstance player)
{
String htmltext = getNoQuestMsg(player);
final QuestState st = getQuestState(player, true);
@ -130,14 +130,11 @@ public final class Q00470_DivinityProtector extends Quest
}
else if (npc.getId() == AGRIPEL)
{
if (!isSimulated)
st.exitQuest(QuestType.DAILY, true);
giveAdena(player, 194_000, true);
if (player.getLevel() >= MIN_LEVEL)
{
st.exitQuest(QuestType.DAILY, true);
giveAdena(player, 194_000, true);
if (player.getLevel() >= MIN_LEVEL)
{
addExpAndSp(player, 1_879_400, 451);
}
addExpAndSp(player, 1_879_400, 451);
}
htmltext = "31348-02.html";
}
@ -148,10 +145,7 @@ public final class Q00470_DivinityProtector extends Quest
{
if ((npc.getId() == ADVENTURER) && st.isNowAvailable())
{
if (!isSimulated)
{
st.setState(State.CREATED);
}
st.setState(State.CREATED);
htmltext = "32327-01.htm";
}
break;

View File

@ -84,7 +84,7 @@ public final class Q00474_WaitingForTheSummer extends Quest
}
@Override
public String onTalk(L2Npc npc, L2PcInstance player, boolean isSimulated)
public String onTalk(L2Npc npc, L2PcInstance player)
{
final QuestState qs = getQuestState(player, true);
String htmltext = getNoQuestMsg(player);
@ -111,15 +111,12 @@ public final class Q00474_WaitingForTheSummer extends Quest
}
else if (qs.isStarted() && qs.isCond(2))
{
if (!isSimulated)
giveAdena(player, 194000, true);
if (player.getLevel() >= MIN_LEVEL)
{
giveAdena(player, 194000, true);
if (player.getLevel() >= MIN_LEVEL)
{
addExpAndSp(player, 1879400, 451);
}
qs.exitQuest(QuestType.DAILY, true);
addExpAndSp(player, 1879400, 451);
}
qs.exitQuest(QuestType.DAILY, true);
htmltext = "31981-01.html";
}
else if (qs.isCompleted() && !qs.isNowAvailable())

View File

@ -108,7 +108,7 @@ public final class Q00476_PlainMission extends Quest
}
@Override
public String onTalk(L2Npc npc, L2PcInstance player, boolean isSimulated)
public String onTalk(L2Npc npc, L2PcInstance player)
{
String htmltext = getNoQuestMsg(player);
final QuestState st = getQuestState(player, true);
@ -137,14 +137,11 @@ public final class Q00476_PlainMission extends Quest
}
else if (npc.getId() == ANDREI)
{
if (!isSimulated)
st.exitQuest(QuestType.DAILY, true);
giveAdena(player, 142_200, true);
if (player.getLevel() >= MIN_LEVEL)
{
st.exitQuest(QuestType.DAILY, true);
giveAdena(player, 142_200, true);
if (player.getLevel() >= MIN_LEVEL)
{
addExpAndSp(player, 4_685_175, 1_124);
}
addExpAndSp(player, 4_685_175, 1_124);
}
htmltext = "31292-01.html";
}
@ -155,10 +152,7 @@ public final class Q00476_PlainMission extends Quest
{
if ((npc.getId() == ADVENTURER) && st.isNowAvailable())
{
if (!isSimulated)
{
st.setState(State.CREATED);
}
st.setState(State.CREATED);
htmltext = "32327-01.htm";
}
else if ((npc.getId() == ANDREI) && st.isCompleted() && !st.isNowAvailable())

View File

@ -91,7 +91,7 @@ public final class Q00485_HotSpringWater extends Quest
}
@Override
public String onTalk(L2Npc npc, L2PcInstance player, boolean isSimulated)
public String onTalk(L2Npc npc, L2PcInstance player)
{
String htmltext = getNoQuestMsg(player);
final QuestState st = getQuestState(player, true);
@ -120,14 +120,11 @@ public final class Q00485_HotSpringWater extends Quest
}
else if (npc.getId() == WALDERAL)
{
if (!isSimulated)
st.exitQuest(QuestType.DAILY, true);
giveAdena(player, 371_745, true);
if (player.getLevel() >= MIN_LEVEL)
{
st.exitQuest(QuestType.DAILY, true);
giveAdena(player, 371_745, true);
if (player.getLevel() >= MIN_LEVEL)
{
addExpAndSp(player, 9_483_000, 2_275);
}
addExpAndSp(player, 9_483_000, 2_275);
}
htmltext = "30844-02.html";
}
@ -138,10 +135,7 @@ public final class Q00485_HotSpringWater extends Quest
{
if ((npc.getId() == ADVENTURER) && st.isNowAvailable())
{
if (!isSimulated)
{
st.setState(State.CREATED);
}
st.setState(State.CREATED);
htmltext = "32327-01.html";
}
else if ((npc.getId() == WALDERAL) && st.isCompleted() && !st.isNowAvailable())

View File

@ -90,7 +90,7 @@ public final class Q00488_WondersOfCaring extends Quest
}
@Override
public String onTalk(L2Npc npc, L2PcInstance player, boolean isSimulated)
public String onTalk(L2Npc npc, L2PcInstance player)
{
String htmltext = getNoQuestMsg(player);
final QuestState st = getQuestState(player, true);
@ -119,14 +119,11 @@ public final class Q00488_WondersOfCaring extends Quest
}
else if (npc.getId() == DOLPHREN)
{
if (!isSimulated)
st.exitQuest(QuestType.DAILY, true);
giveAdena(player, 490_545, true);
if (player.getLevel() >= MIN_LEVEL)
{
st.exitQuest(QuestType.DAILY, true);
giveAdena(player, 490_545, true);
if (player.getLevel() >= MIN_LEVEL)
{
addExpAndSp(player, 22_901_550, 5_496);
}
addExpAndSp(player, 22_901_550, 5_496);
}
htmltext = "32880-02.html";
}
@ -137,10 +134,7 @@ public final class Q00488_WondersOfCaring extends Quest
{
if ((npc.getId() == ADVENTURER) && st.isNowAvailable())
{
if (!isSimulated)
{
st.setState(State.CREATED);
}
st.setState(State.CREATED);
htmltext = "32327-01.htm";
}
else if ((npc.getId() == DOLPHREN) && st.isCompleted() && !st.isNowAvailable())

View File

@ -87,7 +87,7 @@ public final class Q00489_InThisQuietPlace extends Quest
}
@Override
public String onTalk(L2Npc npc, L2PcInstance player, boolean isSimulated)
public String onTalk(L2Npc npc, L2PcInstance player)
{
String htmltext = getNoQuestMsg(player);
final QuestState st = getQuestState(player, true);
@ -116,14 +116,11 @@ public final class Q00489_InThisQuietPlace extends Quest
}
else if (npc.getId() == BESTIAN)
{
if (!isSimulated)
st.exitQuest(QuestType.DAILY, true);
giveAdena(player, 426_045, true);
if (player.getLevel() >= MIN_LEVEL)
{
st.exitQuest(QuestType.DAILY, true);
giveAdena(player, 426_045, true);
if (player.getLevel() >= MIN_LEVEL)
{
addExpAndSp(player, 19_890_000, 4_773);
}
addExpAndSp(player, 19_890_000, 4_773);
}
htmltext = "32180-02.html";
}
@ -134,10 +131,7 @@ public final class Q00489_InThisQuietPlace extends Quest
{
if ((npc.getId() == ADVENTURER) && st.isNowAvailable())
{
if (!isSimulated)
{
st.setState(State.CREATED);
}
st.setState(State.CREATED);
htmltext = "32327-01.htm";
}
else if ((npc.getId() == BESTIAN) && st.isCompleted() && !st.isNowAvailable())

View File

@ -101,7 +101,7 @@ public final class Q00511_AwlUnderFoot extends Quest
}
@Override
public String onTalk(L2Npc npc, L2PcInstance player, boolean isSimulated)
public String onTalk(L2Npc npc, L2PcInstance player)
{
final QuestState qs = getQuestState(player, true);
String htmltext = getNoQuestMsg(player);
@ -121,11 +121,8 @@ public final class Q00511_AwlUnderFoot extends Quest
}
else
{
if (!isSimulated)
{
takeItems(player, MARK, itemCount);
giveItems(player, KNIGHT_EPALUETTE, itemCount * 2);
}
takeItems(player, MARK, itemCount);
giveItems(player, KNIGHT_EPALUETTE, itemCount * 2);
htmltext = "Warden-08.html";
}
}

View File

@ -96,7 +96,7 @@ public final class Q00512_BladeUnderFoot extends Quest
}
@Override
public String onTalk(L2Npc npc, L2PcInstance player, boolean isSimulated)
public String onTalk(L2Npc npc, L2PcInstance player)
{
final QuestState qs = getQuestState(player, true);
String htmltext = getNoQuestMsg(player);
@ -116,11 +116,8 @@ public final class Q00512_BladeUnderFoot extends Quest
}
else
{
if (!isSimulated)
{
takeItems(player, MARK, itemCount);
giveItems(player, KNIGHT_EPALUETTE, itemCount * 2);
}
takeItems(player, MARK, itemCount);
giveItems(player, KNIGHT_EPALUETTE, itemCount * 2);
htmltext = "Warden-08.html";
}
}

View File

@ -99,7 +99,7 @@ public final class Q00726_LightWithinTheDarkness extends Quest
}
@Override
public String onTalk(L2Npc npc, L2PcInstance player, boolean isSimulated)
public String onTalk(L2Npc npc, L2PcInstance player)
{
final QuestState qs = getQuestState(player, true);
String htmltext = getNoQuestMsg(player);

View File

@ -87,7 +87,7 @@ public final class Q00727_HopeWithinTheDarkness extends Quest
}
@Override
public String onTalk(L2Npc npc, L2PcInstance player, boolean isSimulated)
public String onTalk(L2Npc npc, L2PcInstance player)
{
final QuestState qs = getQuestState(player, true);
String htmltext = getNoQuestMsg(player);

View File

@ -92,7 +92,7 @@ public final class Q00760_BlockTheExit extends Quest
}
@Override
public String onTalk(L2Npc npc, L2PcInstance player, boolean isSimulated)
public String onTalk(L2Npc npc, L2PcInstance player)
{
final QuestState st = getQuestState(player, true);
String htmltext = null;

View File

@ -140,7 +140,7 @@ public final class Q00761_AssistingTheGoldenRamArmy extends Quest
}
@Override
public String onTalk(L2Npc npc, L2PcInstance player, boolean isSimulated)
public String onTalk(L2Npc npc, L2PcInstance player)
{
final QuestState st = getQuestState(player, true);
String htmltext = null;
@ -165,10 +165,7 @@ public final class Q00761_AssistingTheGoldenRamArmy extends Quest
}
else
{
if (!isSimulated)
{
st.setState(State.CREATED);
}
st.setState(State.CREATED);
htmltext = "31553-01.htm";
}
break;

View File

@ -169,7 +169,7 @@ public final class Q00762_AnOminousRequest extends Quest
}
@Override
public String onTalk(L2Npc npc, L2PcInstance player, boolean isSimulated)
public String onTalk(L2Npc npc, L2PcInstance player)
{
final QuestState st = getQuestState(player, true);
String htmltext = null;
@ -194,10 +194,7 @@ public final class Q00762_AnOminousRequest extends Quest
}
else
{
if (!isSimulated)
{
st.setState(State.CREATED);
}
st.setState(State.CREATED);
htmltext = "31522-01.htm";
}
break;

View File

@ -146,7 +146,7 @@ public final class Q00763_ADauntingTask extends Quest
}
@Override
public String onTalk(L2Npc npc, L2PcInstance player, boolean isSimulated)
public String onTalk(L2Npc npc, L2PcInstance player)
{
final QuestState st = getQuestState(player, true);
String htmltext = null;
@ -171,10 +171,7 @@ public final class Q00763_ADauntingTask extends Quest
}
else
{
if (!isSimulated)
{
st.setState(State.CREATED);
}
st.setState(State.CREATED);
htmltext = "33851-01.htm";
}
break;

View File

@ -97,7 +97,7 @@ public final class Q10336_DividedSakumKanilov extends Quest
}
@Override
public String onTalk(L2Npc npc, L2PcInstance player, boolean isSimulated)
public String onTalk(L2Npc npc, L2PcInstance player)
{
String htmltext = getNoQuestMsg(player);
final QuestState st = getQuestState(player, true);
@ -122,11 +122,8 @@ public final class Q10336_DividedSakumKanilov extends Quest
{
if (npc.getId() == ZENATH)
{
if (!isSimulated)
{
st.setCond(3);
giveItems(player, SAKUM_SKETCH, 1);
}
st.setCond(3);
giveItems(player, SAKUM_SKETCH, 1);
htmltext = "33509-05.html";
}
else

View File

@ -106,7 +106,7 @@ public final class Q10339_FightingTheForgotten extends Quest
}
@Override
public String onTalk(L2Npc npc, L2PcInstance player, boolean isSimulated)
public String onTalk(L2Npc npc, L2PcInstance player)
{
final QuestState st = getQuestState(player, true);
String htmltext = null;
@ -142,12 +142,9 @@ public final class Q10339_FightingTheForgotten extends Quest
break;
case 3:
{
if (!isSimulated)
{
st.exitQuest(false, true);
giveAdena(player, 528_210, true);
addExpAndSp(player, 238_423_500, 57_221);
}
st.exitQuest(false, true);
giveAdena(player, 528_210, true);
addExpAndSp(player, 238_423_500, 57_221);
htmltext = "33344-03.html";
break;
}

View File

@ -83,7 +83,7 @@ public final class Q10341_DayOfDestinyHumansFate extends ThirdClassTransferQuest
}
@Override
public String onTalk(L2Npc npc, L2PcInstance player, boolean isSimulated)
public String onTalk(L2Npc npc, L2PcInstance player)
{
String htmltext = getNoQuestMsg(player);
final QuestState qs = getQuestState(player, true);
@ -106,6 +106,6 @@ public final class Q10341_DayOfDestinyHumansFate extends ThirdClassTransferQuest
}
}
}
return (!htmltext.equals(getNoQuestMsg(player)) ? htmltext : super.onTalk(npc, player, isSimulated));
return (!htmltext.equals(getNoQuestMsg(player)) ? htmltext : super.onTalk(npc, player));
}
}

View File

@ -83,7 +83,7 @@ public final class Q10342_DayOfDestinyElvenFate extends ThirdClassTransferQuest
}
@Override
public String onTalk(L2Npc npc, L2PcInstance player, boolean isSimulated)
public String onTalk(L2Npc npc, L2PcInstance player)
{
String htmltext = getNoQuestMsg(player);
final QuestState qs = getQuestState(player, true);
@ -106,6 +106,6 @@ public final class Q10342_DayOfDestinyElvenFate extends ThirdClassTransferQuest
}
}
}
return (!htmltext.equals(getNoQuestMsg(player)) ? htmltext : super.onTalk(npc, player, isSimulated));
return (!htmltext.equals(getNoQuestMsg(player)) ? htmltext : super.onTalk(npc, player));
}
}

View File

@ -83,7 +83,7 @@ public final class Q10343_DayOfDestinyDarkElfsFate extends ThirdClassTransferQue
}
@Override
public String onTalk(L2Npc npc, L2PcInstance player, boolean isSimulated)
public String onTalk(L2Npc npc, L2PcInstance player)
{
String htmltext = getNoQuestMsg(player);
final QuestState qs = getQuestState(player, true);
@ -106,6 +106,6 @@ public final class Q10343_DayOfDestinyDarkElfsFate extends ThirdClassTransferQue
}
}
}
return (!htmltext.equals(getNoQuestMsg(player)) ? htmltext : super.onTalk(npc, player, isSimulated));
return (!htmltext.equals(getNoQuestMsg(player)) ? htmltext : super.onTalk(npc, player));
}
}

View File

@ -83,7 +83,7 @@ public final class Q10344_DayOfDestinyOrcsFate extends ThirdClassTransferQuest
}
@Override
public String onTalk(L2Npc npc, L2PcInstance player, boolean isSimulated)
public String onTalk(L2Npc npc, L2PcInstance player)
{
String htmltext = getNoQuestMsg(player);
final QuestState qs = getQuestState(player, true);
@ -106,6 +106,6 @@ public final class Q10344_DayOfDestinyOrcsFate extends ThirdClassTransferQuest
}
}
}
return (!htmltext.equals(getNoQuestMsg(player)) ? htmltext : super.onTalk(npc, player, isSimulated));
return (!htmltext.equals(getNoQuestMsg(player)) ? htmltext : super.onTalk(npc, player));
}
}

View File

@ -83,7 +83,7 @@ public final class Q10345_DayOfDestinyDwarfsFate extends ThirdClassTransferQuest
}
@Override
public String onTalk(L2Npc npc, L2PcInstance player, boolean isSimulated)
public String onTalk(L2Npc npc, L2PcInstance player)
{
String htmltext = getNoQuestMsg(player);
final QuestState qs = getQuestState(player, true);
@ -106,6 +106,6 @@ public final class Q10345_DayOfDestinyDwarfsFate extends ThirdClassTransferQuest
}
}
}
return (!htmltext.equals(getNoQuestMsg(player)) ? htmltext : super.onTalk(npc, player, isSimulated));
return (!htmltext.equals(getNoQuestMsg(player)) ? htmltext : super.onTalk(npc, player));
}
}

View File

@ -83,7 +83,7 @@ public final class Q10346_DayOfDestinyKamaelsFate extends ThirdClassTransferQues
}
@Override
public String onTalk(L2Npc npc, L2PcInstance player, boolean isSimulated)
public String onTalk(L2Npc npc, L2PcInstance player)
{
String htmltext = getNoQuestMsg(player);
final QuestState qs = getQuestState(player, true);
@ -106,6 +106,6 @@ public final class Q10346_DayOfDestinyKamaelsFate extends ThirdClassTransferQues
}
}
}
return (!htmltext.equals(getNoQuestMsg(player)) ? htmltext : super.onTalk(npc, player, isSimulated));
return (!htmltext.equals(getNoQuestMsg(player)) ? htmltext : super.onTalk(npc, player));
}
}

View File

@ -98,7 +98,7 @@ public final class Q10358_DividedSakumPoslof extends Quest
}
@Override
public String onTalk(L2Npc npc, L2PcInstance player, boolean isSimulated)
public String onTalk(L2Npc npc, L2PcInstance player)
{
String htmltext = getNoQuestMsg(player);
final QuestState st = getQuestState(player, true);
@ -123,11 +123,8 @@ public final class Q10358_DividedSakumPoslof extends Quest
{
if (npc.getId() == LEF)
{
if (!isSimulated)
{
st.setCond(3);
giveItems(player, SAKUM_SKETCH, 1);
}
st.setCond(3);
giveItems(player, SAKUM_SKETCH, 1);
htmltext = "33510-05.html";
}
else if (npc.getId() == ADVENTURER_GUIDE)

View File

@ -134,7 +134,7 @@ public final class Q10359_TracesOfEvil extends Quest
}
@Override
public String onTalk(L2Npc npc, L2PcInstance player, boolean isSimulated)
public String onTalk(L2Npc npc, L2PcInstance player)
{
String htmltext = getNoQuestMsg(player);
final QuestState st = getQuestState(player, true);
@ -177,54 +177,32 @@ public final class Q10359_TracesOfEvil extends Quest
switch (player.getRace())
{
case HUMAN:
if (!isSimulated)
{
st.setCond(player.isMageClass() ? 4 : 5);
}
st.setCond(player.isMageClass() ? 4 : 5);
htmltext = player.isMageClass() ? "33179-06.htm" : "33179-11.htm";
break;
case DARK_ELF:
if (!isSimulated)
{
st.setCond(6);
}
st.setCond(6);
htmltext = "33179-05.htm";
break;
case ORC:
if (!isSimulated)
{
st.setCond(7);
}
st.setCond(7);
htmltext = "33179-07.htm";
break;
case DWARF:
if (!isSimulated)
{
st.setCond(8);
}
st.setCond(8);
htmltext = "33179-08.htm";
break;
case KAMAEL:
if (!isSimulated)
{
st.setCond(9);
}
st.setCond(9);
htmltext = "33179-09.htm";
break;
case ELF:
if (!isSimulated)
{
st.setCond(player.isMageClass() ? 11 : 10);
}
st.setCond(player.isMageClass() ? 11 : 10);
htmltext = player.isMageClass() ? "33179-12.htm" : "33179-10.htm";
break;
}
if (!isSimulated)
{
takeItems(player, FRAGMENT, 20);
playSound(player, QuestSound.ITEMSOUND_QUEST_MIDDLE);
}
takeItems(player, FRAGMENT, 20);
playSound(player, QuestSound.ITEMSOUND_QUEST_MIDDLE);
break;
}
}

View File

@ -147,7 +147,7 @@ public final class Q10362_CertificationOfTheSeeker extends Quest
}
@Override
public String onTalk(L2Npc npc, L2PcInstance player, boolean isSimulated)
public String onTalk(L2Npc npc, L2PcInstance player)
{
final QuestState qs = getQuestState(player, true);
String htmltext = null;

View File

@ -265,7 +265,7 @@ public final class Q10369_NoblesseSoulTesting extends Quest
}
@Override
public String onTalk(L2Npc npc, L2PcInstance player, boolean isSimulated)
public String onTalk(L2Npc npc, L2PcInstance player)
{
String htmltext = getNoQuestMsg(player);
final QuestState qs = getQuestState(player, true);
@ -306,13 +306,10 @@ public final class Q10369_NoblesseSoulTesting extends Quest
htmltext = "31281-10.html";
break;
case 14:
if (!isSimulated)
final Quest instance = QuestManager.getInstance().getQuest(EvasHiddenSpace.class.getSimpleName());
if (instance != null)
{
final Quest instance = QuestManager.getInstance().getQuest(EvasHiddenSpace.class.getSimpleName());
if (instance != null)
{
instance.onAdvEvent("enterInstance", npc, player);
}
instance.onAdvEvent("enterInstance", npc, player);
}
htmltext = null;
break;
@ -339,19 +336,16 @@ public final class Q10369_NoblesseSoulTesting extends Quest
htmltext = "33686-06.html";
break;
case 18:
if (!isSimulated)
{
player.doCast(NOBLESSE_PRESENTATION.getSkill());
showOnScreenMsg(player, NpcStringId.CONGRATULATIONS_YOU_ARE_NOW_A_NOBLESSE, ExShowScreenMessage.TOP_CENTER, 5000);
player.setNoble(true);
player.broadcastUserInfo();
giveItems(player, DIMENSIONAL_DIAMOND, 10);
giveItems(player, NOBLESSE_TIARA, 1);
takeItems(player, ASHES_OF_REMNANTS, -1);
giveItems(player, STEEL_COIN, 87);
addExpAndSp(player, 12_625_440, 0);
qs.exitQuest(false, true);
}
player.doCast(NOBLESSE_PRESENTATION.getSkill());
showOnScreenMsg(player, NpcStringId.CONGRATULATIONS_YOU_ARE_NOW_A_NOBLESSE, ExShowScreenMessage.TOP_CENTER, 5000);
player.setNoble(true);
player.broadcastUserInfo();
giveItems(player, DIMENSIONAL_DIAMOND, 10);
giveItems(player, NOBLESSE_TIARA, 1);
takeItems(player, ASHES_OF_REMNANTS, -1);
giveItems(player, STEEL_COIN, 87);
addExpAndSp(player, 12_625_440, 0);
qs.exitQuest(false, true);
htmltext = "33686-07.html";
break;
}
@ -380,13 +374,10 @@ public final class Q10369_NoblesseSoulTesting extends Quest
htmltext = "33696-10.html";
break;
case 13:
if (!isSimulated)
{
qs.setCond(14, true);
takeItems(player, HARD_FOSSIL_CONTAINING_WATER_ENERGY, -1);
giveItems(player, SACK_CONTAINING_INGREDIENTS, 1);
giveItems(player, SOE_SECRET_ROOM, 1);
}
qs.setCond(14, true);
takeItems(player, HARD_FOSSIL_CONTAINING_WATER_ENERGY, -1);
giveItems(player, SACK_CONTAINING_INGREDIENTS, 1);
giveItems(player, SOE_SECRET_ROOM, 1);
htmltext = "33696-11.html";
break;
}

View File

@ -426,7 +426,7 @@ public final class Q10385_RedThreadOfFate extends Quest
}
@Override
public String onTalk(L2Npc npc, L2PcInstance player, boolean isSimulated)
public String onTalk(L2Npc npc, L2PcInstance player)
{
String htmltext = getNoQuestMsg(player);
final QuestState qs = getQuestState(player, true);

View File

@ -112,7 +112,7 @@ public final class Q10386_MysteriousJourney extends Quest
}
@Override
public String onTalk(L2Npc npc, L2PcInstance player, boolean isSimulated)
public String onTalk(L2Npc npc, L2PcInstance player)
{
String htmltext = getNoQuestMsg(player);
final QuestState st = getQuestState(player, true);
@ -151,16 +151,13 @@ public final class Q10386_MysteriousJourney extends Quest
break;
case 4:
{
if (!isSimulated)
giveAdena(player, 58_707, true);
giveItems(player, EWR, 1);
if (player.getLevel() >= MIN_LEVEL)
{
giveAdena(player, 58_707, true);
giveItems(player, EWR, 1);
if (player.getLevel() >= MIN_LEVEL)
{
addExpAndSp(player, 27_244_350, 6_538);
}
st.exitQuest(false, true);
addExpAndSp(player, 27_244_350, 6_538);
}
st.exitQuest(false, true);
htmltext = "33780-06.html";
break;
}

View File

@ -140,7 +140,7 @@ public final class Q10387_SoullessOne extends Quest
}
@Override
public String onTalk(L2Npc npc, L2PcInstance player, boolean isSimulated)
public String onTalk(L2Npc npc, L2PcInstance player)
{
String htmltext = getNoQuestMsg(player);
final QuestState st = getQuestState(player, true);

View File

@ -93,7 +93,7 @@ public final class Q10409_ASuspiciousVagabondInTheSwamp extends Quest
}
@Override
public String onTalk(L2Npc npc, L2PcInstance player, boolean isSimulated)
public String onTalk(L2Npc npc, L2PcInstance player)
{
final QuestState st = getQuestState(player, true);
String htmltext = null;
@ -116,10 +116,7 @@ public final class Q10409_ASuspiciousVagabondInTheSwamp extends Quest
}
else if ((npc.getId() == VAGABOND) && st.isCond(1))
{
if (!isSimulated)
{
st.setCond(2, true);
}
st.setCond(2, true);
htmltext = "33848-01.html";
}
break;

View File

@ -93,7 +93,7 @@ public final class Q10412_ASuspiciousVagabondInTheForest extends Quest
}
@Override
public String onTalk(L2Npc npc, L2PcInstance player, boolean isSimulated)
public String onTalk(L2Npc npc, L2PcInstance player)
{
final QuestState st = getQuestState(player, true);
String htmltext = null;
@ -116,10 +116,7 @@ public final class Q10412_ASuspiciousVagabondInTheForest extends Quest
}
else if ((npc.getId() == VAGABOND) && st.isCond(1))
{
if (!isSimulated)
{
st.setCond(2, true);
}
st.setCond(2, true);
htmltext = "33850-01.html";
}
break;

View File

@ -122,7 +122,7 @@ public final class Q10542_SearchingForNewPower extends Quest
}
@Override
public String onTalk(L2Npc npc, L2PcInstance player, boolean isSimulated)
public String onTalk(L2Npc npc, L2PcInstance player)
{
String htmltext = getNoQuestMsg(player);
final QuestState qs = getQuestState(player, true);
@ -168,57 +168,54 @@ public final class Q10542_SearchingForNewPower extends Quest
if (qs.isCond(2))
{
htmltext = "33004-01.html";
if (!isSimulated)
qs.setCond(3, true);
player.sendPacket(new TutorialShowHtml(npc.getObjectId(), "..\\L2text\\QT_004_skill_01.htm", TutorialShowHtml.LARGE_WINDOW));
htmltext = "33004-01.html";
NpcStringId npcStringId = null;
switch (player.getClassId())
{
qs.setCond(3, true);
player.sendPacket(new TutorialShowHtml(npc.getObjectId(), "..\\L2text\\QT_004_skill_01.htm", TutorialShowHtml.LARGE_WINDOW));
htmltext = "33004-01.html";
NpcStringId npcStringId = null;
switch (player.getClassId())
case FIGHTER:
case ELVEN_FIGHTER:
case DARK_FIGHTER:
{
case FIGHTER:
case ELVEN_FIGHTER:
case DARK_FIGHTER:
{
npcStringId = NpcStringId.PREPARE_TO_USE_THE_SKILL_POWER_STRIKE_OR_MORTAL_BLOW;
break;
}
case MAGE:
case ELVEN_MAGE:
case DARK_MAGE:
{
npcStringId = NpcStringId.PREPARE_TO_USE_THE_SKILL_WIND_STRIKE;
break;
}
case ORC_FIGHTER:
{
npcStringId = NpcStringId.PREPARE_TO_USE_THE_SKILL_POWER_STRIKE_OR_IRON_PUNCH;
break;
}
case ORC_MAGE:
{
npcStringId = NpcStringId.PREPARE_TO_USE_THE_SKILL_CHILL_FLAME;
break;
}
case DWARVEN_FIGHTER:
{
npcStringId = NpcStringId.PREPARE_TO_USE_THE_SKILL_SPOIL;
break;
}
case MALE_SOLDIER:
case FEMALE_SOLDIER:
{
npcStringId = NpcStringId.PREPARE_TO_USE_THE_SKILL_FALLEN_ATTACK_OR_FALLEN_ARROW;
break;
}
default:
break;
npcStringId = NpcStringId.PREPARE_TO_USE_THE_SKILL_POWER_STRIKE_OR_MORTAL_BLOW;
break;
}
if (npcStringId != null)
case MAGE:
case ELVEN_MAGE:
case DARK_MAGE:
{
showOnScreenMsg(player, npcStringId, ExShowScreenMessage.TOP_CENTER, 4500);
npcStringId = NpcStringId.PREPARE_TO_USE_THE_SKILL_WIND_STRIKE;
break;
}
case ORC_FIGHTER:
{
npcStringId = NpcStringId.PREPARE_TO_USE_THE_SKILL_POWER_STRIKE_OR_IRON_PUNCH;
break;
}
case ORC_MAGE:
{
npcStringId = NpcStringId.PREPARE_TO_USE_THE_SKILL_CHILL_FLAME;
break;
}
case DWARVEN_FIGHTER:
{
npcStringId = NpcStringId.PREPARE_TO_USE_THE_SKILL_SPOIL;
break;
}
case MALE_SOLDIER:
case FEMALE_SOLDIER:
{
npcStringId = NpcStringId.PREPARE_TO_USE_THE_SKILL_FALLEN_ATTACK_OR_FALLEN_ARROW;
break;
}
default:
break;
}
if (npcStringId != null)
{
showOnScreenMsg(player, npcStringId, ExShowScreenMessage.TOP_CENTER, 4500);
}
}
else if (qs.isCond(5))

View File

@ -114,7 +114,7 @@ public final class Q10734_DoOrDie extends Quest
}
@Override
public String onTalk(L2Npc npc, L2PcInstance player, boolean isSimulated)
public String onTalk(L2Npc npc, L2PcInstance player)
{
final QuestState qs = getQuestState(player, true);
String htmltext = getNoQuestMsg(player);
@ -136,40 +136,28 @@ public final class Q10734_DoOrDie extends Quest
{
case 1:
{
if (!isSimulated)
{
showOnScreenMsg(player, NpcStringId.ATTACK_THE_TRAINING_DUMMY, ExShowScreenMessage.TOP_CENTER, 10000);
}
showOnScreenMsg(player, NpcStringId.ATTACK_THE_TRAINING_DUMMY, ExShowScreenMessage.TOP_CENTER, 10000);
htmltext = "33943-04.html";
break;
}
case 3:
{
if (!isSimulated)
{
showOnScreenMsg(player, NpcStringId.TALK_TO_THE_APPRENTICE_ADVENTURER_S_GUIDE, ExShowScreenMessage.TOP_CENTER, 10000);
qs.setCond(5, true);
}
showOnScreenMsg(player, NpcStringId.TALK_TO_THE_APPRENTICE_ADVENTURER_S_GUIDE, ExShowScreenMessage.TOP_CENTER, 10000);
qs.setCond(5, true);
htmltext = "33943-05.html";
break;
}
case 5:
{
if (!isSimulated)
{
showOnScreenMsg(player, NpcStringId.TALK_TO_THE_APPRENTICE_ADVENTURER_S_GUIDE, ExShowScreenMessage.TOP_CENTER, 10000);
}
showOnScreenMsg(player, NpcStringId.TALK_TO_THE_APPRENTICE_ADVENTURER_S_GUIDE, ExShowScreenMessage.TOP_CENTER, 10000);
htmltext = "33943-06.html";
break;
}
case 8:
{
if (!isSimulated)
{
giveAdena(player, 7000, true);
addExpAndSp(player, 805, 2);
qs.exitQuest(false, true);
}
giveAdena(player, 7000, true);
addExpAndSp(player, 805, 2);
qs.exitQuest(false, true);
htmltext = "33943-07.html";
break;
}
@ -198,40 +186,28 @@ public final class Q10734_DoOrDie extends Quest
{
case 1:
{
if (!isSimulated)
{
showOnScreenMsg(player, NpcStringId.ATTACK_THE_TRAINING_DUMMY, ExShowScreenMessage.TOP_CENTER, 10000);
}
showOnScreenMsg(player, NpcStringId.ATTACK_THE_TRAINING_DUMMY, ExShowScreenMessage.TOP_CENTER, 10000);
htmltext = "33942-04.html";
break;
}
case 2:
{
if (!isSimulated)
{
showOnScreenMsg(player, NpcStringId.TALK_TO_THE_APPRENTICE_ADVENTURER_S_GUIDE, ExShowScreenMessage.TOP_CENTER, 10000);
qs.setCond(4, true);
}
showOnScreenMsg(player, NpcStringId.TALK_TO_THE_APPRENTICE_ADVENTURER_S_GUIDE, ExShowScreenMessage.TOP_CENTER, 10000);
qs.setCond(4, true);
htmltext = "33942-05.html";
break;
}
case 4:
{
if (!isSimulated)
{
showOnScreenMsg(player, NpcStringId.TALK_TO_THE_APPRENTICE_ADVENTURER_S_GUIDE, ExShowScreenMessage.TOP_CENTER, 10000);
}
showOnScreenMsg(player, NpcStringId.TALK_TO_THE_APPRENTICE_ADVENTURER_S_GUIDE, ExShowScreenMessage.TOP_CENTER, 10000);
htmltext = "33942-06.html";
break;
}
case 7:
{
if (!isSimulated)
{
giveAdena(player, 7000, true);
addExpAndSp(player, 805, 2);
qs.exitQuest(false, true);
}
giveAdena(player, 7000, true);
addExpAndSp(player, 805, 2);
qs.exitQuest(false, true);
htmltext = "33942-07.html";
break;
}
@ -259,10 +235,7 @@ public final class Q10734_DoOrDie extends Quest
}
case 6:
{
if (!isSimulated)
{
showOnScreenMsg(player, NpcStringId.ATTACK_THE_TRAINING_DUMMY, ExShowScreenMessage.TOP_CENTER, 10000);
}
showOnScreenMsg(player, NpcStringId.ATTACK_THE_TRAINING_DUMMY, ExShowScreenMessage.TOP_CENTER, 10000);
htmltext = castBuffs(npc, player, "33950-07.html", "33950-08.html");
break;
}

View File

@ -76,7 +76,7 @@ public final class Q10735_ASpecialPower extends Quest
}
@Override
public String onTalk(L2Npc npc, L2PcInstance player, boolean isSimulated)
public String onTalk(L2Npc npc, L2PcInstance player)
{
final QuestState qs = getQuestState(player, true);
String htmltext = getNoQuestMsg(player);
@ -108,13 +108,10 @@ public final class Q10735_ASpecialPower extends Quest
}
case 7:
{
if (!isSimulated)
{
giveAdena(player, 900, true);
rewardItems(player, SPIRITSHOTS_REWARD);
addExpAndSp(player, 3154, 0);
qs.exitQuest(false, true);
}
giveAdena(player, 900, true);
rewardItems(player, SPIRITSHOTS_REWARD);
addExpAndSp(player, 3154, 0);
qs.exitQuest(false, true);
htmltext = "33942-05.html";
break;
}

View File

@ -75,7 +75,7 @@ public final class Q10736_ASpecialPower extends Quest
}
@Override
public String onTalk(L2Npc npc, L2PcInstance player, boolean isSimulated)
public String onTalk(L2Npc npc, L2PcInstance player)
{
final QuestState qs = getQuestState(player, true);
String htmltext = getNoQuestMsg(player);
@ -105,13 +105,10 @@ public final class Q10736_ASpecialPower extends Quest
}
case 7:
{
if (!isSimulated)
{
giveAdena(player, 900, true);
rewardItems(player, SOULSHOTS_REWARD);
addExpAndSp(player, 3154, 0);
qs.exitQuest(false, true);
}
giveAdena(player, 900, true);
rewardItems(player, SOULSHOTS_REWARD);
addExpAndSp(player, 3154, 0);
qs.exitQuest(false, true);
htmltext = "33943-05.html";
break;
}

View File

@ -120,7 +120,7 @@ public final class Q10739_SupplyAndDemand extends Quest
}
@Override
public String onTalk(L2Npc npc, L2PcInstance player, boolean isSimulated)
public String onTalk(L2Npc npc, L2PcInstance player)
{
final QuestState qs = getQuestState(player, true);
String htmltext = getNoQuestMsg(player);
@ -191,17 +191,14 @@ public final class Q10739_SupplyAndDemand extends Quest
case SIVANTHE:
if (qs.isStarted() && qs.isCond(4))
{
if (!isSimulated)
{
giveItems(player, LEATHER_SHIRT);
giveItems(player, LEATHER_PANTS);
giveItems(player, APPRENTICE_EARRING);
giveItems(player, NECKLACE_OF_KNOWNLEDGE);
giveAdena(player, 1400, true);
addExpAndSp(player, 8136, 0);
showOnScreenMsg(player, NpcStringId.CHECK_YOUR_EQUIPMENT_IN_YOUR_INVENTORY, ExShowScreenMessage.TOP_CENTER, 10000);
qs.exitQuest(false, true);
}
giveItems(player, LEATHER_SHIRT);
giveItems(player, LEATHER_PANTS);
giveItems(player, APPRENTICE_EARRING);
giveItems(player, NECKLACE_OF_KNOWNLEDGE);
giveAdena(player, 1400, true);
addExpAndSp(player, 8136, 0);
showOnScreenMsg(player, NpcStringId.CHECK_YOUR_EQUIPMENT_IN_YOUR_INVENTORY, ExShowScreenMessage.TOP_CENTER, 10000);
qs.exitQuest(false, true);
htmltext = "33951-01.html";
}
else if (qs.isCompleted())

View File

@ -105,7 +105,7 @@ public final class Q10740_NeverForget extends Quest
}
@Override
public String onTalk(L2Npc npc, L2PcInstance player, boolean isSimulated)
public String onTalk(L2Npc npc, L2PcInstance player)
{
final QuestState qs = getQuestState(player, true);
String htmltext = getNoQuestMsg(player);
@ -135,15 +135,12 @@ public final class Q10740_NeverForget extends Quest
}
case 3:
{
if (!isSimulated)
{
showOnScreenMsg(player, NpcStringId.CHECK_YOUR_EQUIPMENT_IN_YOUR_INVENTORY, ExShowScreenMessage.TOP_CENTER, 10000);
giveAdena(player, 1600, true);
giveItems(player, RING_OF_KNOWLEDGE);
giveItems(player, HEALING_POTION);
addExpAndSp(player, 16851, 0);
qs.exitQuest(false, true);
}
showOnScreenMsg(player, NpcStringId.CHECK_YOUR_EQUIPMENT_IN_YOUR_INVENTORY, ExShowScreenMessage.TOP_CENTER, 10000);
giveAdena(player, 1600, true);
giveItems(player, RING_OF_KNOWLEDGE);
giveItems(player, HEALING_POTION);
addExpAndSp(player, 16851, 0);
qs.exitQuest(false, true);
htmltext = "33951-06.html";
break;
}

View File

@ -173,7 +173,7 @@ public final class Q10742_AFurryFriend extends Quest
}
@Override
public String onTalk(L2Npc npc, L2PcInstance player, boolean isSimulated)
public String onTalk(L2Npc npc, L2PcInstance player)
{
final QuestState qs = getQuestState(player, true);
String htmltext = getNoQuestMsg(player);
@ -193,12 +193,9 @@ public final class Q10742_AFurryFriend extends Quest
}
else if (qs.isCond(2))
{
if (!isSimulated)
{
giveAdena(player, 2500, true);
addExpAndSp(player, 52516, 5);
qs.exitQuest(false, true);
}
giveAdena(player, 2500, true);
addExpAndSp(player, 52516, 5);
qs.exitQuest(false, true);
htmltext = "33952-04.html";
}
break;

View File

@ -88,7 +88,7 @@ public final class Q10744_StrongerThanSteel extends Quest
}
@Override
public String onTalk(L2Npc npc, L2PcInstance player, boolean isSimulated)
public String onTalk(L2Npc npc, L2PcInstance player)
{
final QuestState qs = getQuestState(player, true);
String htmltext = getNoQuestMsg(player);
@ -126,12 +126,9 @@ public final class Q10744_StrongerThanSteel extends Quest
}
else if (qs.isCond(3))
{
if (!isSimulated)
{
giveAdena(player, 34000, true);
addExpAndSp(player, 112001, 5);
qs.exitQuest(false, true);
}
giveAdena(player, 34000, true);
addExpAndSp(player, 112001, 5);
qs.exitQuest(false, true);
htmltext = "33954-05.html";
}
}

View File

@ -88,7 +88,7 @@ public final class Q10746_SeeTheWorld extends Quest
}
@Override
public String onTalk(L2Npc npc, L2PcInstance player, boolean isSimulated)
public String onTalk(L2Npc npc, L2PcInstance player)
{
final QuestState qs = getQuestState(player, true);
String htmltext = getNoQuestMsg(player);
@ -122,10 +122,7 @@ public final class Q10746_SeeTheWorld extends Quest
{
if (qs.isCond(1))
{
if (!isSimulated)
{
qs.setCond(2, true);
}
qs.setCond(2, true);
htmltext = "33948-01.html";
}
else if (qs.isCond(2))
@ -139,21 +136,18 @@ public final class Q10746_SeeTheWorld extends Quest
{
if (qs.isStarted() && qs.isCond(2))
{
if (!isSimulated)
giveAdena(player, 43000, true);
addExpAndSp(player, 53422, 5);
if (player.isMageClass())
{
giveAdena(player, 43000, true);
addExpAndSp(player, 53422, 5);
if (player.isMageClass())
{
giveItems(player, EMISSARY_SUPPORT_BOX_MAGE);
}
else
{
giveItems(player, EMISSARY_SUPPORT_BOX_WARRIOR);
}
showOnScreenMsg(player, NpcStringId.CHECK_YOUR_EQUIPMENT_IN_YOUR_INVENTORY, ExShowScreenMessage.TOP_CENTER, 10000);
qs.exitQuest(false, true);
giveItems(player, EMISSARY_SUPPORT_BOX_MAGE);
}
else
{
giveItems(player, EMISSARY_SUPPORT_BOX_WARRIOR);
}
showOnScreenMsg(player, NpcStringId.CHECK_YOUR_EQUIPMENT_IN_YOUR_INVENTORY, ExShowScreenMessage.TOP_CENTER, 10000);
qs.exitQuest(false, true);
htmltext = "30037-01.html";
}
else if (qs.isCompleted())

View File

@ -260,7 +260,7 @@ public final class Q10814_BefittingOfTheStatus extends Quest
}
@Override
public String onTalk(L2Npc npc, L2PcInstance player, boolean isSimulated)
public String onTalk(L2Npc npc, L2PcInstance player)
{
final QuestState qs = getQuestState(player, true);
String htmltext = getNoQuestMsg(player);
@ -276,7 +276,7 @@ public final class Q10814_BefittingOfTheStatus extends Quest
{
if ((qs.getCond() >= 1) && (qs.getCond() < 6))
{
htmltext = !isSimulated ? generateItemListHtml(player, npc) : null;
htmltext = generateItemListHtml(player, npc);
}
else if (qs.isCond(6))
{

View File

@ -255,7 +255,7 @@ public abstract class ThirdClassTransferQuest extends Quest
}
@Override
public String onTalk(L2Npc npc, L2PcInstance player, boolean isSimulated)
public String onTalk(L2Npc npc, L2PcInstance player)
{
String htmltext = getNoQuestMsg(player);
final QuestState st = getQuestState(player, true);

View File

@ -613,9 +613,8 @@ public class Quest extends AbstractScript implements IIdentifiable
/**
* @param npc
* @param player
* @param isSimulated
*/
public final void notifyTalk(L2Npc npc, L2PcInstance player, boolean isSimulated)
public final void notifyTalk(L2Npc npc, L2PcInstance player)
{
String res = null;
try
@ -636,7 +635,7 @@ public class Quest extends AbstractScript implements IIdentifiable
}
else
{
res = onTalk(npc, player, isSimulated);
res = onTalk(npc, player);
}
}
catch (Exception e)
@ -1125,19 +1124,6 @@ public class Quest extends AbstractScript implements IIdentifiable
return null;
}
/**
* This function is called whenever a player clicks to the "Quest" link of an NPC that is registered for the quest.<br>
* <font color="red"><b>This method overrides {@link #onTalk(L2Npc, L2PcInstance)}</b></font>
* @param npc this parameter contains a reference to the exact instance of the NPC that the player is talking with.
* @param talker this parameter contains a reference to the exact instance of the player who is talking to the NPC.
* @param isSimulated this parameter contains indication if the call to this onTalk is just to verify if the player has some buisness with this npc or not, no actions should be taken if its true!
* @return the text returned by the event (may be {@code null}, a filename or just text)
*/
public String onTalk(L2Npc npc, L2PcInstance talker, boolean isSimulated)
{
return onTalk(npc, talker);
}
/**
* This function is called whenever a player talks to an NPC that is registered for the quest.<br>
* That is, it is triggered from the very first click on the NPC, not via another dialog.<br>

View File

@ -87,6 +87,10 @@ public class QuestLink implements IBypassHandler
final StringBuilder sbCanStart = new StringBuilder(128);
final StringBuilder sbCantStart = new StringBuilder(128);
final StringBuilder sbCompleted = new StringBuilder(128);
int availableQuestCounter = 0;
int inProgressQuestCounter = 0;
Quest lastSavedAvailableQuest = null;
Quest lastSavedProgressQuest = null;
//@formatter:off
final Set<Quest> startingQuests = npc.getListeners(EventType.ON_NPC_QUEST_START).stream()
@ -123,6 +127,8 @@ public class QuestLink implements IBypassHandler
sbCanStart.append("<button icon=\"quest\" align=\"left\" action=\"bypass -h npc_" + npc.getObjectId() + "_Quest " + quest.getName() + "\">");
sbCanStart.append(quest.isCustomQuest() ? quest.getPath() : "<fstring>" + quest.getNpcStringId() + "01</fstring>");
sbCanStart.append("</button></font>");
availableQuestCounter++;
lastSavedAvailableQuest = quest;
}
else
{
@ -132,16 +138,14 @@ public class QuestLink implements IBypassHandler
sbCantStart.append("</button></font>");
}
}
else if (Quest.getNoQuestMsg(player).equals(quest.onTalk(npc, player, true)))
{
continue;
}
else if (qs.isStarted())
{
sbStarted.append("<font color=\"ffdd66\">");
sbStarted.append("<button icon=\"quest\" align=\"left\" action=\"bypass -h npc_" + npc.getObjectId() + "_Quest " + quest.getName() + "\">");
sbStarted.append(quest.isCustomQuest() ? quest.getPath() + " (In Progress)" : "<fstring>" + quest.getNpcStringId() + "02</fstring>");
sbStarted.append("</button></font>");
inProgressQuestCounter++;
lastSavedProgressQuest = quest;
}
else if (qs.isCompleted())
{
@ -152,6 +156,17 @@ public class QuestLink implements IBypassHandler
}
}
if ((availableQuestCounter == 0) && (inProgressQuestCounter == 1) && (lastSavedProgressQuest != null))
{
showQuestWindow(player, npc, lastSavedProgressQuest.getName());
return;
}
if ((availableQuestCounter == 1) && (inProgressQuestCounter == 0) && (lastSavedAvailableQuest != null))
{
showQuestWindow(player, npc, lastSavedAvailableQuest.getName());
return;
}
String content;
if ((sbStarted.length() > 0) || (sbCanStart.length() > 0) || (sbCantStart.length() > 0) || (sbCompleted.length() > 0))
{
@ -218,7 +233,7 @@ public class QuestLink implements IBypassHandler
}
}
q.notifyTalk(npc, player, false);
q.notifyTalk(npc, player);
}
else
{
@ -249,7 +264,6 @@ public class QuestLink implements IBypassHandler
.filter(Quest.class::isInstance)
.map(Quest.class::cast)
.filter(quest -> (quest.getId() > 0) && (quest.getId() < 20000))
//.filter(quest -> !Quest.getNoQuestMsg(player).equals(quest.onTalk(npc, player, true)))
.distinct()
.collect(Collectors.toSet());
//@formatter:on

View File

@ -289,14 +289,14 @@ public final class EvilIncubator extends AbstractInstance
}
@Override
public String onTalk(L2Npc npc, L2PcInstance player, boolean isSimulated)
public String onTalk(L2Npc npc, L2PcInstance player)
{
String htmltext = getNoQuestMsg(player);
final QuestState st = getQuestState(player);
if ((st == null) || !st.isStarted())
{
return super.onTalk(npc, player, isSimulated);
return super.onTalk(npc, player);
}
if (st.getState() == State.STARTED)

View File

@ -165,7 +165,7 @@ public final class Q00016_TheComingDarkness extends Quest
}
@Override
public String onTalk(L2Npc npc, L2PcInstance player, boolean isSimulated)
public String onTalk(L2Npc npc, L2PcInstance player)
{
String htmltext = getNoQuestMsg(player);
final QuestState qs = getQuestState(player, true);
@ -194,21 +194,15 @@ public final class Q00016_TheComingDarkness extends Quest
}
else
{
if (!isSimulated)
{
qs.exitQuest(true, true);
}
qs.exitQuest(true, true);
htmltext = "31517-06.html";
}
break;
}
else if (qs.isCond(6))
{
if (!isSimulated)
{
addExpAndSp(player, 1_795_524, 79);
qs.exitQuest(false, true);
}
addExpAndSp(player, 1_795_524, 79);
qs.exitQuest(false, true);
htmltext = "31517-05.html";
}
}

View File

@ -146,7 +146,7 @@ public final class Q00017_LightAndDarkness extends Quest
}
@Override
public String onTalk(L2Npc npc, L2PcInstance player, boolean isSimulated)
public String onTalk(L2Npc npc, L2PcInstance player)
{
String htmltext = getNoQuestMsg(player);
final QuestState qs = getQuestState(player, true);
@ -179,21 +179,15 @@ public final class Q00017_LightAndDarkness extends Quest
}
else
{
if (!isSimulated)
{
qs.exitQuest(true, true);
}
qs.exitQuest(true, true);
htmltext = "31517-06.html";
}
break;
}
else if (qs.isCond(5))
{
if (!isSimulated)
{
addExpAndSp(player, 1_469_840, 352);
qs.exitQuest(false, true);
}
addExpAndSp(player, 1_469_840, 352);
qs.exitQuest(false, true);
htmltext = "31517-05.html";
}
}

View File

@ -107,7 +107,7 @@ public final class Q00040_ASpecialOrder extends Quest
}
@Override
public String onTalk(L2Npc npc, L2PcInstance player, boolean isSimulated)
public String onTalk(L2Npc npc, L2PcInstance player)
{
String htmltext = getNoQuestMsg(player);
final QuestState st = getQuestState(player, true);
@ -172,12 +172,9 @@ public final class Q00040_ASpecialOrder extends Quest
{
if (hasQuestItems(player, ELCYUM_CRYSTAL))
{
if (!isSimulated)
{
takeItems(player, ELCYUM_CRYSTAL, 1);
giveItems(player, WONDEROUS_CUBIC, 1);
st.exitQuest(false, true);
}
takeItems(player, ELCYUM_CRYSTAL, 1);
giveItems(player, WONDEROUS_CUBIC, 1);
st.exitQuest(false, true);
htmltext = "30081-08.html";
}
else

View File

@ -228,7 +228,7 @@ public final class Q00453_NotStrongEnoughAlone extends Quest
}
@Override
public String onTalk(L2Npc npc, L2PcInstance player, boolean isSimulated)
public String onTalk(L2Npc npc, L2PcInstance player)
{
String htmltext = getNoQuestMsg(player);
final QuestState st = getQuestState(player, true);
@ -266,83 +266,80 @@ public final class Q00453_NotStrongEnoughAlone extends Quest
}
case 5:
{
if (!isSimulated)
final int random = getRandom(1000);
if (random < 34)
{
final int random = getRandom(1000);
if (random < 34)
{
giveItems(player, 34861, 1); // Ingredient and Hardener Pouch (R-grade)
}
else if (random < 52)
{
giveItems(player, 34861, 2); // Ingredient and Hardener Pouch (R-grade)
}
else if (random < 64)
{
giveItems(player, 34861, 3); // Ingredient and Hardener Pouch (R-grade)
}
else if (random < 73)
{
giveItems(player, 34861, 4); // Ingredient and Hardener Pouch (R-grade)
}
else if (random < 77)
{
giveItems(player, 17526, 1); // Scroll: Enchant Weapon (R-grade)
}
else if (random < 124)
{
giveItems(player, 17527, 1); // Scroll: Enchant Armor (R-grade)
}
else if (random < 153)
{
giveItems(player, 9552, 1); // Fire Crystal
}
else if (random < 182)
{
giveItems(player, 9553, 1); // Water Crystal
}
else if (random < 211)
{
giveItems(player, 9554, 1); // Earth Crystal
}
else if (random < 240)
{
giveItems(player, 9555, 1); // Wind Crystal
}
else if (random < 269)
{
giveItems(player, 9556, 1); // Dark Crystal
}
else if (random < 298)
{
giveItems(player, 9557, 1); // Holy Crystal
}
else if (random < 415)
{
giveItems(player, 9546, 1); // Fire Stone
}
else if (random < 532)
{
giveItems(player, 9547, 1); // Water Stone
}
else if (random < 649)
{
giveItems(player, 9548, 1); // Earth Stone
}
else if (random < 766)
{
giveItems(player, 9549, 1); // Wind Stone
}
else if (random < 883)
{
giveItems(player, 9550, 1); // Dark Stone
}
else if (random < 1000)
{
giveItems(player, 9551, 1); // Holy Stone
}
st.exitQuest(QuestType.DAILY, true);
giveItems(player, 34861, 1); // Ingredient and Hardener Pouch (R-grade)
}
else if (random < 52)
{
giveItems(player, 34861, 2); // Ingredient and Hardener Pouch (R-grade)
}
else if (random < 64)
{
giveItems(player, 34861, 3); // Ingredient and Hardener Pouch (R-grade)
}
else if (random < 73)
{
giveItems(player, 34861, 4); // Ingredient and Hardener Pouch (R-grade)
}
else if (random < 77)
{
giveItems(player, 17526, 1); // Scroll: Enchant Weapon (R-grade)
}
else if (random < 124)
{
giveItems(player, 17527, 1); // Scroll: Enchant Armor (R-grade)
}
else if (random < 153)
{
giveItems(player, 9552, 1); // Fire Crystal
}
else if (random < 182)
{
giveItems(player, 9553, 1); // Water Crystal
}
else if (random < 211)
{
giveItems(player, 9554, 1); // Earth Crystal
}
else if (random < 240)
{
giveItems(player, 9555, 1); // Wind Crystal
}
else if (random < 269)
{
giveItems(player, 9556, 1); // Dark Crystal
}
else if (random < 298)
{
giveItems(player, 9557, 1); // Holy Crystal
}
else if (random < 415)
{
giveItems(player, 9546, 1); // Fire Stone
}
else if (random < 532)
{
giveItems(player, 9547, 1); // Water Stone
}
else if (random < 649)
{
giveItems(player, 9548, 1); // Earth Stone
}
else if (random < 766)
{
giveItems(player, 9549, 1); // Wind Stone
}
else if (random < 883)
{
giveItems(player, 9550, 1); // Dark Stone
}
else if (random < 1000)
{
giveItems(player, 9551, 1); // Holy Stone
}
st.exitQuest(QuestType.DAILY, true);
htmltext = "32734-14.html";
break;
}

View File

@ -101,7 +101,7 @@ public final class Q00470_DivinityProtector extends Quest
}
@Override
public String onTalk(L2Npc npc, L2PcInstance player, boolean isSimulated)
public String onTalk(L2Npc npc, L2PcInstance player)
{
String htmltext = getNoQuestMsg(player);
final QuestState st = getQuestState(player, true);
@ -130,14 +130,11 @@ public final class Q00470_DivinityProtector extends Quest
}
else if (npc.getId() == AGRIPEL)
{
if (!isSimulated)
st.exitQuest(QuestType.DAILY, true);
giveAdena(player, 194_000, true);
if (player.getLevel() >= MIN_LEVEL)
{
st.exitQuest(QuestType.DAILY, true);
giveAdena(player, 194_000, true);
if (player.getLevel() >= MIN_LEVEL)
{
addExpAndSp(player, 1_879_400, 451);
}
addExpAndSp(player, 1_879_400, 451);
}
htmltext = "31348-02.html";
}
@ -148,10 +145,7 @@ public final class Q00470_DivinityProtector extends Quest
{
if ((npc.getId() == ADVENTURER) && st.isNowAvailable())
{
if (!isSimulated)
{
st.setState(State.CREATED);
}
st.setState(State.CREATED);
htmltext = "32327-01.htm";
}
break;

View File

@ -84,7 +84,7 @@ public final class Q00474_WaitingForTheSummer extends Quest
}
@Override
public String onTalk(L2Npc npc, L2PcInstance player, boolean isSimulated)
public String onTalk(L2Npc npc, L2PcInstance player)
{
final QuestState qs = getQuestState(player, true);
String htmltext = getNoQuestMsg(player);
@ -111,15 +111,12 @@ public final class Q00474_WaitingForTheSummer extends Quest
}
else if (qs.isStarted() && qs.isCond(2))
{
if (!isSimulated)
giveAdena(player, 194000, true);
if (player.getLevel() >= MIN_LEVEL)
{
giveAdena(player, 194000, true);
if (player.getLevel() >= MIN_LEVEL)
{
addExpAndSp(player, 1879400, 451);
}
qs.exitQuest(QuestType.DAILY, true);
addExpAndSp(player, 1879400, 451);
}
qs.exitQuest(QuestType.DAILY, true);
htmltext = "31981-01.html";
}
else if (qs.isCompleted() && !qs.isNowAvailable())

View File

@ -108,7 +108,7 @@ public final class Q00476_PlainMission extends Quest
}
@Override
public String onTalk(L2Npc npc, L2PcInstance player, boolean isSimulated)
public String onTalk(L2Npc npc, L2PcInstance player)
{
String htmltext = getNoQuestMsg(player);
final QuestState st = getQuestState(player, true);
@ -137,14 +137,11 @@ public final class Q00476_PlainMission extends Quest
}
else if (npc.getId() == ANDREI)
{
if (!isSimulated)
st.exitQuest(QuestType.DAILY, true);
giveAdena(player, 142_200, true);
if (player.getLevel() >= MIN_LEVEL)
{
st.exitQuest(QuestType.DAILY, true);
giveAdena(player, 142_200, true);
if (player.getLevel() >= MIN_LEVEL)
{
addExpAndSp(player, 4_685_175, 1_124);
}
addExpAndSp(player, 4_685_175, 1_124);
}
htmltext = "31292-01.html";
}
@ -155,10 +152,7 @@ public final class Q00476_PlainMission extends Quest
{
if ((npc.getId() == ADVENTURER) && st.isNowAvailable())
{
if (!isSimulated)
{
st.setState(State.CREATED);
}
st.setState(State.CREATED);
htmltext = "32327-01.htm";
}
else if ((npc.getId() == ANDREI) && st.isCompleted() && !st.isNowAvailable())

View File

@ -104,7 +104,7 @@ public final class Q00481_ShadowHelper extends Quest
}
@Override
public String onTalk(L2Npc npc, L2PcInstance player, boolean isSimulated)
public String onTalk(L2Npc npc, L2PcInstance player)
{
final QuestState qs = getQuestState(player, true);
String htmltext = getNoQuestMsg(player);
@ -131,11 +131,8 @@ public final class Q00481_ShadowHelper extends Quest
}
else
{
if (!isSimulated)
{
addExpAndSp(player, 240000, 57);
qs.exitQuest(QuestType.DAILY, true);
}
addExpAndSp(player, 240000, 57);
qs.exitQuest(QuestType.DAILY, true);
htmltext = "33302-08.html";
}
break;

View File

@ -91,7 +91,7 @@ public final class Q00485_HotSpringWater extends Quest
}
@Override
public String onTalk(L2Npc npc, L2PcInstance player, boolean isSimulated)
public String onTalk(L2Npc npc, L2PcInstance player)
{
String htmltext = getNoQuestMsg(player);
final QuestState st = getQuestState(player, true);
@ -120,14 +120,11 @@ public final class Q00485_HotSpringWater extends Quest
}
else if (npc.getId() == WALDERAL)
{
if (!isSimulated)
st.exitQuest(QuestType.DAILY, true);
giveAdena(player, 371_745, true);
if (player.getLevel() >= MIN_LEVEL)
{
st.exitQuest(QuestType.DAILY, true);
giveAdena(player, 371_745, true);
if (player.getLevel() >= MIN_LEVEL)
{
addExpAndSp(player, 9_483_000, 2_275);
}
addExpAndSp(player, 9_483_000, 2_275);
}
htmltext = "30844-02.html";
}
@ -138,10 +135,7 @@ public final class Q00485_HotSpringWater extends Quest
{
if ((npc.getId() == ADVENTURER) && st.isNowAvailable())
{
if (!isSimulated)
{
st.setState(State.CREATED);
}
st.setState(State.CREATED);
htmltext = "32327-01.html";
}
else if ((npc.getId() == WALDERAL) && st.isCompleted() && !st.isNowAvailable())

View File

@ -90,7 +90,7 @@ public final class Q00488_WondersOfCaring extends Quest
}
@Override
public String onTalk(L2Npc npc, L2PcInstance player, boolean isSimulated)
public String onTalk(L2Npc npc, L2PcInstance player)
{
String htmltext = getNoQuestMsg(player);
final QuestState st = getQuestState(player, true);
@ -119,14 +119,11 @@ public final class Q00488_WondersOfCaring extends Quest
}
else if (npc.getId() == DOLPHREN)
{
if (!isSimulated)
st.exitQuest(QuestType.DAILY, true);
giveAdena(player, 490_545, true);
if (player.getLevel() >= MIN_LEVEL)
{
st.exitQuest(QuestType.DAILY, true);
giveAdena(player, 490_545, true);
if (player.getLevel() >= MIN_LEVEL)
{
addExpAndSp(player, 22_901_550, 5_496);
}
addExpAndSp(player, 22_901_550, 5_496);
}
htmltext = "32880-02.html";
}
@ -137,10 +134,7 @@ public final class Q00488_WondersOfCaring extends Quest
{
if ((npc.getId() == ADVENTURER) && st.isNowAvailable())
{
if (!isSimulated)
{
st.setState(State.CREATED);
}
st.setState(State.CREATED);
htmltext = "32327-01.htm";
}
else if ((npc.getId() == DOLPHREN) && st.isCompleted() && !st.isNowAvailable())

View File

@ -87,7 +87,7 @@ public final class Q00489_InThisQuietPlace extends Quest
}
@Override
public String onTalk(L2Npc npc, L2PcInstance player, boolean isSimulated)
public String onTalk(L2Npc npc, L2PcInstance player)
{
String htmltext = getNoQuestMsg(player);
final QuestState st = getQuestState(player, true);
@ -116,14 +116,11 @@ public final class Q00489_InThisQuietPlace extends Quest
}
else if (npc.getId() == BESTIAN)
{
if (!isSimulated)
st.exitQuest(QuestType.DAILY, true);
giveAdena(player, 426_045, true);
if (player.getLevel() >= MIN_LEVEL)
{
st.exitQuest(QuestType.DAILY, true);
giveAdena(player, 426_045, true);
if (player.getLevel() >= MIN_LEVEL)
{
addExpAndSp(player, 19_890_000, 4_773);
}
addExpAndSp(player, 19_890_000, 4_773);
}
htmltext = "32180-02.html";
}
@ -134,10 +131,7 @@ public final class Q00489_InThisQuietPlace extends Quest
{
if ((npc.getId() == ADVENTURER) && st.isNowAvailable())
{
if (!isSimulated)
{
st.setState(State.CREATED);
}
st.setState(State.CREATED);
htmltext = "32327-01.htm";
}
else if ((npc.getId() == BESTIAN) && st.isCompleted() && !st.isNowAvailable())

View File

@ -101,7 +101,7 @@ public final class Q00511_AwlUnderFoot extends Quest
}
@Override
public String onTalk(L2Npc npc, L2PcInstance player, boolean isSimulated)
public String onTalk(L2Npc npc, L2PcInstance player)
{
final QuestState qs = getQuestState(player, true);
String htmltext = getNoQuestMsg(player);
@ -121,11 +121,8 @@ public final class Q00511_AwlUnderFoot extends Quest
}
else
{
if (!isSimulated)
{
takeItems(player, MARK, itemCount);
giveItems(player, KNIGHT_EPALUETTE, itemCount * 2);
}
takeItems(player, MARK, itemCount);
giveItems(player, KNIGHT_EPALUETTE, itemCount * 2);
htmltext = "Warden-08.html";
}
}

View File

@ -96,7 +96,7 @@ public final class Q00512_BladeUnderFoot extends Quest
}
@Override
public String onTalk(L2Npc npc, L2PcInstance player, boolean isSimulated)
public String onTalk(L2Npc npc, L2PcInstance player)
{
final QuestState qs = getQuestState(player, true);
String htmltext = getNoQuestMsg(player);
@ -116,11 +116,8 @@ public final class Q00512_BladeUnderFoot extends Quest
}
else
{
if (!isSimulated)
{
takeItems(player, MARK, itemCount);
giveItems(player, KNIGHT_EPALUETTE, itemCount * 2);
}
takeItems(player, MARK, itemCount);
giveItems(player, KNIGHT_EPALUETTE, itemCount * 2);
htmltext = "Warden-08.html";
}
}

View File

@ -99,7 +99,7 @@ public final class Q00726_LightWithinTheDarkness extends Quest
}
@Override
public String onTalk(L2Npc npc, L2PcInstance player, boolean isSimulated)
public String onTalk(L2Npc npc, L2PcInstance player)
{
final QuestState qs = getQuestState(player, true);
String htmltext = getNoQuestMsg(player);

View File

@ -87,7 +87,7 @@ public final class Q00727_HopeWithinTheDarkness extends Quest
}
@Override
public String onTalk(L2Npc npc, L2PcInstance player, boolean isSimulated)
public String onTalk(L2Npc npc, L2PcInstance player)
{
final QuestState qs = getQuestState(player, true);
String htmltext = getNoQuestMsg(player);

View File

@ -92,7 +92,7 @@ public final class Q00760_BlockTheExit extends Quest
}
@Override
public String onTalk(L2Npc npc, L2PcInstance player, boolean isSimulated)
public String onTalk(L2Npc npc, L2PcInstance player)
{
final QuestState st = getQuestState(player, true);
String htmltext = null;

View File

@ -140,7 +140,7 @@ public final class Q00761_AssistingTheGoldenRamArmy extends Quest
}
@Override
public String onTalk(L2Npc npc, L2PcInstance player, boolean isSimulated)
public String onTalk(L2Npc npc, L2PcInstance player)
{
final QuestState st = getQuestState(player, true);
String htmltext = null;
@ -165,10 +165,7 @@ public final class Q00761_AssistingTheGoldenRamArmy extends Quest
}
else
{
if (!isSimulated)
{
st.setState(State.CREATED);
}
st.setState(State.CREATED);
htmltext = "31553-01.htm";
}
break;

View File

@ -169,7 +169,7 @@ public final class Q00762_AnOminousRequest extends Quest
}
@Override
public String onTalk(L2Npc npc, L2PcInstance player, boolean isSimulated)
public String onTalk(L2Npc npc, L2PcInstance player)
{
final QuestState st = getQuestState(player, true);
String htmltext = null;
@ -194,10 +194,7 @@ public final class Q00762_AnOminousRequest extends Quest
}
else
{
if (!isSimulated)
{
st.setState(State.CREATED);
}
st.setState(State.CREATED);
htmltext = "31522-01.htm";
}
break;

View File

@ -146,7 +146,7 @@ public final class Q00763_ADauntingTask extends Quest
}
@Override
public String onTalk(L2Npc npc, L2PcInstance player, boolean isSimulated)
public String onTalk(L2Npc npc, L2PcInstance player)
{
final QuestState st = getQuestState(player, true);
String htmltext = null;
@ -171,10 +171,7 @@ public final class Q00763_ADauntingTask extends Quest
}
else
{
if (!isSimulated)
{
st.setState(State.CREATED);
}
st.setState(State.CREATED);
htmltext = "33851-01.htm";
}
break;

View File

@ -150,7 +150,7 @@ public final class Q10322_SearchingForTheMysteriousPower extends Quest
}
@Override
public String onTalk(L2Npc npc, L2PcInstance player, boolean isSimulated)
public String onTalk(L2Npc npc, L2PcInstance player)
{
final QuestState qs = getQuestState(player, true);
String htmltext = null;
@ -231,22 +231,19 @@ public final class Q10322_SearchingForTheMysteriousPower extends Quest
}
case 6:
{
if (!isSimulated)
{
showOnScreenMsg(player, NpcStringId.WEAPONS_HAVE_BEEN_ADDED_TO_YOUR_INVENTORY, ExShowScreenMessage.TOP_CENTER, 4500);
giveItems(player, WOODEN_ARROW, 500);
giveItems(player, ADENA, 70);
giveItems(player, HEALING_POTION, 50);
giveItems(player, APPRENTICE_ADVENTURERS_STAFF, 1);
giveItems(player, APPRENTICE_ADVENTURERS_BONE_CLUB, 1);
giveItems(player, APPRENTICE_ADVENTURERS_KNIFE, 1);
giveItems(player, APPRENTICE_ADVENTURERS_CESTUS, 1);
giveItems(player, APPRENTICE_ADVENTURERS_BOW, 1);
giveItems(player, APPRENTICE_ADVENTURERS_LONG_SWORD, 1);
addExpAndSp(player, 300, 5);
npc.broadcastSay(ChatType.NPC_GENERAL, NpcStringId.THERE_S_THE_NEXT_TRAINING_STEP);
qs.exitQuest(false, true);
}
showOnScreenMsg(player, NpcStringId.WEAPONS_HAVE_BEEN_ADDED_TO_YOUR_INVENTORY, ExShowScreenMessage.TOP_CENTER, 4500);
giveItems(player, WOODEN_ARROW, 500);
giveItems(player, ADENA, 70);
giveItems(player, HEALING_POTION, 50);
giveItems(player, APPRENTICE_ADVENTURERS_STAFF, 1);
giveItems(player, APPRENTICE_ADVENTURERS_BONE_CLUB, 1);
giveItems(player, APPRENTICE_ADVENTURERS_KNIFE, 1);
giveItems(player, APPRENTICE_ADVENTURERS_CESTUS, 1);
giveItems(player, APPRENTICE_ADVENTURERS_BOW, 1);
giveItems(player, APPRENTICE_ADVENTURERS_LONG_SWORD, 1);
addExpAndSp(player, 300, 5);
npc.broadcastSay(ChatType.NPC_GENERAL, NpcStringId.THERE_S_THE_NEXT_TRAINING_STEP);
qs.exitQuest(false, true);
htmltext = "33464-06.html";
break;
}

View File

@ -143,7 +143,7 @@ public final class Q10323_TrainLikeItsReal extends Quest
}
@Override
public String onTalk(L2Npc npc, L2PcInstance player, boolean isSimulated)
public String onTalk(L2Npc npc, L2PcInstance player)
{
final QuestState qs = getQuestState(player, true);
String htmltext = null;
@ -184,19 +184,13 @@ public final class Q10323_TrainLikeItsReal extends Quest
}
case 4:
{
if (!isSimulated)
{
qs.setCond(6, true);
}
qs.setCond(6, true);
htmltext = "33194-06.html";
break;
}
case 5:
{
if (!isSimulated)
{
qs.setCond(7, true);
}
qs.setCond(7, true);
htmltext = "33194-06.html";
break;
}

View File

@ -128,7 +128,7 @@ public final class Q10325_SearchingForNewPower extends Quest
}
@Override
public String onTalk(L2Npc npc, L2PcInstance player, boolean isSimulated)
public String onTalk(L2Npc npc, L2PcInstance player)
{
final QuestState qs = getQuestState(player, true);
String htmltext = null;
@ -151,20 +151,17 @@ public final class Q10325_SearchingForNewPower extends Quest
{
if (qs.isCond(8))
{
if (!isSimulated)
if (player.isMageClass())
{
if (player.isMageClass())
{
giveItems(player, SPIRITSHOTS);
}
else
{
giveItems(player, SOULSHOTS);
}
addExpAndSp(player, 4654, 5);
giveAdena(player, 120, true);
qs.exitQuest(false, true);
giveItems(player, SPIRITSHOTS);
}
else
{
giveItems(player, SOULSHOTS);
}
addExpAndSp(player, 4654, 5);
giveAdena(player, 120, true);
qs.exitQuest(false, true);
htmltext = "32980-04.html";
break;
}
@ -180,10 +177,7 @@ public final class Q10325_SearchingForNewPower extends Quest
{
if ((qs.isCond(2)))
{
if (!isSimulated)
{
qs.setCond(8);
}
qs.setCond(8);
htmltext = "32156-01.html";
break;
}
@ -199,10 +193,7 @@ public final class Q10325_SearchingForNewPower extends Quest
{
if ((qs.isCond(3)))
{
if (!isSimulated)
{
qs.setCond(8);
}
qs.setCond(8);
htmltext = "32148-01.html";
break;
}
@ -218,10 +209,7 @@ public final class Q10325_SearchingForNewPower extends Quest
{
if ((qs.isCond(4)))
{
if (!isSimulated)
{
qs.setCond(8);
}
qs.setCond(8);
htmltext = "32161-01.html";
break;
}
@ -237,10 +225,7 @@ public final class Q10325_SearchingForNewPower extends Quest
{
if ((qs.isCond(5)))
{
if (!isSimulated)
{
qs.setCond(8);
}
qs.setCond(8);
htmltext = "32151-01.html";
break;
}
@ -256,10 +241,7 @@ public final class Q10325_SearchingForNewPower extends Quest
{
if ((qs.isCond(6)))
{
if (!isSimulated)
{
qs.setCond(8);
}
qs.setCond(8);
htmltext = "32159-01.html";
break;
}
@ -275,10 +257,7 @@ public final class Q10325_SearchingForNewPower extends Quest
{
if ((qs.isCond(7)))
{
if (!isSimulated)
{
qs.setCond(8);
}
qs.setCond(8);
htmltext = "32144-01.html";
break;
}

View File

@ -97,7 +97,7 @@ public final class Q10336_DividedSakumKanilov extends Quest
}
@Override
public String onTalk(L2Npc npc, L2PcInstance player, boolean isSimulated)
public String onTalk(L2Npc npc, L2PcInstance player)
{
String htmltext = getNoQuestMsg(player);
final QuestState st = getQuestState(player, true);
@ -122,11 +122,8 @@ public final class Q10336_DividedSakumKanilov extends Quest
{
if (npc.getId() == ZENATH)
{
if (!isSimulated)
{
st.setCond(3);
giveItems(player, SAKUM_SKETCH, 1);
}
st.setCond(3);
giveItems(player, SAKUM_SKETCH, 1);
htmltext = "33509-05.html";
}
else

View File

@ -106,7 +106,7 @@ public final class Q10339_FightingTheForgotten extends Quest
}
@Override
public String onTalk(L2Npc npc, L2PcInstance player, boolean isSimulated)
public String onTalk(L2Npc npc, L2PcInstance player)
{
final QuestState st = getQuestState(player, true);
String htmltext = null;
@ -142,12 +142,9 @@ public final class Q10339_FightingTheForgotten extends Quest
break;
case 3:
{
if (!isSimulated)
{
st.exitQuest(false, true);
giveAdena(player, 528_210, true);
addExpAndSp(player, 238_423_500, 57_221);
}
st.exitQuest(false, true);
giveAdena(player, 528_210, true);
addExpAndSp(player, 238_423_500, 57_221);
htmltext = "33344-03.html";
break;
}

View File

@ -83,7 +83,7 @@ public final class Q10341_DayOfDestinyHumansFate extends ThirdClassTransferQuest
}
@Override
public String onTalk(L2Npc npc, L2PcInstance player, boolean isSimulated)
public String onTalk(L2Npc npc, L2PcInstance player)
{
String htmltext = getNoQuestMsg(player);
final QuestState qs = getQuestState(player, true);
@ -106,6 +106,6 @@ public final class Q10341_DayOfDestinyHumansFate extends ThirdClassTransferQuest
}
}
}
return (!htmltext.equals(getNoQuestMsg(player)) ? htmltext : super.onTalk(npc, player, isSimulated));
return (!htmltext.equals(getNoQuestMsg(player)) ? htmltext : super.onTalk(npc, player));
}
}

View File

@ -83,7 +83,7 @@ public final class Q10342_DayOfDestinyElvenFate extends ThirdClassTransferQuest
}
@Override
public String onTalk(L2Npc npc, L2PcInstance player, boolean isSimulated)
public String onTalk(L2Npc npc, L2PcInstance player)
{
String htmltext = getNoQuestMsg(player);
final QuestState qs = getQuestState(player, true);
@ -106,6 +106,6 @@ public final class Q10342_DayOfDestinyElvenFate extends ThirdClassTransferQuest
}
}
}
return (!htmltext.equals(getNoQuestMsg(player)) ? htmltext : super.onTalk(npc, player, isSimulated));
return (!htmltext.equals(getNoQuestMsg(player)) ? htmltext : super.onTalk(npc, player));
}
}

View File

@ -83,7 +83,7 @@ public final class Q10343_DayOfDestinyDarkElfsFate extends ThirdClassTransferQue
}
@Override
public String onTalk(L2Npc npc, L2PcInstance player, boolean isSimulated)
public String onTalk(L2Npc npc, L2PcInstance player)
{
String htmltext = getNoQuestMsg(player);
final QuestState qs = getQuestState(player, true);
@ -106,6 +106,6 @@ public final class Q10343_DayOfDestinyDarkElfsFate extends ThirdClassTransferQue
}
}
}
return (!htmltext.equals(getNoQuestMsg(player)) ? htmltext : super.onTalk(npc, player, isSimulated));
return (!htmltext.equals(getNoQuestMsg(player)) ? htmltext : super.onTalk(npc, player));
}
}

View File

@ -83,7 +83,7 @@ public final class Q10344_DayOfDestinyOrcsFate extends ThirdClassTransferQuest
}
@Override
public String onTalk(L2Npc npc, L2PcInstance player, boolean isSimulated)
public String onTalk(L2Npc npc, L2PcInstance player)
{
String htmltext = getNoQuestMsg(player);
final QuestState qs = getQuestState(player, true);
@ -106,6 +106,6 @@ public final class Q10344_DayOfDestinyOrcsFate extends ThirdClassTransferQuest
}
}
}
return (!htmltext.equals(getNoQuestMsg(player)) ? htmltext : super.onTalk(npc, player, isSimulated));
return (!htmltext.equals(getNoQuestMsg(player)) ? htmltext : super.onTalk(npc, player));
}
}

View File

@ -83,7 +83,7 @@ public final class Q10345_DayOfDestinyDwarfsFate extends ThirdClassTransferQuest
}
@Override
public String onTalk(L2Npc npc, L2PcInstance player, boolean isSimulated)
public String onTalk(L2Npc npc, L2PcInstance player)
{
String htmltext = getNoQuestMsg(player);
final QuestState qs = getQuestState(player, true);
@ -106,6 +106,6 @@ public final class Q10345_DayOfDestinyDwarfsFate extends ThirdClassTransferQuest
}
}
}
return (!htmltext.equals(getNoQuestMsg(player)) ? htmltext : super.onTalk(npc, player, isSimulated));
return (!htmltext.equals(getNoQuestMsg(player)) ? htmltext : super.onTalk(npc, player));
}
}

View File

@ -83,7 +83,7 @@ public final class Q10346_DayOfDestinyKamaelsFate extends ThirdClassTransferQues
}
@Override
public String onTalk(L2Npc npc, L2PcInstance player, boolean isSimulated)
public String onTalk(L2Npc npc, L2PcInstance player)
{
String htmltext = getNoQuestMsg(player);
final QuestState qs = getQuestState(player, true);
@ -106,6 +106,6 @@ public final class Q10346_DayOfDestinyKamaelsFate extends ThirdClassTransferQues
}
}
}
return (!htmltext.equals(getNoQuestMsg(player)) ? htmltext : super.onTalk(npc, player, isSimulated));
return (!htmltext.equals(getNoQuestMsg(player)) ? htmltext : super.onTalk(npc, player));
}
}

View File

@ -98,7 +98,7 @@ public final class Q10358_DividedSakumPoslof extends Quest
}
@Override
public String onTalk(L2Npc npc, L2PcInstance player, boolean isSimulated)
public String onTalk(L2Npc npc, L2PcInstance player)
{
String htmltext = getNoQuestMsg(player);
final QuestState st = getQuestState(player, true);
@ -123,11 +123,8 @@ public final class Q10358_DividedSakumPoslof extends Quest
{
if (npc.getId() == LEF)
{
if (!isSimulated)
{
st.setCond(3);
giveItems(player, SAKUM_SKETCH, 1);
}
st.setCond(3);
giveItems(player, SAKUM_SKETCH, 1);
htmltext = "33510-05.html";
}
else if (npc.getId() == ADVENTURER_GUIDE)

View File

@ -134,7 +134,7 @@ public final class Q10359_TracesOfEvil extends Quest
}
@Override
public String onTalk(L2Npc npc, L2PcInstance player, boolean isSimulated)
public String onTalk(L2Npc npc, L2PcInstance player)
{
String htmltext = getNoQuestMsg(player);
final QuestState st = getQuestState(player, true);
@ -177,54 +177,32 @@ public final class Q10359_TracesOfEvil extends Quest
switch (player.getRace())
{
case HUMAN:
if (!isSimulated)
{
st.setCond(player.isMageClass() ? 4 : 5);
}
st.setCond(player.isMageClass() ? 4 : 5);
htmltext = player.isMageClass() ? "33179-06.htm" : "33179-11.htm";
break;
case DARK_ELF:
if (!isSimulated)
{
st.setCond(6);
}
st.setCond(6);
htmltext = "33179-05.htm";
break;
case ORC:
if (!isSimulated)
{
st.setCond(7);
}
st.setCond(7);
htmltext = "33179-07.htm";
break;
case DWARF:
if (!isSimulated)
{
st.setCond(8);
}
st.setCond(8);
htmltext = "33179-08.htm";
break;
case KAMAEL:
if (!isSimulated)
{
st.setCond(9);
}
st.setCond(9);
htmltext = "33179-09.htm";
break;
case ELF:
if (!isSimulated)
{
st.setCond(player.isMageClass() ? 11 : 10);
}
st.setCond(player.isMageClass() ? 11 : 10);
htmltext = player.isMageClass() ? "33179-12.htm" : "33179-10.htm";
break;
}
if (!isSimulated)
{
takeItems(player, FRAGMENT, 20);
playSound(player, QuestSound.ITEMSOUND_QUEST_MIDDLE);
}
takeItems(player, FRAGMENT, 20);
playSound(player, QuestSound.ITEMSOUND_QUEST_MIDDLE);
break;
}
}

View File

@ -143,7 +143,7 @@ public final class Q10362_CertificationOfTheSeeker extends Quest
}
@Override
public String onTalk(L2Npc npc, L2PcInstance player, boolean isSimulated)
public String onTalk(L2Npc npc, L2PcInstance player)
{
final QuestState qs = getQuestState(player, true);
String htmltext = null;
@ -171,11 +171,8 @@ public final class Q10362_CertificationOfTheSeeker extends Quest
}
case 2:
{
if (!isSimulated)
{
showOnScreenMsg(player, NpcStringId.USE_THE_YE_SAGIRA_TELEPORT_DEVICE_TO_GO_TO_EXPLORATION_AREA_2, ExShowScreenMessage.TOP_CENTER, 4500);
qs.setCond(3, true);
}
showOnScreenMsg(player, NpcStringId.USE_THE_YE_SAGIRA_TELEPORT_DEVICE_TO_GO_TO_EXPLORATION_AREA_2, ExShowScreenMessage.TOP_CENTER, 4500);
qs.setCond(3, true);
htmltext = "33449-05.html";
break;
}

View File

@ -265,7 +265,7 @@ public final class Q10369_NoblesseSoulTesting extends Quest
}
@Override
public String onTalk(L2Npc npc, L2PcInstance player, boolean isSimulated)
public String onTalk(L2Npc npc, L2PcInstance player)
{
String htmltext = getNoQuestMsg(player);
final QuestState qs = getQuestState(player, true);
@ -306,13 +306,10 @@ public final class Q10369_NoblesseSoulTesting extends Quest
htmltext = "31281-10.html";
break;
case 14:
if (!isSimulated)
final Quest instance = QuestManager.getInstance().getQuest(EvasHiddenSpace.class.getSimpleName());
if (instance != null)
{
final Quest instance = QuestManager.getInstance().getQuest(EvasHiddenSpace.class.getSimpleName());
if (instance != null)
{
instance.onAdvEvent("enterInstance", npc, player);
}
instance.onAdvEvent("enterInstance", npc, player);
}
htmltext = null;
break;
@ -339,19 +336,16 @@ public final class Q10369_NoblesseSoulTesting extends Quest
htmltext = "33686-06.html";
break;
case 18:
if (!isSimulated)
{
player.doCast(NOBLESSE_PRESENTATION.getSkill());
showOnScreenMsg(player, NpcStringId.CONGRATULATIONS_YOU_ARE_NOW_A_NOBLESSE, ExShowScreenMessage.TOP_CENTER, 5000);
player.setNoble(true);
player.broadcastUserInfo();
giveItems(player, DIMENSIONAL_DIAMOND, 10);
giveItems(player, NOBLESSE_TIARA, 1);
takeItems(player, ASHES_OF_REMNANTS, -1);
giveItems(player, STEEL_COIN, 87);
addExpAndSp(player, 12_625_440, 0);
qs.exitQuest(false, true);
}
player.doCast(NOBLESSE_PRESENTATION.getSkill());
showOnScreenMsg(player, NpcStringId.CONGRATULATIONS_YOU_ARE_NOW_A_NOBLESSE, ExShowScreenMessage.TOP_CENTER, 5000);
player.setNoble(true);
player.broadcastUserInfo();
giveItems(player, DIMENSIONAL_DIAMOND, 10);
giveItems(player, NOBLESSE_TIARA, 1);
takeItems(player, ASHES_OF_REMNANTS, -1);
giveItems(player, STEEL_COIN, 87);
addExpAndSp(player, 12_625_440, 0);
qs.exitQuest(false, true);
htmltext = "33686-07.html";
break;
}
@ -380,13 +374,10 @@ public final class Q10369_NoblesseSoulTesting extends Quest
htmltext = "33696-10.html";
break;
case 13:
if (!isSimulated)
{
qs.setCond(14, true);
takeItems(player, HARD_FOSSIL_CONTAINING_WATER_ENERGY, -1);
giveItems(player, SACK_CONTAINING_INGREDIENTS, 1);
giveItems(player, SOE_SECRET_ROOM, 1);
}
qs.setCond(14, true);
takeItems(player, HARD_FOSSIL_CONTAINING_WATER_ENERGY, -1);
giveItems(player, SACK_CONTAINING_INGREDIENTS, 1);
giveItems(player, SOE_SECRET_ROOM, 1);
htmltext = "33696-11.html";
break;
}

View File

@ -425,7 +425,7 @@ public final class Q10385_RedThreadOfFate extends Quest
}
@Override
public String onTalk(L2Npc npc, L2PcInstance player, boolean isSimulated)
public String onTalk(L2Npc npc, L2PcInstance player)
{
String htmltext = getNoQuestMsg(player);
final QuestState qs = getQuestState(player, true);

View File

@ -111,7 +111,7 @@ public final class Q10386_MysteriousJourney extends Quest
}
@Override
public String onTalk(L2Npc npc, L2PcInstance player, boolean isSimulated)
public String onTalk(L2Npc npc, L2PcInstance player)
{
String htmltext = getNoQuestMsg(player);
final QuestState st = getQuestState(player, true);
@ -150,16 +150,13 @@ public final class Q10386_MysteriousJourney extends Quest
break;
case 4:
{
if (!isSimulated)
giveAdena(player, 58_707, true);
giveItems(player, EWR, 1);
if (player.getLevel() >= MIN_LEVEL)
{
giveAdena(player, 58_707, true);
giveItems(player, EWR, 1);
if (player.getLevel() >= MIN_LEVEL)
{
addExpAndSp(player, 27_244_350, 6_538);
}
st.exitQuest(false, true);
addExpAndSp(player, 27_244_350, 6_538);
}
st.exitQuest(false, true);
htmltext = "33780-06.html";
break;
}

View File

@ -137,7 +137,7 @@ public final class Q10387_SoullessOne extends Quest
}
@Override
public String onTalk(L2Npc npc, L2PcInstance player, boolean isSimulated)
public String onTalk(L2Npc npc, L2PcInstance player)
{
String htmltext = getNoQuestMsg(player);
final QuestState st = getQuestState(player, true);

View File

@ -93,7 +93,7 @@ public final class Q10409_ASuspiciousVagabondInTheSwamp extends Quest
}
@Override
public String onTalk(L2Npc npc, L2PcInstance player, boolean isSimulated)
public String onTalk(L2Npc npc, L2PcInstance player)
{
final QuestState st = getQuestState(player, true);
String htmltext = null;
@ -116,10 +116,7 @@ public final class Q10409_ASuspiciousVagabondInTheSwamp extends Quest
}
else if ((npc.getId() == VAGABOND) && st.isCond(1))
{
if (!isSimulated)
{
st.setCond(2, true);
}
st.setCond(2, true);
htmltext = "33848-01.html";
}
break;

View File

@ -93,7 +93,7 @@ public final class Q10412_ASuspiciousVagabondInTheForest extends Quest
}
@Override
public String onTalk(L2Npc npc, L2PcInstance player, boolean isSimulated)
public String onTalk(L2Npc npc, L2PcInstance player)
{
final QuestState st = getQuestState(player, true);
String htmltext = null;
@ -116,10 +116,7 @@ public final class Q10412_ASuspiciousVagabondInTheForest extends Quest
}
else if ((npc.getId() == VAGABOND) && st.isCond(1))
{
if (!isSimulated)
{
st.setCond(2, true);
}
st.setCond(2, true);
htmltext = "33850-01.html";
}
break;

View File

@ -114,7 +114,7 @@ public final class Q10734_DoOrDie extends Quest
}
@Override
public String onTalk(L2Npc npc, L2PcInstance player, boolean isSimulated)
public String onTalk(L2Npc npc, L2PcInstance player)
{
final QuestState qs = getQuestState(player, true);
String htmltext = getNoQuestMsg(player);
@ -136,40 +136,28 @@ public final class Q10734_DoOrDie extends Quest
{
case 1:
{
if (!isSimulated)
{
showOnScreenMsg(player, NpcStringId.ATTACK_THE_TRAINING_DUMMY, ExShowScreenMessage.TOP_CENTER, 10000);
}
showOnScreenMsg(player, NpcStringId.ATTACK_THE_TRAINING_DUMMY, ExShowScreenMessage.TOP_CENTER, 10000);
htmltext = "33943-04.html";
break;
}
case 3:
{
if (!isSimulated)
{
showOnScreenMsg(player, NpcStringId.TALK_TO_THE_APPRENTICE_ADVENTURER_S_GUIDE, ExShowScreenMessage.TOP_CENTER, 10000);
qs.setCond(5, true);
}
showOnScreenMsg(player, NpcStringId.TALK_TO_THE_APPRENTICE_ADVENTURER_S_GUIDE, ExShowScreenMessage.TOP_CENTER, 10000);
qs.setCond(5, true);
htmltext = "33943-05.html";
break;
}
case 5:
{
if (!isSimulated)
{
showOnScreenMsg(player, NpcStringId.TALK_TO_THE_APPRENTICE_ADVENTURER_S_GUIDE, ExShowScreenMessage.TOP_CENTER, 10000);
}
showOnScreenMsg(player, NpcStringId.TALK_TO_THE_APPRENTICE_ADVENTURER_S_GUIDE, ExShowScreenMessage.TOP_CENTER, 10000);
htmltext = "33943-06.html";
break;
}
case 8:
{
if (!isSimulated)
{
giveAdena(player, 7000, true);
addExpAndSp(player, 805, 2);
qs.exitQuest(false, true);
}
giveAdena(player, 7000, true);
addExpAndSp(player, 805, 2);
qs.exitQuest(false, true);
htmltext = "33943-07.html";
break;
}
@ -198,40 +186,28 @@ public final class Q10734_DoOrDie extends Quest
{
case 1:
{
if (!isSimulated)
{
showOnScreenMsg(player, NpcStringId.ATTACK_THE_TRAINING_DUMMY, ExShowScreenMessage.TOP_CENTER, 10000);
}
showOnScreenMsg(player, NpcStringId.ATTACK_THE_TRAINING_DUMMY, ExShowScreenMessage.TOP_CENTER, 10000);
htmltext = "33942-04.html";
break;
}
case 2:
{
if (!isSimulated)
{
showOnScreenMsg(player, NpcStringId.TALK_TO_THE_APPRENTICE_ADVENTURER_S_GUIDE, ExShowScreenMessage.TOP_CENTER, 10000);
qs.setCond(4, true);
}
showOnScreenMsg(player, NpcStringId.TALK_TO_THE_APPRENTICE_ADVENTURER_S_GUIDE, ExShowScreenMessage.TOP_CENTER, 10000);
qs.setCond(4, true);
htmltext = "33942-05.html";
break;
}
case 4:
{
if (!isSimulated)
{
showOnScreenMsg(player, NpcStringId.TALK_TO_THE_APPRENTICE_ADVENTURER_S_GUIDE, ExShowScreenMessage.TOP_CENTER, 10000);
}
showOnScreenMsg(player, NpcStringId.TALK_TO_THE_APPRENTICE_ADVENTURER_S_GUIDE, ExShowScreenMessage.TOP_CENTER, 10000);
htmltext = "33942-06.html";
break;
}
case 7:
{
if (!isSimulated)
{
giveAdena(player, 7000, true);
addExpAndSp(player, 805, 2);
qs.exitQuest(false, true);
}
giveAdena(player, 7000, true);
addExpAndSp(player, 805, 2);
qs.exitQuest(false, true);
htmltext = "33942-07.html";
break;
}
@ -259,10 +235,7 @@ public final class Q10734_DoOrDie extends Quest
}
case 6:
{
if (!isSimulated)
{
showOnScreenMsg(player, NpcStringId.ATTACK_THE_TRAINING_DUMMY, ExShowScreenMessage.TOP_CENTER, 10000);
}
showOnScreenMsg(player, NpcStringId.ATTACK_THE_TRAINING_DUMMY, ExShowScreenMessage.TOP_CENTER, 10000);
htmltext = castBuffs(npc, player, "33950-07.html", "33950-08.html");
break;
}

View File

@ -76,7 +76,7 @@ public final class Q10735_ASpecialPower extends Quest
}
@Override
public String onTalk(L2Npc npc, L2PcInstance player, boolean isSimulated)
public String onTalk(L2Npc npc, L2PcInstance player)
{
final QuestState qs = getQuestState(player, true);
String htmltext = getNoQuestMsg(player);
@ -108,13 +108,10 @@ public final class Q10735_ASpecialPower extends Quest
}
case 7:
{
if (!isSimulated)
{
giveAdena(player, 900, true);
rewardItems(player, SPIRITSHOTS_REWARD);
addExpAndSp(player, 3154, 0);
qs.exitQuest(false, true);
}
giveAdena(player, 900, true);
rewardItems(player, SPIRITSHOTS_REWARD);
addExpAndSp(player, 3154, 0);
qs.exitQuest(false, true);
htmltext = "33942-05.html";
break;
}

View File

@ -75,7 +75,7 @@ public final class Q10736_ASpecialPower extends Quest
}
@Override
public String onTalk(L2Npc npc, L2PcInstance player, boolean isSimulated)
public String onTalk(L2Npc npc, L2PcInstance player)
{
final QuestState qs = getQuestState(player, true);
String htmltext = getNoQuestMsg(player);
@ -105,13 +105,10 @@ public final class Q10736_ASpecialPower extends Quest
}
case 7:
{
if (!isSimulated)
{
giveAdena(player, 900, true);
rewardItems(player, SOULSHOTS_REWARD);
addExpAndSp(player, 3154, 0);
qs.exitQuest(false, true);
}
giveAdena(player, 900, true);
rewardItems(player, SOULSHOTS_REWARD);
addExpAndSp(player, 3154, 0);
qs.exitQuest(false, true);
htmltext = "33943-05.html";
break;
}

View File

@ -120,7 +120,7 @@ public final class Q10739_SupplyAndDemand extends Quest
}
@Override
public String onTalk(L2Npc npc, L2PcInstance player, boolean isSimulated)
public String onTalk(L2Npc npc, L2PcInstance player)
{
final QuestState qs = getQuestState(player, true);
String htmltext = getNoQuestMsg(player);
@ -191,17 +191,14 @@ public final class Q10739_SupplyAndDemand extends Quest
case SIVANTHE:
if (qs.isStarted() && qs.isCond(4))
{
if (!isSimulated)
{
giveItems(player, LEATHER_SHIRT);
giveItems(player, LEATHER_PANTS);
giveItems(player, APPRENTICE_EARRING);
giveItems(player, NECKLACE_OF_KNOWNLEDGE);
giveAdena(player, 1400, true);
addExpAndSp(player, 8136, 0);
showOnScreenMsg(player, NpcStringId.CHECK_YOUR_EQUIPMENT_IN_YOUR_INVENTORY, ExShowScreenMessage.TOP_CENTER, 10000);
qs.exitQuest(false, true);
}
giveItems(player, LEATHER_SHIRT);
giveItems(player, LEATHER_PANTS);
giveItems(player, APPRENTICE_EARRING);
giveItems(player, NECKLACE_OF_KNOWNLEDGE);
giveAdena(player, 1400, true);
addExpAndSp(player, 8136, 0);
showOnScreenMsg(player, NpcStringId.CHECK_YOUR_EQUIPMENT_IN_YOUR_INVENTORY, ExShowScreenMessage.TOP_CENTER, 10000);
qs.exitQuest(false, true);
htmltext = "33951-01.html";
}
else if (qs.isCompleted())

View File

@ -105,7 +105,7 @@ public final class Q10740_NeverForget extends Quest
}
@Override
public String onTalk(L2Npc npc, L2PcInstance player, boolean isSimulated)
public String onTalk(L2Npc npc, L2PcInstance player)
{
final QuestState qs = getQuestState(player, true);
String htmltext = getNoQuestMsg(player);
@ -135,15 +135,12 @@ public final class Q10740_NeverForget extends Quest
}
case 3:
{
if (!isSimulated)
{
showOnScreenMsg(player, NpcStringId.CHECK_YOUR_EQUIPMENT_IN_YOUR_INVENTORY, ExShowScreenMessage.TOP_CENTER, 10000);
giveAdena(player, 1600, true);
giveItems(player, RING_OF_KNOWLEDGE);
giveItems(player, HEALING_POTION);
addExpAndSp(player, 16851, 0);
qs.exitQuest(false, true);
}
showOnScreenMsg(player, NpcStringId.CHECK_YOUR_EQUIPMENT_IN_YOUR_INVENTORY, ExShowScreenMessage.TOP_CENTER, 10000);
giveAdena(player, 1600, true);
giveItems(player, RING_OF_KNOWLEDGE);
giveItems(player, HEALING_POTION);
addExpAndSp(player, 16851, 0);
qs.exitQuest(false, true);
htmltext = "33951-06.html";
break;
}

View File

@ -173,7 +173,7 @@ public final class Q10742_AFurryFriend extends Quest
}
@Override
public String onTalk(L2Npc npc, L2PcInstance player, boolean isSimulated)
public String onTalk(L2Npc npc, L2PcInstance player)
{
final QuestState qs = getQuestState(player, true);
String htmltext = getNoQuestMsg(player);
@ -193,12 +193,9 @@ public final class Q10742_AFurryFriend extends Quest
}
else if (qs.isCond(2))
{
if (!isSimulated)
{
giveAdena(player, 2500, true);
addExpAndSp(player, 52516, 5);
qs.exitQuest(false, true);
}
giveAdena(player, 2500, true);
addExpAndSp(player, 52516, 5);
qs.exitQuest(false, true);
htmltext = "33952-04.html";
}
break;

View File

@ -88,7 +88,7 @@ public final class Q10744_StrongerThanSteel extends Quest
}
@Override
public String onTalk(L2Npc npc, L2PcInstance player, boolean isSimulated)
public String onTalk(L2Npc npc, L2PcInstance player)
{
final QuestState qs = getQuestState(player, true);
String htmltext = getNoQuestMsg(player);
@ -126,12 +126,9 @@ public final class Q10744_StrongerThanSteel extends Quest
}
else if (qs.isCond(3))
{
if (!isSimulated)
{
giveAdena(player, 34000, true);
addExpAndSp(player, 112001, 5);
qs.exitQuest(false, true);
}
giveAdena(player, 34000, true);
addExpAndSp(player, 112001, 5);
qs.exitQuest(false, true);
htmltext = "33954-05.html";
}
}

View File

@ -88,7 +88,7 @@ public final class Q10746_SeeTheWorld extends Quest
}
@Override
public String onTalk(L2Npc npc, L2PcInstance player, boolean isSimulated)
public String onTalk(L2Npc npc, L2PcInstance player)
{
final QuestState qs = getQuestState(player, true);
String htmltext = getNoQuestMsg(player);
@ -122,10 +122,7 @@ public final class Q10746_SeeTheWorld extends Quest
{
if (qs.isCond(1))
{
if (!isSimulated)
{
qs.setCond(2, true);
}
qs.setCond(2, true);
htmltext = "33948-01.html";
}
else if (qs.isCond(2))
@ -139,21 +136,18 @@ public final class Q10746_SeeTheWorld extends Quest
{
if (qs.isStarted() && qs.isCond(2))
{
if (!isSimulated)
giveAdena(player, 43000, true);
addExpAndSp(player, 53422, 5);
if (player.isMageClass())
{
giveAdena(player, 43000, true);
addExpAndSp(player, 53422, 5);
if (player.isMageClass())
{
giveItems(player, EMISSARY_SUPPORT_BOX_MAGE);
}
else
{
giveItems(player, EMISSARY_SUPPORT_BOX_WARRIOR);
}
showOnScreenMsg(player, NpcStringId.CHECK_YOUR_EQUIPMENT_IN_YOUR_INVENTORY, ExShowScreenMessage.TOP_CENTER, 10000);
qs.exitQuest(false, true);
giveItems(player, EMISSARY_SUPPORT_BOX_MAGE);
}
else
{
giveItems(player, EMISSARY_SUPPORT_BOX_WARRIOR);
}
showOnScreenMsg(player, NpcStringId.CHECK_YOUR_EQUIPMENT_IN_YOUR_INVENTORY, ExShowScreenMessage.TOP_CENTER, 10000);
qs.exitQuest(false, true);
htmltext = "30037-01.html";
}
else if (qs.isCompleted())

Some files were not shown because too many files have changed in this diff Show More