Quests rework.

This commit is contained in:
MobiusDev
2016-02-11 21:39:33 +00:00
parent b2cafd8e2e
commit 09976b0ce6
173 changed files with 6416 additions and 4720 deletions

View File

@@ -78,8 +78,8 @@ public final class AwakeningMaster extends AbstractNpcAI
@Override @Override
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
{ {
final QuestState st = getQuestState(player, true); final QuestState qs = getQuestState(player, true);
if (st == null) if (qs == null)
{ {
return null; return null;
} }
@@ -88,8 +88,8 @@ public final class AwakeningMaster extends AbstractNpcAI
{ {
case "awakening": case "awakening":
{ {
final QuestState st2 = player.getQuestState(Q10338_SeizeYourDestiny.class.getSimpleName()); final QuestState qs2 = player.getQuestState(Q10338_SeizeYourDestiny.class.getSimpleName());
if (st.hasQuestItems(SCROLL_OF_AFTERLIFE) && (player.getLevel() > 84) && (!player.isSubClassActive() || player.isDualClassActive()) && player.isInCategory(CategoryType.FOURTH_CLASS_GROUP) && (st2 != null) && st2.isCompleted()) if (hasQuestItems(player, SCROLL_OF_AFTERLIFE) && (player.getLevel() > 84) && (!player.isSubClassActive() || player.isDualClassActive()) && player.isInCategory(CategoryType.FOURTH_CLASS_GROUP) && (qs2 != null) && qs2.isCompleted())
{ {
switch (npc.getId()) switch (npc.getId())
{ {

View File

@@ -65,8 +65,8 @@ final class Jinia extends AbstractNpcAI
} }
else else
{ {
final QuestState st = player.getQuestState(Q10286_ReunionWithSirra.class.getSimpleName()); final QuestState qs = player.getQuestState(Q10286_ReunionWithSirra.class.getSimpleName());
if ((st != null) && st.isCompleted()) if ((qs != null) && qs.isCompleted())
{ {
giveItems(player, FROZEN_CORE, 1); giveItems(player, FROZEN_CORE, 1);
} }
@@ -85,14 +85,14 @@ final class Jinia extends AbstractNpcAI
@Override @Override
public String onFirstTalk(L2Npc npc, L2PcInstance player) public String onFirstTalk(L2Npc npc, L2PcInstance player)
{ {
final QuestState st = player.getQuestState(Q10286_ReunionWithSirra.class.getSimpleName()); final QuestState qs = player.getQuestState(Q10286_ReunionWithSirra.class.getSimpleName());
if ((st != null) && (player.getLevel() >= MIN_LEVEL)) if ((qs != null) && (player.getLevel() >= MIN_LEVEL))
{ {
if (st.isCond(5) || st.isCond(6)) if (qs.isCond(5) || qs.isCond(6))
{ {
return "32781-09.html"; return "32781-09.html";
} }
else if (st.isCond(7)) else if (qs.isCond(7))
{ {
return "32781-01.html"; return "32781-01.html";
} }

View File

@@ -85,8 +85,8 @@ final class Pantheon extends AbstractNpcAI
@Override @Override
public String onFirstTalk(L2Npc npc, L2PcInstance player) public String onFirstTalk(L2Npc npc, L2PcInstance player)
{ {
final QuestState st = player.getQuestState(Q10320_LetsGoToTheCentralSquare.class.getSimpleName()); final QuestState qs = player.getQuestState(Q10320_LetsGoToTheCentralSquare.class.getSimpleName());
if (st == null) if (qs == null)
{ {
showOnScreenMsg(player, NpcStringId.BEGIN_TUTORIAL_QUESTS, ExShowScreenMessage.TOP_CENTER, 4500); showOnScreenMsg(player, NpcStringId.BEGIN_TUTORIAL_QUESTS, ExShowScreenMessage.TOP_CENTER, 4500);
} }

View File

@@ -67,12 +67,12 @@ final class GrandBossTeleporters extends AbstractNpcAI
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
{ {
String htmltext = ""; String htmltext = "";
final QuestState st = getQuestState(player, false); final QuestState qs = getQuestState(player, false);
if (hasQuestItems(player, VACUALITE_FLOATING_STONE)) if (hasQuestItems(player, VACUALITE_FLOATING_STONE))
{ {
player.teleToLocation(ENTER_HALL_OF_FLAMES); player.teleToLocation(ENTER_HALL_OF_FLAMES);
st.set("allowEnter", "1"); qs.set("allowEnter", "1");
} }
else else
{ {
@@ -85,7 +85,7 @@ final class GrandBossTeleporters extends AbstractNpcAI
public String onTalk(L2Npc npc, L2PcInstance player) public String onTalk(L2Npc npc, L2PcInstance player)
{ {
String htmltext = ""; String htmltext = "";
final QuestState st = getQuestState(player, true); final QuestState qs = getQuestState(player, true);
switch (npc.getId()) switch (npc.getId())
{ {
@@ -101,9 +101,9 @@ final class GrandBossTeleporters extends AbstractNpcAI
{ {
htmltext = "31385-03.htm"; htmltext = "31385-03.htm";
} }
else if (st.getInt("allowEnter") == 1) else if (qs.getInt("allowEnter") == 1)
{ {
st.unset("allowEnter"); qs.unset("allowEnter");
final L2BossZone zone = GrandBossManager.getInstance().getZone(212852, -114842, -1632); final L2BossZone zone = GrandBossManager.getInstance().getZone(212852, -114842, -1632);
if (zone != null) if (zone != null)

View File

@@ -54,12 +54,12 @@ final class Tunatun extends AbstractNpcAI
return "31537-01.html"; return "31537-01.html";
} }
final QuestState st = player.getQuestState(Q00020_BringUpWithLove.class.getSimpleName()); final QuestState qs = player.getQuestState(Q00020_BringUpWithLove.class.getSimpleName());
if ((st == null) && (player.getLevel() < MIN_LEVEL)) if ((qs == null) && (player.getLevel() < MIN_LEVEL))
{ {
return "31537-02.html"; return "31537-02.html";
} }
else if ((st != null) || (player.getLevel() >= MIN_LEVEL)) else if ((qs != null) || (player.getLevel() >= MIN_LEVEL))
{ {
giveItems(player, BEAST_HANDLERS_WHIP, 1); giveItems(player, BEAST_HANDLERS_WHIP, 1);
return "31537-03.html"; return "31537-03.html";

View File

@@ -829,9 +829,9 @@ final class RainbowSpringsChateau extends ClanHallSiegeEngine
private static boolean isValidPassage(String text) private static boolean isValidPassage(String text)
{ {
for (String st : _textPassages) for (String qs : _textPassages)
{ {
if (st.equalsIgnoreCase(text)) if (qs.equalsIgnoreCase(text))
{ {
return true; return true;
} }

View File

@@ -268,8 +268,8 @@ final class Race extends Event
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
{ {
final String htmltext = event; final String htmltext = event;
final QuestState st = getQuestState(player, false); final QuestState qs = getQuestState(player, false);
if (st == null) if (qs == null)
{ {
return null; return null;
} }

View File

@@ -76,8 +76,8 @@ public final class Nottingale extends AbstractNpcAI
} }
else else
{ {
final QuestState st = player.getQuestState(Q10273_GoodDayToFly.class.getSimpleName()); final QuestState qs = player.getQuestState(Q10273_GoodDayToFly.class.getSimpleName());
if ((st != null) && st.isCompleted()) if ((qs != null) && qs.isCompleted())
{ {
htmltext = event; htmltext = event;
} }
@@ -90,8 +90,8 @@ public final class Nottingale extends AbstractNpcAI
} }
else else
{ {
final QuestState st = player.getQuestState(Q10273_GoodDayToFly.class.getSimpleName()); final QuestState qs = player.getQuestState(Q10273_GoodDayToFly.class.getSimpleName());
if ((st != null) && st.isCompleted()) if ((qs != null) && qs.isCompleted())
{ {
htmltext = event; htmltext = event;
} }

View File

@@ -621,11 +621,11 @@ abstract class Chamber extends AbstractInstance
public String onTalk(L2Npc npc, L2PcInstance player) public String onTalk(L2Npc npc, L2PcInstance player)
{ {
final int npcId = npc.getId(); final int npcId = npc.getId();
QuestState st = getQuestState(player, false); QuestState qs = getQuestState(player, false);
if (st == null) if (qs == null)
{ {
st = newQuestState(player); qs = newQuestState(player);
} }
if (npcId == ENTRANCE_GATEKEEPER) if (npcId == ENTRANCE_GATEKEEPER)

View File

@@ -1771,10 +1771,10 @@ public final class CrystalCaverns extends AbstractInstance
public String onTalk(L2Npc npc, L2PcInstance player) public String onTalk(L2Npc npc, L2PcInstance player)
{ {
final int npcId = npc.getId(); final int npcId = npc.getId();
QuestState st = getQuestState(player, false); QuestState qs = getQuestState(player, false);
if (st == null) if (qs == null)
{ {
st = newQuestState(player); qs = newQuestState(player);
} }
if (npcId == ORACLE_GUIDE_1) if (npcId == ORACLE_GUIDE_1)
{ {

View File

@@ -295,12 +295,12 @@ public class MonasteryOfSilence2 extends AbstractNpcAI
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
{ {
final String htmltext = getNoQuestMsg(player); final String htmltext = getNoQuestMsg(player);
QuestState st = player.getQuestState(MonasteryOfSilence2.class.getSimpleName()); QuestState qs = player.getQuestState(MonasteryOfSilence2.class.getSimpleName());
final QuestState qs = player.getQuestState(Q10294_SevenSignsToTheMonasteryOfSilence.class.getSimpleName()); final QuestState qs1 = player.getQuestState(Q10294_SevenSignsToTheMonasteryOfSilence.class.getSimpleName());
final QuestState qs1 = player.getQuestState(Q10295_SevenSignsSolinasTomb.class.getSimpleName()); final QuestState qs2 = player.getQuestState(Q10295_SevenSignsSolinasTomb.class.getSimpleName());
if (st == null) if (qs == null)
{ {
st = newQuestState(player); qs = newQuestState(player);
} }
if ("check_follow".equals(event)) if ("check_follow".equals(event))
{ {
@@ -308,7 +308,7 @@ public class MonasteryOfSilence2 extends AbstractNpcAI
npc.getAI().stopFollow(); npc.getAI().stopFollow();
npc.setIsRunning(true); npc.setIsRunning(true);
npc.getAI().startFollow(player); npc.getAI().startFollow(player);
if ((qs != null) && (qs.getCond() == 2)) if ((qs1 != null) && (qs1.getCond() == 2))
{ {
if (getRandom(10) < 1) if (getRandom(10) < 1)
{ {
@@ -319,14 +319,14 @@ public class MonasteryOfSilence2 extends AbstractNpcAI
npc.broadcastPacket(new NpcSay(npc.getObjectId(), ChatType.NPC_GENERAL, npc.getId(), NpcStringId.REMEMBER_THE_CONTENT_OF_THE_BOOKS_THAT_YOU_FOUND_YOU_CAN_T_TAKE_THEM_OUT_WITH_YOU)); npc.broadcastPacket(new NpcSay(npc.getObjectId(), ChatType.NPC_GENERAL, npc.getId(), NpcStringId.REMEMBER_THE_CONTENT_OF_THE_BOOKS_THAT_YOU_FOUND_YOU_CAN_T_TAKE_THEM_OUT_WITH_YOU));
} }
} }
if ((qs != null) && (qs.getCond() == 3)) if ((qs1 != null) && (qs1.getCond() == 3))
{ {
if (getRandom(8) < 1) if (getRandom(8) < 1)
{ {
npc.broadcastPacket(new NpcSay(npc.getObjectId(), ChatType.NPC_GENERAL, npc.getId(), NpcStringId.YOUR_WORK_HERE_IS_DONE_SO_RETURN_TO_THE_CENTRAL_GUARDIAN)); npc.broadcastPacket(new NpcSay(npc.getObjectId(), ChatType.NPC_GENERAL, npc.getId(), NpcStringId.YOUR_WORK_HERE_IS_DONE_SO_RETURN_TO_THE_CENTRAL_GUARDIAN));
} }
} }
if ((qs1 != null) && (qs1.getCond() == 1)) if ((qs2 != null) && (qs2.getCond() == 1))
{ {
if (getRandom(5) < 1) if (getRandom(5) < 1)
{ {
@@ -366,9 +366,9 @@ public class MonasteryOfSilence2 extends AbstractNpcAI
{ {
if ("Enter1".equals(event)) if ("Enter1".equals(event))
{ {
if (qs1.getInt("seal_removed") != 1) if (qs2.getInt("seal_removed") != 1)
{ {
qs1.startQuestTimer("StartMovie", 1000); qs2.startQuestTimer("StartMovie", 1000);
teleportPlayer(npc, player, TELEPORTS[ENTER1], player.getInstanceId()); teleportPlayer(npc, player, TELEPORTS[ENTER1], player.getInstanceId());
} }
else else
@@ -379,9 +379,9 @@ public class MonasteryOfSilence2 extends AbstractNpcAI
} }
if ("Enter3".equals(event)) if ("Enter3".equals(event))
{ {
if ((qs.getInt("book_" + 32821) + qs.getInt("book_" + 32828) + qs.getInt("book_" + 32831) + qs.getInt("book_" + 32834)) != 4) if ((qs1.getInt("book_" + 32821) + qs1.getInt("book_" + 32828) + qs1.getInt("book_" + 32831) + qs1.getInt("book_" + 32834)) != 4)
{ {
qs.startQuestTimer("OpenMovie", 4000); qs1.startQuestTimer("OpenMovie", 4000);
} }
teleportPlayer(npc, player, TELEPORTS[HOLYGRAL], player.getInstanceId()); teleportPlayer(npc, player, TELEPORTS[HOLYGRAL], player.getInstanceId());
return null; return null;

View File

@@ -389,9 +389,9 @@ public final class NornilsGarden extends AbstractInstance
} }
} }
private void openDoor(QuestState st, L2PcInstance player, int doorId) private void openDoor(QuestState qs, L2PcInstance player, int doorId)
{ {
st.unset("correct"); qs.unset("correct");
final InstanceWorld tmpworld = InstanceManager.getInstance().getWorld(player.getInstanceId()); final InstanceWorld tmpworld = InstanceManager.getInstance().getWorld(player.getInstanceId());
if (tmpworld instanceof NornilsWorld) if (tmpworld instanceof NornilsWorld)
{ {
@@ -492,8 +492,8 @@ public final class NornilsGarden extends AbstractInstance
public final String onAdvEvent(String event, L2Npc npc, L2PcInstance player) public final String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
{ {
String htmltext = event; String htmltext = event;
final QuestState st = getQuestState(player, false); final QuestState qs = getQuestState(player, false);
if (st == null) if (qs == null)
{ {
return getNoQuestMsg(player); return getNoQuestMsg(player);
} }
@@ -522,29 +522,29 @@ public final class NornilsGarden extends AbstractInstance
{ {
if (event.equalsIgnoreCase("32260-02.html") || event.equalsIgnoreCase("32261-02.html") || event.equalsIgnoreCase("32262-02.html")) if (event.equalsIgnoreCase("32260-02.html") || event.equalsIgnoreCase("32261-02.html") || event.equalsIgnoreCase("32262-02.html"))
{ {
st.unset("correct"); qs.unset("correct");
} }
else if (Util.isDigit(event)) else if (Util.isDigit(event))
{ {
int correct = st.getInt("correct"); int correct = qs.getInt("correct");
correct++; correct++;
st.set("correct", String.valueOf(correct)); qs.set("correct", String.valueOf(correct));
htmltext = npc.getId() + "-0" + String.valueOf(correct + 2) + ".html"; htmltext = npc.getId() + "-0" + String.valueOf(correct + 2) + ".html";
} }
else if (event.equalsIgnoreCase("check")) else if (event.equalsIgnoreCase("check"))
{ {
final int correct = st.getInt("correct"); final int correct = qs.getInt("correct");
if ((npc.getId() == 32260) && (correct == 3)) if ((npc.getId() == 32260) && (correct == 3))
{ {
openDoor(st, player, 16200014); openDoor(qs, player, 16200014);
} }
else if ((npc.getId() == 32261) && (correct == 3)) else if ((npc.getId() == 32261) && (correct == 3))
{ {
openDoor(st, player, 16200015); openDoor(qs, player, 16200015);
} }
else if ((npc.getId() == 32262) && (correct == 4)) else if ((npc.getId() == 32262) && (correct == 4))
{ {
openDoor(st, player, 16200016); openDoor(qs, player, 16200016);
} }
else else
{ {
@@ -592,8 +592,8 @@ public final class NornilsGarden extends AbstractInstance
@Override @Override
public final String onKill(L2Npc npc, L2PcInstance player, boolean isSummon) public final String onKill(L2Npc npc, L2PcInstance player, boolean isSummon)
{ {
final QuestState st = getQuestState(player, false); final QuestState qs = getQuestState(player, false);
if (st == null) if (qs == null)
{ {
return null; return null;
} }

View File

@@ -47,8 +47,8 @@ public class Q00013_ParcelDelivery extends Quest
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
{ {
String htmltext = event; String htmltext = event;
final QuestState st = getQuestState(player, false); final QuestState qs = getQuestState(player, false);
if (st == null) if (qs == null)
{ {
return htmltext; return htmltext;
} }
@@ -56,21 +56,25 @@ public class Q00013_ParcelDelivery extends Quest
switch (event) switch (event)
{ {
case "31274-02.html": case "31274-02.html":
st.startQuest(); {
st.giveItems(PACKAGE, 1); qs.startQuest();
giveItems(player, PACKAGE, 1);
break; break;
}
case "31539-01.html": case "31539-01.html":
if (st.isCond(1) && st.hasQuestItems(PACKAGE)) {
if (qs.isCond(1) && hasQuestItems(player, PACKAGE))
{ {
st.giveAdena(157834, true); giveAdena(player, 157834, true);
st.addExpAndSp(589092, 58794); addExpAndSp(player, 589092, 58794);
st.exitQuest(false, true); qs.exitQuest(false, true);
} }
else else
{ {
htmltext = "31539-02.html"; htmltext = "31539-02.html";
} }
break; break;
}
} }
return htmltext; return htmltext;
} }
@@ -79,38 +83,43 @@ public class Q00013_ParcelDelivery extends Quest
public String onTalk(L2Npc npc, L2PcInstance player) public String onTalk(L2Npc npc, L2PcInstance player)
{ {
String htmltext = getNoQuestMsg(player); String htmltext = getNoQuestMsg(player);
final QuestState st = getQuestState(player, true); final QuestState qs = getQuestState(player, true);
if (st == null) if (qs == null)
{ {
return htmltext; return htmltext;
} }
final int npcId = npc.getId(); final int npcId = npc.getId();
switch (st.getState()) switch (qs.getState())
{ {
case State.COMPLETED: case State.COMPLETED:
{
htmltext = getAlreadyCompletedMsg(player); htmltext = getAlreadyCompletedMsg(player);
break; break;
}
case State.CREATED: case State.CREATED:
{
if (npcId == FUNDIN) if (npcId == FUNDIN)
{ {
htmltext = (player.getLevel() >= 74) ? "31274-00.htm" : "31274-01.html"; htmltext = (player.getLevel() >= 74) ? "31274-00.htm" : "31274-01.html";
} }
break; break;
}
case State.STARTED: case State.STARTED:
if (st.isCond(1)) {
if (qs.isCond(1))
{ {
switch (npcId) if (npcId == FUNDIN)
{ {
case FUNDIN: htmltext = "31274-02.html";
htmltext = "31274-02.html"; }
break; else if (npcId == VULCAN)
case VULCAN: {
htmltext = "31539-00.html"; htmltext = "31539-00.html";
break;
} }
} }
break; break;
}
} }
return htmltext; return htmltext;
} }

View File

@@ -45,8 +45,8 @@ public class Q00015_SweetWhispers extends Quest
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
{ {
final String htmltext = event; final String htmltext = event;
final QuestState st = getQuestState(player, false); final QuestState qs = getQuestState(player, false);
if (st == null) if (qs == null)
{ {
return htmltext; return htmltext;
} }
@@ -54,21 +54,27 @@ public class Q00015_SweetWhispers extends Quest
switch (event) switch (event)
{ {
case "31302-01.html": case "31302-01.html":
st.startQuest(); {
qs.startQuest();
break; break;
}
case "31518-01.html": case "31518-01.html":
if (st.isCond(1)) {
if (qs.isCond(1))
{ {
st.setCond(2); qs.setCond(2);
} }
break; break;
}
case "31517-01.html": case "31517-01.html":
if (st.isCond(2)) {
if (qs.isCond(2))
{ {
st.addExpAndSp(350531, 28204); addExpAndSp(player, 350531, 28204);
st.exitQuest(false, true); qs.exitQuest(false, true);
} }
break; break;
}
} }
return htmltext; return htmltext;
} }
@@ -77,52 +83,64 @@ public class Q00015_SweetWhispers extends Quest
public String onTalk(L2Npc npc, L2PcInstance player) public String onTalk(L2Npc npc, L2PcInstance player)
{ {
String htmltext = getNoQuestMsg(player); String htmltext = getNoQuestMsg(player);
final QuestState st = getQuestState(player, true); final QuestState qs = getQuestState(player, true);
if (st == null) if (qs == null)
{ {
return htmltext; return htmltext;
} }
final int npcId = npc.getId(); final int npcId = npc.getId();
switch (st.getState()) switch (qs.getState())
{ {
case State.COMPLETED: case State.COMPLETED:
{
htmltext = getAlreadyCompletedMsg(player); htmltext = getAlreadyCompletedMsg(player);
break; break;
}
case State.CREATED: case State.CREATED:
{
if (npcId == VLADIMIR) if (npcId == VLADIMIR)
{ {
htmltext = (player.getLevel() >= 60) ? "31302-00.htm" : "31302-00a.html"; htmltext = (player.getLevel() >= 60) ? "31302-00.htm" : "31302-00a.html";
} }
break; break;
}
case State.STARTED: case State.STARTED:
{
switch (npcId) switch (npcId)
{ {
case VLADIMIR: case VLADIMIR:
if (st.isCond(1)) {
if (qs.isCond(1))
{ {
htmltext = "31302-01a.html"; htmltext = "31302-01a.html";
} }
break; break;
}
case M_NECROMANCER: case M_NECROMANCER:
switch (st.getCond()) {
int cond = qs.getCond();
if (cond == 1)
{ {
case 1: htmltext = "31518-00.html";
htmltext = "31518-00.html"; }
break; else if (cond == 2)
case 2: {
htmltext = "31518-01a.html"; htmltext = "31518-01a.html";
break;
} }
break; break;
}
case HIERARCH: case HIERARCH:
if (st.isCond(2)) {
if (qs.isCond(2))
{ {
htmltext = "31517-00.html"; htmltext = "31517-00.html";
} }
break; break;
}
} }
break; break;
}
} }
return htmltext; return htmltext;
} }

View File

@@ -54,31 +54,35 @@ public class Q00016_TheComingDarkness extends Quest
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
{ {
final String htmltext = event; final String htmltext = event;
final QuestState st = getQuestState(player, false); final QuestState qs = getQuestState(player, false);
if (st == null) if (qs == null)
{ {
return htmltext; return htmltext;
} }
final int cond = st.getCond(); final int cond = qs.getCond();
switch (event) switch (event)
{ {
case "31517-02.htm": case "31517-02.htm":
st.startQuest(); {
st.giveItems(CRYSTAL_OF_SEAL, 5); qs.startQuest();
giveItems(player, CRYSTAL_OF_SEAL, 5);
break; break;
}
case "31512-01.html": case "31512-01.html":
case "31513-01.html": case "31513-01.html":
case "31514-01.html": case "31514-01.html":
case "31515-01.html": case "31515-01.html":
case "31516-01.html": case "31516-01.html":
{
final int npcId = Integer.parseInt(event.replace("-01.html", "")); final int npcId = Integer.parseInt(event.replace("-01.html", ""));
if ((cond == (npcId - 31511)) && st.hasQuestItems(CRYSTAL_OF_SEAL)) if ((cond == (npcId - 31511)) && hasQuestItems(player, CRYSTAL_OF_SEAL))
{ {
st.takeItems(CRYSTAL_OF_SEAL, 1); takeItems(player, CRYSTAL_OF_SEAL, 1);
st.setCond(cond + 1, true); qs.setCond(cond + 1, true);
} }
break; break;
}
} }
return htmltext; return htmltext;
} }
@@ -87,34 +91,39 @@ public class Q00016_TheComingDarkness extends Quest
public String onTalk(L2Npc npc, L2PcInstance player) public String onTalk(L2Npc npc, L2PcInstance player)
{ {
String htmltext = getNoQuestMsg(player); String htmltext = getNoQuestMsg(player);
final QuestState st = getQuestState(player, true); final QuestState qs = getQuestState(player, true);
if (st == null) if (qs == null)
{ {
return htmltext; return htmltext;
} }
final QuestState st2 = player.getQuestState(Q00017_LightAndDarkness.class.getSimpleName()); final QuestState qs2 = player.getQuestState(Q00017_LightAndDarkness.class.getSimpleName());
if ((st2 != null) && !st2.isCompleted()) if ((qs2 != null) && !qs2.isCompleted())
{ {
return "31517-04.html"; return "31517-04.html";
} }
switch (st.getState()) switch (qs.getState())
{ {
case State.COMPLETED: case State.COMPLETED:
{
htmltext = getAlreadyCompletedMsg(player); htmltext = getAlreadyCompletedMsg(player);
break; break;
}
case State.CREATED: case State.CREATED:
{
htmltext = (player.getLevel() >= 62) ? "31517-00.htm" : "31517-05.html"; htmltext = (player.getLevel() >= 62) ? "31517-00.htm" : "31517-05.html";
break; break;
}
case State.STARTED: case State.STARTED:
{
final int npcId = npc.getId(); final int npcId = npc.getId();
if (npcId == HIERARCH) if (npcId == HIERARCH)
{ {
if (st.isCond(6)) if (qs.isCond(6))
{ {
st.addExpAndSp(865187, 69172); addExpAndSp(player, 865187, 69172);
st.exitQuest(false, true); qs.exitQuest(false, true);
htmltext = "31517-03.html"; htmltext = "31517-03.html";
} }
else else
@@ -122,7 +131,7 @@ public class Q00016_TheComingDarkness extends Quest
htmltext = "31517-02a.html"; htmltext = "31517-02a.html";
} }
} }
else if ((npcId - 31511) == st.getCond()) else if ((npcId - 31511) == qs.getCond())
{ {
htmltext = npcId + "-00.html"; htmltext = npcId + "-00.html";
} }
@@ -131,6 +140,7 @@ public class Q00016_TheComingDarkness extends Quest
htmltext = npcId + "-01.html"; htmltext = npcId + "-01.html";
} }
break; break;
}
} }
return htmltext; return htmltext;
} }

View File

@@ -52,8 +52,8 @@ public class Q00017_LightAndDarkness extends Quest
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
{ {
String htmltext = event; String htmltext = event;
final QuestState st = getQuestState(player, false); final QuestState qs = getQuestState(player, false);
if (st == null) if (qs == null)
{ {
return htmltext; return htmltext;
} }
@@ -61,29 +61,33 @@ public class Q00017_LightAndDarkness extends Quest
switch (event) switch (event)
{ {
case "31517-02.html": case "31517-02.html":
{
if (player.getLevel() >= 61) if (player.getLevel() >= 61)
{ {
st.startQuest(); qs.startQuest();
st.giveItems(BLOOD_OF_SAINT, 4); giveItems(player, BLOOD_OF_SAINT, 4);
} }
else else
{ {
htmltext = "31517-02a.html"; htmltext = "31517-02a.html";
} }
break; break;
}
case "31508-02.html": case "31508-02.html":
case "31509-02.html": case "31509-02.html":
case "31510-02.html": case "31510-02.html":
case "31511-02.html": case "31511-02.html":
final int cond = st.getCond(); {
final int cond = qs.getCond();
final int npcId = Integer.parseInt(event.replace("-02.html", "")); final int npcId = Integer.parseInt(event.replace("-02.html", ""));
if ((cond == (npcId - 31507)) && st.hasQuestItems(BLOOD_OF_SAINT)) if ((cond == (npcId - 31507)) && hasQuestItems(player, BLOOD_OF_SAINT))
{ {
htmltext = npcId + "-01.html"; htmltext = npcId + "-01.html";
st.takeItems(BLOOD_OF_SAINT, 1); takeItems(player, BLOOD_OF_SAINT, 1);
st.setCond(cond + 1, true); qs.setCond(cond + 1, true);
} }
break; break;
}
} }
return htmltext; return htmltext;
} }
@@ -92,53 +96,63 @@ public class Q00017_LightAndDarkness extends Quest
public String onTalk(L2Npc npc, L2PcInstance player) public String onTalk(L2Npc npc, L2PcInstance player)
{ {
String htmltext = getNoQuestMsg(player); String htmltext = getNoQuestMsg(player);
final QuestState st = getQuestState(player, true); final QuestState qs = getQuestState(player, true);
if (st == null) if (qs == null)
{ {
return htmltext; return htmltext;
} }
switch (st.getState()) switch (qs.getState())
{ {
case State.COMPLETED: case State.COMPLETED:
{
htmltext = getAlreadyCompletedMsg(player); htmltext = getAlreadyCompletedMsg(player);
break; break;
}
case State.CREATED: case State.CREATED:
final QuestState st2 = player.getQuestState(Q00015_SweetWhispers.class.getSimpleName()); {
htmltext = ((st2 != null) && (st2.isCompleted())) ? "31517-00.htm" : "31517-06.html"; final QuestState qs2 = player.getQuestState(Q00015_SweetWhispers.class.getSimpleName());
htmltext = ((qs2 != null) && (qs2.isCompleted())) ? "31517-00.htm" : "31517-06.html";
break; break;
}
case State.STARTED: case State.STARTED:
final long blood = st.getQuestItemsCount(BLOOD_OF_SAINT); {
final long blood = getQuestItemsCount(player, BLOOD_OF_SAINT);
final int npcId = npc.getId(); final int npcId = npc.getId();
switch (npcId) switch (npcId)
{ {
case HIERARCH: case HIERARCH:
if (st.getCond() < 5) {
if (qs.getCond() < 5)
{ {
htmltext = (blood >= 5) ? "31517-05.html" : "31517-04.html"; htmltext = (blood >= 5) ? "31517-05.html" : "31517-04.html";
} }
else else
{ {
st.addExpAndSp(697040, 54887); addExpAndSp(player, 697040, 54887);
st.exitQuest(false, true); qs.exitQuest(false, true);
htmltext = "31517-03.html"; htmltext = "31517-03.html";
} }
break; break;
}
case SAINT_ALTAR_1: case SAINT_ALTAR_1:
case SAINT_ALTAR_2: case SAINT_ALTAR_2:
case SAINT_ALTAR_3: case SAINT_ALTAR_3:
case SAINT_ALTAR_4: case SAINT_ALTAR_4:
if ((npcId - 31507) == st.getCond()) {
if ((npcId - 31507) == qs.getCond())
{ {
htmltext = npcId + ((blood > 0) ? "-00.html" : "-02.html"); htmltext = npcId + ((blood > 0) ? "-00.html" : "-02.html");
} }
else if (st.getCond() > (npcId - 31507)) else if (qs.getCond() > (npcId - 31507))
{ {
htmltext = npcId + "-03.html"; htmltext = npcId + "-03.html";
} }
break; break;
}
} }
break; break;
}
} }
return htmltext; return htmltext;
} }

View File

@@ -48,32 +48,32 @@ public class Q00019_GoToThePastureland extends Quest
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
{ {
String htmltext = event; String htmltext = event;
final QuestState st = getQuestState(player, false); final QuestState qs = getQuestState(player, false);
if (st == null) if (qs == null)
{ {
return getNoQuestMsg(player); return getNoQuestMsg(player);
} }
if (event.equalsIgnoreCase("31302-02.htm")) if (event.equalsIgnoreCase("31302-02.htm"))
{ {
st.startQuest(); qs.startQuest();
st.giveItems(VEAL, 1); giveItems(player, VEAL, 1);
} }
else if (event.equalsIgnoreCase("31537-02.html")) else if (event.equalsIgnoreCase("31537-02.html"))
{ {
if (st.hasQuestItems(YOUNG_WILD_BEAST_MEAT)) if (hasQuestItems(player, YOUNG_WILD_BEAST_MEAT))
{ {
st.giveAdena(50000, true); giveAdena(player, 50000, true);
st.addExpAndSp(136766, 12688); addExpAndSp(player, 136766, 12688);
st.exitQuest(false, true); qs.exitQuest(false, true);
htmltext = "31537-02.html"; htmltext = "31537-02.html";
} }
else if (st.hasQuestItems(VEAL)) else if (hasQuestItems(player, VEAL))
{ {
st.giveAdena(147200, true); giveAdena(player, 147200, true);
st.addExpAndSp(385040, 75250); addExpAndSp(player, 385040, 75250);
st.exitQuest(false, true); qs.exitQuest(false, true);
htmltext = "31537-02.html"; htmltext = "31537-02.html";
} }
else else
@@ -88,17 +88,18 @@ public class Q00019_GoToThePastureland extends Quest
public String onTalk(L2Npc npc, L2PcInstance player) public String onTalk(L2Npc npc, L2PcInstance player)
{ {
String htmltext = getNoQuestMsg(player); String htmltext = getNoQuestMsg(player);
final QuestState st = getQuestState(player, true); final QuestState qs = getQuestState(player, true);
if (st == null) if (qs == null)
{ {
return htmltext; return htmltext;
} }
if (npc.getId() == VLADIMIR) if (npc.getId() == VLADIMIR)
{ {
switch (st.getState()) switch (qs.getState())
{ {
case State.CREATED: case State.CREATED:
{
if (player.getLevel() >= 82) if (player.getLevel() >= 82)
{ {
htmltext = "31302-01.htm"; htmltext = "31302-01.htm";
@@ -108,15 +109,20 @@ public class Q00019_GoToThePastureland extends Quest
htmltext = "31302-03.html"; htmltext = "31302-03.html";
} }
break; break;
}
case State.STARTED: case State.STARTED:
{
htmltext = "31302-04.html"; htmltext = "31302-04.html";
break; break;
}
case State.COMPLETED: case State.COMPLETED:
{
htmltext = getAlreadyCompletedMsg(player); htmltext = getAlreadyCompletedMsg(player);
break; break;
}
} }
} }
else if ((npc.getId() == TUNATUN) && (st.isCond(1))) else if ((npc.getId() == TUNATUN) && (qs.isCond(1)))
{ {
htmltext = "31537-01.html"; htmltext = "31537-01.html";
} }

View File

@@ -46,8 +46,8 @@ public class Q00020_BringUpWithLove extends Quest
@Override @Override
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
{ {
final QuestState st = getQuestState(player, false); final QuestState qs = getQuestState(player, false);
if (st == null) if (qs == null)
{ {
return null; return null;
} }
@@ -71,17 +71,17 @@ public class Q00020_BringUpWithLove extends Quest
} }
case "31537-11.html": case "31537-11.html":
{ {
st.startQuest(); qs.startQuest();
htmltext = event; htmltext = event;
break; break;
} }
case "31537-16.html": case "31537-16.html":
{ {
if (st.isCond(2) && st.hasQuestItems(INNOCENCE_JEWEL)) if (qs.isCond(2) && hasQuestItems(player, INNOCENCE_JEWEL))
{ {
st.giveItems(WATER_CRYSTAL, 1); giveItems(player, WATER_CRYSTAL, 1);
st.takeItems(INNOCENCE_JEWEL, -1); takeItems(player, INNOCENCE_JEWEL, -1);
st.exitQuest(false, true); qs.exitQuest(false, true);
htmltext = event; htmltext = event;
} }
break; break;
@@ -93,14 +93,14 @@ public class Q00020_BringUpWithLove extends Quest
@Override @Override
public String onTalk(L2Npc npc, L2PcInstance player) public String onTalk(L2Npc npc, L2PcInstance player)
{ {
final QuestState st = getQuestState(player, true); final QuestState qs = getQuestState(player, true);
String htmltext = getNoQuestMsg(player); String htmltext = getNoQuestMsg(player);
if (st == null) if (qs == null)
{ {
return htmltext; return htmltext;
} }
switch (st.getState()) switch (qs.getState())
{ {
case State.COMPLETED: case State.COMPLETED:
{ {
@@ -108,10 +108,13 @@ public class Q00020_BringUpWithLove extends Quest
break; break;
} }
case State.CREATED: case State.CREATED:
{
htmltext = player.getLevel() >= MIN_LEVEL ? "31537-01.htm" : "31537-13.html"; htmltext = player.getLevel() >= MIN_LEVEL ? "31537-01.htm" : "31537-13.html";
break; break;
}
case State.STARTED: case State.STARTED:
switch (st.getCond()) {
switch (qs.getCond())
{ {
case 1: case 1:
{ {
@@ -120,22 +123,23 @@ public class Q00020_BringUpWithLove extends Quest
} }
case 2: case 2:
{ {
htmltext = (!st.hasQuestItems(INNOCENCE_JEWEL)) ? "31537-14.html" : "31537-15.html"; htmltext = (!hasQuestItems(player, INNOCENCE_JEWEL)) ? "31537-14.html" : "31537-15.html";
break; break;
} }
} }
break; break;
}
} }
return htmltext; return htmltext;
} }
public static void checkJewelOfInnocence(L2PcInstance player) public static void checkJewelOfInnocence(L2PcInstance player)
{ {
final QuestState st = player.getQuestState(Q00020_BringUpWithLove.class.getSimpleName()); final QuestState qs = player.getQuestState(Q00020_BringUpWithLove.class.getSimpleName());
if ((st != null) && st.isCond(1) && !st.hasQuestItems(INNOCENCE_JEWEL) && (getRandom(100) < 5)) if ((qs != null) && qs.isCond(1) && !hasQuestItems(player, INNOCENCE_JEWEL) && (getRandom(100) < 5))
{ {
st.giveItems(INNOCENCE_JEWEL, 1); giveItems(player, INNOCENCE_JEWEL, 1);
st.setCond(2, true); qs.setCond(2, true);
} }
} }
} }

View File

@@ -55,8 +55,8 @@ public final class Q00026_TiredOfWaiting extends Quest
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
{ {
String htmltext = null; String htmltext = null;
final QuestState st = getQuestState(player, false); final QuestState qs = getQuestState(player, false);
if (st == null) if (qs == null)
{ {
return htmltext; return htmltext;
} }
@@ -74,33 +74,41 @@ public final class Q00026_TiredOfWaiting extends Quest
case "31045-07.html": case "31045-07.html":
case "31045-08.html": case "31045-08.html":
case "31045-09.html": case "31045-09.html":
{
htmltext = event; htmltext = event;
break; break;
}
case "30655-04.html": case "30655-04.html":
if (st.isCreated()) {
if (qs.isCreated())
{ {
st.giveItems(DELIVERY_BOX, 1); giveItems(player, DELIVERY_BOX, 1);
st.startQuest(); qs.startQuest();
htmltext = event; htmltext = event;
} }
break; break;
}
case "31045-04.html": case "31045-04.html":
if (st.isStarted()) {
if (qs.isStarted())
{ {
st.takeItems(DELIVERY_BOX, -1); takeItems(player, DELIVERY_BOX, -1);
htmltext = event; htmltext = event;
} }
break; break;
}
case "31045-10.html": case "31045-10.html":
case "31045-11.html": case "31045-11.html":
case "31045-12.html": case "31045-12.html":
if (st.isStarted()) {
if (qs.isStarted())
{ {
st.giveItems(REWARDS.get(event), 1); giveItems(player, REWARDS.get(event), 1);
st.exitQuest(false, true); qs.exitQuest(false, true);
htmltext = event; htmltext = event;
} }
break; break;
}
} }
return htmltext; return htmltext;
} }
@@ -109,8 +117,8 @@ public final class Q00026_TiredOfWaiting extends Quest
public String onTalk(L2Npc npc, L2PcInstance player) public String onTalk(L2Npc npc, L2PcInstance player)
{ {
String htmltext = getNoQuestMsg(player); String htmltext = getNoQuestMsg(player);
final QuestState st = getQuestState(player, true); final QuestState qs = getQuestState(player, true);
if (st == null) if (qs == null)
{ {
return htmltext; return htmltext;
} }
@@ -118,11 +126,12 @@ public final class Q00026_TiredOfWaiting extends Quest
switch (npc.getId()) switch (npc.getId())
{ {
case ISAEL_SILVERSHADOW: case ISAEL_SILVERSHADOW:
if (st.isCreated()) {
if (qs.isCreated())
{ {
htmltext = ((player.getLevel() >= 80) ? "30655-01.htm" : "30655-00.html"); htmltext = ((player.getLevel() >= 80) ? "30655-01.htm" : "30655-00.html");
} }
else if (st.isStarted()) else if (qs.isStarted())
{ {
htmltext = "30655-07.html"; htmltext = "30655-07.html";
} }
@@ -131,12 +140,15 @@ public final class Q00026_TiredOfWaiting extends Quest
htmltext = "30655-08.html"; htmltext = "30655-08.html";
} }
break; break;
}
case KITZKA: case KITZKA:
if (st.isStarted()) {
if (qs.isStarted())
{ {
htmltext = (st.hasQuestItems(DELIVERY_BOX) ? "31045-01.html" : "31045-09.html"); htmltext = (hasQuestItems(player, DELIVERY_BOX) ? "31045-01.html" : "31045-09.html");
} }
break; break;
}
} }
return htmltext; return htmltext;
} }

View File

@@ -57,9 +57,9 @@ public final class Q00031_SecretBuriedInTheSwamp extends Quest
@Override @Override
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
{ {
final QuestState st = getQuestState(player, false); final QuestState qs = getQuestState(player, false);
String htmltext = null; String htmltext = null;
if (st == null) if (qs == null)
{ {
return htmltext; return htmltext;
} }
@@ -68,29 +68,29 @@ public final class Q00031_SecretBuriedInTheSwamp extends Quest
{ {
case "31555-02.html": case "31555-02.html":
{ {
if (st.isCreated()) if (qs.isCreated())
{ {
st.startQuest(); qs.startQuest();
htmltext = event; htmltext = event;
} }
break; break;
} }
case "31665-02.html": case "31665-02.html":
{ {
if (st.isCond(1)) if (qs.isCond(1))
{ {
st.setCond(2, true); qs.setCond(2, true);
st.giveItems(KRORINS_JOURNAL, 1); giveItems(player, KRORINS_JOURNAL, 1);
htmltext = event; htmltext = event;
} }
break; break;
} }
case "31555-05.html": case "31555-05.html":
{ {
if (st.isCond(2) && st.hasQuestItems(KRORINS_JOURNAL)) if (qs.isCond(2) && hasQuestItems(player, KRORINS_JOURNAL))
{ {
st.takeItems(KRORINS_JOURNAL, -1); takeItems(player, KRORINS_JOURNAL, -1);
st.setCond(3, true); qs.setCond(3, true);
htmltext = event; htmltext = event;
} }
break; break;
@@ -100,20 +100,20 @@ public final class Q00031_SecretBuriedInTheSwamp extends Quest
case "31663-02.html": case "31663-02.html":
case "31664-02.html": case "31664-02.html":
{ {
if (MONUMENTS.contains(npc.getId()) && st.isCond(MONUMENTS.indexOf(npc.getId()) + 3)) if (MONUMENTS.contains(npc.getId()) && qs.isCond(MONUMENTS.indexOf(npc.getId()) + 3))
{ {
st.setCond(st.getCond() + 1, true); qs.setCond(qs.getCond() + 1, true);
htmltext = event; htmltext = event;
} }
break; break;
} }
case "31555-08.html": case "31555-08.html":
{ {
if (st.isCond(7)) if (qs.isCond(7))
{ {
st.addExpAndSp(490000, 45880); addExpAndSp(player, 490000, 45880);
st.giveAdena(120000, true); giveAdena(player, 120000, true);
st.exitQuest(false, true); qs.exitQuest(false, true);
htmltext = event; htmltext = event;
} }
break; break;
@@ -125,9 +125,9 @@ public final class Q00031_SecretBuriedInTheSwamp extends Quest
@Override @Override
public String onTalk(L2Npc npc, L2PcInstance player) public String onTalk(L2Npc npc, L2PcInstance player)
{ {
final QuestState st = getQuestState(player, true); final QuestState qs = getQuestState(player, true);
String htmltext = getNoQuestMsg(player); String htmltext = getNoQuestMsg(player);
if (st == null) if (qs == null)
{ {
return htmltext; return htmltext;
} }
@@ -135,7 +135,7 @@ public final class Q00031_SecretBuriedInTheSwamp extends Quest
{ {
case ABERCROMBIE: case ABERCROMBIE:
{ {
switch (st.getState()) switch (qs.getState())
{ {
case State.CREATED: case State.CREATED:
{ {
@@ -144,7 +144,7 @@ public final class Q00031_SecretBuriedInTheSwamp extends Quest
} }
case State.STARTED: case State.STARTED:
{ {
switch (st.getCond()) switch (qs.getCond())
{ {
case 1: case 1:
{ {
@@ -153,7 +153,7 @@ public final class Q00031_SecretBuriedInTheSwamp extends Quest
} }
case 2: case 2:
{ {
if (st.hasQuestItems(KRORINS_JOURNAL)) if (hasQuestItems(player, KRORINS_JOURNAL))
{ {
htmltext = "31555-04.html"; htmltext = "31555-04.html";
} }
@@ -182,7 +182,7 @@ public final class Q00031_SecretBuriedInTheSwamp extends Quest
} }
case CORPSE_OF_DWARF: case CORPSE_OF_DWARF:
{ {
switch (st.getCond()) switch (qs.getCond())
{ {
case 1: case 1:
{ {
@@ -203,11 +203,11 @@ public final class Q00031_SecretBuriedInTheSwamp extends Quest
case FORGOTTEN_MONUMENT_4: case FORGOTTEN_MONUMENT_4:
{ {
final int loc = MONUMENTS.indexOf(npc.getId()) + 3; final int loc = MONUMENTS.indexOf(npc.getId()) + 3;
if (st.isCond(loc)) if (qs.isCond(loc))
{ {
htmltext = npc.getId() + "-01.html"; htmltext = npc.getId() + "-01.html";
} }
else if (st.isCond(loc + 1)) else if (qs.isCond(loc + 1))
{ {
htmltext = npc.getId() + "-03.html"; htmltext = npc.getId() + "-03.html";
} }

View File

@@ -55,8 +55,8 @@ public class Q00033_MakeAPairOfDressShoes extends Quest
@Override @Override
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
{ {
final QuestState st = getQuestState(player, false); final QuestState qs = getQuestState(player, false);
if (st == null) if (qs == null)
{ {
return null; return null;
} }
@@ -65,42 +65,56 @@ public class Q00033_MakeAPairOfDressShoes extends Quest
switch (event) switch (event)
{ {
case "30838-03.htm": case "30838-03.htm":
st.startQuest(); {
qs.startQuest();
break; break;
}
case "30838-06.html": case "30838-06.html":
st.setCond(3, true); {
qs.setCond(3, true);
break; break;
}
case "30838-09.html": case "30838-09.html":
if ((st.getQuestItemsCount(LEATHER) >= LEATHER_COUNT) && (st.getQuestItemsCount(THREAD) >= THREAD_COUNT) && (player.getAdena() >= ADENA_COUNT2)) {
if ((getQuestItemsCount(player, LEATHER) >= LEATHER_COUNT) && (getQuestItemsCount(player, THREAD) >= THREAD_COUNT) && (player.getAdena() >= ADENA_COUNT2))
{ {
st.takeItems(LEATHER, LEATHER_COUNT); takeItems(player, LEATHER, LEATHER_COUNT);
st.takeItems(THREAD, LEATHER_COUNT); takeItems(player, THREAD, LEATHER_COUNT);
st.takeItems(Inventory.ADENA_ID, ADENA_COUNT2); takeItems(player, Inventory.ADENA_ID, ADENA_COUNT2);
st.setCond(4, true); qs.setCond(4, true);
} }
else else
{ {
htmltext = "30838-10.html"; htmltext = "30838-10.html";
} }
break; break;
}
case "30838-13.html": case "30838-13.html":
st.giveItems(DRESS_SHOES_BOX, 1); {
st.exitQuest(false, true); giveItems(player, DRESS_SHOES_BOX, 1);
qs.exitQuest(false, true);
break; break;
}
case "31520-02.html": case "31520-02.html":
st.setCond(2, true); {
qs.setCond(2, true);
break; break;
}
case "30164-02.html": case "30164-02.html":
{
if (player.getAdena() < ADENA_COUNT3) if (player.getAdena() < ADENA_COUNT3)
{ {
return "30164-03.html"; return "30164-03.html";
} }
st.takeItems(Inventory.ADENA_ID, ADENA_COUNT3); takeItems(player, Inventory.ADENA_ID, ADENA_COUNT3);
st.setCond(5, true); qs.setCond(5, true);
break; break;
}
default: default:
{
htmltext = null; htmltext = null;
break; break;
}
} }
return htmltext; return htmltext;
} }
@@ -109,8 +123,8 @@ public class Q00033_MakeAPairOfDressShoes extends Quest
public String onTalk(L2Npc npc, L2PcInstance player) public String onTalk(L2Npc npc, L2PcInstance player)
{ {
String htmltext = getNoQuestMsg(player); String htmltext = getNoQuestMsg(player);
final QuestState st = getQuestState(player, true); final QuestState qs = getQuestState(player, true);
if (st == null) if (qs == null)
{ {
return htmltext; return htmltext;
} }
@@ -118,62 +132,84 @@ public class Q00033_MakeAPairOfDressShoes extends Quest
switch (npc.getId()) switch (npc.getId())
{ {
case WOODLEY: case WOODLEY:
switch (st.getState()) {
switch (qs.getState())
{ {
case State.CREATED: case State.CREATED:
{
htmltext = (player.getLevel() >= MIN_LEVEL) ? "30838-01.htm" : "30838-02.html"; htmltext = (player.getLevel() >= MIN_LEVEL) ? "30838-01.htm" : "30838-02.html";
break; break;
}
case State.STARTED: case State.STARTED:
switch (st.getCond()) {
switch (qs.getCond())
{ {
case 1: case 1:
{
htmltext = "30838-04.html"; htmltext = "30838-04.html";
break; break;
}
case 2: case 2:
{
htmltext = "30838-05.html"; htmltext = "30838-05.html";
break; break;
}
case 3: case 3:
htmltext = ((st.getQuestItemsCount(LEATHER) >= LEATHER_COUNT) && (st.getQuestItemsCount(THREAD) >= THREAD_COUNT) && (player.getAdena() >= ADENA_COUNT)) ? "30838-07.html" : "30838-08.html"; {
htmltext = ((getQuestItemsCount(player, LEATHER) >= LEATHER_COUNT) && (getQuestItemsCount(player, THREAD) >= THREAD_COUNT) && (player.getAdena() >= ADENA_COUNT)) ? "30838-07.html" : "30838-08.html";
break; break;
}
case 4: case 4:
{
htmltext = "30838-11.html"; htmltext = "30838-11.html";
break; break;
}
case 5: case 5:
{
htmltext = "30838-12.html"; htmltext = "30838-12.html";
break; break;
}
} }
break; break;
}
case State.COMPLETED: case State.COMPLETED:
{
htmltext = getAlreadyCompletedMsg(player); htmltext = getAlreadyCompletedMsg(player);
break; break;
}
} }
break; break;
}
case LEIKAR: case LEIKAR:
if (st.isStarted()) {
if (qs.isStarted())
{ {
if (st.isCond(1)) if (qs.isCond(1))
{ {
htmltext = "31520-01.html"; htmltext = "31520-01.html";
} }
else if (st.isCond(2)) else if (qs.isCond(2))
{ {
htmltext = "31520-03.html"; htmltext = "31520-03.html";
} }
} }
break; break;
}
case IAN: case IAN:
if (st.isStarted()) {
if (qs.isStarted())
{ {
if (st.isCond(4)) if (qs.isCond(4))
{ {
htmltext = "30164-01.html"; htmltext = "30164-01.html";
} }
else if (st.isCond(5)) else if (qs.isCond(5))
{ {
htmltext = "30164-04.html"; htmltext = "30164-04.html";
} }
} }
break; break;
}
} }
return htmltext; return htmltext;
} }

View File

@@ -63,8 +63,8 @@ public class Q00034_InSearchOfCloth extends Quest
@Override @Override
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
{ {
final QuestState st = getQuestState(player, false); final QuestState qs = getQuestState(player, false);
if (st == null) if (qs == null)
{ {
return null; return null;
} }
@@ -73,43 +73,57 @@ public class Q00034_InSearchOfCloth extends Quest
switch (event) switch (event)
{ {
case "30088-03.htm": case "30088-03.htm":
st.startQuest(); {
qs.startQuest();
break; break;
}
case "30294-02.html": case "30294-02.html":
st.setCond(2, true); {
qs.setCond(2, true);
break; break;
}
case "30088-06.html": case "30088-06.html":
st.setCond(3, true); {
qs.setCond(3, true);
break; break;
}
case "30165-02.html": case "30165-02.html":
st.setCond(4, true); {
qs.setCond(4, true);
break; break;
}
case "30165-05.html": case "30165-05.html":
if (st.getQuestItemsCount(SPINNERET) < SPINNERET_COUNT) {
if (getQuestItemsCount(player, SPINNERET) < SPINNERET_COUNT)
{ {
return getNoQuestMsg(player); return getNoQuestMsg(player);
} }
st.takeItems(SPINNERET, SPINNERET_COUNT); takeItems(player, SPINNERET, SPINNERET_COUNT);
st.giveItems(SKEIN_OF_YARN, 1); giveItems(player, SKEIN_OF_YARN, 1);
st.setCond(6, true); qs.setCond(6, true);
break; break;
}
case "30088-10.html": case "30088-10.html":
if ((st.getQuestItemsCount(SUEDE) >= SUEDE_COUNT) && (st.getQuestItemsCount(THREAD) >= THREAD_COUNT) && st.hasQuestItems(SKEIN_OF_YARN)) {
if ((getQuestItemsCount(player, SUEDE) >= SUEDE_COUNT) && (getQuestItemsCount(player, THREAD) >= THREAD_COUNT) && hasQuestItems(player, SKEIN_OF_YARN))
{ {
st.takeItems(SKEIN_OF_YARN, 1); takeItems(player, SKEIN_OF_YARN, 1);
st.takeItems(SUEDE, SUEDE_COUNT); takeItems(player, SUEDE, SUEDE_COUNT);
st.takeItems(THREAD, THREAD_COUNT); takeItems(player, THREAD, THREAD_COUNT);
st.giveItems(MYSTERIOUS_CLOTH, 1); giveItems(player, MYSTERIOUS_CLOTH, 1);
st.exitQuest(false, true); qs.exitQuest(false, true);
} }
else else
{ {
htmltext = "30088-11.html"; htmltext = "30088-11.html";
} }
break; break;
}
default: default:
{
htmltext = null; htmltext = null;
break; break;
}
} }
return htmltext; return htmltext;
} }
@@ -120,15 +134,15 @@ public class Q00034_InSearchOfCloth extends Quest
final L2PcInstance member = getRandomPartyMember(player, 4); final L2PcInstance member = getRandomPartyMember(player, 4);
if ((member != null) && getRandomBoolean()) if ((member != null) && getRandomBoolean())
{ {
final QuestState st = getQuestState(member, false); final QuestState qs = getQuestState(member, false);
st.giveItems(SPINNERET, 1); giveItems(player, SPINNERET, 1);
if (st.getQuestItemsCount(SPINNERET) >= SPINNERET_COUNT) if (getQuestItemsCount(player, SPINNERET) >= SPINNERET_COUNT)
{ {
st.setCond(5, true); qs.setCond(5, true);
} }
else else
{ {
st.playSound(QuestSound.ITEMSOUND_QUEST_ITEMGET); playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET);
} }
} }
return super.onKill(npc, player, isSummon); return super.onKill(npc, player, isSummon);
@@ -138,8 +152,8 @@ public class Q00034_InSearchOfCloth extends Quest
public String onTalk(L2Npc npc, L2PcInstance player) public String onTalk(L2Npc npc, L2PcInstance player)
{ {
String htmltext = getNoQuestMsg(player); String htmltext = getNoQuestMsg(player);
final QuestState st = getQuestState(player, true); final QuestState qs = getQuestState(player, true);
if (st == null) if (qs == null)
{ {
return htmltext; return htmltext;
} }
@@ -147,67 +161,99 @@ public class Q00034_InSearchOfCloth extends Quest
switch (npc.getId()) switch (npc.getId())
{ {
case RADIA: case RADIA:
switch (st.getState()) {
switch (qs.getState())
{ {
case State.CREATED: case State.CREATED:
{
htmltext = (player.getLevel() >= MIN_LEVEL) ? "30088-01.htm" : "30088-02.html"; htmltext = (player.getLevel() >= MIN_LEVEL) ? "30088-01.htm" : "30088-02.html";
break; break;
}
case State.STARTED: case State.STARTED:
switch (st.getCond()) {
switch (qs.getCond())
{ {
case 1: case 1:
{
htmltext = "30088-04.html"; htmltext = "30088-04.html";
break; break;
}
case 2: case 2:
{
htmltext = "30088-05.html"; htmltext = "30088-05.html";
break; break;
}
case 3: case 3:
{
htmltext = "30088-07.html"; htmltext = "30088-07.html";
break; break;
}
case 6: case 6:
htmltext = ((st.getQuestItemsCount(SUEDE) >= SUEDE_COUNT) && (st.getQuestItemsCount(THREAD) >= THREAD_COUNT)) ? "30088-08.html" : "30088-09.html"; {
htmltext = ((getQuestItemsCount(player, SUEDE) >= SUEDE_COUNT) && (getQuestItemsCount(player, THREAD) >= THREAD_COUNT)) ? "30088-08.html" : "30088-09.html";
break; break;
}
} }
break; break;
}
case State.COMPLETED: case State.COMPLETED:
{
htmltext = getAlreadyCompletedMsg(player); htmltext = getAlreadyCompletedMsg(player);
break; break;
}
} }
break; break;
}
case VARAN: case VARAN:
if (st.isStarted()) {
if (qs.isStarted())
{ {
switch (st.getCond()) switch (qs.getCond())
{ {
case 1: case 1:
{
htmltext = "30294-01.html"; htmltext = "30294-01.html";
break; break;
}
case 2: case 2:
{
htmltext = "30294-03.html"; htmltext = "30294-03.html";
break; break;
}
} }
} }
break; break;
}
case RALFORD: case RALFORD:
if (st.isStarted()) {
if (qs.isStarted())
{ {
switch (st.getCond()) switch (qs.getCond())
{ {
case 3: case 3:
{
htmltext = "30165-01.html"; htmltext = "30165-01.html";
break; break;
}
case 4: case 4:
{
htmltext = "30165-03.html"; htmltext = "30165-03.html";
break; break;
}
case 5: case 5:
{
htmltext = "30165-04.html"; htmltext = "30165-04.html";
break; break;
}
case 6: case 6:
{
htmltext = "30165-06.html"; htmltext = "30165-06.html";
break; break;
}
} }
} }
break; break;
}
} }
return htmltext; return htmltext;
} }

View File

@@ -59,8 +59,8 @@ public class Q00035_FindGlitteringJewelry extends Quest
@Override @Override
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
{ {
final QuestState st = getQuestState(player, false); final QuestState qs = getQuestState(player, false);
if (st == null) if (qs == null)
{ {
return null; return null;
} }
@@ -69,36 +69,46 @@ public class Q00035_FindGlitteringJewelry extends Quest
switch (event) switch (event)
{ {
case "30091-03.htm": case "30091-03.htm":
st.startQuest(); {
qs.startQuest();
break; break;
}
case "30879-02.html": case "30879-02.html":
st.setCond(2, true); {
qs.setCond(2, true);
break; break;
}
case "30091-07.html": case "30091-07.html":
if (st.getQuestItemsCount(ROUGH_JEWEL) < JEWEL_COUNT) {
if (getQuestItemsCount(player, ROUGH_JEWEL) < JEWEL_COUNT)
{ {
return "30091-08.html"; return "30091-08.html";
} }
st.takeItems(ROUGH_JEWEL, -1); takeItems(player, ROUGH_JEWEL, -1);
st.setCond(4, true); qs.setCond(4, true);
break; break;
}
case "30091-11.html": case "30091-11.html":
if ((st.getQuestItemsCount(ORIHARUKON) >= ORIHARUKON_COUNT) && (st.getQuestItemsCount(SILVER_NUGGET) >= NUGGET_COUNT) && (st.getQuestItemsCount(THONS) >= THONS_COUNT)) {
if ((getQuestItemsCount(player, ORIHARUKON) >= ORIHARUKON_COUNT) && (getQuestItemsCount(player, SILVER_NUGGET) >= NUGGET_COUNT) && (getQuestItemsCount(player, THONS) >= THONS_COUNT))
{ {
st.takeItems(ORIHARUKON, ORIHARUKON_COUNT); takeItems(player, ORIHARUKON, ORIHARUKON_COUNT);
st.takeItems(SILVER_NUGGET, NUGGET_COUNT); takeItems(player, SILVER_NUGGET, NUGGET_COUNT);
st.takeItems(THONS, THONS_COUNT); takeItems(player, THONS, THONS_COUNT);
st.giveItems(JEWEL_BOX, 1); giveItems(player, JEWEL_BOX, 1);
st.exitQuest(false, true); qs.exitQuest(false, true);
} }
else else
{ {
htmltext = "30091-12.html"; htmltext = "30091-12.html";
} }
break; break;
}
default: default:
{
htmltext = null; htmltext = null;
break; break;
}
} }
return htmltext; return htmltext;
} }
@@ -109,17 +119,17 @@ public class Q00035_FindGlitteringJewelry extends Quest
final L2PcInstance member = getRandomPartyMember(player, 2); final L2PcInstance member = getRandomPartyMember(player, 2);
if (member != null) if (member != null)
{ {
final QuestState st = getQuestState(member, false); final QuestState qs = getQuestState(member, false);
if (getRandomBoolean()) if (getRandomBoolean())
{ {
st.giveItems(ROUGH_JEWEL, 1); giveItems(player, ROUGH_JEWEL, 1);
if (st.getQuestItemsCount(ROUGH_JEWEL) >= JEWEL_COUNT) if (getQuestItemsCount(player, ROUGH_JEWEL) >= JEWEL_COUNT)
{ {
st.setCond(3, true); qs.setCond(3, true);
} }
else else
{ {
st.playSound(QuestSound.ITEMSOUND_QUEST_ITEMGET); playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET);
} }
} }
} }
@@ -130,8 +140,8 @@ public class Q00035_FindGlitteringJewelry extends Quest
public String onTalk(L2Npc npc, L2PcInstance player) public String onTalk(L2Npc npc, L2PcInstance player)
{ {
String htmltext = getNoQuestMsg(player); String htmltext = getNoQuestMsg(player);
final QuestState st = getQuestState(player, true); final QuestState qs = getQuestState(player, true);
if (st == null) if (qs == null)
{ {
return htmltext; return htmltext;
} }
@@ -139,43 +149,59 @@ public class Q00035_FindGlitteringJewelry extends Quest
switch (npc.getId()) switch (npc.getId())
{ {
case ELLIE: case ELLIE:
switch (st.getState()) {
switch (qs.getState())
{ {
case State.CREATED: case State.CREATED:
{
htmltext = (player.getLevel() >= MIN_LEVEL) ? "30091-01.htm" : "30091-02.html"; htmltext = (player.getLevel() >= MIN_LEVEL) ? "30091-01.htm" : "30091-02.html";
break; break;
}
case State.STARTED: case State.STARTED:
switch (st.getCond()) {
switch (qs.getCond())
{ {
case 1: case 1:
{
htmltext = "30091-04.html"; htmltext = "30091-04.html";
break; break;
}
case 3: case 3:
htmltext = (st.getQuestItemsCount(ROUGH_JEWEL) >= JEWEL_COUNT) ? "30091-06.html" : "30091-05.html"; {
htmltext = (getQuestItemsCount(player, ROUGH_JEWEL) >= JEWEL_COUNT) ? "30091-06.html" : "30091-05.html";
break; break;
}
case 4: case 4:
htmltext = ((st.getQuestItemsCount(ORIHARUKON) >= ORIHARUKON_COUNT) && (st.getQuestItemsCount(SILVER_NUGGET) >= NUGGET_COUNT) && (st.getQuestItemsCount(THONS) >= THONS_COUNT)) ? "30091-09.html" : "30091-10.html"; {
htmltext = ((getQuestItemsCount(player, ORIHARUKON) >= ORIHARUKON_COUNT) && (getQuestItemsCount(player, SILVER_NUGGET) >= NUGGET_COUNT) && (getQuestItemsCount(player, THONS) >= THONS_COUNT)) ? "30091-09.html" : "30091-10.html";
break; break;
}
} }
break; break;
}
case State.COMPLETED: case State.COMPLETED:
{
htmltext = getAlreadyCompletedMsg(player); htmltext = getAlreadyCompletedMsg(player);
break; break;
}
} }
break; break;
}
case FELTON: case FELTON:
if (st.isStarted()) {
if (qs.isStarted())
{ {
if (st.isCond(1)) if (qs.isCond(1))
{ {
htmltext = "30879-01.html"; htmltext = "30879-01.html";
} }
else if (st.isCond(2)) else if (qs.isCond(2))
{ {
htmltext = "30879-03.html"; htmltext = "30879-03.html";
} }
} }
break; break;
}
} }
return htmltext; return htmltext;
} }

View File

@@ -55,8 +55,8 @@ public class Q00036_MakeASewingKit extends Quest
@Override @Override
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
{ {
final QuestState st = getQuestState(player, false); final QuestState qs = getQuestState(player, false);
if (st == null) if (qs == null)
{ {
return null; return null;
} }
@@ -65,32 +65,40 @@ public class Q00036_MakeASewingKit extends Quest
switch (event) switch (event)
{ {
case "30847-03.htm": case "30847-03.htm":
st.startQuest(); {
qs.startQuest();
break; break;
}
case "30847-06.html": case "30847-06.html":
if (st.getQuestItemsCount(ENCHANTED_IRON) < IRON_COUNT) {
if (getQuestItemsCount(player, ENCHANTED_IRON) < IRON_COUNT)
{ {
return getNoQuestMsg(player); return getNoQuestMsg(player);
} }
st.takeItems(ENCHANTED_IRON, -1); takeItems(player, ENCHANTED_IRON, -1);
st.setCond(3, true); qs.setCond(3, true);
break; break;
}
case "30847-09.html": case "30847-09.html":
if ((st.getQuestItemsCount(ARTISANS_FRAME) >= COUNT) && (st.getQuestItemsCount(ORIHARUKON) >= COUNT)) {
if ((getQuestItemsCount(player, ARTISANS_FRAME) >= COUNT) && (getQuestItemsCount(player, ORIHARUKON) >= COUNT))
{ {
st.takeItems(ARTISANS_FRAME, 10); takeItems(player, ARTISANS_FRAME, 10);
st.takeItems(ORIHARUKON, 10); takeItems(player, ORIHARUKON, 10);
st.giveItems(SEWING_KIT, 1); giveItems(player, SEWING_KIT, 1);
st.exitQuest(false, true); qs.exitQuest(false, true);
} }
else else
{ {
htmltext = "30847-10.html"; htmltext = "30847-10.html";
} }
break; break;
}
default: default:
{
htmltext = null; htmltext = null;
break; break;
}
} }
return htmltext; return htmltext;
} }
@@ -101,17 +109,17 @@ public class Q00036_MakeASewingKit extends Quest
final L2PcInstance member = getRandomPartyMember(player, 1); final L2PcInstance member = getRandomPartyMember(player, 1);
if (member != null) if (member != null)
{ {
final QuestState st = getQuestState(member, false); final QuestState qs = getQuestState(member, false);
if (getRandomBoolean()) if (getRandomBoolean())
{ {
st.giveItems(ENCHANTED_IRON, 1); giveItems(player, ENCHANTED_IRON, 1);
if (st.getQuestItemsCount(ENCHANTED_IRON) >= IRON_COUNT) if (getQuestItemsCount(player, ENCHANTED_IRON) >= IRON_COUNT)
{ {
st.setCond(2, true); qs.setCond(2, true);
} }
else else
{ {
st.playSound(QuestSound.ITEMSOUND_QUEST_ITEMGET); playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET);
} }
} }
} }
@@ -122,34 +130,46 @@ public class Q00036_MakeASewingKit extends Quest
public String onTalk(L2Npc npc, L2PcInstance player) public String onTalk(L2Npc npc, L2PcInstance player)
{ {
String htmltext = getNoQuestMsg(player); String htmltext = getNoQuestMsg(player);
final QuestState st = getQuestState(player, true); final QuestState qs = getQuestState(player, true);
if (st == null) if (qs == null)
{ {
return htmltext; return htmltext;
} }
switch (st.getState()) switch (qs.getState())
{ {
case State.CREATED: case State.CREATED:
{
htmltext = (player.getLevel() >= MIN_LEVEL) ? "30847-01.htm" : "30847-02.html"; htmltext = (player.getLevel() >= MIN_LEVEL) ? "30847-01.htm" : "30847-02.html";
break; break;
}
case State.STARTED: case State.STARTED:
switch (st.getCond()) {
switch (qs.getCond())
{ {
case 1: case 1:
{
htmltext = "30847-04.html"; htmltext = "30847-04.html";
break; break;
}
case 2: case 2:
{
htmltext = "30847-05.html"; htmltext = "30847-05.html";
break; break;
}
case 3: case 3:
htmltext = ((st.getQuestItemsCount(ARTISANS_FRAME) >= COUNT) && (st.getQuestItemsCount(ORIHARUKON) >= COUNT)) ? "30847-07.html" : "30847-08.html"; {
htmltext = ((getQuestItemsCount(player, ARTISANS_FRAME) >= COUNT) && (getQuestItemsCount(player, ORIHARUKON) >= COUNT)) ? "30847-07.html" : "30847-08.html";
break; break;
}
} }
break; break;
}
case State.COMPLETED: case State.COMPLETED:
{
htmltext = getAlreadyCompletedMsg(player); htmltext = getAlreadyCompletedMsg(player);
break; break;
}
} }
return htmltext; return htmltext;
} }

View File

@@ -56,8 +56,8 @@ public class Q00037_MakeFormalWear extends Quest
@Override @Override
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
{ {
final QuestState st = getQuestState(player, false); final QuestState qs = getQuestState(player, false);
if (st == null) if (qs == null)
{ {
return null; return null;
} }
@@ -66,58 +66,76 @@ public class Q00037_MakeFormalWear extends Quest
switch (event) switch (event)
{ {
case "30842-03.htm": case "30842-03.htm":
st.startQuest(); {
qs.startQuest();
break; break;
}
case "31520-02.html": case "31520-02.html":
st.giveItems(SIGNET_RING, 1); {
st.setCond(2, true); giveItems(player, SIGNET_RING, 1);
qs.setCond(2, true);
break; break;
}
case "31521-02.html": case "31521-02.html":
st.giveItems(ICE_WINE, 1); {
st.setCond(3, true); giveItems(player, ICE_WINE, 1);
qs.setCond(3, true);
break; break;
}
case "31627-02.html": case "31627-02.html":
if (!st.hasQuestItems(ICE_WINE)) {
if (!hasQuestItems(player, ICE_WINE))
{ {
return getNoQuestMsg(player); return getNoQuestMsg(player);
} }
st.takeItems(ICE_WINE, 1); takeItems(player, ICE_WINE, 1);
st.setCond(4, true); qs.setCond(4, true);
break; break;
}
case "31521-05.html": case "31521-05.html":
st.giveItems(BOX_OF_COOKIES, 1); {
st.setCond(5, true); giveItems(player, BOX_OF_COOKIES, 1);
qs.setCond(5, true);
break; break;
}
case "31520-05.html": case "31520-05.html":
if (!st.hasQuestItems(BOX_OF_COOKIES)) {
if (!hasQuestItems(player, BOX_OF_COOKIES))
{ {
return getNoQuestMsg(player); return getNoQuestMsg(player);
} }
st.takeItems(BOX_OF_COOKIES, 1); takeItems(player, BOX_OF_COOKIES, 1);
st.setCond(6, true); qs.setCond(6, true);
break; break;
}
case "31520-08.html": case "31520-08.html":
if (!st.hasQuestItems(SEWING_KIT, JEWEL_BOX, MYSTERIOUS_CLOTH)) {
if (!hasQuestItems(player, SEWING_KIT, JEWEL_BOX, MYSTERIOUS_CLOTH))
{ {
return "31520-09.html"; return "31520-09.html";
} }
st.takeItems(SEWING_KIT, 1); takeItems(player, SEWING_KIT, 1);
st.takeItems(JEWEL_BOX, 1); takeItems(player, JEWEL_BOX, 1);
st.takeItems(MYSTERIOUS_CLOTH, 1); takeItems(player, MYSTERIOUS_CLOTH, 1);
st.setCond(7, true); qs.setCond(7, true);
break; break;
}
case "31520-12.html": case "31520-12.html":
if (!st.hasQuestItems(DRESS_SHOES_BOX)) {
if (!hasQuestItems(player, DRESS_SHOES_BOX))
{ {
return "31520-13.html"; return "31520-13.html";
} }
st.takeItems(DRESS_SHOES_BOX, 1); takeItems(player, DRESS_SHOES_BOX, 1);
st.giveItems(FORMAL_WEAR, 1); giveItems(player, FORMAL_WEAR, 1);
st.exitQuest(false, true); qs.exitQuest(false, true);
break; break;
}
default: default:
{
htmltext = null; htmltext = null;
break; break;
}
} }
return htmltext; return htmltext;
} }
@@ -126,87 +144,123 @@ public class Q00037_MakeFormalWear extends Quest
public String onTalk(L2Npc npc, L2PcInstance player) public String onTalk(L2Npc npc, L2PcInstance player)
{ {
String htmltext = getNoQuestMsg(player); String htmltext = getNoQuestMsg(player);
final QuestState st = getQuestState(player, true); final QuestState qs = getQuestState(player, true);
if (st == null) if (qs == null)
{ {
return htmltext; return htmltext;
} }
switch (npc.getId()) switch (npc.getId())
{ {
case ALEXIS: case ALEXIS:
switch (st.getState()) {
switch (qs.getState())
{ {
case State.CREATED: case State.CREATED:
{
htmltext = (player.getLevel() >= MIN_LEVEL) ? "30842-01.htm" : "30842-02.html"; htmltext = (player.getLevel() >= MIN_LEVEL) ? "30842-01.htm" : "30842-02.html";
break; break;
}
case State.STARTED: case State.STARTED:
if (st.isCond(1)) {
if (qs.isCond(1))
{ {
htmltext = "30842-04.html"; htmltext = "30842-04.html";
} }
break; break;
}
case State.COMPLETED: case State.COMPLETED:
{
htmltext = getAlreadyCompletedMsg(player); htmltext = getAlreadyCompletedMsg(player);
break; break;
}
} }
break; break;
}
case LEIKAR: case LEIKAR:
if (st.isStarted()) {
if (qs.isStarted())
{ {
switch (st.getCond()) switch (qs.getCond())
{ {
case 1: case 1:
{
htmltext = "31520-01.html"; htmltext = "31520-01.html";
break; break;
}
case 2: case 2:
{
htmltext = "31520-03.html"; htmltext = "31520-03.html";
break; break;
}
case 5: case 5:
{
htmltext = "31520-04.html"; htmltext = "31520-04.html";
break; break;
}
case 6: case 6:
htmltext = (st.hasQuestItems(SEWING_KIT, JEWEL_BOX, MYSTERIOUS_CLOTH)) ? "31520-06.html" : "31520-07.html"; {
htmltext = hasQuestItems(player, SEWING_KIT, JEWEL_BOX, MYSTERIOUS_CLOTH) ? "31520-06.html" : "31520-07.html";
break; break;
}
case 7: case 7:
htmltext = (st.hasQuestItems(DRESS_SHOES_BOX)) ? "31520-10.html" : "31520-11.html"; {
htmltext = hasQuestItems(player, DRESS_SHOES_BOX) ? "31520-10.html" : "31520-11.html";
break; break;
}
} }
} }
break; break;
}
case JEREMY: case JEREMY:
if (st.isStarted()) {
if (qs.isStarted())
{ {
switch (st.getCond()) switch (qs.getCond())
{ {
case 2: case 2:
{
htmltext = "31521-01.html"; htmltext = "31521-01.html";
break; break;
}
case 3: case 3:
{
htmltext = "31521-03.html"; htmltext = "31521-03.html";
break; break;
}
case 4: case 4:
{
htmltext = "31521-04.html"; htmltext = "31521-04.html";
break; break;
}
case 5: case 5:
{
htmltext = "31521-06.html"; htmltext = "31521-06.html";
break; break;
}
} }
} }
break; break;
}
case MIST: case MIST:
if (st.isStarted()) {
if (qs.isStarted())
{ {
switch (st.getCond()) switch (qs.getCond())
{ {
case 3: case 3:
{
htmltext = "31627-01.html"; htmltext = "31627-01.html";
break; break;
}
case 4: case 4:
{
htmltext = "31627-03.html"; htmltext = "31627-03.html";
break; break;
}
} }
} }
break; break;
}
} }
return htmltext; return htmltext;
} }

View File

@@ -57,8 +57,8 @@ public final class Q00040_ASpecialOrder extends Quest
@Override @Override
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
{ {
final QuestState st = getQuestState(player, false); final QuestState qs = getQuestState(player, false);
if (st == null) if (qs == null)
{ {
return null; return null;
} }
@@ -67,36 +67,36 @@ public final class Q00040_ASpecialOrder extends Quest
{ {
case "accept": case "accept":
{ {
st.setState(State.STARTED); qs.setState(State.STARTED);
st.playSound(QuestSound.ITEMSOUND_QUEST_ACCEPT); playSound(player, QuestSound.ITEMSOUND_QUEST_ACCEPT);
if (getRandomBoolean()) if (getRandomBoolean())
{ {
st.setCond(2); qs.setCond(2);
htmltext = "30081-03.html"; htmltext = "30081-03.html";
} }
else else
{ {
st.setCond(5); qs.setCond(5);
htmltext = "30081-04.html"; htmltext = "30081-04.html";
} }
break; break;
} }
case "30081-07.html": case "30081-07.html":
{ {
if (st.isCond(4) && st.hasQuestItems(BOX_OF_FISH)) if (qs.isCond(4) && hasQuestItems(player, BOX_OF_FISH))
{ {
st.rewardItems(WONDROUS_CUBIC, 1); rewardItems(player, WONDROUS_CUBIC, 1);
st.exitQuest(false, true); qs.exitQuest(false, true);
htmltext = event; htmltext = event;
} }
break; break;
} }
case "30081-10.html": case "30081-10.html":
{ {
if (st.isCond(7) && st.hasQuestItems(BOX_OF_SEED)) if (qs.isCond(7) && hasQuestItems(player, BOX_OF_SEED))
{ {
st.rewardItems(WONDROUS_CUBIC, 1); rewardItems(player, WONDROUS_CUBIC, 1);
st.exitQuest(false, true); qs.exitQuest(false, true);
htmltext = event; htmltext = event;
} }
break; break;
@@ -109,18 +109,18 @@ public final class Q00040_ASpecialOrder extends Quest
} }
case "31572-03.html": case "31572-03.html":
{ {
if (st.isCond(2)) if (qs.isCond(2))
{ {
st.setCond(3, true); qs.setCond(3, true);
htmltext = event; htmltext = event;
} }
break; break;
} }
case "30511-03.html": case "30511-03.html":
{ {
if (st.isCond(5)) if (qs.isCond(5))
{ {
st.setCond(6, true); qs.setCond(6, true);
htmltext = event; htmltext = event;
} }
break; break;
@@ -132,9 +132,9 @@ public final class Q00040_ASpecialOrder extends Quest
@Override @Override
public String onTalk(L2Npc npc, L2PcInstance player) public String onTalk(L2Npc npc, L2PcInstance player)
{ {
final QuestState st = getQuestState(player, true); final QuestState qs = getQuestState(player, true);
String htmltext = getNoQuestMsg(player); String htmltext = getNoQuestMsg(player);
if (st == null) if (qs == null)
{ {
return htmltext; return htmltext;
} }
@@ -142,7 +142,7 @@ public final class Q00040_ASpecialOrder extends Quest
{ {
case HELVETIA: case HELVETIA:
{ {
switch (st.getState()) switch (qs.getState())
{ {
case State.CREATED: case State.CREATED:
{ {
@@ -151,7 +151,7 @@ public final class Q00040_ASpecialOrder extends Quest
} }
case State.STARTED: case State.STARTED:
{ {
switch (st.getCond()) switch (qs.getCond())
{ {
case 2: case 2:
case 3: case 3:
@@ -161,7 +161,7 @@ public final class Q00040_ASpecialOrder extends Quest
} }
case 4: case 4:
{ {
if (st.hasQuestItems(BOX_OF_FISH)) if (hasQuestItems(player, BOX_OF_FISH))
{ {
htmltext = "30081-06.html"; htmltext = "30081-06.html";
} }
@@ -175,7 +175,7 @@ public final class Q00040_ASpecialOrder extends Quest
} }
case 7: case 7:
{ {
if (st.hasQuestItems(BOX_OF_SEED)) if (hasQuestItems(player, BOX_OF_SEED))
{ {
htmltext = "30081-09.html"; htmltext = "30081-09.html";
} }
@@ -194,7 +194,7 @@ public final class Q00040_ASpecialOrder extends Quest
} }
case OFULLE: case OFULLE:
{ {
switch (st.getCond()) switch (qs.getCond())
{ {
case 2: case 2:
{ {
@@ -203,10 +203,10 @@ public final class Q00040_ASpecialOrder extends Quest
} }
case 3: case 3:
{ {
if ((st.getQuestItemsCount(ORANGE_SWIFT_FISH) >= 10) && (st.getQuestItemsCount(ORANGE_UGLY_FISH) >= 10) && (st.getQuestItemsCount(ORANGE_WIDE_FISH) >= 10)) if ((getQuestItemsCount(player, ORANGE_SWIFT_FISH) >= 10) && (getQuestItemsCount(player, ORANGE_UGLY_FISH) >= 10) && (getQuestItemsCount(player, ORANGE_WIDE_FISH) >= 10))
{ {
st.setCond(4, true); qs.setCond(4, true);
st.giveItems(BOX_OF_FISH, 1); giveItems(player, BOX_OF_FISH, 1);
takeItems(player, 10, ORANGE_SWIFT_FISH, ORANGE_UGLY_FISH, ORANGE_WIDE_FISH); takeItems(player, 10, ORANGE_SWIFT_FISH, ORANGE_UGLY_FISH, ORANGE_WIDE_FISH);
htmltext = "31572-05.html"; htmltext = "31572-05.html";
} }
@@ -226,7 +226,7 @@ public final class Q00040_ASpecialOrder extends Quest
} }
case GESTO: case GESTO:
{ {
switch (st.getCond()) switch (qs.getCond())
{ {
case 5: case 5:
{ {
@@ -235,10 +235,10 @@ public final class Q00040_ASpecialOrder extends Quest
} }
case 6: case 6:
{ {
if ((st.getQuestItemsCount(GOLDEN_COBOL) >= 40) && (st.getQuestItemsCount(BUR_COBOL) >= 40) && (st.getQuestItemsCount(GREAT_COBOL) >= 40)) if ((getQuestItemsCount(player, GOLDEN_COBOL) >= 40) && (getQuestItemsCount(player, BUR_COBOL) >= 40) && (getQuestItemsCount(player, GREAT_COBOL) >= 40))
{ {
st.setCond(7, true); qs.setCond(7, true);
st.giveItems(BOX_OF_SEED, 1); giveItems(player, BOX_OF_SEED, 1);
takeItems(player, 40, GOLDEN_COBOL, BUR_COBOL, GREAT_COBOL); takeItems(player, 40, GOLDEN_COBOL, BUR_COBOL, GREAT_COBOL);
htmltext = "30511-05.html"; htmltext = "30511-05.html";
} }

View File

@@ -54,8 +54,8 @@ public class Q00042_HelpTheUncle extends Quest
@Override @Override
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
{ {
final QuestState st = getQuestState(player, false); final QuestState qs = getQuestState(player, false);
if (st == null) if (qs == null)
{ {
return getNoQuestMsg(player); return getNoQuestMsg(player);
} }
@@ -64,46 +64,56 @@ public class Q00042_HelpTheUncle extends Quest
switch (event) switch (event)
{ {
case "30828-01.htm": case "30828-01.htm":
st.startQuest(); {
qs.startQuest();
break; break;
}
case "30828-03.html": case "30828-03.html":
if (st.hasQuestItems(TRIDENT)) {
if (hasQuestItems(player, TRIDENT))
{ {
st.takeItems(TRIDENT, 1); takeItems(player, TRIDENT, 1);
st.setCond(2, true); qs.setCond(2, true);
} }
else else
{ {
htmltext = "30828-03a.html"; htmltext = "30828-03a.html";
} }
break; break;
}
case "30828-06.html": case "30828-06.html":
if (st.getQuestItemsCount(MAP_PIECE) == 30) {
if (getQuestItemsCount(player, MAP_PIECE) == 30)
{ {
st.takeItems(MAP_PIECE, -1); takeItems(player, MAP_PIECE, -1);
st.giveItems(MAP, 1); giveItems(player, MAP, 1);
st.setCond(4, true); qs.setCond(4, true);
} }
else else
{ {
htmltext = "30828-06a.html"; htmltext = "30828-06a.html";
} }
break; break;
}
case "30735-02.html": case "30735-02.html":
if (st.hasQuestItems(MAP)) {
if (hasQuestItems(player, MAP))
{ {
st.takeItems(MAP, -1); takeItems(player, MAP, -1);
st.setCond(5, true); qs.setCond(5, true);
} }
else else
{ {
htmltext = "30735-02a.html"; htmltext = "30735-02a.html";
} }
break; break;
}
case "30828-09.html": case "30828-09.html":
st.giveItems(PET_TICKET, 1); {
st.exitQuest(false, true); giveItems(player, PET_TICKET, 1);
qs.exitQuest(false, true);
break; break;
}
} }
return htmltext; return htmltext;
} }
@@ -111,18 +121,18 @@ public class Q00042_HelpTheUncle extends Quest
@Override @Override
public String onKill(L2Npc npc, L2PcInstance player, boolean isSummon) public String onKill(L2Npc npc, L2PcInstance player, boolean isSummon)
{ {
final QuestState st = getQuestState(player, false); final QuestState qs = getQuestState(player, false);
if ((st != null) && st.isCond(2)) if ((qs != null) && qs.isCond(2))
{ {
st.giveItems(MAP_PIECE, 1); giveItems(player, MAP_PIECE, 1);
if (st.getQuestItemsCount(MAP_PIECE) == 30) if (getQuestItemsCount(player, MAP_PIECE) == 30)
{ {
st.setCond(3, true); qs.setCond(3, true);
} }
else else
{ {
st.playSound(QuestSound.ITEMSOUND_QUEST_ITEMGET); playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET);
} }
} }
return super.onKill(npc, player, isSummon); return super.onKill(npc, player, isSummon);
@@ -132,8 +142,8 @@ public class Q00042_HelpTheUncle extends Quest
public String onTalk(L2Npc npc, L2PcInstance player) public String onTalk(L2Npc npc, L2PcInstance player)
{ {
String htmltext = getNoQuestMsg(player); String htmltext = getNoQuestMsg(player);
final QuestState st = getQuestState(player, true); final QuestState qs = getQuestState(player, true);
if (st == null) if (qs == null)
{ {
return htmltext; return htmltext;
} }
@@ -141,50 +151,74 @@ public class Q00042_HelpTheUncle extends Quest
switch (npc.getId()) switch (npc.getId())
{ {
case WATERS: case WATERS:
switch (st.getState()) {
switch (qs.getState())
{ {
case State.CREATED: case State.CREATED:
{
htmltext = (player.getLevel() >= 25) ? "30828-00.htm" : "30828-00a.html"; htmltext = (player.getLevel() >= 25) ? "30828-00.htm" : "30828-00a.html";
break; break;
}
case State.STARTED: case State.STARTED:
switch (st.getCond()) {
switch (qs.getCond())
{ {
case 1: case 1:
htmltext = (st.hasQuestItems(TRIDENT)) ? "30828-02.html" : "30828-02a.html"; {
htmltext = hasQuestItems(player, TRIDENT) ? "30828-02.html" : "30828-02a.html";
break; break;
}
case 2: case 2:
{
htmltext = "30828-04.html"; htmltext = "30828-04.html";
break; break;
}
case 3: case 3:
{
htmltext = "30828-05.html"; htmltext = "30828-05.html";
break; break;
}
case 4: case 4:
{
htmltext = "30828-07.html"; htmltext = "30828-07.html";
break; break;
}
case 5: case 5:
{
htmltext = "30828-08.html"; htmltext = "30828-08.html";
break; break;
}
} }
break; break;
}
case State.COMPLETED: case State.COMPLETED:
{
htmltext = getAlreadyCompletedMsg(player); htmltext = getAlreadyCompletedMsg(player);
break; break;
}
break;
case SOPHYA:
if (st.isStarted())
{
switch (st.getCond())
{
case 4:
htmltext = "30735-01.html";
break;
case 5:
htmltext = "30735-03.html";
break;
} }
} }
break; break;
}
case SOPHYA:
{
if (qs.isStarted())
{
switch (qs.getCond())
{
case 4:
{
htmltext = "30735-01.html";
break;
}
case 5:
{
htmltext = "30735-03.html";
break;
}
}
}
break;
}
} }
return htmltext; return htmltext;
} }

View File

@@ -54,8 +54,8 @@ public class Q00043_HelpTheSister extends Quest
@Override @Override
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
{ {
final QuestState st = getQuestState(player, false); final QuestState qs = getQuestState(player, false);
if (st == null) if (qs == null)
{ {
return getNoQuestMsg(player); return getNoQuestMsg(player);
} }
@@ -64,46 +64,56 @@ public class Q00043_HelpTheSister extends Quest
switch (event) switch (event)
{ {
case "30829-01.htm": case "30829-01.htm":
st.startQuest(); {
qs.startQuest();
break; break;
}
case "30829-03.html": case "30829-03.html":
if (st.hasQuestItems(CRAFTED_DAGGER)) {
if (hasQuestItems(player, CRAFTED_DAGGER))
{ {
st.takeItems(CRAFTED_DAGGER, 1); takeItems(player, CRAFTED_DAGGER, 1);
st.setCond(2, true); qs.setCond(2, true);
} }
else else
{ {
htmltext = getNoQuestMsg(player); htmltext = getNoQuestMsg(player);
} }
break; break;
}
case "30829-06.html": case "30829-06.html":
if (st.getQuestItemsCount(MAP_PIECE) == 30) {
if (getQuestItemsCount(player, MAP_PIECE) == 30)
{ {
st.takeItems(MAP_PIECE, -1); takeItems(player, MAP_PIECE, -1);
st.giveItems(MAP, 1); giveItems(player, MAP, 1);
st.setCond(4, true); qs.setCond(4, true);
} }
else else
{ {
htmltext = "30829-06a.html"; htmltext = "30829-06a.html";
} }
break; break;
}
case "30097-02.html": case "30097-02.html":
if (st.hasQuestItems(MAP)) {
if (hasQuestItems(player, MAP))
{ {
st.takeItems(MAP, -1); takeItems(player, MAP, -1);
st.setCond(5, true); qs.setCond(5, true);
} }
else else
{ {
htmltext = "30097-02a.html"; htmltext = "30097-02a.html";
} }
break; break;
}
case "30829-09.html": case "30829-09.html":
st.giveItems(PET_TICKET, 1); {
st.exitQuest(false, true); giveItems(player, PET_TICKET, 1);
qs.exitQuest(false, true);
break; break;
}
} }
return htmltext; return htmltext;
} }
@@ -111,18 +121,18 @@ public class Q00043_HelpTheSister extends Quest
@Override @Override
public String onKill(L2Npc npc, L2PcInstance player, boolean isSummon) public String onKill(L2Npc npc, L2PcInstance player, boolean isSummon)
{ {
final QuestState st = getQuestState(player, false); final QuestState qs = getQuestState(player, false);
if ((st != null) && st.isCond(2)) if ((qs != null) && qs.isCond(2))
{ {
st.giveItems(MAP_PIECE, 1); giveItems(player, MAP_PIECE, 1);
if (st.getQuestItemsCount(MAP_PIECE) == 30) if (getQuestItemsCount(player, MAP_PIECE) == 30)
{ {
st.setCond(3, true); qs.setCond(3, true);
} }
else else
{ {
st.playSound(QuestSound.ITEMSOUND_QUEST_ITEMGET); playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET);
} }
} }
return super.onKill(npc, player, isSummon); return super.onKill(npc, player, isSummon);
@@ -132,8 +142,8 @@ public class Q00043_HelpTheSister extends Quest
public String onTalk(L2Npc npc, L2PcInstance player) public String onTalk(L2Npc npc, L2PcInstance player)
{ {
String htmltext = getNoQuestMsg(player); String htmltext = getNoQuestMsg(player);
final QuestState st = getQuestState(player, true); final QuestState qs = getQuestState(player, true);
if (st == null) if (qs == null)
{ {
return htmltext; return htmltext;
} }
@@ -141,50 +151,72 @@ public class Q00043_HelpTheSister extends Quest
switch (npc.getId()) switch (npc.getId())
{ {
case COOPER: case COOPER:
switch (st.getState()) switch (qs.getState())
{ {
case State.CREATED: case State.CREATED:
{
htmltext = (player.getLevel() >= 26) ? "30829-00.htm" : "30829-00a.html"; htmltext = (player.getLevel() >= 26) ? "30829-00.htm" : "30829-00a.html";
break; break;
}
case State.STARTED: case State.STARTED:
switch (st.getCond()) {
switch (qs.getCond())
{ {
case 1: case 1:
htmltext = (st.hasQuestItems(CRAFTED_DAGGER)) ? "30829-02.html" : "30829-02a.html"; {
htmltext = hasQuestItems(player, CRAFTED_DAGGER) ? "30829-02.html" : "30829-02a.html";
break; break;
}
case 2: case 2:
{
htmltext = "30829-04.html"; htmltext = "30829-04.html";
break; break;
}
case 3: case 3:
{
htmltext = "30829-05.html"; htmltext = "30829-05.html";
break; break;
}
case 4: case 4:
{
htmltext = "30829-07.html"; htmltext = "30829-07.html";
break; break;
}
case 5: case 5:
{
htmltext = "30829-08.html"; htmltext = "30829-08.html";
break; break;
}
} }
break; break;
}
case State.COMPLETED: case State.COMPLETED:
{
htmltext = getAlreadyCompletedMsg(player); htmltext = getAlreadyCompletedMsg(player);
break; break;
}
break;
case GALLADUCCI:
if (st.isStarted())
{
switch (st.getCond())
{
case 4:
htmltext = "30097-01.html";
break;
case 5:
htmltext = "30097-03.html";
break;
} }
} }
break; break;
case GALLADUCCI:
{
if (qs.isStarted())
{
switch (qs.getCond())
{
case 4:
{
htmltext = "30097-01.html";
break;
}
case 5:
{
htmltext = "30097-03.html";
break;
}
}
}
break;
}
} }
return htmltext; return htmltext;
} }

View File

@@ -55,8 +55,8 @@ public class Q00044_HelpTheSon extends Quest
@Override @Override
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
{ {
final QuestState st = getQuestState(player, false); final QuestState qs = getQuestState(player, false);
if (st == null) if (qs == null)
{ {
return getNoQuestMsg(player); return getNoQuestMsg(player);
} }
@@ -65,46 +65,56 @@ public class Q00044_HelpTheSon extends Quest
switch (event) switch (event)
{ {
case "30827-01.htm": case "30827-01.htm":
st.startQuest(); {
qs.startQuest();
break; break;
}
case "30827-03.html": case "30827-03.html":
if (st.hasQuestItems(WORK_HAMMER)) {
if (hasQuestItems(player, WORK_HAMMER))
{ {
st.takeItems(WORK_HAMMER, 1); takeItems(player, WORK_HAMMER, 1);
st.setCond(2, true); qs.setCond(2, true);
} }
else else
{ {
htmltext = "30827-03a.html"; htmltext = "30827-03a.html";
} }
break; break;
}
case "30827-06.html": case "30827-06.html":
if (st.getQuestItemsCount(GEMSTONE_FRAGMENT) == 30) {
if (getQuestItemsCount(player, GEMSTONE_FRAGMENT) == 30)
{ {
st.takeItems(GEMSTONE_FRAGMENT, -1); takeItems(player, GEMSTONE_FRAGMENT, -1);
st.giveItems(GEMSTONE, 1); giveItems(player, GEMSTONE, 1);
st.setCond(4, true); qs.setCond(4, true);
} }
else else
{ {
htmltext = "30827-06a.html"; htmltext = "30827-06a.html";
} }
break; break;
}
case "30505-02.html": case "30505-02.html":
if (st.hasQuestItems(GEMSTONE)) {
if (hasQuestItems(player, GEMSTONE))
{ {
st.takeItems(GEMSTONE, -1); takeItems(player, GEMSTONE, -1);
st.setCond(5, true); qs.setCond(5, true);
} }
else else
{ {
htmltext = "30505-02a.html"; htmltext = "30505-02a.html";
} }
break; break;
}
case "30827-09.html": case "30827-09.html":
st.giveItems(PET_TICKET, 1); {
st.exitQuest(false, true); giveItems(player, PET_TICKET, 1);
qs.exitQuest(false, true);
break; break;
}
} }
return htmltext; return htmltext;
@@ -113,17 +123,17 @@ public class Q00044_HelpTheSon extends Quest
@Override @Override
public String onKill(L2Npc npc, L2PcInstance player, boolean isSummon) public String onKill(L2Npc npc, L2PcInstance player, boolean isSummon)
{ {
final QuestState st = getQuestState(player, false); final QuestState qs = getQuestState(player, false);
if ((st != null) && st.isCond(2)) if ((qs != null) && qs.isCond(2))
{ {
st.giveItems(GEMSTONE_FRAGMENT, 1); giveItems(player, GEMSTONE_FRAGMENT, 1);
if (st.getQuestItemsCount(GEMSTONE_FRAGMENT) == 30) if (getQuestItemsCount(player, GEMSTONE_FRAGMENT) == 30)
{ {
st.setCond(3, true); qs.setCond(3, true);
} }
else else
{ {
st.playSound(QuestSound.ITEMSOUND_QUEST_ITEMGET); playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET);
} }
} }
return super.onKill(npc, player, isSummon); return super.onKill(npc, player, isSummon);
@@ -133,8 +143,8 @@ public class Q00044_HelpTheSon extends Quest
public String onTalk(L2Npc npc, L2PcInstance player) public String onTalk(L2Npc npc, L2PcInstance player)
{ {
String htmltext = getNoQuestMsg(player); String htmltext = getNoQuestMsg(player);
final QuestState st = getQuestState(player, true); final QuestState qs = getQuestState(player, true);
if (st == null) if (qs == null)
{ {
return htmltext; return htmltext;
} }
@@ -142,50 +152,74 @@ public class Q00044_HelpTheSon extends Quest
switch (npc.getId()) switch (npc.getId())
{ {
case LUNDY: case LUNDY:
switch (st.getState()) {
switch (qs.getState())
{ {
case State.CREATED: case State.CREATED:
{
htmltext = (player.getLevel() >= 24) ? "30827-00.htm" : "30827-00a.html"; htmltext = (player.getLevel() >= 24) ? "30827-00.htm" : "30827-00a.html";
break; break;
}
case State.STARTED: case State.STARTED:
switch (st.getCond()) {
switch (qs.getCond())
{ {
case 1: case 1:
htmltext = (st.hasQuestItems(WORK_HAMMER)) ? "30827-02.html" : "30827-02a.html"; {
htmltext = hasQuestItems(player, WORK_HAMMER) ? "30827-02.html" : "30827-02a.html";
break; break;
}
case 2: case 2:
{
htmltext = "30827-04.html"; htmltext = "30827-04.html";
break; break;
}
case 3: case 3:
{
htmltext = "30827-05.html"; htmltext = "30827-05.html";
break; break;
}
case 4: case 4:
{
htmltext = "30827-07.html"; htmltext = "30827-07.html";
break; break;
}
case 5: case 5:
{
htmltext = "30827-08.html"; htmltext = "30827-08.html";
break; break;
}
} }
break; break;
}
case State.COMPLETED: case State.COMPLETED:
{
htmltext = getAlreadyCompletedMsg(player); htmltext = getAlreadyCompletedMsg(player);
break; break;
}
break;
case DRIKUS:
if (st.isStarted())
{
switch (st.getCond())
{
case 4:
htmltext = "30505-01.html";
break;
case 5:
htmltext = "30505-03.html";
break;
} }
} }
break; break;
}
case DRIKUS:
{
if (qs.isStarted())
{
switch (qs.getCond())
{
case 4:
{
htmltext = "30505-01.html";
break;
}
case 5:
{
htmltext = "30505-03.html";
break;
}
}
}
break;
}
} }
return htmltext; return htmltext;
} }

View File

@@ -46,8 +46,8 @@ public class Q00109_InSearchOfTheNest extends Quest
@Override @Override
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
{ {
final QuestState st = getQuestState(player, false); final QuestState qs = getQuestState(player, false);
if (st == null) if (qs == null)
{ {
return getNoQuestMsg(player); return getNoQuestMsg(player);
} }
@@ -55,21 +55,29 @@ public class Q00109_InSearchOfTheNest extends Quest
switch (event) switch (event)
{ {
case "31553-0.htm": case "31553-0.htm":
st.startQuest(); {
qs.startQuest();
break; break;
}
case "32015-2.html": case "32015-2.html":
st.giveItems(SCOUTS_NOTE, 1); {
st.setCond(2, true); giveItems(player, SCOUTS_NOTE, 1);
qs.setCond(2, true);
break; break;
}
case "31553-3.html": case "31553-3.html":
st.takeItems(SCOUTS_NOTE, -1); {
st.setCond(3, true); takeItems(player, SCOUTS_NOTE, -1);
qs.setCond(3, true);
break; break;
}
case "31554-2.html": case "31554-2.html":
st.giveAdena(161500, true); {
st.addExpAndSp(701500, 50000); giveAdena(player, 161500, true);
st.exitQuest(false, true); addExpAndSp(player, 701500, 50000);
qs.exitQuest(false, true);
break; break;
}
} }
return event; return event;
} }
@@ -78,8 +86,8 @@ public class Q00109_InSearchOfTheNest extends Quest
public String onTalk(L2Npc npc, L2PcInstance player) public String onTalk(L2Npc npc, L2PcInstance player)
{ {
String htmltext = getNoQuestMsg(player); String htmltext = getNoQuestMsg(player);
final QuestState st = getQuestState(player, true); final QuestState qs = getQuestState(player, true);
if (st == null) if (qs == null)
{ {
return htmltext; return htmltext;
} }
@@ -87,49 +95,67 @@ public class Q00109_InSearchOfTheNest extends Quest
switch (npc.getId()) switch (npc.getId())
{ {
case PIERCE: case PIERCE:
switch (st.getState()) {
switch (qs.getState())
{ {
case State.CREATED: case State.CREATED:
{
htmltext = (player.getLevel() < 81) ? "31553-0a.htm" : "31553-0b.htm"; htmltext = (player.getLevel() < 81) ? "31553-0a.htm" : "31553-0b.htm";
break; break;
}
case State.STARTED: case State.STARTED:
switch (st.getInt("cond")) {
switch (qs.getCond())
{ {
case 1: case 1:
{
htmltext = "31553-1.html"; htmltext = "31553-1.html";
break; break;
}
case 2: case 2:
{
htmltext = "31553-2.html"; htmltext = "31553-2.html";
break; break;
}
case 3: case 3:
{
htmltext = "31553-3a.html"; htmltext = "31553-3a.html";
break; break;
}
} }
break; break;
}
case State.COMPLETED: case State.COMPLETED:
{
htmltext = getAlreadyCompletedMsg(player); htmltext = getAlreadyCompletedMsg(player);
break; break;
}
} }
break; break;
}
case SCOUTS_CORPSE: case SCOUTS_CORPSE:
if (st.isStarted()) {
if (qs.isStarted())
{ {
if (st.isCond(1)) if (qs.isCond(1))
{ {
htmltext = "32015-1.html"; htmltext = "32015-1.html";
} }
else if (st.isCond(2)) else if (qs.isCond(2))
{ {
htmltext = "32015-3.html"; htmltext = "32015-3.html";
} }
} }
break; break;
}
case KAHMAN: case KAHMAN:
if (st.isStarted() && st.isCond(3)) {
if (qs.isStarted() && qs.isCond(3))
{ {
htmltext = "31554-1.html"; htmltext = "31554-1.html";
} }
break; break;
}
} }
return htmltext; return htmltext;
} }

View File

@@ -45,8 +45,8 @@ public class Q00110_ToThePrimevalIsle extends Quest
@Override @Override
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
{ {
final QuestState st = getQuestState(player, false); final QuestState qs = getQuestState(player, false);
if (st == null) if (qs == null)
{ {
return getNoQuestMsg(player); return getNoQuestMsg(player);
} }
@@ -54,15 +54,19 @@ public class Q00110_ToThePrimevalIsle extends Quest
switch (event) switch (event)
{ {
case "31338-1.html": case "31338-1.html":
st.giveItems(ANCIENT_BOOK, 1); {
st.startQuest(); giveItems(player, ANCIENT_BOOK, 1);
qs.startQuest();
break; break;
}
case "32113-2.html": case "32113-2.html":
case "32113-2a.html": case "32113-2a.html":
st.giveAdena(191678, true); {
st.addExpAndSp(251602, 25245); giveAdena(player, 191678, true);
st.exitQuest(false, true); addExpAndSp(player, 251602, 25245);
qs.exitQuest(false, true);
break; break;
}
} }
return event; return event;
} }
@@ -71,8 +75,8 @@ public class Q00110_ToThePrimevalIsle extends Quest
public String onTalk(L2Npc npc, L2PcInstance player) public String onTalk(L2Npc npc, L2PcInstance player)
{ {
String htmltext = getNoQuestMsg(player); String htmltext = getNoQuestMsg(player);
final QuestState st = getQuestState(player, true); final QuestState qs = getQuestState(player, true);
if (st == null) if (qs == null)
{ {
return htmltext; return htmltext;
} }
@@ -80,25 +84,35 @@ public class Q00110_ToThePrimevalIsle extends Quest
switch (npc.getId()) switch (npc.getId())
{ {
case ANTON: case ANTON:
switch (st.getState()) {
switch (qs.getState())
{ {
case State.CREATED: case State.CREATED:
{
htmltext = (player.getLevel() < 75) ? "31338-0a.htm" : "31338-0b.htm"; htmltext = (player.getLevel() < 75) ? "31338-0a.htm" : "31338-0b.htm";
break; break;
}
case State.STARTED: case State.STARTED:
{
htmltext = "31338-1a.html"; htmltext = "31338-1a.html";
break; break;
}
case State.COMPLETED: case State.COMPLETED:
{
htmltext = getAlreadyCompletedMsg(player); htmltext = getAlreadyCompletedMsg(player);
break; break;
}
} }
break; break;
}
case MARQUEZ: case MARQUEZ:
if (st.isCond(1)) {
if (qs.isCond(1))
{ {
htmltext = "32113-1.html"; htmltext = "32113-1.html";
} }
break; break;
}
} }
return htmltext; return htmltext;
} }

View File

@@ -47,9 +47,9 @@ public class Q00113_StatusOfTheBeaconTower extends Quest
@Override @Override
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
{ {
final QuestState st = getQuestState(player, false); final QuestState qs = getQuestState(player, false);
if (st == null) if (qs == null)
{ {
return null; return null;
} }
@@ -58,25 +58,31 @@ public class Q00113_StatusOfTheBeaconTower extends Quest
switch (event) switch (event)
{ {
case "31979-02.htm": case "31979-02.htm":
st.startQuest(); {
st.giveItems(FLAME_BOX, 1); qs.startQuest();
giveItems(player, FLAME_BOX, 1);
break; break;
}
case "32016-02.html": case "32016-02.html":
if (st.hasQuestItems(FIRE_BOX)) {
if (hasQuestItems(player, FIRE_BOX))
{ {
st.giveAdena(21578, true); giveAdena(player, 21578, true);
st.addExpAndSp(76665, 5333); addExpAndSp(player, 76665, 5333);
} }
else else
{ {
st.giveAdena(154800, true); giveAdena(player, 154800, true);
st.addExpAndSp(619300, 44200); addExpAndSp(player, 619300, 44200);
} }
st.exitQuest(false, true); qs.exitQuest(false, true);
break; break;
}
default: default:
{
htmltext = null; htmltext = null;
break; break;
}
} }
return htmltext; return htmltext;
} }
@@ -85,9 +91,9 @@ public class Q00113_StatusOfTheBeaconTower extends Quest
public String onTalk(L2Npc npc, L2PcInstance player) public String onTalk(L2Npc npc, L2PcInstance player)
{ {
String htmltext = getNoQuestMsg(player); String htmltext = getNoQuestMsg(player);
final QuestState st = getQuestState(player, true); final QuestState qs = getQuestState(player, true);
if (st == null) if (qs == null)
{ {
return htmltext; return htmltext;
} }
@@ -95,25 +101,35 @@ public class Q00113_StatusOfTheBeaconTower extends Quest
switch (npc.getId()) switch (npc.getId())
{ {
case MOIRA: case MOIRA:
switch (st.getState()) {
switch (qs.getState())
{ {
case State.CREATED: case State.CREATED:
{
htmltext = (player.getLevel() >= 80) ? "31979-01.htm" : "31979-00.htm"; htmltext = (player.getLevel() >= 80) ? "31979-01.htm" : "31979-00.htm";
break; break;
}
case State.STARTED: case State.STARTED:
{
htmltext = "31979-03.html"; htmltext = "31979-03.html";
break; break;
}
case State.COMPLETED: case State.COMPLETED:
{
htmltext = getAlreadyCompletedMsg(player); htmltext = getAlreadyCompletedMsg(player);
break; break;
}
} }
break; break;
}
case TORRANT: case TORRANT:
if (st.isStarted()) {
if (qs.isStarted())
{ {
htmltext = "32016-01.html"; htmltext = "32016-01.html";
} }
break; break;
}
} }
return htmltext; return htmltext;
} }

View File

@@ -67,9 +67,9 @@ public class Q00114_ResurrectionOfAnOldManager extends Quest
@Override @Override
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
{ {
final QuestState st = getQuestState(player, false); final QuestState qs = getQuestState(player, false);
if (st == null) if (qs == null)
{ {
return null; return null;
} }
@@ -77,19 +77,25 @@ public class Q00114_ResurrectionOfAnOldManager extends Quest
String htmltext = event; String htmltext = event;
switch (event) switch (event)
{ {
// Yumi
case "32041-04.htm": case "32041-04.htm":
st.startQuest(); {
qs.startQuest();
break; break;
}
case "32041-08.html": case "32041-08.html":
st.set("talk", "1"); {
qs.set("talk", "1");
break; break;
}
case "32041-09.html": case "32041-09.html":
st.setCond(2, true); {
st.unset("talk"); qs.setCond(2, true);
qs.unset("talk");
break; break;
}
case "32041-12.html": case "32041-12.html":
switch (st.getCond()) {
switch (qs.getCond())
{ {
case 3: case 3:
htmltext = "32041-12.html"; htmltext = "32041-12.html";
@@ -102,101 +108,137 @@ public class Q00114_ResurrectionOfAnOldManager extends Quest
break; break;
} }
break; break;
}
case "32041-15.html": case "32041-15.html":
st.set("talk", "1"); {
qs.set("talk", "1");
break; break;
}
case "32041-23.html": case "32041-23.html":
st.set("talk", "2"); {
qs.set("talk", "2");
break; break;
}
case "32041-26.html": case "32041-26.html":
st.setCond(6, true); {
st.unset("talk"); qs.setCond(6, true);
qs.unset("talk");
break; break;
}
case "32041-31.html": case "32041-31.html":
st.giveItems(DETCTOR, 1); {
st.setCond(17, true); giveItems(player, DETCTOR, 1);
qs.setCond(17, true);
break; break;
}
case "32041-34.html": case "32041-34.html":
st.set("talk", "1"); {
st.takeItems(DETCTOR2, 1); qs.set("talk", "1");
takeItems(player, DETCTOR2, 1);
break; break;
}
case "32041-38.html": case "32041-38.html":
if (st.getInt("choice") == 2) {
if (qs.getInt("choice") == 2)
{ {
htmltext = "32041-37.html"; htmltext = "32041-37.html";
} }
break; break;
}
case "32041-39.html": case "32041-39.html":
st.unset("talk"); {
st.setCond(20, true); qs.unset("talk");
qs.setCond(20, true);
break; break;
}
case "32041-40.html": case "32041-40.html":
st.setCond(21, true); {
st.unset("talk"); qs.setCond(21, true);
st.giveItems(LETTER, 1); qs.unset("talk");
giveItems(player, LETTER, 1);
break; break;
// Suspicious-Looking Pile of Stones }
case "32046-03.html": case "32046-03.html":
st.setCond(19, true); {
qs.setCond(19, true);
break; break;
}
case "32046-07.html": case "32046-07.html":
st.addExpAndSp(1846611, 144270); {
st.exitQuest(false, true); addExpAndSp(player, 1846611, 144270);
qs.exitQuest(false, true);
break; break;
// Wendy }
case "32047-02.html": case "32047-02.html":
if (st.getInt("talk") == 0) {
if (qs.getInt("talk") == 0)
{ {
st.set("talk", "1"); qs.set("talk", "1");
} }
break; break;
}
case "32047-03.html": case "32047-03.html":
if (st.getInt("talk1") == 0) {
if (qs.getInt("talk1") == 0)
{ {
st.set("talk1", "1"); qs.set("talk1", "1");
} }
break; break;
}
case "32047-05.html": case "32047-05.html":
if ((st.getInt("talk") == 0) || (st.getInt("talk1") == 0)) {
if ((qs.getInt("talk") == 0) || (qs.getInt("talk1") == 0))
{ {
htmltext = "32047-04.html"; htmltext = "32047-04.html";
} }
break; break;
}
case "32047-06.html": case "32047-06.html":
st.set("choice", "1"); {
st.setCond(3, true); qs.set("choice", "1");
st.unset("talk1"); qs.setCond(3, true);
st.unset("talk"); qs.unset("talk1");
qs.unset("talk");
break; break;
}
case "32047-07.html": case "32047-07.html":
st.set("choice", "2"); {
st.setCond(4, true); qs.set("choice", "2");
st.unset("talk1"); qs.setCond(4, true);
st.unset("talk"); qs.unset("talk1");
qs.unset("talk");
break; break;
}
case "32047-09.html": case "32047-09.html":
st.set("choice", "3"); {
st.setCond(5, true); qs.set("choice", "3");
st.unset("talk1"); qs.setCond(5, true);
st.unset("talk"); qs.unset("talk1");
qs.unset("talk");
break; break;
}
case "32047-14ab.html": case "32047-14ab.html":
st.set("choice", "3"); {
st.setCond(7, true); qs.set("choice", "3");
qs.setCond(7, true);
break; break;
}
case "32047-14b.html": case "32047-14b.html":
st.setCond(10, true); {
qs.setCond(10, true);
break; break;
}
case "32047-15b.html": case "32047-15b.html":
{
if ((golem == null) || ((golem != null) && golem.isDead())) if ((golem == null) || ((golem != null) && golem.isDead()))
{ {
golem = (L2Attackable) addSpawn(GUARDIAN, 96977, -110625, -3280, 0, false, 0); golem = (L2Attackable) addSpawn(GUARDIAN, 96977, -110625, -3280, 0, false, 0);
golem.broadcastPacket(new NpcSay(golem.getObjectId(), ChatType.NPC_GENERAL, golem.getId(), NpcStringId.YOU_S1_YOU_ATTACKED_WENDY_PREPARE_TO_DIE).addStringParameter(player.getName())); golem.broadcastPacket(new NpcSay(golem.getObjectId(), ChatType.NPC_GENERAL, golem.getId(), NpcStringId.YOU_S1_YOU_ATTACKED_WENDY_PREPARE_TO_DIE).addStringParameter(player.getName()));
addAttackDesire(golem, player); addAttackDesire(golem, player);
st.set("spawned", "1"); qs.set("spawned", "1");
startQuestTimer("golem_despawn", 300000, null, player); startQuestTimer("golem_despawn", 300000, null, player);
} }
else if (st.getInt("spawned") == 1) else if (qs.getInt("spawned") == 1)
{ {
htmltext = "32047-17b.html"; htmltext = "32047-17b.html";
} }
@@ -205,69 +247,92 @@ public class Q00114_ResurrectionOfAnOldManager extends Quest
htmltext = "32047-16b.html"; htmltext = "32047-16b.html";
} }
break; break;
}
case "32047-20a.html": case "32047-20a.html":
st.setCond(8, true); {
qs.setCond(8, true);
break; break;
}
case "32047-20b.html": case "32047-20b.html":
st.setCond(12, true); {
qs.setCond(12, true);
break; break;
}
case "32047-20c.html": case "32047-20c.html":
st.setCond(13, true); {
qs.setCond(13, true);
break; break;
}
case "32047-21a.html": case "32047-21a.html":
st.setCond(9, true); {
qs.setCond(9, true);
break; break;
}
case "32047-23a.html": case "32047-23a.html":
st.setCond(23, true); {
qs.setCond(23, true);
break; break;
}
case "32047-23c.html": case "32047-23c.html":
st.takeItems(STARSTONE, 1); {
st.setCond(15, true); takeItems(player, STARSTONE, 1);
qs.setCond(15, true);
break; break;
}
case "32047-29c.html": case "32047-29c.html":
{
if (player.getAdena() >= 3000) if (player.getAdena() >= 3000)
{ {
st.giveItems(STARSTONE2, 1); giveItems(player, STARSTONE2, 1);
st.takeItems(Inventory.ADENA_ID, 3000); takeItems(player, Inventory.ADENA_ID, 3000);
st.unset("talk"); qs.unset("talk");
st.setCond(26, true); qs.setCond(26, true);
} }
else else
{ {
htmltext = "32047-29ca.html"; htmltext = "32047-29ca.html";
} }
break; break;
}
case "32047-30c.html": case "32047-30c.html":
st.set("talk", "1"); {
qs.set("talk", "1");
break; break;
// Box }
case "32050-01r.html": case "32050-01r.html":
st.set("talk", "1"); {
qs.set("talk", "1");
break; break;
}
case "32050-03.html": case "32050-03.html":
st.giveItems(STARSTONE, 1); {
st.setCond(14, true); giveItems(player, STARSTONE, 1);
st.unset("talk"); qs.setCond(14, true);
qs.unset("talk");
break; break;
}
case "32050-05.html": case "32050-05.html":
st.setCond(24, true); {
st.giveItems(STARSTONE2, 1); qs.setCond(24, true);
giveItems(player, STARSTONE2, 1);
break; break;
// Newyear }
case "31961-02.html": case "31961-02.html":
st.takeItems(LETTER, 1); {
st.giveItems(STARSTONE2, 1); takeItems(player, LETTER, 1);
st.setCond(22, true); giveItems(player, STARSTONE2, 1);
qs.setCond(22, true);
break; break;
// Quest timer }
case "golem_despawn": case "golem_despawn":
st.unset("spawned"); {
qs.unset("spawned");
golem.broadcastPacket(new NpcSay(golem.getObjectId(), ChatType.NPC_GENERAL, golem.getId(), NpcStringId.S1_YOUR_ENEMY_WAS_DRIVEN_OUT_I_WILL_NOW_WITHDRAW_AND_AWAIT_YOUR_NEXT_COMMAND).addStringParameter(player.getName())); golem.broadcastPacket(new NpcSay(golem.getObjectId(), ChatType.NPC_GENERAL, golem.getId(), NpcStringId.S1_YOUR_ENEMY_WAS_DRIVEN_OUT_I_WILL_NOW_WITHDRAW_AND_AWAIT_YOUR_NEXT_COMMAND).addStringParameter(player.getName()));
golem.deleteMe(); golem.deleteMe();
golem = null; golem = null;
htmltext = null; htmltext = null;
break; break;
// HTMLs }
case "32041-05.html": case "32041-05.html":
case "32041-06.html": case "32041-06.html":
case "32041-07.html": case "32041-07.html":
@@ -309,10 +374,14 @@ public class Q00114_ResurrectionOfAnOldManager extends Quest
case "32047-21b.html": case "32047-21b.html":
case "32047-27c.html": case "32047-27c.html":
case "32047-28c.html": case "32047-28c.html":
{
break; break;
}
default: default:
{
htmltext = null; htmltext = null;
break; break;
}
} }
return htmltext; return htmltext;
} }
@@ -320,13 +389,13 @@ public class Q00114_ResurrectionOfAnOldManager extends Quest
@Override @Override
public String onKill(L2Npc npc, L2PcInstance player, boolean isSummon) public String onKill(L2Npc npc, L2PcInstance player, boolean isSummon)
{ {
final QuestState st = getQuestState(player, false); final QuestState qs = getQuestState(player, false);
if ((st != null) && st.isCond(10) && (st.getInt("spawned") == 1)) if ((qs != null) && qs.isCond(10) && (qs.getInt("spawned") == 1))
{ {
npc.broadcastPacket(new NpcSay(npc.getObjectId(), ChatType.NPC_GENERAL, npc.getId(), NpcStringId.THIS_ENEMY_IS_FAR_TOO_POWERFUL_FOR_ME_TO_FIGHT_I_MUST_WITHDRAW)); npc.broadcastPacket(new NpcSay(npc.getObjectId(), ChatType.NPC_GENERAL, npc.getId(), NpcStringId.THIS_ENEMY_IS_FAR_TOO_POWERFUL_FOR_ME_TO_FIGHT_I_MUST_WITHDRAW));
st.setCond(11, true); qs.setCond(11, true);
st.unset("spawned"); qs.unset("spawned");
cancelQuestTimers("golem_despawn"); cancelQuestTimers("golem_despawn");
} }
return super.onKill(npc, player, isSummon); return super.onKill(npc, player, isSummon);
@@ -337,12 +406,12 @@ public class Q00114_ResurrectionOfAnOldManager extends Quest
{ {
if (creature.isPlayer()) if (creature.isPlayer())
{ {
final QuestState st = getQuestState(creature.getActingPlayer(), false); final QuestState qs = getQuestState(creature.getActingPlayer(), false);
if ((st != null) && st.isCond(17)) if ((qs != null) && qs.isCond(17))
{ {
st.takeItems(DETCTOR, 1); takeItems((L2PcInstance) creature, DETCTOR, 1);
st.giveItems(DETCTOR2, 1); giveItems((L2PcInstance) creature, DETCTOR2, 1);
st.setCond(18, true); qs.setCond(18, true);
showOnScreenMsg(creature.getActingPlayer(), NpcStringId.THE_RADIO_SIGNAL_DETECTOR_IS_RESPONDING_A_SUSPICIOUS_PILE_OF_STONES_CATCHES_YOUR_EYE, 2, 4500); showOnScreenMsg(creature.getActingPlayer(), NpcStringId.THE_RADIO_SIGNAL_DETECTOR_IS_RESPONDING_A_SUSPICIOUS_PILE_OF_STONES_CATCHES_YOUR_EYE, 2, 4500);
} }
} }
@@ -353,21 +422,23 @@ public class Q00114_ResurrectionOfAnOldManager extends Quest
public String onTalk(L2Npc npc, L2PcInstance player) public String onTalk(L2Npc npc, L2PcInstance player)
{ {
String htmltext = getNoQuestMsg(player); String htmltext = getNoQuestMsg(player);
final QuestState st = getQuestState(player, true); final QuestState qs = getQuestState(player, true);
if (st == null) if (qs == null)
{ {
return getNoQuestMsg(player); return getNoQuestMsg(player);
} }
final int talk = st.getInt("talk"); final int talk = qs.getInt("talk");
switch (npc.getId()) switch (npc.getId())
{ {
case YUMI: case YUMI:
switch (st.getState()) {
switch (qs.getState())
{ {
case State.CREATED: case State.CREATED:
{
final QuestState prev = player.getQuestState(Q00121_PavelTheGiant.class.getSimpleName()); final QuestState prev = player.getQuestState(Q00121_PavelTheGiant.class.getSimpleName());
if ((prev != null) && prev.isCompleted()) if ((prev != null) && prev.isCompleted())
{ {
@@ -378,31 +449,45 @@ public class Q00114_ResurrectionOfAnOldManager extends Quest
htmltext = "32041-01.htm"; htmltext = "32041-01.htm";
} }
break; break;
}
case State.STARTED: case State.STARTED:
switch (st.getCond()) {
switch (qs.getCond())
{ {
case 1: case 1:
{
htmltext = (talk == 1) ? "32041-08.html" : "32041-04.htm"; htmltext = (talk == 1) ? "32041-08.html" : "32041-04.htm";
break; break;
}
case 2: case 2:
{
htmltext = "32041-10.html"; htmltext = "32041-10.html";
break; break;
}
case 3: case 3:
case 4: case 4:
case 5: case 5:
{
switch (talk) switch (talk)
{ {
case 0: case 0:
{
htmltext = "32041-11.html"; htmltext = "32041-11.html";
break; break;
}
case 1: case 1:
{
htmltext = "32041-16.html"; htmltext = "32041-16.html";
break; break;
}
case 2: case 2:
{
htmltext = "32041-24.html"; htmltext = "32041-24.html";
break; break;
}
} }
break; break;
}
case 6: case 6:
case 7: case 7:
case 8: case 8:
@@ -411,102 +496,156 @@ public class Q00114_ResurrectionOfAnOldManager extends Quest
case 13: case 13:
case 14: case 14:
case 15: case 15:
{
htmltext = "32041-27.html"; htmltext = "32041-27.html";
break; break;
}
case 9: case 9:
case 12: case 12:
case 16: case 16:
{
htmltext = "32041-28.html"; htmltext = "32041-28.html";
break; break;
}
case 17: case 17:
case 18: case 18:
{
htmltext = "32041-32.html"; htmltext = "32041-32.html";
break; break;
}
case 19: case 19:
{
htmltext = (talk == 1) ? "32041-34z.html" : "32041-33.html"; htmltext = (talk == 1) ? "32041-34z.html" : "32041-33.html";
break; break;
}
case 20: case 20:
{
htmltext = "32041-39z.html"; htmltext = "32041-39z.html";
break; break;
}
case 21: case 21:
{
htmltext = "32041-40z.html"; htmltext = "32041-40z.html";
break; break;
}
case 22: case 22:
case 25: case 25:
case 26: case 26:
st.setCond(27, true); {
qs.setCond(27, true);
htmltext = "32041-41.html"; htmltext = "32041-41.html";
break; break;
}
case 27: case 27:
{
htmltext = "32041-42.html"; htmltext = "32041-42.html";
break; break;
}
} }
break; break;
}
case State.COMPLETED: case State.COMPLETED:
{
htmltext = getAlreadyCompletedMsg(player); htmltext = getAlreadyCompletedMsg(player);
break; break;
}
} }
break; break;
}
case WENDY: case WENDY:
if (st.isStarted()) {
if (qs.isStarted())
{ {
switch (st.getCond()) switch (qs.getCond())
{ {
case 2: case 2:
htmltext = ((talk == 1) && (st.getInt("talk1") == 1)) ? "32047-05.html" : "32047-01.html"; {
htmltext = ((talk == 1) && (qs.getInt("talk1") == 1)) ? "32047-05.html" : "32047-01.html";
break; break;
}
case 3: case 3:
{
htmltext = "32047-06b.html"; htmltext = "32047-06b.html";
break; break;
}
case 4: case 4:
{
htmltext = "32047-08.html"; htmltext = "32047-08.html";
break; break;
}
case 5: case 5:
{
htmltext = "32047-10.html"; htmltext = "32047-10.html";
break; break;
}
case 6: case 6:
switch (st.getInt("choice")) {
switch (qs.getInt("choice"))
{ {
case 1: case 1:
{
htmltext = "32047-11a.html"; htmltext = "32047-11a.html";
break; break;
}
case 2: case 2:
{
htmltext = "32047-11b.html"; htmltext = "32047-11b.html";
break; break;
}
case 3: case 3:
{
htmltext = "32047-11c.html"; htmltext = "32047-11c.html";
break; break;
}
} }
break; break;
}
case 7: case 7:
{
htmltext = "32047-11c.html"; htmltext = "32047-11c.html";
break; break;
}
case 8: case 8:
{
htmltext = "32047-17a.html"; htmltext = "32047-17a.html";
break; break;
}
case 9: case 9:
case 12: case 12:
case 16: case 16:
{
htmltext = "32047-25c.html"; htmltext = "32047-25c.html";
break; break;
}
case 10: case 10:
{
htmltext = "32047-18b.html"; htmltext = "32047-18b.html";
break; break;
}
case 11: case 11:
{
htmltext = "32047-19b.html"; htmltext = "32047-19b.html";
break; break;
}
case 13: case 13:
{
htmltext = "32047-21c.html"; htmltext = "32047-21c.html";
break; break;
}
case 14: case 14:
{
htmltext = "32047-22c.html"; htmltext = "32047-22c.html";
break; break;
}
case 15: case 15:
st.setCond(16, true); {
qs.setCond(16, true);
htmltext = "32047-24c.html"; htmltext = "32047-24c.html";
break; break;
}
case 20: case 20:
if (st.getInt("choice") == 1) {
if (qs.getInt("choice") == 1)
{ {
htmltext = "32047-22a.html"; htmltext = "32047-22a.html";
} }
@@ -515,73 +654,107 @@ public class Q00114_ResurrectionOfAnOldManager extends Quest
htmltext = (talk == 1) ? "32047-31c.html" : "32047-26c.html"; htmltext = (talk == 1) ? "32047-31c.html" : "32047-26c.html";
} }
break; break;
}
case 23: case 23:
{
htmltext = "32047-23z.html"; htmltext = "32047-23z.html";
break; break;
}
case 24: case 24:
st.setCond(25, true); {
qs.setCond(25, true);
htmltext = "32047-24a.html"; htmltext = "32047-24a.html";
break; break;
}
case 25: case 25:
{
htmltext = "32047-24a.html"; htmltext = "32047-24a.html";
break; break;
}
case 26: case 26:
{
htmltext = "32047-32c.html"; htmltext = "32047-32c.html";
break; break;
}
} }
} }
break; break;
}
case NEWYEAR: case NEWYEAR:
if (st.isStarted()) {
if (qs.isStarted())
{ {
switch (st.getCond()) switch (qs.getCond())
{ {
case 21: case 21:
{
htmltext = "31961-01.html"; htmltext = "31961-01.html";
break; break;
}
case 22: case 22:
{
htmltext = "31961-03.html"; htmltext = "31961-03.html";
break; break;
}
} }
} }
break; break;
}
case BOX: case BOX:
if (st.isStarted()) {
if (qs.isStarted())
{ {
switch (st.getCond()) switch (qs.getCond())
{ {
case 13: case 13:
{
htmltext = (talk == 1) ? "32050-02.html" : "32050-01.html"; htmltext = (talk == 1) ? "32050-02.html" : "32050-01.html";
break; break;
}
case 14: case 14:
{
htmltext = "32050-04.html"; htmltext = "32050-04.html";
break; break;
}
case 23: case 23:
{
htmltext = "32050-04b.html"; htmltext = "32050-04b.html";
break; break;
}
case 24: case 24:
{
htmltext = "32050-05z.html"; htmltext = "32050-05z.html";
break; break;
}
} }
} }
break; break;
}
case STONES: case STONES:
if (st.isStarted()) {
if (qs.isStarted())
{ {
switch (st.getCond()) switch (qs.getCond())
{ {
case 18: case 18:
{
htmltext = "32046-02.html"; htmltext = "32046-02.html";
break; break;
}
case 19: case 19:
{
htmltext = "32046-03.html"; htmltext = "32046-03.html";
break; break;
}
case 27: case 27:
{
htmltext = "32046-04.html"; htmltext = "32046-04.html";
break; break;
}
} }
} }
break; break;
}
} }
return htmltext; return htmltext;

View File

@@ -56,8 +56,8 @@ public class Q00115_TheOtherSideOfTruth extends Quest
@Override @Override
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
{ {
final QuestState st = getQuestState(player, false); final QuestState qs = getQuestState(player, false);
if (st == null) if (qs == null)
{ {
return null; return null;
} }
@@ -67,53 +67,53 @@ public class Q00115_TheOtherSideOfTruth extends Quest
{ {
case "32020-02.html": case "32020-02.html":
{ {
st.startQuest(); qs.startQuest();
htmltext = event; htmltext = event;
break; break;
} }
case "32020-07.html": case "32020-07.html":
{ {
if (st.isCond(2)) if (qs.isCond(2))
{ {
st.takeItems(MISAS_LETTER, -1); takeItems(player, MISAS_LETTER, -1);
st.setCond(3, true); qs.setCond(3, true);
htmltext = event; htmltext = event;
} }
break; break;
} }
case "32020-05.html": case "32020-05.html":
{ {
if (st.isCond(2)) if (qs.isCond(2))
{ {
st.takeItems(MISAS_LETTER, -1); takeItems(player, MISAS_LETTER, -1);
st.exitQuest(true, true); qs.exitQuest(true, true);
htmltext = event; htmltext = event;
} }
break; break;
} }
case "32020-10.html": case "32020-10.html":
{ {
if (st.isCond(3)) if (qs.isCond(3))
{ {
st.setCond(4, true); qs.setCond(4, true);
htmltext = event; htmltext = event;
} }
break; break;
} }
case "32020-11.html": case "32020-11.html":
{ {
if (st.isCond(3)) if (qs.isCond(3))
{ {
st.setCond(4, true); qs.setCond(4, true);
htmltext = event; htmltext = event;
} }
break; break;
} }
case "32020-12.html": case "32020-12.html":
{ {
if (st.isCond(3)) if (qs.isCond(3))
{ {
st.exitQuest(true, true); qs.exitQuest(true, true);
htmltext = event; htmltext = event;
} }
break; break;
@@ -128,79 +128,79 @@ public class Q00115_TheOtherSideOfTruth extends Quest
} }
case "32020-15.html": case "32020-15.html":
{ {
if (st.isCond(4)) if (qs.isCond(4))
{ {
st.setCond(5, true); qs.setCond(5, true);
st.playSound(QuestSound.AMBSOUND_WINGFLAP); playSound(player, QuestSound.AMBSOUND_WINGFLAP);
htmltext = event; htmltext = event;
} }
break; break;
} }
case "32020-23.html": case "32020-23.html":
{ {
if (st.isCond(9)) if (qs.isCond(9))
{ {
st.setCond(10, true); qs.setCond(10, true);
htmltext = event; htmltext = event;
} }
break; break;
} }
case "finish": case "finish":
{ {
if (st.isCond(10)) if (qs.isCond(10))
{ {
if (st.hasQuestItems(PIECE_OF_TABLET)) if (hasQuestItems(player, PIECE_OF_TABLET))
{ {
st.giveAdena(115673, true); giveAdena(player, 115673, true);
st.addExpAndSp(493595, 40442); addExpAndSp(player, 493595, 40442);
st.exitQuest(false, true); qs.exitQuest(false, true);
htmltext = "32020-25.html"; htmltext = "32020-25.html";
} }
else else
{ {
st.setCond(11, true); qs.setCond(11, true);
htmltext = "32020-26.html"; htmltext = "32020-26.html";
st.playSound(QuestSound.AMBSOUND_THUNDER); playSound(player, QuestSound.AMBSOUND_THUNDER);
} }
} }
break; break;
} }
case "finish2": case "finish2":
{ {
if (st.isCond(10)) if (qs.isCond(10))
{ {
if (st.hasQuestItems(PIECE_OF_TABLET)) if (hasQuestItems(player, PIECE_OF_TABLET))
{ {
st.giveAdena(115673, true); giveAdena(player, 115673, true);
st.addExpAndSp(493595, 40442); addExpAndSp(player, 493595, 40442);
st.exitQuest(false, true); qs.exitQuest(false, true);
htmltext = "32020-27.html"; htmltext = "32020-27.html";
} }
else else
{ {
st.setCond(11, true); qs.setCond(11, true);
htmltext = "32020-28.html"; htmltext = "32020-28.html";
st.playSound(QuestSound.AMBSOUND_THUNDER); playSound(player, QuestSound.AMBSOUND_THUNDER);
} }
} }
break; break;
} }
case "32018-05.html": case "32018-05.html":
{ {
if (st.isCond(6) && (st.hasQuestItems(RAFFORTYS_LETTER))) if (qs.isCond(6) && (hasQuestItems(player, RAFFORTYS_LETTER)))
{ {
st.takeItems(RAFFORTYS_LETTER, -1); takeItems(player, RAFFORTYS_LETTER, -1);
st.setCond(7, true); qs.setCond(7, true);
htmltext = event; htmltext = event;
} }
break; break;
} }
case "32022-02.html": case "32022-02.html":
{ {
if (st.isCond(8)) if (qs.isCond(8))
{ {
st.giveItems(REPORT_PIECE, 1); giveItems(player, REPORT_PIECE, 1);
st.setCond(9, true); qs.setCond(9, true);
htmltext = event; htmltext = event;
} }
break; break;
@@ -211,14 +211,14 @@ public class Q00115_TheOtherSideOfTruth extends Quest
{ {
case ICE_SCULPTURE1: case ICE_SCULPTURE1:
{ {
if (st.isCond(7) && ((st.getInt("ex") % 2) <= 1)) if (qs.isCond(7) && ((qs.getInt("ex") % 2) <= 1))
{ {
int ex = st.getInt("ex"); int ex = qs.getInt("ex");
if ((ex == 6) || (ex == 10) || (ex == 12)) if ((ex == 6) || (ex == 10) || (ex == 12))
{ {
ex++; ex++;
st.set("ex", ex); qs.set("ex", ex);
st.giveItems(PIECE_OF_TABLET, 1); giveItems(player, PIECE_OF_TABLET, 1);
htmltext = event; htmltext = event;
} }
} }
@@ -226,14 +226,14 @@ public class Q00115_TheOtherSideOfTruth extends Quest
} }
case ICE_SCULPTURE2: case ICE_SCULPTURE2:
{ {
if (st.isCond(7) && ((st.getInt("ex") % 4) <= 1)) if (qs.isCond(7) && ((qs.getInt("ex") % 4) <= 1))
{ {
int ex = st.getInt("ex"); int ex = qs.getInt("ex");
if ((ex == 5) || (ex == 9) || (ex == 12)) if ((ex == 5) || (ex == 9) || (ex == 12))
{ {
ex += 2; ex += 2;
st.set("ex", ex); qs.set("ex", ex);
st.giveItems(PIECE_OF_TABLET, 1); giveItems(player, PIECE_OF_TABLET, 1);
htmltext = event; htmltext = event;
} }
} }
@@ -241,14 +241,14 @@ public class Q00115_TheOtherSideOfTruth extends Quest
} }
case ICE_SCULPTURE3: case ICE_SCULPTURE3:
{ {
if (st.isCond(7) && ((st.getInt("ex") % 8) <= 3)) if (qs.isCond(7) && ((qs.getInt("ex") % 8) <= 3))
{ {
int ex = st.getInt("ex"); int ex = qs.getInt("ex");
if ((ex == 3) || (ex == 9) || (ex == 10)) if ((ex == 3) || (ex == 9) || (ex == 10))
{ {
ex += 4; ex += 4;
st.set("ex", ex); qs.set("ex", ex);
st.giveItems(PIECE_OF_TABLET, 1); giveItems(player, PIECE_OF_TABLET, 1);
htmltext = event; htmltext = event;
} }
} }
@@ -256,14 +256,14 @@ public class Q00115_TheOtherSideOfTruth extends Quest
} }
case ICE_SCULPTURE4: case ICE_SCULPTURE4:
{ {
if (st.isCond(7) && (st.getInt("ex") <= 7)) if (qs.isCond(7) && (qs.getInt("ex") <= 7))
{ {
int ex = st.getInt("ex"); int ex = qs.getInt("ex");
if ((ex == 3) || (ex == 5) || (ex == 6)) if ((ex == 3) || (ex == 5) || (ex == 6))
{ {
ex += 8; ex += 8;
st.set("ex", ex); qs.set("ex", ex);
st.giveItems(PIECE_OF_TABLET, 1); giveItems(player, PIECE_OF_TABLET, 1);
htmltext = event; htmltext = event;
} }
} }
@@ -278,13 +278,13 @@ public class Q00115_TheOtherSideOfTruth extends Quest
{ {
case ICE_SCULPTURE1: case ICE_SCULPTURE1:
{ {
if (st.isCond(7) && ((st.getInt("ex") % 2) <= 1)) if (qs.isCond(7) && ((qs.getInt("ex") % 2) <= 1))
{ {
int ex = st.getInt("ex"); int ex = qs.getInt("ex");
if ((ex == 6) || (ex == 10) || (ex == 12)) if ((ex == 6) || (ex == 10) || (ex == 12))
{ {
ex++; ex++;
st.set("ex", ex); qs.set("ex", ex);
htmltext = event; htmltext = event;
} }
} }
@@ -292,13 +292,13 @@ public class Q00115_TheOtherSideOfTruth extends Quest
} }
case ICE_SCULPTURE2: case ICE_SCULPTURE2:
{ {
if (st.isCond(7) && ((st.getInt("ex") % 4) <= 1)) if (qs.isCond(7) && ((qs.getInt("ex") % 4) <= 1))
{ {
int ex = st.getInt("ex"); int ex = qs.getInt("ex");
if ((ex == 5) || (ex == 9) || (ex == 12)) if ((ex == 5) || (ex == 9) || (ex == 12))
{ {
ex += 2; ex += 2;
st.set("ex", ex); qs.set("ex", ex);
htmltext = event; htmltext = event;
} }
} }
@@ -306,13 +306,13 @@ public class Q00115_TheOtherSideOfTruth extends Quest
} }
case ICE_SCULPTURE3: case ICE_SCULPTURE3:
{ {
if (st.isCond(7) && ((st.getInt("ex") % 8) <= 3)) if (qs.isCond(7) && ((qs.getInt("ex") % 8) <= 3))
{ {
int ex = st.getInt("ex"); int ex = qs.getInt("ex");
if ((ex == 3) || (ex == 9) || (ex == 12)) if ((ex == 3) || (ex == 9) || (ex == 12))
{ {
ex += 4; ex += 4;
st.set("ex", ex); qs.set("ex", ex);
htmltext = event; htmltext = event;
} }
} }
@@ -320,13 +320,13 @@ public class Q00115_TheOtherSideOfTruth extends Quest
} }
case ICE_SCULPTURE4: case ICE_SCULPTURE4:
{ {
if (st.isCond(7) && (st.getInt("ex") <= 7)) if (qs.isCond(7) && (qs.getInt("ex") <= 7))
{ {
int ex = st.getInt("ex"); int ex = qs.getInt("ex");
if ((ex == 3) || (ex == 5) || (ex == 6)) if ((ex == 3) || (ex == 5) || (ex == 6))
{ {
ex += 8; ex += 8;
st.set("ex", ex); qs.set("ex", ex);
htmltext = event; htmltext = event;
} }
} }
@@ -341,36 +341,36 @@ public class Q00115_TheOtherSideOfTruth extends Quest
{ {
case ICE_SCULPTURE1: case ICE_SCULPTURE1:
{ {
if (st.isCond(7) && (st.getInt("ex") == 14)) if (qs.isCond(7) && (qs.getInt("ex") == 14))
{ {
st.setCond(8); qs.setCond(8);
htmltext = event; htmltext = event;
} }
break; break;
} }
case ICE_SCULPTURE2: case ICE_SCULPTURE2:
{ {
if (st.isCond(7) && (st.getInt("ex") == 13)) if (qs.isCond(7) && (qs.getInt("ex") == 13))
{ {
st.setCond(8); qs.setCond(8);
htmltext = event; htmltext = event;
} }
break; break;
} }
case ICE_SCULPTURE3: case ICE_SCULPTURE3:
{ {
if (st.isCond(7) && (st.getInt("ex") == 11)) if (qs.isCond(7) && (qs.getInt("ex") == 11))
{ {
st.setCond(8); qs.setCond(8);
htmltext = event; htmltext = event;
} }
break; break;
} }
case ICE_SCULPTURE4: case ICE_SCULPTURE4:
{ {
if (st.isCond(7) && (st.getInt("ex") == 7)) if (qs.isCond(7) && (qs.getInt("ex") == 7))
{ {
st.setCond(8); qs.setCond(8);
htmltext = event; htmltext = event;
} }
break; break;
@@ -385,14 +385,14 @@ public class Q00115_TheOtherSideOfTruth extends Quest
@Override @Override
public String onTalk(L2Npc npc, L2PcInstance player) public String onTalk(L2Npc npc, L2PcInstance player)
{ {
final QuestState st = getQuestState(player, true); final QuestState qs = getQuestState(player, true);
String htmltext = getNoQuestMsg(player); String htmltext = getNoQuestMsg(player);
if (st == null) if (qs == null)
{ {
return htmltext; return htmltext;
} }
switch (st.getState()) switch (qs.getState())
{ {
case State.COMPLETED: case State.COMPLETED:
{ {
@@ -413,7 +413,7 @@ public class Q00115_TheOtherSideOfTruth extends Quest
{ {
case RAFFORTY: case RAFFORTY:
{ {
switch (st.getCond()) switch (qs.getCond())
{ {
case 1: case 1:
{ {
@@ -422,7 +422,7 @@ public class Q00115_TheOtherSideOfTruth extends Quest
} }
case 2: case 2:
{ {
htmltext = (!st.hasQuestItems(MISAS_LETTER)) ? "32020-05.html" : "32020-06.html"; htmltext = (!hasQuestItems(player, MISAS_LETTER)) ? "32020-05.html" : "32020-06.html";
break; break;
} }
case 3: case 3:
@@ -437,20 +437,20 @@ public class Q00115_TheOtherSideOfTruth extends Quest
} }
case 5: case 5:
{ {
st.giveItems(RAFFORTYS_LETTER, 1); giveItems(player, RAFFORTYS_LETTER, 1);
st.setCond(6, true); qs.setCond(6, true);
htmltext = "32020-18.html"; htmltext = "32020-18.html";
break; break;
} }
case 6: case 6:
{ {
if (st.hasQuestItems(RAFFORTYS_LETTER)) if (hasQuestItems(player, RAFFORTYS_LETTER))
{ {
htmltext = "32020-19.html"; htmltext = "32020-19.html";
} }
else else
{ {
st.giveItems(RAFFORTYS_LETTER, 1); giveItems(player, RAFFORTYS_LETTER, 1);
htmltext = "32020-20.html"; htmltext = "32020-20.html";
} }
break; break;
@@ -463,7 +463,7 @@ public class Q00115_TheOtherSideOfTruth extends Quest
} }
case 9: case 9:
{ {
if (st.hasQuestItems(REPORT_PIECE)) if (hasQuestItems(player, REPORT_PIECE))
{ {
htmltext = "32020-22.html"; htmltext = "32020-22.html";
} }
@@ -476,15 +476,15 @@ public class Q00115_TheOtherSideOfTruth extends Quest
} }
case 11: case 11:
{ {
if (!st.hasQuestItems(PIECE_OF_TABLET)) if (!hasQuestItems(player, PIECE_OF_TABLET))
{ {
htmltext = "32020-29.html"; htmltext = "32020-29.html";
} }
else else
{ {
st.giveAdena(115673, true); giveAdena(player, 115673, true);
st.addExpAndSp(493595, 40442); addExpAndSp(player, 493595, 40442);
st.exitQuest(false, true); qs.exitQuest(false, true);
htmltext = "32020-30.html"; htmltext = "32020-30.html";
} }
break; break;
@@ -494,12 +494,12 @@ public class Q00115_TheOtherSideOfTruth extends Quest
} }
case MISA: case MISA:
{ {
switch (st.getCond()) switch (qs.getCond())
{ {
case 1: case 1:
{ {
st.giveItems(MISAS_LETTER, 1); giveItems(player, MISAS_LETTER, 1);
st.setCond(2, true); qs.setCond(2, true);
htmltext = "32018-01.html"; htmltext = "32018-01.html";
break; break;
} }
@@ -520,7 +520,7 @@ public class Q00115_TheOtherSideOfTruth extends Quest
} }
case 6: case 6:
{ {
if (st.hasQuestItems(RAFFORTYS_LETTER)) if (hasQuestItems(player, RAFFORTYS_LETTER))
{ {
htmltext = "32018-04.html"; htmltext = "32018-04.html";
} }
@@ -536,7 +536,7 @@ public class Q00115_TheOtherSideOfTruth extends Quest
} }
case KIER: case KIER:
{ {
switch (st.getCond()) switch (qs.getCond())
{ {
case 8: case 8:
{ {
@@ -545,20 +545,20 @@ public class Q00115_TheOtherSideOfTruth extends Quest
} }
case 9: case 9:
{ {
if (st.hasQuestItems(REPORT_PIECE)) if (hasQuestItems(player, REPORT_PIECE))
{ {
htmltext = "32022-03.html"; htmltext = "32022-03.html";
} }
else else
{ {
st.giveItems(REPORT_PIECE, 1); giveItems(player, REPORT_PIECE, 1);
htmltext = "32022-04.html"; htmltext = "32022-04.html";
} }
break; break;
} }
case 11: case 11:
{ {
if (!st.hasQuestItems(REPORT_PIECE)) if (!hasQuestItems(player, REPORT_PIECE))
{ {
htmltext = "32022-05.html"; htmltext = "32022-05.html";
} }
@@ -569,13 +569,13 @@ public class Q00115_TheOtherSideOfTruth extends Quest
} }
case ICE_SCULPTURE1: case ICE_SCULPTURE1:
{ {
switch (st.getCond()) switch (qs.getCond())
{ {
case 7: case 7:
{ {
if ((st.getInt("ex") % 2) <= 1) if ((qs.getInt("ex") % 2) <= 1)
{ {
int ex = st.getInt("ex"); int ex = qs.getInt("ex");
if ((ex == 6) || (ex == 10) || (ex == 12)) if ((ex == 6) || (ex == 10) || (ex == 12))
{ {
htmltext = "32021-01.html"; htmltext = "32021-01.html";
@@ -587,7 +587,7 @@ public class Q00115_TheOtherSideOfTruth extends Quest
else else
{ {
ex++; ex++;
st.set("ex", ex); qs.set("ex", ex);
htmltext = "32021-07.html"; htmltext = "32021-07.html";
} }
} }
@@ -604,9 +604,9 @@ public class Q00115_TheOtherSideOfTruth extends Quest
} }
case 11: case 11:
{ {
if (!st.hasQuestItems(PIECE_OF_TABLET)) if (!hasQuestItems(player, PIECE_OF_TABLET))
{ {
st.giveItems(PIECE_OF_TABLET, 1); giveItems(player, PIECE_OF_TABLET, 1);
htmltext = "32021-09.html"; htmltext = "32021-09.html";
} }
else else
@@ -620,13 +620,13 @@ public class Q00115_TheOtherSideOfTruth extends Quest
} }
case ICE_SCULPTURE2: case ICE_SCULPTURE2:
{ {
switch (st.getCond()) switch (qs.getCond())
{ {
case 7: case 7:
{ {
if ((st.getInt("ex") % 4) <= 1) if ((qs.getInt("ex") % 4) <= 1)
{ {
int ex = st.getInt("ex"); int ex = qs.getInt("ex");
if ((ex == 5) || (ex == 9) || (ex == 12)) if ((ex == 5) || (ex == 9) || (ex == 12))
{ {
htmltext = "32021-01.html"; htmltext = "32021-01.html";
@@ -638,7 +638,7 @@ public class Q00115_TheOtherSideOfTruth extends Quest
else else
{ {
ex += 2; ex += 2;
st.set("ex", ex); qs.set("ex", ex);
htmltext = "32021-07.html"; htmltext = "32021-07.html";
} }
} }
@@ -655,9 +655,9 @@ public class Q00115_TheOtherSideOfTruth extends Quest
} }
case 11: case 11:
{ {
if (!st.hasQuestItems(PIECE_OF_TABLET)) if (!hasQuestItems(player, PIECE_OF_TABLET))
{ {
st.giveItems(PIECE_OF_TABLET, 1); giveItems(player, PIECE_OF_TABLET, 1);
htmltext = "32021-09.html"; htmltext = "32021-09.html";
} }
else else
@@ -671,13 +671,13 @@ public class Q00115_TheOtherSideOfTruth extends Quest
} }
case ICE_SCULPTURE3: case ICE_SCULPTURE3:
{ {
switch (st.getCond()) switch (qs.getCond())
{ {
case 7: case 7:
{ {
if ((st.getInt("ex") % 8) <= 3) if ((qs.getInt("ex") % 8) <= 3)
{ {
int ex = st.getInt("ex"); int ex = qs.getInt("ex");
if ((ex == 3) || (ex == 9) || (ex == 10)) if ((ex == 3) || (ex == 9) || (ex == 10))
{ {
htmltext = "32021-01.html"; htmltext = "32021-01.html";
@@ -689,7 +689,7 @@ public class Q00115_TheOtherSideOfTruth extends Quest
else else
{ {
ex += 4; ex += 4;
st.set("ex", ex); qs.set("ex", ex);
htmltext = "32021-07.html"; htmltext = "32021-07.html";
} }
} }
@@ -706,9 +706,9 @@ public class Q00115_TheOtherSideOfTruth extends Quest
} }
case 11: case 11:
{ {
if (!st.hasQuestItems(PIECE_OF_TABLET)) if (!hasQuestItems(player, PIECE_OF_TABLET))
{ {
st.giveItems(PIECE_OF_TABLET, 1); giveItems(player, PIECE_OF_TABLET, 1);
htmltext = "32021-09.html"; htmltext = "32021-09.html";
} }
else else
@@ -722,13 +722,13 @@ public class Q00115_TheOtherSideOfTruth extends Quest
} }
case ICE_SCULPTURE4: case ICE_SCULPTURE4:
{ {
switch (st.getCond()) switch (qs.getCond())
{ {
case 7: case 7:
{ {
if (st.getInt("ex") <= 7) if (qs.getInt("ex") <= 7)
{ {
int ex = st.getInt("ex"); int ex = qs.getInt("ex");
if ((ex == 3) || (ex == 5) || (ex == 6)) if ((ex == 3) || (ex == 5) || (ex == 6))
{ {
htmltext = "32021-01.html"; htmltext = "32021-01.html";
@@ -740,7 +740,7 @@ public class Q00115_TheOtherSideOfTruth extends Quest
else else
{ {
ex += 8; ex += 8;
st.set("ex", ex); qs.set("ex", ex);
htmltext = "32021-07.html"; htmltext = "32021-07.html";
} }
} }
@@ -757,9 +757,9 @@ public class Q00115_TheOtherSideOfTruth extends Quest
} }
case 11: case 11:
{ {
if (!st.hasQuestItems(PIECE_OF_TABLET)) if (!hasQuestItems(player, PIECE_OF_TABLET))
{ {
st.giveItems(PIECE_OF_TABLET, 1); giveItems(player, PIECE_OF_TABLET, 1);
htmltext = "32021-09.html"; htmltext = "32021-09.html";
} }
else else

View File

@@ -46,8 +46,8 @@ public class Q00119_LastImperialPrince extends Quest
@Override @Override
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
{ {
final QuestState st = getQuestState(player, false); final QuestState qs = getQuestState(player, false);
if (st == null) if (qs == null)
{ {
return null; return null;
} }
@@ -64,31 +64,31 @@ public class Q00119_LastImperialPrince extends Quest
} }
case "31453-04.html": case "31453-04.html":
{ {
st.startQuest(); qs.startQuest();
htmltext = event; htmltext = event;
break; break;
} }
case "31453-11.html": case "31453-11.html":
{ {
if (st.isCond(2)) if (qs.isCond(2))
{ {
st.giveAdena(150292, true); giveAdena(player, 150292, true);
st.addExpAndSp(902439, 90067); addExpAndSp(player, 902439, 90067);
st.exitQuest(false, true); qs.exitQuest(false, true);
htmltext = event; htmltext = event;
} }
break; break;
} }
case "brooch": case "brooch":
{ {
htmltext = (st.hasQuestItems(ANTIQUE_BROOCH)) ? "32009-02.html" : "32009-03.html"; htmltext = hasQuestItems(player, ANTIQUE_BROOCH) ? "32009-02.html" : "32009-03.html";
break; break;
} }
case "32009-04.html": case "32009-04.html":
{ {
if (st.isCond(1) && st.hasQuestItems(ANTIQUE_BROOCH)) if (qs.isCond(1) && hasQuestItems(player, ANTIQUE_BROOCH))
{ {
st.setCond(2, true); qs.setCond(2, true);
htmltext = event; htmltext = event;
} }
break; break;
@@ -100,14 +100,14 @@ public class Q00119_LastImperialPrince extends Quest
@Override @Override
public String onTalk(L2Npc npc, L2PcInstance player) public String onTalk(L2Npc npc, L2PcInstance player)
{ {
final QuestState st = getQuestState(player, true); final QuestState qs = getQuestState(player, true);
String htmltext = getNoQuestMsg(player); String htmltext = getNoQuestMsg(player);
if (st == null) if (qs == null)
{ {
return htmltext; return htmltext;
} }
switch (st.getState()) switch (qs.getState())
{ {
case State.COMPLETED: case State.COMPLETED:
{ {
@@ -119,37 +119,37 @@ public class Q00119_LastImperialPrince extends Quest
} }
case State.CREATED: case State.CREATED:
{ {
htmltext = ((player.getLevel() >= MIN_LEVEL) && st.hasQuestItems(ANTIQUE_BROOCH)) ? "31453-01.htm" : "31453-05.html"; htmltext = ((player.getLevel() >= MIN_LEVEL) && hasQuestItems(player, ANTIQUE_BROOCH)) ? "31453-01.htm" : "31453-05.html";
break; break;
} }
case State.STARTED: case State.STARTED:
{ {
if (npc.getId() == NAMELESS_SPIRIT) if (npc.getId() == NAMELESS_SPIRIT)
{ {
if (st.isCond(1)) if (qs.isCond(1))
{ {
if (st.hasQuestItems(ANTIQUE_BROOCH)) if (hasQuestItems(player, ANTIQUE_BROOCH))
{ {
htmltext = "31453-07.html"; htmltext = "31453-07.html";
} }
else else
{ {
htmltext = "31453-08.html"; htmltext = "31453-08.html";
st.exitQuest(true); qs.exitQuest(true);
} }
} }
else if (st.isCond(2)) else if (qs.isCond(2))
{ {
htmltext = "31453-09.html"; htmltext = "31453-09.html";
} }
} }
else if (npc.getId() == DEVORIN) else if (npc.getId() == DEVORIN)
{ {
if (st.isCond(1)) if (qs.isCond(1))
{ {
htmltext = "32009-01.html"; htmltext = "32009-01.html";
} }
else if (st.isCond(2)) else if (qs.isCond(2))
{ {
htmltext = "32009-05.html"; htmltext = "32009-05.html";
} }

View File

@@ -43,8 +43,8 @@ public class Q00121_PavelTheGiant extends Quest
@Override @Override
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
{ {
final QuestState st = getQuestState(player, false); final QuestState qs = getQuestState(player, false);
if (st == null) if (qs == null)
{ {
return getNoQuestMsg(player); return getNoQuestMsg(player);
} }
@@ -52,12 +52,16 @@ public class Q00121_PavelTheGiant extends Quest
switch (event) switch (event)
{ {
case "31961-02.htm": case "31961-02.htm":
st.startQuest(); {
qs.startQuest();
break; break;
}
case "32041-02.html": case "32041-02.html":
st.addExpAndSp(346320, 26069); {
st.exitQuest(false, true); addExpAndSp(player, 346320, 26069);
qs.exitQuest(false, true);
break; break;
}
} }
return event; return event;
} }
@@ -66,8 +70,8 @@ public class Q00121_PavelTheGiant extends Quest
public String onTalk(L2Npc npc, L2PcInstance player) public String onTalk(L2Npc npc, L2PcInstance player)
{ {
String htmltext = getNoQuestMsg(player); String htmltext = getNoQuestMsg(player);
final QuestState st = getQuestState(player, true); final QuestState qs = getQuestState(player, true);
if (st == null) if (qs == null)
{ {
return htmltext; return htmltext;
} }
@@ -75,25 +79,35 @@ public class Q00121_PavelTheGiant extends Quest
switch (npc.getId()) switch (npc.getId())
{ {
case NEWYEAR: case NEWYEAR:
switch (st.getState()) {
switch (qs.getState())
{ {
case State.CREATED: case State.CREATED:
{
htmltext = (player.getLevel() >= 70) ? "31961-01.htm" : "31961-00.htm"; htmltext = (player.getLevel() >= 70) ? "31961-01.htm" : "31961-00.htm";
break; break;
}
case State.STARTED: case State.STARTED:
{
htmltext = "31961-03.html"; htmltext = "31961-03.html";
break; break;
}
case State.COMPLETED: case State.COMPLETED:
{
htmltext = getAlreadyCompletedMsg(player); htmltext = getAlreadyCompletedMsg(player);
break; break;
}
} }
break; break;
}
case YUMI: case YUMI:
if (st.isStarted()) {
if (qs.isStarted())
{ {
htmltext = "32041-01.html"; htmltext = "32041-01.html";
} }
break; break;
}
} }
return htmltext; return htmltext;
} }

View File

@@ -43,8 +43,8 @@ public class Q00122_OminousNews extends Quest
@Override @Override
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
{ {
final QuestState st = getQuestState(player, false); final QuestState qs = getQuestState(player, false);
if (st == null) if (qs == null)
{ {
return getNoQuestMsg(player); return getNoQuestMsg(player);
} }
@@ -52,13 +52,17 @@ public class Q00122_OminousNews extends Quest
switch (event) switch (event)
{ {
case "31979-02.htm": case "31979-02.htm":
st.startQuest(); {
qs.startQuest();
break; break;
}
case "32017-02.html": case "32017-02.html":
st.giveAdena(8923, true); {
st.addExpAndSp(45151, 2310); giveAdena(player, 8923, true);
st.exitQuest(false, true); addExpAndSp(player, 45151, 2310);
qs.exitQuest(false, true);
break; break;
}
} }
return event; return event;
} }
@@ -67,8 +71,8 @@ public class Q00122_OminousNews extends Quest
public String onTalk(L2Npc npc, L2PcInstance player) public String onTalk(L2Npc npc, L2PcInstance player)
{ {
String htmltext = getNoQuestMsg(player); String htmltext = getNoQuestMsg(player);
final QuestState st = getQuestState(player, true); final QuestState qs = getQuestState(player, true);
if (st == null) if (qs == null)
{ {
return htmltext; return htmltext;
} }
@@ -76,25 +80,35 @@ public class Q00122_OminousNews extends Quest
switch (npc.getId()) switch (npc.getId())
{ {
case MOIRA: case MOIRA:
switch (st.getState()) {
switch (qs.getState())
{ {
case State.CREATED: case State.CREATED:
{
htmltext = (player.getLevel() >= 20) ? "31979-01.htm" : "31979-00.htm"; htmltext = (player.getLevel() >= 20) ? "31979-01.htm" : "31979-00.htm";
break; break;
}
case State.STARTED: case State.STARTED:
{
htmltext = "31979-03.html"; htmltext = "31979-03.html";
break; break;
}
case State.COMPLETED: case State.COMPLETED:
{
htmltext = getAlreadyCompletedMsg(player); htmltext = getAlreadyCompletedMsg(player);
break; break;
}
} }
break; break;
}
case KARUDA: case KARUDA:
if (st.isStarted()) {
if (qs.isStarted())
{ {
htmltext = "32017-01.html"; htmltext = "32017-01.html";
} }
break; break;
}
} }
return htmltext; return htmltext;
} }

View File

@@ -48,8 +48,8 @@ public class Q00124_MeetingTheElroki extends Quest
@Override @Override
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
{ {
final QuestState st = getQuestState(player, false); final QuestState qs = getQuestState(player, false);
if (st == null) if (qs == null)
{ {
return getNoQuestMsg(player); return getNoQuestMsg(player);
} }
@@ -57,39 +57,51 @@ public class Q00124_MeetingTheElroki extends Quest
switch (event) switch (event)
{ {
case "32113-03.html": case "32113-03.html":
st.startQuest(); {
qs.startQuest();
break; break;
}
case "32113-04.html": case "32113-04.html":
if (st.isCond(1)) {
if (qs.isCond(1))
{ {
st.setCond(2, true); qs.setCond(2, true);
} }
break; break;
}
case "32114-04.html": case "32114-04.html":
if (st.isCond(2)) {
if (qs.isCond(2))
{ {
st.setCond(3, true); qs.setCond(3, true);
} }
break; break;
}
case "32115-06.html": case "32115-06.html":
if (st.isCond(3)) {
if (qs.isCond(3))
{ {
st.setCond(4, true); qs.setCond(4, true);
} }
break; break;
}
case "32117-05.html": case "32117-05.html":
if (st.isCond(4)) {
if (qs.isCond(4))
{ {
st.setCond(5, true); qs.setCond(5, true);
} }
break; break;
}
case "32118-04.html": case "32118-04.html":
if (st.isCond(5)) {
if (qs.isCond(5))
{ {
st.giveItems(MANTARASA_EGG, 1); giveItems(player, MANTARASA_EGG, 1);
st.setCond(6, true); qs.setCond(6, true);
} }
break; break;
}
} }
return event; return event;
} }
@@ -98,8 +110,8 @@ public class Q00124_MeetingTheElroki extends Quest
public String onTalk(L2Npc npc, L2PcInstance player) public String onTalk(L2Npc npc, L2PcInstance player)
{ {
String htmltext = getNoQuestMsg(player); String htmltext = getNoQuestMsg(player);
final QuestState st = getQuestState(player, true); final QuestState qs = getQuestState(player, true);
if (st == null) if (qs == null)
{ {
return htmltext; return htmltext;
} }
@@ -107,122 +119,174 @@ public class Q00124_MeetingTheElroki extends Quest
switch (npc.getId()) switch (npc.getId())
{ {
case MARQUEZ: case MARQUEZ:
switch (st.getState()) {
switch (qs.getState())
{ {
case State.CREATED: case State.CREATED:
{
htmltext = (player.getLevel() < 75) ? "32113-01a.htm" : "32113-01.htm"; htmltext = (player.getLevel() < 75) ? "32113-01a.htm" : "32113-01.htm";
break; break;
}
case State.STARTED: case State.STARTED:
switch (st.getInt("cond")) {
switch (qs.getCond())
{ {
case 1: case 1:
{
htmltext = "32113-05.html"; htmltext = "32113-05.html";
break; break;
}
case 2: case 2:
{
htmltext = "32113-06.html"; htmltext = "32113-06.html";
break; break;
}
case 3: case 3:
case 4: case 4:
case 5: case 5:
{
htmltext = "32113-07.html"; htmltext = "32113-07.html";
break; break;
}
} }
break; break;
}
case State.COMPLETED: case State.COMPLETED:
{
htmltext = getAlreadyCompletedMsg(player); htmltext = getAlreadyCompletedMsg(player);
break; break;
}
} }
break; break;
}
case MUSHIKA: case MUSHIKA:
if (st.isStarted()) {
if (qs.isStarted())
{ {
switch (st.getInt("cond")) switch (qs.getCond())
{ {
case 1: case 1:
{
htmltext = "32114-01.html"; htmltext = "32114-01.html";
break; break;
}
case 2: case 2:
{
htmltext = "32114-02.html"; htmltext = "32114-02.html";
break; break;
}
default: default:
{
htmltext = "32114-03.html"; htmltext = "32114-03.html";
break; break;
}
} }
break; break;
} }
break; break;
}
case ASAMAH: case ASAMAH:
if (st.isStarted()) {
if (qs.isStarted())
{ {
switch (st.getCond()) switch (qs.getCond())
{ {
case 1: case 1:
case 2: case 2:
{
htmltext = "32115-01.html"; htmltext = "32115-01.html";
break; break;
}
case 3: case 3:
{
htmltext = "32115-02.html"; htmltext = "32115-02.html";
break; break;
}
case 4: case 4:
{
htmltext = "32115-07.html"; htmltext = "32115-07.html";
break; break;
}
case 5: case 5:
{
htmltext = "32115-08.html"; htmltext = "32115-08.html";
break; break;
}
case 6: case 6:
if (st.hasQuestItems(MANTARASA_EGG)) {
if (hasQuestItems(player, MANTARASA_EGG))
{ {
htmltext = "32115-09.html"; htmltext = "32115-09.html";
st.giveAdena(100013, true); giveAdena(player, 100013, true);
st.addExpAndSp(301922, 30294); addExpAndSp(player, 301922, 30294);
st.exitQuest(false, true); qs.exitQuest(false, true);
} }
break; break;
}
} }
} }
break; break;
}
case KARAKAWEI: case KARAKAWEI:
if (st.isStarted()) {
if (qs.isStarted())
{ {
switch (st.getCond()) switch (qs.getCond())
{ {
case 1: case 1:
case 2: case 2:
case 3: case 3:
{
htmltext = "32117-01.html"; htmltext = "32117-01.html";
break; break;
}
case 4: case 4:
{
htmltext = "32117-02.html"; htmltext = "32117-02.html";
break; break;
}
case 5: case 5:
{
htmltext = "32117-07.html"; htmltext = "32117-07.html";
break; break;
}
case 6: case 6:
{
htmltext = "32117-06.html"; htmltext = "32117-06.html";
break; break;
}
} }
} }
break; break;
}
case MANTARASA: case MANTARASA:
if (st.isStarted()) {
if (qs.isStarted())
{ {
switch (st.getCond()) switch (qs.getCond())
{ {
case 1: case 1:
case 2: case 2:
case 3: case 3:
case 4: case 4:
{
htmltext = "32118-01.html"; htmltext = "32118-01.html";
break; break;
}
case 5: case 5:
{
htmltext = "32118-03.html"; htmltext = "32118-03.html";
break; break;
}
case 6: case 6:
{
htmltext = "32118-02.html"; htmltext = "32118-02.html";
break; break;
}
} }
} }
break; break;
}
} }
return htmltext; return htmltext;
} }

View File

@@ -77,8 +77,8 @@ public class Q00125_TheNameOfEvil1 extends Quest
@Override @Override
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
{ {
final QuestState st = getQuestState(player, false); final QuestState qs = getQuestState(player, false);
if (st == null) if (qs == null)
{ {
return getNoQuestMsg(player); return getNoQuestMsg(player);
} }
@@ -87,155 +87,155 @@ public class Q00125_TheNameOfEvil1 extends Quest
switch (event) switch (event)
{ {
case "32114-05.html": case "32114-05.html":
st.startQuest(); qs.startQuest();
break; break;
case "32114-08.html": case "32114-08.html":
if (st.isCond(1)) if (qs.isCond(1))
{ {
st.giveItems(GAZKH_FRAGMENT, 1); giveItems(player, GAZKH_FRAGMENT, 1);
st.setCond(2, true); qs.setCond(2, true);
} }
break; break;
case "32117-09.html": case "32117-09.html":
if (st.isCond(2)) if (qs.isCond(2))
{ {
st.setCond(3, true); qs.setCond(3, true);
} }
break; break;
case "32117-15.html": case "32117-15.html":
if (st.isCond(4)) if (qs.isCond(4))
{ {
st.setCond(5, true); qs.setCond(5, true);
} }
break; break;
case "T_One": case "T_One":
st.set("T", "1"); qs.set("T", "1");
htmltext = "32119-04.html"; htmltext = "32119-04.html";
break; break;
case "E_One": case "E_One":
st.set("E", "1"); qs.set("E", "1");
htmltext = "32119-05.html"; htmltext = "32119-05.html";
break; break;
case "P_One": case "P_One":
st.set("P", "1"); qs.set("P", "1");
htmltext = "32119-06.html"; htmltext = "32119-06.html";
break; break;
case "U_One": case "U_One":
st.set("U", "1"); qs.set("U", "1");
if (st.isCond(5) && (st.getInt("T") > 0) && (st.getInt("E") > 0) && (st.getInt("P") > 0) && (st.getInt("U") > 0)) if (qs.isCond(5) && (qs.getInt("T") > 0) && (qs.getInt("E") > 0) && (qs.getInt("P") > 0) && (qs.getInt("U") > 0))
{ {
htmltext = "32119-08.html"; htmltext = "32119-08.html";
st.set("Memo", "1"); qs.set("Memo", "1");
} }
else else
{ {
htmltext = "32119-07.html"; htmltext = "32119-07.html";
} }
st.unset("T"); qs.unset("T");
st.unset("E"); qs.unset("E");
st.unset("P"); qs.unset("P");
st.unset("U"); qs.unset("U");
break; break;
case "32119-07.html": case "32119-07.html":
st.unset("T"); qs.unset("T");
st.unset("E"); qs.unset("E");
st.unset("P"); qs.unset("P");
st.unset("U"); qs.unset("U");
break; break;
case "32119-18.html": case "32119-18.html":
if (st.isCond(5)) if (qs.isCond(5))
{ {
st.setCond(6, true); qs.setCond(6, true);
st.unset("Memo"); qs.unset("Memo");
} }
break; break;
case "T_Two": case "T_Two":
st.set("T", "1"); qs.set("T", "1");
htmltext = "32120-04.html"; htmltext = "32120-04.html";
break; break;
case "O_Two": case "O_Two":
st.set("O", "1"); qs.set("O", "1");
htmltext = "32120-05.html"; htmltext = "32120-05.html";
break; break;
case "O2_Two": case "O2_Two":
st.set("O2", "1"); qs.set("O2", "1");
htmltext = "32120-06.html"; htmltext = "32120-06.html";
break; break;
case "N_Two": case "N_Two":
st.set("N", "1"); qs.set("N", "1");
if (st.isCond(6) && (st.getInt("T") > 0) && (st.getInt("O") > 0) && (st.getInt("O2") > 0) && (st.getInt("N") > 0)) if (qs.isCond(6) && (qs.getInt("T") > 0) && (qs.getInt("O") > 0) && (qs.getInt("O2") > 0) && (qs.getInt("N") > 0))
{ {
htmltext = "32120-08.html"; htmltext = "32120-08.html";
st.set("Memo", "1"); qs.set("Memo", "1");
} }
else else
{ {
htmltext = "32120-07.html"; htmltext = "32120-07.html";
} }
st.unset("T"); qs.unset("T");
st.unset("O"); qs.unset("O");
st.unset("O2"); qs.unset("O2");
st.unset("N"); qs.unset("N");
break; break;
case "32120-07.html": case "32120-07.html":
st.unset("T"); qs.unset("T");
st.unset("O"); qs.unset("O");
st.unset("O2"); qs.unset("O2");
st.unset("N"); qs.unset("N");
case "32120-17.html": case "32120-17.html":
if (st.isCond(6)) if (qs.isCond(6))
{ {
st.setCond(7, true); qs.setCond(7, true);
st.unset("Memo"); qs.unset("Memo");
} }
break; break;
case "W_Three": case "W_Three":
st.set("W", "1"); qs.set("W", "1");
htmltext = "32121-04.html"; htmltext = "32121-04.html";
break; break;
case "A_Three": case "A_Three":
st.set("A", "1"); qs.set("A", "1");
htmltext = "32121-05.html"; htmltext = "32121-05.html";
break; break;
case "G_Three": case "G_Three":
st.set("G", "1"); qs.set("G", "1");
htmltext = "32121-06.html"; htmltext = "32121-06.html";
break; break;
case "U_Three": case "U_Three":
st.set("U", "1"); qs.set("U", "1");
if (st.isCond(7) && (st.getInt("W") > 0) && (st.getInt("A") > 0) && (st.getInt("G") > 0) && (st.getInt("U") > 0)) if (qs.isCond(7) && (qs.getInt("W") > 0) && (qs.getInt("A") > 0) && (qs.getInt("G") > 0) && (qs.getInt("U") > 0))
{ {
htmltext = "32121-08.html"; htmltext = "32121-08.html";
st.set("Memo", "1"); qs.set("Memo", "1");
} }
else else
{ {
htmltext = "32121-07.html"; htmltext = "32121-07.html";
} }
st.unset("W"); qs.unset("W");
st.unset("A"); qs.unset("A");
st.unset("G"); qs.unset("G");
st.unset("U"); qs.unset("U");
break; break;
case "32121-07.html": case "32121-07.html":
st.unset("W"); qs.unset("W");
st.unset("A"); qs.unset("A");
st.unset("G"); qs.unset("G");
st.unset("U"); qs.unset("U");
break; break;
case "32121-11.html": case "32121-11.html":
st.set("Memo", "2"); qs.set("Memo", "2");
break; break;
case "32121-16.html": case "32121-16.html":
st.set("Memo", "3"); qs.set("Memo", "3");
break; break;
case "32121-18.html": case "32121-18.html":
if (st.isCond(7) && st.hasQuestItems(GAZKH_FRAGMENT)) if (qs.isCond(7) && hasQuestItems(player, GAZKH_FRAGMENT))
{ {
st.giveItems(EPITAPH_OF_WISDOM, 1); giveItems(player, EPITAPH_OF_WISDOM, 1);
st.takeItems(GAZKH_FRAGMENT, -1); takeItems(player, GAZKH_FRAGMENT, -1);
st.setCond(8, true); qs.setCond(8, true);
st.unset("Memo"); qs.unset("Memo");
} }
break; break;
} }
@@ -251,36 +251,36 @@ public class Q00125_TheNameOfEvil1 extends Quest
return null; return null;
} }
final QuestState st = getQuestState(partyMember, false); final QuestState qs = getQuestState(partyMember, false);
final int npcId = npc.getId(); final int npcId = npc.getId();
if (ORNITHOMIMUS.containsKey(npcId)) if (ORNITHOMIMUS.containsKey(npcId))
{ {
if (st.getQuestItemsCount(ORNITHOMIMUS_CLAW) < 2) if (getQuestItemsCount(player, ORNITHOMIMUS_CLAW) < 2)
{ {
final float chance = ORNITHOMIMUS.get(npcId) * Config.RATE_QUEST_DROP; final float chance = ORNITHOMIMUS.get(npcId) * Config.RATE_QUEST_DROP;
if (getRandom(1000) < chance) if (getRandom(1000) < chance)
{ {
st.giveItems(ORNITHOMIMUS_CLAW, 1); giveItems(player, ORNITHOMIMUS_CLAW, 1);
st.playSound(QuestSound.ITEMSOUND_QUEST_ITEMGET); playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET);
} }
} }
} }
else if (DEINONYCHUS.containsKey(npcId)) else if (DEINONYCHUS.containsKey(npcId))
{ {
if (st.getQuestItemsCount(DEINONYCHUS_BONE) < 2) if (getQuestItemsCount(player, DEINONYCHUS_BONE) < 2)
{ {
final float chance = DEINONYCHUS.get(npcId) * Config.RATE_QUEST_DROP; final float chance = DEINONYCHUS.get(npcId) * Config.RATE_QUEST_DROP;
if (getRandom(1000) < chance) if (getRandom(1000) < chance)
{ {
st.giveItems(DEINONYCHUS_BONE, 1); giveItems(player, DEINONYCHUS_BONE, 1);
st.playSound(QuestSound.ITEMSOUND_QUEST_ITEMGET); playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET);
} }
} }
} }
if ((st.getQuestItemsCount(ORNITHOMIMUS_CLAW) == 2) && (st.getQuestItemsCount(DEINONYCHUS_BONE) == 2)) if ((getQuestItemsCount(player, ORNITHOMIMUS_CLAW) == 2) && (getQuestItemsCount(player, DEINONYCHUS_BONE) == 2))
{ {
st.setCond(4, true); qs.setCond(4, true);
} }
return super.onKill(npc, player, isSummon); return super.onKill(npc, player, isSummon);
} }
@@ -289,8 +289,8 @@ public class Q00125_TheNameOfEvil1 extends Quest
public String onTalk(L2Npc npc, L2PcInstance player) public String onTalk(L2Npc npc, L2PcInstance player)
{ {
String htmltext = getNoQuestMsg(player); String htmltext = getNoQuestMsg(player);
QuestState st = getQuestState(player, true); QuestState qs = getQuestState(player, true);
if (st == null) if (qs == null)
{ {
return htmltext; return htmltext;
} }
@@ -298,7 +298,7 @@ public class Q00125_TheNameOfEvil1 extends Quest
switch (npc.getId()) switch (npc.getId())
{ {
case MUSHIKA: case MUSHIKA:
switch (st.getState()) switch (qs.getState())
{ {
case State.CREATED: case State.CREATED:
if (player.getLevel() < 76) if (player.getLevel() < 76)
@@ -307,12 +307,12 @@ public class Q00125_TheNameOfEvil1 extends Quest
} }
else else
{ {
st = player.getQuestState(Q00124_MeetingTheElroki.class.getSimpleName()); qs = player.getQuestState(Q00124_MeetingTheElroki.class.getSimpleName());
htmltext = ((st != null) && st.isCompleted()) ? "32114-01.htm" : "32114-01b.htm"; htmltext = ((qs != null) && qs.isCompleted()) ? "32114-01.htm" : "32114-01b.htm";
} }
break; break;
case State.STARTED: case State.STARTED:
switch (st.getCond()) switch (qs.getCond())
{ {
case 1: case 1:
htmltext = "32114-09.html"; htmltext = "32114-09.html";
@@ -328,11 +328,11 @@ public class Q00125_TheNameOfEvil1 extends Quest
htmltext = "32114-11.html"; htmltext = "32114-11.html";
break; break;
case 8: case 8:
if (st.hasQuestItems(EPITAPH_OF_WISDOM)) if (hasQuestItems(player, EPITAPH_OF_WISDOM))
{ {
htmltext = "32114-12.html"; htmltext = "32114-12.html";
st.addExpAndSp(859195, 86603); addExpAndSp(player, 859195, 86603);
st.exitQuest(false, true); qs.exitQuest(false, true);
} }
break; break;
} }
@@ -343,9 +343,9 @@ public class Q00125_TheNameOfEvil1 extends Quest
} }
break; break;
case KARAKAWEI: case KARAKAWEI:
if (st.isStarted()) if (qs.isStarted())
{ {
switch (st.getCond()) switch (qs.getCond())
{ {
case 1: case 1:
htmltext = "32117-01.html"; htmltext = "32117-01.html";
@@ -357,10 +357,10 @@ public class Q00125_TheNameOfEvil1 extends Quest
htmltext = "32117-10.html"; htmltext = "32117-10.html";
break; break;
case 4: case 4:
if ((st.getQuestItemsCount(ORNITHOMIMUS_CLAW) >= 2) && (st.getQuestItemsCount(DEINONYCHUS_BONE) >= 2)) if ((getQuestItemsCount(player, ORNITHOMIMUS_CLAW) >= 2) && (getQuestItemsCount(player, DEINONYCHUS_BONE) >= 2))
{ {
st.takeItems(ORNITHOMIMUS_CLAW, -1); takeItems(player, ORNITHOMIMUS_CLAW, -1);
st.takeItems(DEINONYCHUS_BONE, -1); takeItems(player, DEINONYCHUS_BONE, -1);
htmltext = "32117-11.html"; htmltext = "32117-11.html";
} }
break; break;
@@ -378,9 +378,9 @@ public class Q00125_TheNameOfEvil1 extends Quest
} }
break; break;
case ULU_KAIMU: case ULU_KAIMU:
if (st.isStarted()) if (qs.isStarted())
{ {
switch (st.getCond()) switch (qs.getCond())
{ {
case 1: case 1:
case 2: case 2:
@@ -389,14 +389,14 @@ public class Q00125_TheNameOfEvil1 extends Quest
htmltext = "32119-01.html"; htmltext = "32119-01.html";
break; break;
case 5: case 5:
if (st.get("Memo") == null) if (qs.get("Memo") == null)
{ {
htmltext = "32119-02.html"; htmltext = "32119-02.html";
npc.broadcastPacket(new MagicSkillUse(npc, player, 5089, 1, 1000, 0)); npc.broadcastPacket(new MagicSkillUse(npc, player, 5089, 1, 1000, 0));
st.unset("T"); qs.unset("T");
st.unset("E"); qs.unset("E");
st.unset("P"); qs.unset("P");
st.unset("U"); qs.unset("U");
} }
else else
{ {
@@ -413,9 +413,9 @@ public class Q00125_TheNameOfEvil1 extends Quest
} }
break; break;
case BALU_KAIMU: case BALU_KAIMU:
if (st.isStarted()) if (qs.isStarted())
{ {
switch (st.getCond()) switch (qs.getCond())
{ {
case 1: case 1:
case 2: case 2:
@@ -425,14 +425,14 @@ public class Q00125_TheNameOfEvil1 extends Quest
htmltext = "32120-01.html"; htmltext = "32120-01.html";
break; break;
case 6: case 6:
if (st.get("Memo") == null) if (qs.get("Memo") == null)
{ {
htmltext = "32120-02.html"; htmltext = "32120-02.html";
npc.broadcastPacket(new MagicSkillUse(npc, player, 5089, 1, 1000, 0)); npc.broadcastPacket(new MagicSkillUse(npc, player, 5089, 1, 1000, 0));
st.unset("T"); qs.unset("T");
st.unset("O"); qs.unset("O");
st.unset("O2"); qs.unset("O2");
st.unset("N"); qs.unset("N");
} }
else else
{ {
@@ -449,9 +449,9 @@ public class Q00125_TheNameOfEvil1 extends Quest
} }
break; break;
case CHUTA_KAIMU: case CHUTA_KAIMU:
if (st.isStarted()) if (qs.isStarted())
{ {
switch (st.getCond()) switch (qs.getCond())
{ {
case 1: case 1:
case 2: case 2:
@@ -462,15 +462,15 @@ public class Q00125_TheNameOfEvil1 extends Quest
htmltext = "32121-01.html"; htmltext = "32121-01.html";
break; break;
case 7: case 7:
switch (st.getInt("Memo")) switch (qs.getInt("Memo"))
{ {
case 0: case 0:
htmltext = "32121-02.html"; htmltext = "32121-02.html";
npc.broadcastPacket(new MagicSkillUse(npc, player, 5089, 1, 1000, 0)); npc.broadcastPacket(new MagicSkillUse(npc, player, 5089, 1, 1000, 0));
st.unset("W"); qs.unset("W");
st.unset("A"); qs.unset("A");
st.unset("G"); qs.unset("G");
st.unset("U"); qs.unset("U");
break; break;
case 1: case 1:
htmltext = "32121-09.html"; htmltext = "32121-09.html";

View File

@@ -57,8 +57,8 @@ public class Q00126_TheNameOfEvil2 extends Quest
@Override @Override
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
{ {
final QuestState st = getQuestState(player, false); final QuestState qs = getQuestState(player, false);
if (st == null) if (qs == null)
{ {
return getNoQuestMsg(player); return getNoQuestMsg(player);
} }
@@ -66,266 +66,266 @@ public class Q00126_TheNameOfEvil2 extends Quest
switch (event) switch (event)
{ {
case "32115-1.html": case "32115-1.html":
st.startQuest(); qs.startQuest();
break; break;
case "32115-1b.html": case "32115-1b.html":
if (st.isCond(1)) if (qs.isCond(1))
{ {
st.setCond(2, true); qs.setCond(2, true);
} }
break; break;
case "32119-3.html": case "32119-3.html":
if (st.isCond(2)) if (qs.isCond(2))
{ {
st.setCond(3, true); qs.setCond(3, true);
} }
break; break;
case "32119-4.html": case "32119-4.html":
if (st.isCond(3)) if (qs.isCond(3))
{ {
st.setCond(4, true); qs.setCond(4, true);
} }
break; break;
case "32119-4a.html": case "32119-4a.html":
case "32119-5b.html": case "32119-5b.html":
st.playSound(QuestSound.ETCSOUND_ELROKI_SONG_1ST); playSound(player, QuestSound.ETCSOUND_ELROKI_SONG_1ST);
break; break;
case "32119-5.html": case "32119-5.html":
if (st.isCond(4)) if (qs.isCond(4))
{ {
st.setCond(5, true); qs.setCond(5, true);
} }
break; break;
case "32120-3.html": case "32120-3.html":
if (st.isCond(5)) if (qs.isCond(5))
{ {
st.setCond(6, true); qs.setCond(6, true);
} }
break; break;
case "32120-4.html": case "32120-4.html":
if (st.isCond(6)) if (qs.isCond(6))
{ {
st.setCond(7, true); qs.setCond(7, true);
} }
break; break;
case "32120-4a.html": case "32120-4a.html":
case "32120-5b.html": case "32120-5b.html":
st.playSound(QuestSound.ETCSOUND_ELROKI_SONG_2ND); playSound(player, QuestSound.ETCSOUND_ELROKI_SONG_2ND);
break; break;
case "32120-5.html": case "32120-5.html":
if (st.isCond(7)) if (qs.isCond(7))
{ {
st.setCond(8, true); qs.setCond(8, true);
} }
break; break;
case "32121-3.html": case "32121-3.html":
if (st.isCond(8)) if (qs.isCond(8))
{ {
st.setCond(9, true); qs.setCond(9, true);
} }
break; break;
case "32121-4.html": case "32121-4.html":
if (st.isCond(9)) if (qs.isCond(9))
{ {
st.setCond(10, true); qs.setCond(10, true);
} }
break; break;
case "32121-4a.html": case "32121-4a.html":
case "32121-5b.html": case "32121-5b.html":
st.playSound(QuestSound.ETCSOUND_ELROKI_SONG_3RD); playSound(player, QuestSound.ETCSOUND_ELROKI_SONG_3RD);
break; break;
case "32121-5.html": case "32121-5.html":
if (st.isCond(10)) if (qs.isCond(10))
{ {
st.giveItems(GAZKH_FRAGMENT, 1); giveItems(player, GAZKH_FRAGMENT, 1);
st.setCond(11, true); qs.setCond(11, true);
} }
break; break;
case "32122-2a.html": case "32122-2a.html":
npc.broadcastPacket(new MagicSkillUse(npc, player, 5089, 1, 1000, 0)); npc.broadcastPacket(new MagicSkillUse(npc, player, 5089, 1, 1000, 0));
break; break;
case "32122-2d.html": case "32122-2d.html":
st.takeItems(GAZKH_FRAGMENT, -1); takeItems(player, GAZKH_FRAGMENT, -1);
break; break;
case "32122-3.html": case "32122-3.html":
if (st.isCond(12)) if (qs.isCond(12))
{ {
st.setCond(13, true); qs.setCond(13, true);
} }
break; break;
case "32122-4.html": case "32122-4.html":
if (st.isCond(13)) if (qs.isCond(13))
{ {
st.setCond(14, true); qs.setCond(14, true);
} }
break; break;
case "DO_One": case "DO_One":
st.set("DO", "1"); qs.set("DO", "1");
event = "32122-4d.html"; event = "32122-4d.html";
break; break;
case "MI_One": case "MI_One":
st.set("MI", "1"); qs.set("MI", "1");
event = "32122-4f.html"; event = "32122-4f.html";
break; break;
case "FA_One": case "FA_One":
st.set("FA", "1"); qs.set("FA", "1");
event = "32122-4h.html"; event = "32122-4h.html";
break; break;
case "SOL_One": case "SOL_One":
st.set("SOL", "1"); qs.set("SOL", "1");
event = "32122-4j.html"; event = "32122-4j.html";
break; break;
case "FA2_One": case "FA2_One":
st.set("FA2", "1"); qs.set("FA2", "1");
if (st.isCond(14) && (st.getInt("DO") > 0) && (st.getInt("MI") > 0) && (st.getInt("FA") > 0) && (st.getInt("SOL") > 0) && (st.getInt("FA2") > 0)) if (qs.isCond(14) && (qs.getInt("DO") > 0) && (qs.getInt("MI") > 0) && (qs.getInt("FA") > 0) && (qs.getInt("SOL") > 0) && (qs.getInt("FA2") > 0))
{ {
event = "32122-4n.html"; event = "32122-4n.html";
st.setCond(15, true); qs.setCond(15, true);
} }
else else
{ {
event = "32122-4m.html"; event = "32122-4m.html";
} }
st.unset("DO"); qs.unset("DO");
st.unset("MI"); qs.unset("MI");
st.unset("FA"); qs.unset("FA");
st.unset("SOL"); qs.unset("SOL");
st.unset("FA2"); qs.unset("FA2");
break; break;
case "32122-4m.html": case "32122-4m.html":
st.unset("DO"); qs.unset("DO");
st.unset("MI"); qs.unset("MI");
st.unset("FA"); qs.unset("FA");
st.unset("SOL"); qs.unset("SOL");
st.unset("FA2"); qs.unset("FA2");
break; break;
case "FA_Two": case "FA_Two":
st.set("FA", "1"); qs.set("FA", "1");
event = "32122-5a.html"; event = "32122-5a.html";
break; break;
case "SOL_Two": case "SOL_Two":
st.set("SOL", "1"); qs.set("SOL", "1");
event = "32122-5c.html"; event = "32122-5c.html";
break; break;
case "TI_Two": case "TI_Two":
st.set("TI", "1"); qs.set("TI", "1");
event = "32122-5e.html"; event = "32122-5e.html";
break; break;
case "SOL2_Two": case "SOL2_Two":
st.set("SOL2", "1"); qs.set("SOL2", "1");
event = "32122-5g.html"; event = "32122-5g.html";
break; break;
case "FA2_Two": case "FA2_Two":
st.set("FA2", "1"); qs.set("FA2", "1");
if (st.isCond(15) && (st.getInt("FA") > 0) && (st.getInt("SOL") > 0) && (st.getInt("TI") > 0) && (st.getInt("SOL2") > 0) && (st.getInt("FA2") > 0)) if (qs.isCond(15) && (qs.getInt("FA") > 0) && (qs.getInt("SOL") > 0) && (qs.getInt("TI") > 0) && (qs.getInt("SOL2") > 0) && (qs.getInt("FA2") > 0))
{ {
event = "32122-5j.html"; event = "32122-5j.html";
st.setCond(16, true); qs.setCond(16, true);
} }
else else
{ {
event = "32122-5i.html"; event = "32122-5i.html";
} }
st.unset("FA"); qs.unset("FA");
st.unset("SOL"); qs.unset("SOL");
st.unset("TI"); qs.unset("TI");
st.unset("SOL2"); qs.unset("SOL2");
st.unset("FA2"); qs.unset("FA2");
break; break;
case "32122-5i.html": case "32122-5i.html":
st.unset("FA"); qs.unset("FA");
st.unset("SOL"); qs.unset("SOL");
st.unset("TI"); qs.unset("TI");
st.unset("SOL2"); qs.unset("SOL2");
st.unset("FA2"); qs.unset("FA2");
break; break;
case "SOL_Three": case "SOL_Three":
st.set("SOL", "1"); qs.set("SOL", "1");
event = "32122-6a.html"; event = "32122-6a.html";
break; break;
case "FA_Three": case "FA_Three":
st.set("FA", "1"); qs.set("FA", "1");
event = "32122-6c.html"; event = "32122-6c.html";
break; break;
case "MI_Three": case "MI_Three":
st.set("MI", "1"); qs.set("MI", "1");
event = "32122-6e.html"; event = "32122-6e.html";
break; break;
case "FA2_Three": case "FA2_Three":
st.set("FA2", "1"); qs.set("FA2", "1");
event = "32122-6g.html"; event = "32122-6g.html";
break; break;
case "MI2_Three": case "MI2_Three":
st.set("MI2", "1"); qs.set("MI2", "1");
if (st.isCond(16) && (st.getInt("SOL") > 0) && (st.getInt("FA") > 0) && (st.getInt("MI") > 0) && (st.getInt("FA2") > 0) && (st.getInt("MI2") > 0)) if (qs.isCond(16) && (qs.getInt("SOL") > 0) && (qs.getInt("FA") > 0) && (qs.getInt("MI") > 0) && (qs.getInt("FA2") > 0) && (qs.getInt("MI2") > 0))
{ {
event = "32122-6j.html"; event = "32122-6j.html";
st.setCond(17, true); qs.setCond(17, true);
} }
else else
{ {
event = "32122-6i.html"; event = "32122-6i.html";
} }
st.unset("SOL"); qs.unset("SOL");
st.unset("FA"); qs.unset("FA");
st.unset("MI"); qs.unset("MI");
st.unset("FA2"); qs.unset("FA2");
st.unset("MI2"); qs.unset("MI2");
break; break;
case "32122-6i.html": case "32122-6i.html":
st.unset("SOL"); qs.unset("SOL");
st.unset("FA"); qs.unset("FA");
st.unset("MI"); qs.unset("MI");
st.unset("FA2"); qs.unset("FA2");
st.unset("MI2"); qs.unset("MI2");
break; break;
case "32122-7.html": case "32122-7.html":
st.giveItems(BONE_POWDER, 1); giveItems(player, BONE_POWDER, 1);
st.playSound(QuestSound.ETCSOUND_ELROKI_SONG_FULL); playSound(player, QuestSound.ETCSOUND_ELROKI_SONG_FULL);
npc.broadcastPacket(new MagicSkillUse(npc, player, 5089, 1, 1000, 0)); npc.broadcastPacket(new MagicSkillUse(npc, player, 5089, 1, 1000, 0));
break; break;
case "32122-8.html": case "32122-8.html":
if (st.isCond(17)) if (qs.isCond(17))
{ {
st.setCond(18, true); qs.setCond(18, true);
} }
break; break;
case "32109-2.html": case "32109-2.html":
if (st.isCond(18)) if (qs.isCond(18))
{ {
st.setCond(19, true); qs.setCond(19, true);
} }
break; break;
case "32109-3.html": case "32109-3.html":
if (st.isCond(19)) if (qs.isCond(19))
{ {
st.takeItems(BONE_POWDER, -1); takeItems(player, BONE_POWDER, -1);
st.setCond(20, true); qs.setCond(20, true);
} }
break; break;
case "32115-4.html": case "32115-4.html":
if (st.isCond(20)) if (qs.isCond(20))
{ {
st.setCond(21, true); qs.setCond(21, true);
} }
break; break;
case "32115-5.html": case "32115-5.html":
if (st.isCond(21)) if (qs.isCond(21))
{ {
st.setCond(22, true); qs.setCond(22, true);
} }
break; break;
case "32114-2.html": case "32114-2.html":
if (st.isCond(22)) if (qs.isCond(22))
{ {
st.setCond(23, true); qs.setCond(23, true);
} }
break; break;
case "32114-3.html": case "32114-3.html":
st.rewardItems(ENCHANT_WEAPON_A, 1); rewardItems(player, ENCHANT_WEAPON_A, 1);
st.giveAdena(460483, true); giveAdena(player, 460483, true);
st.addExpAndSp(1015973, 102802); addExpAndSp(player, 1015973, 102802);
st.exitQuest(false, true); qs.exitQuest(false, true);
break; break;
} }
return event; return event;
@@ -335,8 +335,8 @@ public class Q00126_TheNameOfEvil2 extends Quest
public String onTalk(L2Npc npc, L2PcInstance player) public String onTalk(L2Npc npc, L2PcInstance player)
{ {
String htmltext = getNoQuestMsg(player); String htmltext = getNoQuestMsg(player);
QuestState st = getQuestState(player, true); QuestState qs = getQuestState(player, true);
if (st == null) if (qs == null)
{ {
return htmltext; return htmltext;
} }
@@ -344,7 +344,7 @@ public class Q00126_TheNameOfEvil2 extends Quest
switch (npc.getId()) switch (npc.getId())
{ {
case ASAMAH: case ASAMAH:
switch (st.getState()) switch (qs.getState())
{ {
case State.CREATED: case State.CREATED:
if (player.getLevel() < 77) if (player.getLevel() < 77)
@@ -353,12 +353,12 @@ public class Q00126_TheNameOfEvil2 extends Quest
} }
else else
{ {
st = player.getQuestState(Q00125_TheNameOfEvil1.class.getSimpleName()); qs = player.getQuestState(Q00125_TheNameOfEvil1.class.getSimpleName());
htmltext = ((st != null) && st.isCompleted()) ? "32115-0a.htm" : "32115-0b.htm"; htmltext = ((qs != null) && qs.isCompleted()) ? "32115-0a.htm" : "32115-0b.htm";
} }
break; break;
case State.STARTED: case State.STARTED:
switch (st.getCond()) switch (qs.getCond())
{ {
case 1: case 1:
htmltext = "32115-1d.html"; htmltext = "32115-1d.html";
@@ -402,9 +402,9 @@ public class Q00126_TheNameOfEvil2 extends Quest
} }
break; break;
case ULU_KAIMU: case ULU_KAIMU:
if (st.isStarted()) if (qs.isStarted())
{ {
switch (st.getCond()) switch (qs.getCond())
{ {
case 1: case 1:
htmltext = "32119-1.html"; htmltext = "32119-1.html";
@@ -426,9 +426,9 @@ public class Q00126_TheNameOfEvil2 extends Quest
} }
break; break;
case BALU_KAIMU: case BALU_KAIMU:
if (st.isStarted()) if (qs.isStarted())
{ {
switch (st.getCond()) switch (qs.getCond())
{ {
case 1: case 1:
case 2: case 2:
@@ -453,9 +453,9 @@ public class Q00126_TheNameOfEvil2 extends Quest
} }
break; break;
case CHUTA_KAIMU: case CHUTA_KAIMU:
if (st.isStarted()) if (qs.isStarted())
{ {
switch (st.getCond()) switch (qs.getCond())
{ {
case 1: case 1:
case 2: case 2:
@@ -483,9 +483,9 @@ public class Q00126_TheNameOfEvil2 extends Quest
} }
break; break;
case WARRIORS_GRAVE: case WARRIORS_GRAVE:
if (st.isStarted()) if (qs.isStarted())
{ {
switch (st.getCond()) switch (qs.getCond())
{ {
case 1: case 1:
case 2: case 2:
@@ -501,7 +501,7 @@ public class Q00126_TheNameOfEvil2 extends Quest
break; break;
case 11: case 11:
htmltext = "32122-2.html"; htmltext = "32122-2.html";
st.setCond(12, true); qs.setCond(12, true);
break; break;
case 12: case 12:
htmltext = "32122-2l.html"; htmltext = "32122-2l.html";
@@ -511,30 +511,30 @@ public class Q00126_TheNameOfEvil2 extends Quest
break; break;
case 14: case 14:
htmltext = "32122-4.html"; htmltext = "32122-4.html";
st.unset("DO"); qs.unset("DO");
st.unset("MI"); qs.unset("MI");
st.unset("FA"); qs.unset("FA");
st.unset("SOL"); qs.unset("SOL");
st.unset("FA2"); qs.unset("FA2");
break; break;
case 15: case 15:
htmltext = "32122-5.html"; htmltext = "32122-5.html";
st.unset("FA"); qs.unset("FA");
st.unset("SOL"); qs.unset("SOL");
st.unset("TI"); qs.unset("TI");
st.unset("SOL2"); qs.unset("SOL2");
st.unset("FA2"); qs.unset("FA2");
break; break;
case 16: case 16:
htmltext = "32122-6.html"; htmltext = "32122-6.html";
st.unset("SOL"); qs.unset("SOL");
st.unset("FA"); qs.unset("FA");
st.unset("MI"); qs.unset("MI");
st.unset("FA2"); qs.unset("FA2");
st.unset("MI2"); qs.unset("MI2");
break; break;
case 17: case 17:
htmltext = st.hasQuestItems(BONE_POWDER) ? "32122-7.html" : "32122-7b.html"; htmltext = hasQuestItems(player, BONE_POWDER) ? "32122-7.html" : "32122-7b.html";
break; break;
case 18: case 18:
htmltext = "32122-8.html"; htmltext = "32122-8.html";
@@ -546,9 +546,9 @@ public class Q00126_TheNameOfEvil2 extends Quest
} }
break; break;
case SHILENS_STONE_STATUE: case SHILENS_STONE_STATUE:
if (st.isStarted()) if (qs.isStarted())
{ {
switch (st.getCond()) switch (qs.getCond())
{ {
case 1: case 1:
case 2: case 2:
@@ -570,7 +570,7 @@ public class Q00126_TheNameOfEvil2 extends Quest
htmltext = "32109-1a.html"; htmltext = "32109-1a.html";
break; break;
case 18: case 18:
if (st.hasQuestItems(BONE_POWDER)) if (hasQuestItems(player, BONE_POWDER))
{ {
htmltext = "32109-1.html"; htmltext = "32109-1.html";
} }
@@ -588,13 +588,13 @@ public class Q00126_TheNameOfEvil2 extends Quest
} }
break; break;
case MUSHIKA: case MUSHIKA:
if (st.isStarted()) if (qs.isStarted())
{ {
if (st.getCond() < 22) if (qs.getCond() < 22)
{ {
htmltext = "32114-4.html"; htmltext = "32114-4.html";
} }
else if (st.isCond(22)) else if (qs.isCond(22))
{ {
htmltext = "32114-1.html"; htmltext = "32114-1.html";
} }

View File

@@ -85,8 +85,8 @@ public final class Q00128_PailakaSongOfIceAndFire extends Quest
public final String onAdvEvent(String event, L2Npc npc, L2PcInstance player) public final String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
{ {
String htmltext = null; String htmltext = null;
final QuestState st = getQuestState(player, false); final QuestState qs = getQuestState(player, false);
if (st == null) if (qs == null)
{ {
return getNoQuestMsg(player); return getNoQuestMsg(player);
} }
@@ -106,18 +106,18 @@ public final class Q00128_PailakaSongOfIceAndFire extends Quest
} }
case "32497-03.htm": case "32497-03.htm":
{ {
if (!st.isStarted()) if (!qs.isStarted())
{ {
st.startQuest(); qs.startQuest();
htmltext = event; htmltext = event;
} }
break; break;
} }
case "32500-06.htm": case "32500-06.htm":
{ {
if (st.isCond(1)) if (qs.isCond(1))
{ {
st.setCond(2, true); qs.setCond(2, true);
giveItems(player, SWORD, 1); giveItems(player, SWORD, 1);
giveItems(player, BOOK1, 1); giveItems(player, BOOK1, 1);
htmltext = event; htmltext = event;
@@ -126,9 +126,9 @@ public final class Q00128_PailakaSongOfIceAndFire extends Quest
} }
case "32507-04.htm": case "32507-04.htm":
{ {
if (st.isCond(3)) if (qs.isCond(3))
{ {
st.setCond(4, true); qs.setCond(4, true);
takeItems(player, SWORD, -1); takeItems(player, SWORD, -1);
takeItems(player, WATER_ESSENCE, -1); takeItems(player, WATER_ESSENCE, -1);
takeItems(player, BOOK2, -1); takeItems(player, BOOK2, -1);
@@ -140,9 +140,9 @@ public final class Q00128_PailakaSongOfIceAndFire extends Quest
} }
case "32507-08.htm": case "32507-08.htm":
{ {
if (st.isCond(6)) if (qs.isCond(6))
{ {
st.setCond(7, true); qs.setCond(7, true);
takeItems(player, ENH_SWORD1, -1); takeItems(player, ENH_SWORD1, -1);
takeItems(player, BOOK5, -1); takeItems(player, BOOK5, -1);
takeItems(player, FIRE_ESSENCE, -1); takeItems(player, FIRE_ESSENCE, -1);
@@ -154,7 +154,7 @@ public final class Q00128_PailakaSongOfIceAndFire extends Quest
} }
case "32510-02.htm": case "32510-02.htm":
{ {
st.exitQuest(false, true); qs.exitQuest(false, true);
final Instance inst = InstanceManager.getInstance().getInstance(npc.getInstanceId()); final Instance inst = InstanceManager.getInstance().getInstance(npc.getInstanceId());
inst.setDuration(EXIT_TIME * 60000); inst.setDuration(EXIT_TIME * 60000);
@@ -181,8 +181,8 @@ public final class Q00128_PailakaSongOfIceAndFire extends Quest
public final String onTalk(L2Npc npc, L2PcInstance player) public final String onTalk(L2Npc npc, L2PcInstance player)
{ {
String htmltext = getNoQuestMsg(player); String htmltext = getNoQuestMsg(player);
final QuestState st = getQuestState(player, true); final QuestState qs = getQuestState(player, true);
if (st == null) if (qs == null)
{ {
return htmltext; return htmltext;
} }
@@ -191,7 +191,7 @@ public final class Q00128_PailakaSongOfIceAndFire extends Quest
{ {
case ADLER1: case ADLER1:
{ {
switch (st.getState()) switch (qs.getState())
{ {
case State.CREATED: case State.CREATED:
{ {
@@ -211,7 +211,7 @@ public final class Q00128_PailakaSongOfIceAndFire extends Quest
} }
case State.STARTED: case State.STARTED:
{ {
if (st.getCond() > 1) if (qs.getCond() > 1)
{ {
htmltext = "32497-00.htm"; htmltext = "32497-00.htm";
} }
@@ -236,7 +236,7 @@ public final class Q00128_PailakaSongOfIceAndFire extends Quest
} }
case SINAI: case SINAI:
{ {
if (st.getCond() > 1) if (qs.getCond() > 1)
{ {
htmltext = "32500-00.htm"; htmltext = "32500-00.htm";
} }
@@ -248,7 +248,7 @@ public final class Q00128_PailakaSongOfIceAndFire extends Quest
} }
case INSPECTOR: case INSPECTOR:
{ {
switch (st.getCond()) switch (qs.getCond())
{ {
case 1: case 1:
{ {
@@ -286,11 +286,11 @@ public final class Q00128_PailakaSongOfIceAndFire extends Quest
} }
case ADLER2: case ADLER2:
{ {
if (st.isCompleted()) if (qs.isCompleted())
{ {
htmltext = "32510-00.htm"; htmltext = "32510-00.htm";
} }
else if (st.isCond(9)) else if (qs.isCond(9))
{ {
htmltext = "32510-01.htm"; htmltext = "32510-01.htm";
} }
@@ -303,16 +303,16 @@ public final class Q00128_PailakaSongOfIceAndFire extends Quest
@Override @Override
public final String onKill(L2Npc npc, L2PcInstance player, boolean isSummon) public final String onKill(L2Npc npc, L2PcInstance player, boolean isSummon)
{ {
final QuestState st = getQuestState(player, false); final QuestState qs = getQuestState(player, false);
if ((st != null) && st.isStarted()) if ((qs != null) && qs.isStarted())
{ {
switch (npc.getId()) switch (npc.getId())
{ {
case HILLAS: case HILLAS:
{ {
if (st.isCond(2)) if (qs.isCond(2))
{ {
st.setCond(3); qs.setCond(3);
playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET); playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET);
takeItems(player, BOOK1, -1); takeItems(player, BOOK1, -1);
giveItems(player, BOOK2, 1); giveItems(player, BOOK2, 1);
@@ -323,9 +323,9 @@ public final class Q00128_PailakaSongOfIceAndFire extends Quest
} }
case PAPION: case PAPION:
{ {
if (st.isCond(4)) if (qs.isCond(4))
{ {
st.setCond(5); qs.setCond(5);
takeItems(player, BOOK3, -1); takeItems(player, BOOK3, -1);
giveItems(player, BOOK4, 1); giveItems(player, BOOK4, 1);
playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET); playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET);
@@ -335,9 +335,9 @@ public final class Q00128_PailakaSongOfIceAndFire extends Quest
} }
case KINSUS: case KINSUS:
{ {
if (st.isCond(5)) if (qs.isCond(5))
{ {
st.setCond(6); qs.setCond(6);
playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET); playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET);
takeItems(player, BOOK4, -1); takeItems(player, BOOK4, -1);
giveItems(player, BOOK5, 1); giveItems(player, BOOK5, 1);
@@ -348,9 +348,9 @@ public final class Q00128_PailakaSongOfIceAndFire extends Quest
} }
case GARGOS: case GARGOS:
{ {
if (st.isCond(7)) if (qs.isCond(7))
{ {
st.setCond(8); qs.setCond(8);
playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET); playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET);
takeItems(player, BOOK6, -1); takeItems(player, BOOK6, -1);
giveItems(player, BOOK7, 1); giveItems(player, BOOK7, 1);
@@ -360,9 +360,9 @@ public final class Q00128_PailakaSongOfIceAndFire extends Quest
} }
case ADIANTUM: case ADIANTUM:
{ {
if (st.isCond(8)) if (qs.isCond(8))
{ {
st.setCond(9); qs.setCond(9);
playSound(player, QuestSound.ITEMSOUND_QUEST_MIDDLE); playSound(player, QuestSound.ITEMSOUND_QUEST_MIDDLE);
takeItems(player, BOOK7, -1); takeItems(player, BOOK7, -1);
addSpawn(ADLER2, -53297, 185027, -4617, 33486, false, 0, false, npc.getInstanceId()); addSpawn(ADLER2, -53297, 185027, -4617, 33486, false, 0, false, npc.getInstanceId());

View File

@@ -74,8 +74,8 @@ public class Q00134_TempleMissionary extends Quest
@Override @Override
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
{ {
final QuestState st = getQuestState(player, false); final QuestState qs = getQuestState(player, false);
if (st == null) if (qs == null)
{ {
return null; return null;
} }
@@ -86,33 +86,47 @@ public class Q00134_TempleMissionary extends Quest
case "30067-05.html": case "30067-05.html":
case "30067-09.html": case "30067-09.html":
case "31418-07.html": case "31418-07.html":
{
break; break;
}
case "30067-03.htm": case "30067-03.htm":
st.startQuest(); {
qs.startQuest();
break; break;
}
case "30067-06.html": case "30067-06.html":
st.setCond(2, true); {
qs.setCond(2, true);
break; break;
}
case "31418-03.html": case "31418-03.html":
st.setCond(3, true); {
qs.setCond(3, true);
break; break;
}
case "31418-08.html": case "31418-08.html":
st.setCond(5, true); {
st.giveItems(ROUKES_REPOT, 1); qs.setCond(5, true);
st.unset("talk"); giveItems(player, ROUKES_REPOT, 1);
qs.unset("talk");
break; break;
}
case "30067-10.html": case "30067-10.html":
st.giveItems(BADGE_TEMPLE_MISSIONARY, 1); {
st.giveAdena(15100, true); giveItems(player, BADGE_TEMPLE_MISSIONARY, 1);
giveAdena(player, 15100, true);
if (player.getLevel() < MAX_REWARD_LEVEL) if (player.getLevel() < MAX_REWARD_LEVEL)
{ {
st.addExpAndSp(30000, 2000); addExpAndSp(player, 30000, 2000);
} }
st.exitQuest(false, true); qs.exitQuest(false, true);
break; break;
}
default: default:
{
htmltext = null; htmltext = null;
break; break;
}
} }
return htmltext; return htmltext;
} }
@@ -125,24 +139,24 @@ public class Q00134_TempleMissionary extends Quest
{ {
return super.onKill(npc, player, isSummon); return super.onKill(npc, player, isSummon);
} }
final QuestState st = getQuestState(member, false); final QuestState qs = getQuestState(member, false);
if (npc.getId() == CRUMA_MARSHLANDS_TRAITOR) if (npc.getId() == CRUMA_MARSHLANDS_TRAITOR)
{ {
st.giveItems(GIANTS_TECHNOLOGY_REPORT, 1); giveItems(player, GIANTS_TECHNOLOGY_REPORT, 1);
if (st.getQuestItemsCount(GIANTS_TECHNOLOGY_REPORT) >= REPORT_COUNT) if (getQuestItemsCount(player, GIANTS_TECHNOLOGY_REPORT) >= REPORT_COUNT)
{ {
st.setCond(4, true); qs.setCond(4, true);
} }
else else
{ {
st.playSound(QuestSound.ITEMSOUND_QUEST_ITEMGET); playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET);
} }
} }
else else
{ {
if (st.hasQuestItems(GIANTS_EXPERIMENTAL_TOOL)) if (hasQuestItems(player, GIANTS_EXPERIMENTAL_TOOL))
{ {
st.takeItems(GIANTS_EXPERIMENTAL_TOOL, 1); takeItems(player, GIANTS_EXPERIMENTAL_TOOL, 1);
if (getRandom(100) != 0) if (getRandom(100) != 0)
{ {
addSpawn(CRUMA_MARSHLANDS_TRAITOR, npc.getX() + 20, npc.getY() + 20, npc.getZ(), npc.getHeading(), false, 60000); addSpawn(CRUMA_MARSHLANDS_TRAITOR, npc.getX() + 20, npc.getY() + 20, npc.getZ(), npc.getHeading(), false, 60000);
@@ -150,8 +164,8 @@ public class Q00134_TempleMissionary extends Quest
} }
else if (getRandom(100) < MOBS.get(npc.getId())) else if (getRandom(100) < MOBS.get(npc.getId()))
{ {
st.giveItems(GIANTS_EXPERIMENTAL_TOOL_FRAGMENT, 1); giveItems(player, GIANTS_EXPERIMENTAL_TOOL_FRAGMENT, 1);
st.playSound(QuestSound.ITEMSOUND_QUEST_ITEMGET); playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET);
} }
} }
return super.onKill(npc, player, isSummon); return super.onKill(npc, player, isSummon);
@@ -161,8 +175,8 @@ public class Q00134_TempleMissionary extends Quest
public String onTalk(L2Npc npc, L2PcInstance player) public String onTalk(L2Npc npc, L2PcInstance player)
{ {
String htmltext = getNoQuestMsg(player); String htmltext = getNoQuestMsg(player);
final QuestState st = getQuestState(player, true); final QuestState qs = getQuestState(player, true);
if (st == null) if (qs == null)
{ {
return htmltext; return htmltext;
} }
@@ -170,85 +184,111 @@ public class Q00134_TempleMissionary extends Quest
switch (npc.getId()) switch (npc.getId())
{ {
case GLYVKA: case GLYVKA:
switch (st.getState()) {
switch (qs.getState())
{ {
case State.CREATED: case State.CREATED:
{
htmltext = (player.getLevel() >= MIN_LEVEL) ? "30067-01.htm" : "30067-02.htm"; htmltext = (player.getLevel() >= MIN_LEVEL) ? "30067-01.htm" : "30067-02.htm";
break; break;
}
case State.STARTED: case State.STARTED:
switch (st.getCond()) {
switch (qs.getCond())
{ {
case 1: case 1:
{
htmltext = "30067-04.html"; htmltext = "30067-04.html";
break; break;
}
case 2: case 2:
case 3: case 3:
case 4: case 4:
{
htmltext = "30067-07.html"; htmltext = "30067-07.html";
break; break;
}
case 5: case 5:
if (st.isSet("talk")) {
if (qs.isSet("talk"))
{ {
htmltext = "30067-09.html"; htmltext = "30067-09.html";
} }
else else
{ {
st.takeItems(ROUKES_REPOT, -1); takeItems(player, ROUKES_REPOT, -1);
st.set("talk", "1"); qs.set("talk", "1");
htmltext = "30067-08.html"; htmltext = "30067-08.html";
} }
break; break;
}
} }
break; break;
}
case State.COMPLETED: case State.COMPLETED:
{
htmltext = getAlreadyCompletedMsg(player); htmltext = getAlreadyCompletedMsg(player);
break; break;
}
break;
case ROUKE:
if (st.isStarted())
{
switch (st.getCond())
{
case 1:
htmltext = "31418-01.html";
break;
case 2:
htmltext = "31418-02.html";
break;
case 3:
if ((st.getQuestItemsCount(GIANTS_EXPERIMENTAL_TOOL_FRAGMENT) < FRAGMENT_COUNT) && (st.getQuestItemsCount(GIANTS_TECHNOLOGY_REPORT) < REPORT_COUNT))
{
htmltext = "31418-04.html";
}
else if (st.getQuestItemsCount(GIANTS_EXPERIMENTAL_TOOL_FRAGMENT) >= FRAGMENT_COUNT)
{
final int count = (int) (st.getQuestItemsCount(GIANTS_EXPERIMENTAL_TOOL_FRAGMENT) / 10);
st.takeItems(GIANTS_EXPERIMENTAL_TOOL_FRAGMENT, count * 10);
st.giveItems(GIANTS_EXPERIMENTAL_TOOL, count);
htmltext = "31418-05.html";
}
break;
case 4:
if (st.isSet("talk"))
{
htmltext = "31418-07.html";
}
else if (st.getQuestItemsCount(GIANTS_TECHNOLOGY_REPORT) >= REPORT_COUNT)
{
st.takeItems(GIANTS_EXPERIMENTAL_TOOL_FRAGMENT, -1);
st.takeItems(GIANTS_EXPERIMENTAL_TOOL, -1);
st.takeItems(GIANTS_TECHNOLOGY_REPORT, -1);
st.set("talk", "1");
htmltext = "31418-06.html";
}
break;
case 5:
htmltext = "31418-09.html";
break;
} }
} }
break; break;
}
case ROUKE:
{
if (qs.isStarted())
{
switch (qs.getCond())
{
case 1:
{
htmltext = "31418-01.html";
break;
}
case 2:
{
htmltext = "31418-02.html";
break;
}
case 3:
{
if ((getQuestItemsCount(player, GIANTS_EXPERIMENTAL_TOOL_FRAGMENT) < FRAGMENT_COUNT) && (getQuestItemsCount(player, GIANTS_TECHNOLOGY_REPORT) < REPORT_COUNT))
{
htmltext = "31418-04.html";
}
else if (getQuestItemsCount(player, GIANTS_EXPERIMENTAL_TOOL_FRAGMENT) >= FRAGMENT_COUNT)
{
final int count = (int) (getQuestItemsCount(player, GIANTS_EXPERIMENTAL_TOOL_FRAGMENT) / 10);
takeItems(player, GIANTS_EXPERIMENTAL_TOOL_FRAGMENT, count * 10);
giveItems(player, GIANTS_EXPERIMENTAL_TOOL, count);
htmltext = "31418-05.html";
}
break;
}
case 4:
{
if (qs.isSet("talk"))
{
htmltext = "31418-07.html";
}
else if (getQuestItemsCount(player, GIANTS_TECHNOLOGY_REPORT) >= REPORT_COUNT)
{
takeItems(player, GIANTS_EXPERIMENTAL_TOOL_FRAGMENT, -1);
takeItems(player, GIANTS_EXPERIMENTAL_TOOL, -1);
takeItems(player, GIANTS_TECHNOLOGY_REPORT, -1);
qs.set("talk", "1");
htmltext = "31418-06.html";
}
break;
}
case 5:
{
htmltext = "31418-09.html";
break;
}
}
}
break;
}
} }
return htmltext; return htmltext;
} }

View File

@@ -72,8 +72,8 @@ public class Q00135_TempleExecutor extends Quest
@Override @Override
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
{ {
final QuestState st = getQuestState(player, false); final QuestState qs = getQuestState(player, false);
if (st == null) if (qs == null)
{ {
return null; return null;
} }
@@ -88,29 +88,41 @@ public class Q00135_TempleExecutor extends Quest
case "30068-08.html": case "30068-08.html":
case "30068-09.html": case "30068-09.html":
case "30068-10.html": case "30068-10.html":
{
break; break;
}
case "30068-03.htm": case "30068-03.htm":
st.startQuest(); {
qs.startQuest();
break; break;
}
case "30068-04.html": case "30068-04.html":
st.setCond(2, true); {
qs.setCond(2, true);
break; break;
}
case "30291-07.html": case "30291-07.html":
st.unset("talk"); {
st.setCond(3, true); qs.unset("talk");
qs.setCond(3, true);
break; break;
}
case "30068-11.html": case "30068-11.html":
st.giveItems(BADGE_TEMPLE_EXECUTOR, 1); {
st.giveAdena(16924, true); giveItems(player, BADGE_TEMPLE_EXECUTOR, 1);
giveAdena(player, 16924, true);
if (player.getLevel() < MAX_REWARD_LEVEL) if (player.getLevel() < MAX_REWARD_LEVEL)
{ {
st.addExpAndSp(30000, 2000); addExpAndSp(player, 30000, 2000);
} }
st.exitQuest(false, true); qs.exitQuest(false, true);
break; break;
}
default: default:
{
htmltext = null; htmltext = null;
break; break;
}
} }
return htmltext; return htmltext;
} }
@@ -123,25 +135,25 @@ public class Q00135_TempleExecutor extends Quest
{ {
return super.onKill(npc, player, isSummon); return super.onKill(npc, player, isSummon);
} }
final QuestState st = getQuestState(member, false); final QuestState qs = getQuestState(member, false);
if ((getRandom(1000) < MOBS.get(npc.getId()))) if ((getRandom(1000) < MOBS.get(npc.getId())))
{ {
if (st.getQuestItemsCount(STOLEN_CARGO) < ITEM_COUNT) if (getQuestItemsCount(player, STOLEN_CARGO) < ITEM_COUNT)
{ {
st.giveItems(STOLEN_CARGO, 1); giveItems(player, STOLEN_CARGO, 1);
} }
else if (st.getQuestItemsCount(HATE_CRYSTAL) < ITEM_COUNT) else if (getQuestItemsCount(player, HATE_CRYSTAL) < ITEM_COUNT)
{ {
st.giveItems(HATE_CRYSTAL, 1); giveItems(player, HATE_CRYSTAL, 1);
} }
else else
{ {
st.giveItems(OLD_TREASURE_MAP, 1); giveItems(player, OLD_TREASURE_MAP, 1);
} }
if ((st.getQuestItemsCount(STOLEN_CARGO) >= ITEM_COUNT) && (st.getQuestItemsCount(HATE_CRYSTAL) >= ITEM_COUNT) && (st.getQuestItemsCount(OLD_TREASURE_MAP) >= ITEM_COUNT)) if ((getQuestItemsCount(player, STOLEN_CARGO) >= ITEM_COUNT) && (getQuestItemsCount(player, HATE_CRYSTAL) >= ITEM_COUNT) && (getQuestItemsCount(player, OLD_TREASURE_MAP) >= ITEM_COUNT))
{ {
st.setCond(4, true); qs.setCond(4, true);
} }
} }
return super.onKill(npc, player, isSummon); return super.onKill(npc, player, isSummon);
@@ -151,8 +163,8 @@ public class Q00135_TempleExecutor extends Quest
public String onTalk(L2Npc npc, L2PcInstance player) public String onTalk(L2Npc npc, L2PcInstance player)
{ {
String htmltext = getNoQuestMsg(player); String htmltext = getNoQuestMsg(player);
final QuestState st = getQuestState(player, true); final QuestState qs = getQuestState(player, true);
if (st == null) if (qs == null)
{ {
return htmltext; return htmltext;
} }
@@ -160,36 +172,47 @@ public class Q00135_TempleExecutor extends Quest
switch (npc.getId()) switch (npc.getId())
{ {
case SHEGFIELD: case SHEGFIELD:
switch (st.getState()) {
switch (qs.getState())
{ {
case State.CREATED: case State.CREATED:
{
htmltext = (player.getLevel() >= MIN_LEVEL) ? "30068-01.htm" : "30068-02.htm"; htmltext = (player.getLevel() >= MIN_LEVEL) ? "30068-01.htm" : "30068-02.htm";
break; break;
}
case State.STARTED: case State.STARTED:
switch (st.getCond()) {
switch (qs.getCond())
{ {
case 1: // 1 case 1: // 1
st.setCond(2, true); {
qs.setCond(2, true);
htmltext = "30068-04.html"; htmltext = "30068-04.html";
break; break;
}
case 2: // 2, 3 case 2: // 2, 3
case 3: // 4 case 3: // 4
{
htmltext = "30068-05.html"; htmltext = "30068-05.html";
break; break;
}
case 4: // 5 case 4: // 5
{
htmltext = "30068-06.html"; htmltext = "30068-06.html";
break; break;
}
case 5: case 5:
if (st.isSet("talk")) {
if (qs.isSet("talk"))
{ {
htmltext = "30068-08.html"; htmltext = "30068-08.html";
} }
else if (st.hasQuestItems(PANOS_CREDENTIALS, SONINS_CREDENTIALS, ALEXS_CREDENTIALS)) else if (hasQuestItems(player, PANOS_CREDENTIALS, SONINS_CREDENTIALS, ALEXS_CREDENTIALS))
{ {
st.takeItems(SONINS_CREDENTIALS, -1); takeItems(player, SONINS_CREDENTIALS, -1);
st.takeItems(PANOS_CREDENTIALS, -1); takeItems(player, PANOS_CREDENTIALS, -1);
st.takeItems(ALEXS_CREDENTIALS, -1); takeItems(player, ALEXS_CREDENTIALS, -1);
st.set("talk", "1"); qs.set("talk", "1");
htmltext = "30068-07.html"; htmltext = "30068-07.html";
} }
else else
@@ -197,45 +220,58 @@ public class Q00135_TempleExecutor extends Quest
htmltext = "30068-06.html"; htmltext = "30068-06.html";
} }
break; break;
}
} }
break; break;
}
case State.COMPLETED: case State.COMPLETED:
{
htmltext = getAlreadyCompletedMsg(player); htmltext = getAlreadyCompletedMsg(player);
break; break;
}
} }
break; break;
}
case ALEX: case ALEX:
if (st.isStarted()) {
if (qs.isStarted())
{ {
switch (st.getCond()) switch (qs.getCond())
{ {
case 1: case 1:
{
htmltext = "30291-01.html"; htmltext = "30291-01.html";
break; break;
}
case 2: case 2:
if (st.isSet("talk")) {
if (qs.isSet("talk"))
{ {
htmltext = "30291-03.html"; htmltext = "30291-03.html";
} }
else else
{ {
st.set("talk", "1"); qs.set("talk", "1");
htmltext = "30291-02.html"; htmltext = "30291-02.html";
} }
break; break;
}
case 3: case 3:
{
htmltext = "30291-08.html"; // 4 htmltext = "30291-08.html"; // 4
break; break;
}
case 4: case 4:
if (st.hasQuestItems(PANOS_CREDENTIALS, SONINS_CREDENTIALS)) {
if (hasQuestItems(player, PANOS_CREDENTIALS, SONINS_CREDENTIALS))
{ {
if (st.getQuestItemsCount(OLD_TREASURE_MAP) < ITEM_COUNT) if (getQuestItemsCount(player, OLD_TREASURE_MAP) < ITEM_COUNT)
{ {
return htmltext; return htmltext;
} }
st.setCond(5, true); qs.setCond(5, true);
st.takeItems(OLD_TREASURE_MAP, -1); takeItems(player, OLD_TREASURE_MAP, -1);
st.giveItems(ALEXS_CREDENTIALS, 1); giveItems(player, ALEXS_CREDENTIALS, 1);
htmltext = "30291-10.html"; htmltext = "30291-10.html";
} }
else else
@@ -243,78 +279,106 @@ public class Q00135_TempleExecutor extends Quest
htmltext = "30291-09.html"; htmltext = "30291-09.html";
} }
break; break;
}
case 5: case 5:
{
htmltext = "30291-11.html"; htmltext = "30291-11.html";
break; break;
}
} }
} }
break; break;
}
case PANO: case PANO:
if (st.isStarted()) {
if (qs.isStarted())
{ {
switch (st.getCond()) switch (qs.getCond())
{ {
case 1: case 1:
{
htmltext = "30078-01.html"; htmltext = "30078-01.html";
break; break;
}
case 2: case 2:
{
htmltext = "30078-02.html"; htmltext = "30078-02.html";
break; break;
}
case 3: case 3:
{
htmltext = "30078-03.html"; htmltext = "30078-03.html";
break; break;
}
case 4: case 4:
if (!st.isSet("Pano")) {
if (!qs.isSet("Pano"))
{ {
if (st.getQuestItemsCount(HATE_CRYSTAL) < ITEM_COUNT) if (getQuestItemsCount(player, HATE_CRYSTAL) < ITEM_COUNT)
{ {
return htmltext; return htmltext;
} }
st.takeItems(HATE_CRYSTAL, -1); takeItems(player, HATE_CRYSTAL, -1);
st.giveItems(PANOS_CREDENTIALS, 1); giveItems(player, PANOS_CREDENTIALS, 1);
st.set("Pano", "1"); qs.set("Pano", "1");
htmltext = "30078-04.html"; htmltext = "30078-04.html";
break;
} }
break;
}
case 5: case 5:
{
htmltext = "30078-05.html"; htmltext = "30078-05.html";
break; break;
}
} }
} }
break; break;
}
case SONIN: case SONIN:
if (st.isStarted()) {
if (qs.isStarted())
{ {
switch (st.getCond()) switch (qs.getCond())
{ {
case 1: case 1:
{
htmltext = "31773-01.html"; htmltext = "31773-01.html";
break; break;
}
case 2: case 2:
{
htmltext = "31773-02.html"; htmltext = "31773-02.html";
break; break;
}
case 3: case 3:
{
htmltext = "31773-03.html"; htmltext = "31773-03.html";
break; break;
}
case 4: case 4:
if (!st.isSet("Sonin")) {
if (!qs.isSet("Sonin"))
{ {
if (st.getQuestItemsCount(STOLEN_CARGO) < ITEM_COUNT) if (getQuestItemsCount(player, STOLEN_CARGO) < ITEM_COUNT)
{ {
return htmltext; return htmltext;
} }
st.takeItems(STOLEN_CARGO, -1); takeItems(player, STOLEN_CARGO, -1);
st.giveItems(SONINS_CREDENTIALS, 1); giveItems(player, SONINS_CREDENTIALS, 1);
st.set("Sonin", "1"); qs.set("Sonin", "1");
htmltext = "31773-04.html"; htmltext = "31773-04.html";
break; break;
} }
}
case 5: case 5:
{
htmltext = "31773-05.html"; htmltext = "31773-05.html";
break; break;
}
} }
} }
break; break;
}
} }
return htmltext; return htmltext;
} }

View File

@@ -33,14 +33,12 @@ public class Q00136_MoreThanMeetsTheEye extends Quest
private static final int HARDIN = 30832; private static final int HARDIN = 30832;
private static final int ERRICKIN = 30701; private static final int ERRICKIN = 30701;
private static final int CLAYTON = 30464; private static final int CLAYTON = 30464;
// Monsters // Monsters
private static final int GLASS_JAGUAR = 20250; private static final int GLASS_JAGUAR = 20250;
private static final int GHOST1 = 20636; private static final int GHOST1 = 20636;
private static final int GHOST2 = 20637; private static final int GHOST2 = 20637;
private static final int GHOST3 = 20638; private static final int GHOST3 = 20638;
private static final int MIRROR = 20639; private static final int MIRROR = 20639;
// Items // Items
private static final int ECTOPLASM = 9787; private static final int ECTOPLASM = 9787;
private static final int STABILIZED_ECTOPLASM = 9786; private static final int STABILIZED_ECTOPLASM = 9786;
@@ -48,7 +46,6 @@ public class Q00136_MoreThanMeetsTheEye extends Quest
private static final int GLASS_JAGUAR_CRYSTAL = 9789; private static final int GLASS_JAGUAR_CRYSTAL = 9789;
private static final int BOOK_OF_SEAL = 9790; private static final int BOOK_OF_SEAL = 9790;
private static final int TRANSFORM_BOOK = 9648; private static final int TRANSFORM_BOOK = 9648;
// Misc // Misc
private static final int MIN_LEVEL = 50; private static final int MIN_LEVEL = 50;
private static final int ECTOPLASM_COUNT = 35; private static final int ECTOPLASM_COUNT = 35;
@@ -71,24 +68,25 @@ public class Q00136_MoreThanMeetsTheEye extends Quest
registerQuestItems(ECTOPLASM, STABILIZED_ECTOPLASM, ORDER, GLASS_JAGUAR_CRYSTAL, BOOK_OF_SEAL); registerQuestItems(ECTOPLASM, STABILIZED_ECTOPLASM, ORDER, GLASS_JAGUAR_CRYSTAL, BOOK_OF_SEAL);
} }
private void giveItem(QuestState st, int itemId, int count, int maxCount, int cond) private void giveItem(QuestState qs, int itemId, int count, int maxCount, int cond)
{ {
st.giveItems(itemId, count); final L2PcInstance player = qs.getPlayer();
if (st.getQuestItemsCount(itemId) >= maxCount) giveItems(player, itemId, count);
if (getQuestItemsCount(player, itemId) >= maxCount)
{ {
st.setCond(cond, true); qs.setCond(cond, true);
} }
else else
{ {
st.playSound(QuestSound.ITEMSOUND_QUEST_ITEMGET); playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET);
} }
} }
@Override @Override
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
{ {
final QuestState st = getQuestState(player, false); final QuestState qs = getQuestState(player, false);
if (st == null) if (qs == null)
{ {
return null; return null;
} }
@@ -101,39 +99,59 @@ public class Q00136_MoreThanMeetsTheEye extends Quest
case "30832-12.html": case "30832-12.html":
case "30832-13.html": case "30832-13.html":
case "30832-18.html": case "30832-18.html":
{
break; break;
}
case "30832-03.htm": case "30832-03.htm":
st.startQuest(); {
qs.startQuest();
break; break;
}
case "30832-07.html": case "30832-07.html":
st.setCond(2, true); {
qs.setCond(2, true);
break; break;
}
case "30832-11.html": case "30832-11.html":
st.set("talked", "2"); {
qs.set("talked", "2");
break; break;
}
case "30832-14.html": case "30832-14.html":
st.unset("talked"); {
st.giveItems(ORDER, 1); qs.unset("talked");
st.setCond(6, true); giveItems(player, ORDER, 1);
qs.setCond(6, true);
break; break;
}
case "30832-17.html": case "30832-17.html":
st.set("talked", "2"); {
qs.set("talked", "2");
break; break;
}
case "30832-19.html": case "30832-19.html":
st.giveItems(TRANSFORM_BOOK, 1); {
st.giveAdena(67550, true); giveItems(player, TRANSFORM_BOOK, 1);
st.exitQuest(false, true); giveAdena(player, 67550, true);
qs.exitQuest(false, true);
break; break;
}
case "30701-03.html": case "30701-03.html":
st.setCond(3, true); {
qs.setCond(3, true);
break; break;
}
case "30464-03.html": case "30464-03.html":
st.takeItems(ORDER, -1); {
st.setCond(7, true); takeItems(player, ORDER, -1);
qs.setCond(7, true);
break; break;
}
default: default:
{
htmltext = null; htmltext = null;
break; break;
}
} }
return htmltext; return htmltext;
} }
@@ -141,27 +159,27 @@ public class Q00136_MoreThanMeetsTheEye extends Quest
@Override @Override
public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon) public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
{ {
final QuestState st = getQuestState(killer, false); final QuestState qs = getQuestState(killer, false);
if (st == null) if (qs == null)
{ {
return super.onKill(npc, killer, isSummon); return super.onKill(npc, killer, isSummon);
} }
final int npcId = npc.getId(); final int npcId = npc.getId();
if ((npcId != GLASS_JAGUAR) && st.isCond(3)) if ((npcId != GLASS_JAGUAR) && qs.isCond(3))
{ {
final int count = ((npcId == MIRROR) && ((st.getQuestItemsCount(ECTOPLASM) + 2) < ECTOPLASM_COUNT)) ? 2 : 1; final int count = ((npcId == MIRROR) && ((getQuestItemsCount(killer, ECTOPLASM) + 2) < ECTOPLASM_COUNT)) ? 2 : 1;
final int index = npcId - GHOST1; final int index = npcId - GHOST1;
if ((getRandom(1000) < CHANCES[index]) && ((st.getQuestItemsCount(ECTOPLASM) + count) < ECTOPLASM_COUNT)) if ((getRandom(1000) < CHANCES[index]) && ((getQuestItemsCount(killer, ECTOPLASM) + count) < ECTOPLASM_COUNT))
{ {
st.giveItems(ECTOPLASM, 1); giveItems(killer, ECTOPLASM, 1);
} }
giveItem(st, ECTOPLASM, count, ECTOPLASM_COUNT, 4); giveItem(qs, ECTOPLASM, count, ECTOPLASM_COUNT, 4);
} }
else if ((npcId == GLASS_JAGUAR) && st.isCond(7)) else if ((npcId == GLASS_JAGUAR) && qs.isCond(7))
{ {
giveItem(st, GLASS_JAGUAR_CRYSTAL, 1, CRYSTAL_COUNT, 8); giveItem(qs, GLASS_JAGUAR_CRYSTAL, 1, CRYSTAL_COUNT, 8);
} }
return super.onKill(npc, killer, isSummon); return super.onKill(npc, killer, isSummon);
} }
@@ -169,9 +187,9 @@ public class Q00136_MoreThanMeetsTheEye extends Quest
@Override @Override
public String onTalk(L2Npc npc, L2PcInstance player) public String onTalk(L2Npc npc, L2PcInstance player)
{ {
final QuestState st = getQuestState(player, true); final QuestState qs = getQuestState(player, true);
String htmltext = getNoQuestMsg(player); String htmltext = getNoQuestMsg(player);
if (st == null) if (qs == null)
{ {
return htmltext; return htmltext;
} }
@@ -179,35 +197,44 @@ public class Q00136_MoreThanMeetsTheEye extends Quest
switch (npc.getId()) switch (npc.getId())
{ {
case HARDIN: case HARDIN:
switch (st.getState()) {
switch (qs.getState())
{ {
case State.CREATED: case State.CREATED:
{
htmltext = (player.getLevel() >= MIN_LEVEL) ? "30832-01.htm" : "30832-02.htm"; htmltext = (player.getLevel() >= MIN_LEVEL) ? "30832-01.htm" : "30832-02.htm";
break; break;
}
case State.STARTED: case State.STARTED:
switch (st.getCond()) {
switch (qs.getCond())
{ {
case 1: case 1:
{
htmltext = "30832-04.html"; htmltext = "30832-04.html";
break; break;
}
case 2: case 2:
case 3: case 3:
case 4: case 4:
{
htmltext = "30832-08.html"; htmltext = "30832-08.html";
break; break;
}
case 5: case 5:
if (st.getInt("talked") == 1) {
if (qs.getInt("talked") == 1)
{ {
htmltext = "30832-10.html"; htmltext = "30832-10.html";
} }
else if (st.getInt("talked") == 2) else if (qs.getInt("talked") == 2)
{ {
htmltext = "30832-12.html"; htmltext = "30832-12.html";
} }
else if (st.hasQuestItems(STABILIZED_ECTOPLASM)) else if (hasQuestItems(player, STABILIZED_ECTOPLASM))
{ {
st.takeItems(STABILIZED_ECTOPLASM, -1); takeItems(player, STABILIZED_ECTOPLASM, -1);
st.set("talked", "1"); qs.set("talked", "1");
htmltext = "30832-09.html"; htmltext = "30832-09.html";
} }
else else
@@ -215,98 +242,131 @@ public class Q00136_MoreThanMeetsTheEye extends Quest
htmltext = "30832-08.html"; htmltext = "30832-08.html";
} }
break; break;
}
case 6: case 6:
case 7: case 7:
case 8: case 8:
{
htmltext = "30832-15.html"; htmltext = "30832-15.html";
break; break;
}
case 9: case 9:
if (st.getInt("talked") == 1) {
if (qs.getInt("talked") == 1)
{ {
st.set("talked", "2"); qs.set("talked", "2");
htmltext = "30832-17.html"; htmltext = "30832-17.html";
} }
else if (st.getInt("talked") == 2) else if (qs.getInt("talked") == 2)
{ {
htmltext = "30832-18.html"; htmltext = "30832-18.html";
} }
else else
{ {
st.takeItems(BOOK_OF_SEAL, -1); takeItems(player, BOOK_OF_SEAL, -1);
st.set("talked", "1"); qs.set("talked", "1");
htmltext = "30832-16.html"; htmltext = "30832-16.html";
} }
break; break;
}
} }
break; break;
}
case State.COMPLETED: case State.COMPLETED:
{
htmltext = getAlreadyCompletedMsg(player); htmltext = getAlreadyCompletedMsg(player);
break; break;
}
} }
break; break;
}
case ERRICKIN: case ERRICKIN:
if (st.isStarted()) {
if (qs.isStarted())
{ {
switch (st.getCond()) switch (qs.getCond())
{ {
case 1: case 1:
{
htmltext = "30701-01.html"; htmltext = "30701-01.html";
break; break;
}
case 2: case 2:
{
htmltext = "30701-02.html"; htmltext = "30701-02.html";
break; break;
}
case 3: case 3:
{
htmltext = "30701-04.html"; htmltext = "30701-04.html";
break; break;
}
case 4: case 4:
if (st.getQuestItemsCount(ECTOPLASM) < ECTOPLASM_COUNT) {
if (getQuestItemsCount(player, ECTOPLASM) < ECTOPLASM_COUNT)
{ {
st.giveItems(STABILIZED_ECTOPLASM, 1); giveItems(player, STABILIZED_ECTOPLASM, 1);
st.setCond(5, true); qs.setCond(5, true);
htmltext = "30701-06.html"; htmltext = "30701-06.html";
} }
else else
{ {
st.takeItems(ECTOPLASM, -1); takeItems(player, ECTOPLASM, -1);
htmltext = "30701-05.html"; htmltext = "30701-05.html";
} }
break; break;
}
default: default:
{
htmltext = "30701-07.html"; htmltext = "30701-07.html";
break; break;
}
} }
} }
break; break;
}
case CLAYTON: case CLAYTON:
if (st.isStarted()) {
if (qs.isStarted())
{ {
switch (st.getCond()) switch (qs.getCond())
{ {
case 1: case 1:
case 2: case 2:
case 3: case 3:
case 4: case 4:
case 5: case 5:
{
htmltext = "30464-01.html"; htmltext = "30464-01.html";
break; break;
}
case 6: case 6:
{
htmltext = "30464-02.html"; htmltext = "30464-02.html";
break; break;
}
case 7: case 7:
{
htmltext = "30464-04.html"; htmltext = "30464-04.html";
break; break;
}
case 8: case 8:
st.giveItems(BOOK_OF_SEAL, 1); {
st.takeItems(GLASS_JAGUAR_CRYSTAL, -1); giveItems(player, BOOK_OF_SEAL, 1);
st.setCond(9, true); takeItems(player, GLASS_JAGUAR_CRYSTAL, -1);
qs.setCond(9, true);
htmltext = "30464-05.html"; htmltext = "30464-05.html";
break; break;
}
default: default:
{
htmltext = "30464-06.html"; htmltext = "30464-06.html";
break; break;
}
} }
} }
break; break;
}
} }
return htmltext; return htmltext;
} }

View File

@@ -56,39 +56,49 @@ public class Q00137_TempleChampionPart1 extends Quest
@Override @Override
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
{ {
final QuestState st = getQuestState(player, false); final QuestState qs = getQuestState(player, false);
if (st == null) if (qs == null)
{ {
return getNoQuestMsg(player); return getNoQuestMsg(player);
} }
switch (event) switch (event)
{ {
case "30070-02.htm": case "30070-02.htm":
st.startQuest(); {
qs.startQuest();
break; break;
}
case "30070-05.html": case "30070-05.html":
st.set("talk", "1"); {
qs.set("talk", "1");
break; break;
}
case "30070-06.html": case "30070-06.html":
st.set("talk", "2"); {
qs.set("talk", "2");
break; break;
}
case "30070-08.html": case "30070-08.html":
st.unset("talk"); {
st.setCond(2, true); qs.unset("talk");
qs.setCond(2, true);
break; break;
}
case "30070-16.html": case "30070-16.html":
if (st.isCond(3) && (st.hasQuestItems(EXECUTOR) && st.hasQuestItems(MISSIONARY))) {
if (qs.isCond(3) && (hasQuestItems(player, EXECUTOR) && hasQuestItems(player, MISSIONARY)))
{ {
st.takeItems(EXECUTOR, -1); takeItems(player, EXECUTOR, -1);
st.takeItems(MISSIONARY, -1); takeItems(player, MISSIONARY, -1);
st.giveAdena(69146, true); giveAdena(player, 69146, true);
if (player.getLevel() < 41) if (player.getLevel() < 41)
{ {
st.addExpAndSp(219975, 13047); addExpAndSp(player, 219975, 13047);
} }
st.exitQuest(false, true); qs.exitQuest(false, true);
} }
break; break;
}
} }
return event; return event;
} }
@@ -96,17 +106,17 @@ public class Q00137_TempleChampionPart1 extends Quest
@Override @Override
public String onKill(L2Npc npc, L2PcInstance player, boolean isSummon) public String onKill(L2Npc npc, L2PcInstance player, boolean isSummon)
{ {
final QuestState st = getQuestState(player, false); final QuestState qs = getQuestState(player, false);
if ((st != null) && st.isStarted() && st.isCond(2) && (st.getQuestItemsCount(FRAGMENT) < 30)) if ((qs != null) && qs.isStarted() && qs.isCond(2) && (getQuestItemsCount(player, FRAGMENT) < 30))
{ {
st.giveItems(FRAGMENT, 1); giveItems(player, FRAGMENT, 1);
if (st.getQuestItemsCount(FRAGMENT) >= 30) if (getQuestItemsCount(player, FRAGMENT) >= 30)
{ {
st.setCond(3, true); qs.setCond(3, true);
} }
else else
{ {
st.playSound(QuestSound.ITEMSOUND_QUEST_ITEMGET); playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET);
} }
} }
return super.onKill(npc, player, isSummon); return super.onKill(npc, player, isSummon);
@@ -116,49 +126,63 @@ public class Q00137_TempleChampionPart1 extends Quest
public String onTalk(L2Npc npc, L2PcInstance player) public String onTalk(L2Npc npc, L2PcInstance player)
{ {
String htmltext = getNoQuestMsg(player); String htmltext = getNoQuestMsg(player);
final QuestState st = getQuestState(player, true); final QuestState qs = getQuestState(player, true);
if (st == null) if (qs == null)
{ {
return htmltext; return htmltext;
} }
if (st.isCompleted()) if (qs.isCompleted())
{ {
return getAlreadyCompletedMsg(player); return getAlreadyCompletedMsg(player);
} }
switch (st.getCond()) switch (qs.getCond())
{ {
case 1: case 1:
switch (st.getInt("talk")) {
switch (qs.getInt("talk"))
{ {
case 1: case 1:
{
htmltext = "30070-05.html"; htmltext = "30070-05.html";
break; break;
}
case 2: case 2:
{
htmltext = "30070-06.html"; htmltext = "30070-06.html";
break; break;
}
default: default:
{
htmltext = "30070-03.html"; htmltext = "30070-03.html";
break; break;
}
} }
break; break;
}
case 2: case 2:
{
htmltext = "30070-08.html"; htmltext = "30070-08.html";
break; break;
}
case 3: case 3:
if (st.getInt("talk") == 1) {
if (qs.getInt("talk") == 1)
{ {
htmltext = "30070-10.html"; htmltext = "30070-10.html";
} }
else if (st.getQuestItemsCount(FRAGMENT) >= 30) else if (getQuestItemsCount(player, FRAGMENT) >= 30)
{ {
st.set("talk", "1"); qs.set("talk", "1");
htmltext = "30070-09.html"; htmltext = "30070-09.html";
st.takeItems(FRAGMENT, -1); takeItems(player, FRAGMENT, -1);
} }
break; break;
}
default: default:
htmltext = ((player.getLevel() >= 35) && st.hasQuestItems(EXECUTOR, MISSIONARY)) ? "30070-01.htm" : "30070-00.html"; {
htmltext = ((player.getLevel() >= 35) && hasQuestItems(player, EXECUTOR, MISSIONARY)) ? "30070-01.htm" : "30070-00.html";
break; break;
}
} }
return htmltext; return htmltext;
} }

View File

@@ -60,56 +60,74 @@ public class Q00138_TempleChampionPart2 extends Quest
@Override @Override
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
{ {
final QuestState st = getQuestState(player, false); final QuestState qs = getQuestState(player, false);
if (st == null) if (qs == null)
{ {
return getNoQuestMsg(player); return getNoQuestMsg(player);
} }
switch (event) switch (event)
{ {
case "30070-02.htm": case "30070-02.htm":
st.startQuest(); {
st.giveItems(TEMPLE_MANIFESTO, 1); qs.startQuest();
giveItems(player, TEMPLE_MANIFESTO, 1);
break; break;
}
case "30070-05.html": case "30070-05.html":
st.giveAdena(84593, true); {
giveAdena(player, 84593, true);
if ((player.getLevel() < 42)) if ((player.getLevel() < 42))
{ {
st.addExpAndSp(187062, 11307); addExpAndSp(player, 187062, 11307);
} }
st.exitQuest(false, true); qs.exitQuest(false, true);
break; break;
}
case "30070-03.html": case "30070-03.html":
st.setCond(2, true); {
qs.setCond(2, true);
break; break;
}
case "30118-06.html": case "30118-06.html":
st.setCond(3, true); {
qs.setCond(3, true);
break; break;
}
case "30118-09.html": case "30118-09.html":
st.setCond(6, true); {
st.giveItems(PUPINAS_RECOMMENDATION, 1); qs.setCond(6, true);
giveItems(player, PUPINAS_RECOMMENDATION, 1);
break; break;
}
case "30474-02.html": case "30474-02.html":
st.setCond(4, true); {
qs.setCond(4, true);
break; break;
}
case "30666-02.html": case "30666-02.html":
if (st.hasQuestItems(PUPINAS_RECOMMENDATION)) {
if (hasQuestItems(player, PUPINAS_RECOMMENDATION))
{ {
st.set("talk", "1"); qs.set("talk", "1");
st.takeItems(PUPINAS_RECOMMENDATION, -1); takeItems(player, PUPINAS_RECOMMENDATION, -1);
} }
break; break;
}
case "30666-03.html": case "30666-03.html":
if (st.hasQuestItems(TEMPLE_MANIFESTO)) {
if (hasQuestItems(player, TEMPLE_MANIFESTO))
{ {
st.set("talk", "2"); qs.set("talk", "2");
st.takeItems(TEMPLE_MANIFESTO, -1); takeItems(player, TEMPLE_MANIFESTO, -1);
} }
break; break;
}
case "30666-08.html": case "30666-08.html":
st.setCond(7, true); {
st.unset("talk"); qs.setCond(7, true);
qs.unset("talk");
break; break;
}
} }
return event; return event;
} }
@@ -117,17 +135,17 @@ public class Q00138_TempleChampionPart2 extends Quest
@Override @Override
public String onKill(L2Npc npc, L2PcInstance player, boolean isSummon) public String onKill(L2Npc npc, L2PcInstance player, boolean isSummon)
{ {
final QuestState st = getQuestState(player, false); final QuestState qs = getQuestState(player, false);
if ((st != null) && st.isStarted() && st.isCond(4) && (st.getQuestItemsCount(RELICS_OF_THE_DARK_ELF_TRAINEE) < 10)) if ((qs != null) && qs.isStarted() && qs.isCond(4) && (getQuestItemsCount(player, RELICS_OF_THE_DARK_ELF_TRAINEE) < 10))
{ {
st.giveItems(RELICS_OF_THE_DARK_ELF_TRAINEE, 1); giveItems(player, RELICS_OF_THE_DARK_ELF_TRAINEE, 1);
if (st.getQuestItemsCount(RELICS_OF_THE_DARK_ELF_TRAINEE) >= 10) if (getQuestItemsCount(player, RELICS_OF_THE_DARK_ELF_TRAINEE) >= 10)
{ {
st.playSound(QuestSound.ITEMSOUND_QUEST_MIDDLE); playSound(player, QuestSound.ITEMSOUND_QUEST_MIDDLE);
} }
else else
{ {
st.playSound(QuestSound.ITEMSOUND_QUEST_ITEMGET); playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET);
} }
} }
return super.onKill(npc, player, isSummon); return super.onKill(npc, player, isSummon);
@@ -137,73 +155,97 @@ public class Q00138_TempleChampionPart2 extends Quest
public String onTalk(L2Npc npc, L2PcInstance player) public String onTalk(L2Npc npc, L2PcInstance player)
{ {
String htmltext = getNoQuestMsg(player); String htmltext = getNoQuestMsg(player);
final QuestState st = getQuestState(player, true); final QuestState qs = getQuestState(player, true);
if (st == null) if (qs == null)
{ {
return htmltext; return htmltext;
} }
switch (npc.getId()) switch (npc.getId())
{ {
case SYLVAIN: case SYLVAIN:
switch (st.getCond()) {
switch (qs.getCond())
{ {
case 1: case 1:
{
htmltext = "30070-02.htm"; htmltext = "30070-02.htm";
break; break;
}
case 2: case 2:
case 3: case 3:
case 4: case 4:
case 5: case 5:
case 6: case 6:
{
htmltext = "30070-03.html"; htmltext = "30070-03.html";
break; break;
}
case 7: case 7:
{
htmltext = "30070-04.html"; htmltext = "30070-04.html";
break; break;
}
default: default:
if (st.isCompleted()) {
if (qs.isCompleted())
{ {
return getAlreadyCompletedMsg(player); return getAlreadyCompletedMsg(player);
} }
final QuestState qs = player.getQuestState(Q00137_TempleChampionPart1.class.getSimpleName()); final QuestState qst = player.getQuestState(Q00137_TempleChampionPart1.class.getSimpleName());
htmltext = (player.getLevel() >= 36) ? ((qs != null) && qs.isCompleted()) ? "30070-01.htm" : "30070-00a.htm" : "30070-00.htm"; htmltext = (player.getLevel() >= 36) ? ((qst != null) && qst.isCompleted()) ? "30070-01.htm" : "30070-00a.htm" : "30070-00.htm";
break; break;
}
} }
break; break;
}
case PUPINA: case PUPINA:
switch (st.getCond()) {
switch (qs.getCond())
{ {
case 2: case 2:
{
htmltext = "30118-01.html"; htmltext = "30118-01.html";
break; break;
}
case 3: case 3:
case 4: case 4:
{
htmltext = "30118-07.html"; htmltext = "30118-07.html";
break; break;
}
case 5: case 5:
{
htmltext = "30118-08.html"; htmltext = "30118-08.html";
if (st.hasQuestItems(ANGUS_RECOMMENDATION)) if (hasQuestItems(player, ANGUS_RECOMMENDATION))
{ {
st.takeItems(ANGUS_RECOMMENDATION, -1); takeItems(player, ANGUS_RECOMMENDATION, -1);
} }
break; break;
}
case 6: case 6:
{
htmltext = "30118-10.html"; htmltext = "30118-10.html";
break; break;
}
} }
break; break;
}
case ANGUS: case ANGUS:
switch (st.getCond()) {
switch (qs.getCond())
{ {
case 3: case 3:
{
htmltext = "30474-01.html"; htmltext = "30474-01.html";
break; break;
}
case 4: case 4:
if (st.getQuestItemsCount(RELICS_OF_THE_DARK_ELF_TRAINEE) >= 10) {
if (getQuestItemsCount(player, RELICS_OF_THE_DARK_ELF_TRAINEE) >= 10)
{ {
st.takeItems(RELICS_OF_THE_DARK_ELF_TRAINEE, -1); takeItems(player, RELICS_OF_THE_DARK_ELF_TRAINEE, -1);
st.giveItems(ANGUS_RECOMMENDATION, 1); giveItems(player, ANGUS_RECOMMENDATION, 1);
st.setCond(5, true); qs.setCond(5, true);
htmltext = "30474-04.html"; htmltext = "30474-04.html";
} }
else else
@@ -211,33 +253,49 @@ public class Q00138_TempleChampionPart2 extends Quest
htmltext = "30474-03.html"; htmltext = "30474-03.html";
} }
break; break;
}
case 5: case 5:
{
htmltext = "30474-05.html"; htmltext = "30474-05.html";
break; break;
}
} }
break; break;
}
case SLA: case SLA:
switch (st.getCond()) {
switch (qs.getCond())
{ {
case 6: case 6:
switch (st.getInt("talk")) {
switch (qs.getInt("talk"))
{ {
case 1: case 1:
{
htmltext = "30666-02.html"; htmltext = "30666-02.html";
break; break;
}
case 2: case 2:
{
htmltext = "30666-03.html"; htmltext = "30666-03.html";
break; break;
}
default: default:
{
htmltext = "30666-01.html"; htmltext = "30666-01.html";
break; break;
}
} }
break; break;
}
case 7: case 7:
{
htmltext = "30666-09.html"; htmltext = "30666-09.html";
break; break;
}
} }
break; break;
}
} }
return htmltext; return htmltext;
} }

View File

@@ -61,8 +61,8 @@ public class Q00139_ShadowFoxPart1 extends Quest
@Override @Override
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
{ {
final QuestState st = getQuestState(player, false); final QuestState qs = getQuestState(player, false);
if (st == null) if (qs == null)
{ {
return null; return null;
} }
@@ -71,40 +71,52 @@ public class Q00139_ShadowFoxPart1 extends Quest
switch (event) switch (event)
{ {
case "30896-02.htm": case "30896-02.htm":
{
if (player.getLevel() < MIN_LEVEL) if (player.getLevel() < MIN_LEVEL)
{ {
htmltext = "30896-03.htm"; htmltext = "30896-03.htm";
} }
break; break;
}
case "30896-04.htm": case "30896-04.htm":
st.startQuest(); {
qs.startQuest();
break; break;
}
case "30896-11.html": case "30896-11.html":
st.set("talk", "1"); {
qs.set("talk", "1");
break; break;
}
case "30896-13.html": case "30896-13.html":
st.setCond(2, true); {
st.unset("talk"); qs.setCond(2, true);
qs.unset("talk");
break; break;
}
case "30896-17.html": case "30896-17.html":
{
if (getRandom(20) < 3) if (getRandom(20) < 3)
{ {
st.takeItems(FRAGMENT, 10); takeItems(player, FRAGMENT, 10);
st.takeItems(CHEST, 1); takeItems(player, CHEST, 1);
return "30896-16.html"; return "30896-16.html";
} }
st.takeItems(FRAGMENT, -1); takeItems(player, FRAGMENT, -1);
st.takeItems(CHEST, -1); takeItems(player, CHEST, -1);
st.set("talk", "1"); qs.set("talk", "1");
break; break;
}
case "30896-19.html": case "30896-19.html":
st.giveAdena(14050, true); {
giveAdena(player, 14050, true);
if (player.getLevel() <= MAX_REWARD_LEVEL) if (player.getLevel() <= MAX_REWARD_LEVEL)
{ {
st.addExpAndSp(30000, 2000); addExpAndSp(player, 30000, 2000);
} }
st.exitQuest(false, true); qs.exitQuest(false, true);
break; break;
}
case "30896-06.html": case "30896-06.html":
case "30896-07.html": case "30896-07.html":
case "30896-08.html": case "30896-08.html":
@@ -112,10 +124,14 @@ public class Q00139_ShadowFoxPart1 extends Quest
case "30896-10.html": case "30896-10.html":
case "30896-12.html": case "30896-12.html":
case "30896-18.html": case "30896-18.html":
{
break; break;
}
default: default:
{
htmltext = null; htmltext = null;
break; break;
}
} }
return htmltext; return htmltext;
} }
@@ -132,8 +148,8 @@ public class Q00139_ShadowFoxPart1 extends Quest
if (!st.isSet("talk") && (getRandom(100) < DROP_CHANCE)) if (!st.isSet("talk") && (getRandom(100) < DROP_CHANCE))
{ {
final int itemId = (getRandom(11) == 0) ? CHEST : FRAGMENT; final int itemId = (getRandom(11) == 0) ? CHEST : FRAGMENT;
st.giveItems(itemId, 1); giveItems(player, itemId, 1);
st.playSound(QuestSound.ITEMSOUND_QUEST_ITEMGET); playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET);
} }
return super.onKill(npc, player, isSummon); return super.onKill(npc, player, isSummon);
} }
@@ -142,32 +158,42 @@ public class Q00139_ShadowFoxPart1 extends Quest
public String onTalk(L2Npc npc, L2PcInstance player) public String onTalk(L2Npc npc, L2PcInstance player)
{ {
String htmltext = getNoQuestMsg(player); String htmltext = getNoQuestMsg(player);
final QuestState st = getQuestState(player, true); final QuestState qs = getQuestState(player, true);
if (st == null) if (qs == null)
{ {
return htmltext; return htmltext;
} }
switch (st.getState()) switch (qs.getState())
{ {
case State.CREATED: case State.CREATED:
final QuestState qs = player.getQuestState(Q00138_TempleChampionPart2.class.getSimpleName()); {
htmltext = ((qs != null) && qs.isCompleted()) ? "30896-01.htm" : "30896-00.html"; final QuestState qst = player.getQuestState(Q00138_TempleChampionPart2.class.getSimpleName());
htmltext = ((qst != null) && qst.isCompleted()) ? "30896-01.htm" : "30896-00.html";
break; break;
}
case State.STARTED: case State.STARTED:
switch (st.getCond()) {
switch (qs.getCond())
{ {
case 1: case 1:
htmltext = (st.isSet("talk")) ? "30896-11.html" : "30896-05.html"; {
htmltext = (qs.isSet("talk")) ? "30896-11.html" : "30896-05.html";
break; break;
}
case 2: case 2:
htmltext = (st.isSet("talk")) ? "30896-18.html" : ((st.getQuestItemsCount(FRAGMENT) >= 10) && (st.getQuestItemsCount(CHEST) >= 1)) ? "30896-15.html" : "30896-14.html"; {
htmltext = (qs.isSet("talk")) ? "30896-18.html" : ((getQuestItemsCount(player, FRAGMENT) >= 10) && (getQuestItemsCount(player, CHEST) >= 1)) ? "30896-15.html" : "30896-14.html";
break; break;
}
} }
break; break;
}
case State.COMPLETED: case State.COMPLETED:
{
htmltext = getAlreadyCompletedMsg(player); htmltext = getAlreadyCompletedMsg(player);
break; break;
}
} }
return htmltext; return htmltext;
} }

View File

@@ -70,8 +70,8 @@ public class Q00140_ShadowFoxPart2 extends Quest
@Override @Override
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
{ {
final QuestState st = getQuestState(player, false); final QuestState qs = getQuestState(player, false);
if (st == null) if (qs == null)
{ {
return null; return null;
} }
@@ -86,48 +86,64 @@ public class Q00140_ShadowFoxPart2 extends Quest
case "30912-05.html": case "30912-05.html":
case "30912-08.html": case "30912-08.html":
case "30895-10.html": case "30895-10.html":
{
break; break;
}
case "30895-03.htm": case "30895-03.htm":
st.startQuest(); {
qs.startQuest();
break; break;
}
case "30895-07.html": case "30895-07.html":
st.setCond(2, true); {
qs.setCond(2, true);
break; break;
}
case "30912-06.html": case "30912-06.html":
st.set("talk", "1"); {
qs.set("talk", "1");
break; break;
}
case "30912-09.html": case "30912-09.html":
st.unset("talk"); {
st.setCond(3, true); qs.unset("talk");
qs.setCond(3, true);
break; break;
}
case "30912-14.html": case "30912-14.html":
{
if (getRandom(10) < CHANCE) if (getRandom(10) < CHANCE)
{ {
if (st.getQuestItemsCount(DARK_OXYDE) < OXYDE_COUNT) if (getQuestItemsCount(player, DARK_OXYDE) < OXYDE_COUNT)
{ {
st.giveItems(DARK_OXYDE, 1); giveItems(player, DARK_OXYDE, 1);
st.takeItems(DARK_CRYSTAL, 5); takeItems(player, DARK_CRYSTAL, 5);
return "30912-12.html"; return "30912-12.html";
} }
st.giveItems(CRYPTOGRAM_OF_THE_GODDESS_SWORD, 1); giveItems(player, CRYPTOGRAM_OF_THE_GODDESS_SWORD, 1);
st.takeItems(DARK_CRYSTAL, -1); takeItems(player, DARK_CRYSTAL, -1);
st.takeItems(DARK_OXYDE, -1); takeItems(player, DARK_OXYDE, -1);
st.setCond(4, true); qs.setCond(4, true);
return "30912-13.html"; return "30912-13.html";
} }
st.takeItems(DARK_CRYSTAL, 5); takeItems(player, DARK_CRYSTAL, 5);
break; break;
}
case "30895-11.html": case "30895-11.html":
st.giveAdena(18775, true); {
giveAdena(player, 18775, true);
if (player.getLevel() <= MAX_REWARD_LEVEL) if (player.getLevel() <= MAX_REWARD_LEVEL)
{ {
st.addExpAndSp(30000, 2000); addExpAndSp(player, 30000, 2000);
} }
st.exitQuest(false, true); qs.exitQuest(false, true);
break; break;
}
default: default:
{
htmltext = null; htmltext = null;
break; break;
}
} }
return htmltext; return htmltext;
} }
@@ -140,11 +156,10 @@ public class Q00140_ShadowFoxPart2 extends Quest
{ {
return super.onKill(npc, player, isSummon); return super.onKill(npc, player, isSummon);
} }
final QuestState st = getQuestState(member, false);
if (getRandom(100) < MOBS.get(npc.getId())) if (getRandom(100) < MOBS.get(npc.getId()))
{ {
st.giveItems(DARK_CRYSTAL, 1); giveItems(member, DARK_CRYSTAL, 1);
st.playSound(QuestSound.ITEMSOUND_QUEST_ITEMGET); playSound(member, QuestSound.ITEMSOUND_QUEST_ITEMGET);
} }
return super.onKill(npc, player, isSummon); return super.onKill(npc, player, isSummon);
} }
@@ -153,8 +168,8 @@ public class Q00140_ShadowFoxPart2 extends Quest
public String onTalk(L2Npc npc, L2PcInstance player) public String onTalk(L2Npc npc, L2PcInstance player)
{ {
String htmltext = getNoQuestMsg(player); String htmltext = getNoQuestMsg(player);
final QuestState st = getQuestState(player, true); final QuestState qs = getQuestState(player, true);
if (st == null) if (qs == null)
{ {
return htmltext; return htmltext;
} }
@@ -162,62 +177,85 @@ public class Q00140_ShadowFoxPart2 extends Quest
switch (npc.getId()) switch (npc.getId())
{ {
case KLUCK: case KLUCK:
switch (st.getState()) {
switch (qs.getState())
{ {
case State.CREATED: case State.CREATED:
final QuestState qs = player.getQuestState(Q00139_ShadowFoxPart1.class.getSimpleName()); {
htmltext = (player.getLevel() >= MIN_LEVEL) ? ((qs != null) && qs.isCompleted()) ? "30895-01.htm" : "30895-00.htm" : "30895-02.htm"; final QuestState qst = player.getQuestState(Q00139_ShadowFoxPart1.class.getSimpleName());
htmltext = (player.getLevel() >= MIN_LEVEL) ? ((qst != null) && qst.isCompleted()) ? "30895-01.htm" : "30895-00.htm" : "30895-02.htm";
break; break;
}
case State.STARTED: case State.STARTED:
switch (st.getCond()) {
switch (qs.getCond())
{ {
case 1: case 1:
{
htmltext = "30895-04.html"; htmltext = "30895-04.html";
break; break;
}
case 2: case 2:
case 3: case 3:
{
htmltext = "30895-08.html"; htmltext = "30895-08.html";
break; break;
}
case 4: case 4:
if (st.isSet("talk")) {
if (qs.isSet("talk"))
{ {
htmltext = "30895-10.html"; htmltext = "30895-10.html";
} }
else else
{ {
st.takeItems(CRYPTOGRAM_OF_THE_GODDESS_SWORD, -1); takeItems(player, CRYPTOGRAM_OF_THE_GODDESS_SWORD, -1);
st.set("talk", "1"); qs.set("talk", "1");
htmltext = "30895-09.html"; htmltext = "30895-09.html";
} }
break; break;
}
} }
break; break;
}
case State.COMPLETED: case State.COMPLETED:
{
htmltext = getAlreadyCompletedMsg(player); htmltext = getAlreadyCompletedMsg(player);
break; break;
}
break;
case XENOVIA:
if (st.isStarted())
{
switch (st.getCond())
{
case 1:
htmltext = "30912-01.html";
break;
case 2:
htmltext = (st.isSet("talk")) ? "30912-07.html" : "30912-02.html";
break;
case 3:
htmltext = (st.getQuestItemsCount(DARK_CRYSTAL) >= CRYSTAL_COUNT) ? "30912-11.html" : "30912-10.html";
break;
case 4:
htmltext = "30912-15.html";
break;
} }
} }
break; break;
}
case XENOVIA:
{
if (qs.isStarted())
{
switch (qs.getCond())
{
case 1:
{
htmltext = "30912-01.html";
break;
}
case 2:
{
htmltext = (qs.isSet("talk")) ? "30912-07.html" : "30912-02.html";
break;
}
case 3:
{
htmltext = (getQuestItemsCount(player, DARK_CRYSTAL) >= CRYSTAL_COUNT) ? "30912-11.html" : "30912-10.html";
break;
}
case 4:
{
htmltext = "30912-15.html";
break;
}
}
}
break;
}
} }
return htmltext; return htmltext;
} }

View File

@@ -66,8 +66,8 @@ public class Q00141_ShadowFoxPart3 extends Quest
@Override @Override
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
{ {
final QuestState st = getQuestState(player, false); final QuestState qs = getQuestState(player, false);
if (st == null) if (qs == null)
{ {
return null; return null;
} }
@@ -85,27 +85,38 @@ public class Q00141_ShadowFoxPart3 extends Quest
case "30894-17.html": case "30894-17.html":
case "30894-19.html": case "30894-19.html":
case "30894-20.html": case "30894-20.html":
{
break; break;
}
case "30894-03.htm": case "30894-03.htm":
st.startQuest(); {
qs.startQuest();
break; break;
}
case "30894-06.html": case "30894-06.html":
st.setCond(2, true); {
qs.setCond(2, true);
break; break;
}
case "30894-15.html": case "30894-15.html":
st.set("talk", "2"); {
qs.set("talk", "2");
break; break;
}
case "30894-18.html": case "30894-18.html":
st.setCond(4, true); {
st.unset("talk"); qs.setCond(4, true);
qs.unset("talk");
break; break;
}
case "30894-21.html": case "30894-21.html":
st.giveAdena(88888, true); {
giveAdena(player, 88888, true);
if (player.getLevel() <= MAX_REWARD_LEVEL) if (player.getLevel() <= MAX_REWARD_LEVEL)
{ {
st.addExpAndSp(278005, 17058); addExpAndSp(player, 278005, 17058);
} }
st.exitQuest(false, true); qs.exitQuest(false, true);
final Quest q = QuestManager.getInstance().getQuest(Q00998_FallenAngelSelect.class.getSimpleName()); final Quest q = QuestManager.getInstance().getQuest(Q00998_FallenAngelSelect.class.getSimpleName());
if (q != null) if (q != null)
@@ -113,9 +124,12 @@ public class Q00141_ShadowFoxPart3 extends Quest
q.newQuestState(player).setState(State.STARTED); q.newQuestState(player).setState(State.STARTED);
} }
break; break;
}
default: default:
{
htmltext = null; htmltext = null;
break; break;
}
} }
return htmltext; return htmltext;
} }
@@ -128,17 +142,17 @@ public class Q00141_ShadowFoxPart3 extends Quest
{ {
return super.onKill(npc, player, isSummon); return super.onKill(npc, player, isSummon);
} }
final QuestState st = getQuestState(member, false); final QuestState qs = getQuestState(member, false);
if ((getRandom(100) < MOBS.get(npc.getId()))) if ((getRandom(100) < MOBS.get(npc.getId())))
{ {
st.giveItems(PREDECESSORS_REPORT, 1); giveItems(member, PREDECESSORS_REPORT, 1);
if (st.getQuestItemsCount(PREDECESSORS_REPORT) >= REPORT_COUNT) if (getQuestItemsCount(member, PREDECESSORS_REPORT) >= REPORT_COUNT)
{ {
st.setCond(3, true); qs.setCond(3, true);
} }
else else
{ {
st.playSound(QuestSound.ITEMSOUND_QUEST_ITEMGET); playSound(member, QuestSound.ITEMSOUND_QUEST_ITEMGET);
} }
} }
return super.onKill(npc, player, isSummon); return super.onKill(npc, player, isSummon);
@@ -148,51 +162,65 @@ public class Q00141_ShadowFoxPart3 extends Quest
public String onTalk(L2Npc npc, L2PcInstance player) public String onTalk(L2Npc npc, L2PcInstance player)
{ {
String htmltext = getNoQuestMsg(player); String htmltext = getNoQuestMsg(player);
final QuestState st = getQuestState(player, true); final QuestState qs = getQuestState(player, true);
if (st == null) if (qs == null)
{ {
return htmltext; return htmltext;
} }
switch (st.getState()) switch (qs.getState())
{ {
case State.CREATED: case State.CREATED:
final QuestState qs = player.getQuestState(Q00140_ShadowFoxPart2.class.getSimpleName()); {
htmltext = (player.getLevel() >= MIN_LEVEL) ? ((qs != null) && qs.isCompleted()) ? "30894-01.htm" : "30894-00.html" : "30894-02.htm"; final QuestState qst = player.getQuestState(Q00140_ShadowFoxPart2.class.getSimpleName());
htmltext = (player.getLevel() >= MIN_LEVEL) ? ((qst != null) && qst.isCompleted()) ? "30894-01.htm" : "30894-00.html" : "30894-02.htm";
break; break;
}
case State.STARTED: case State.STARTED:
switch (st.getCond()) {
switch (qs.getCond())
{ {
case 1: case 1:
{
htmltext = "30894-04.html"; htmltext = "30894-04.html";
break; break;
}
case 2: case 2:
{
htmltext = "30894-07.html"; htmltext = "30894-07.html";
break; break;
}
case 3: case 3:
if (st.getInt("talk") == 1) {
if (qs.getInt("talk") == 1)
{ {
htmltext = "30894-09.html"; htmltext = "30894-09.html";
} }
else if (st.getInt("talk") == 2) else if (qs.getInt("talk") == 2)
{ {
htmltext = "30894-16.html"; htmltext = "30894-16.html";
} }
else else
{ {
htmltext = "30894-08.html"; htmltext = "30894-08.html";
st.takeItems(PREDECESSORS_REPORT, -1); takeItems(player, PREDECESSORS_REPORT, -1);
st.set("talk", "1"); qs.set("talk", "1");
} }
break; break;
}
case 4: case 4:
{
htmltext = "30894-19.html"; htmltext = "30894-19.html";
break; break;
}
} }
break; break;
}
case State.COMPLETED: case State.COMPLETED:
{
htmltext = getAlreadyCompletedMsg(player); htmltext = getAlreadyCompletedMsg(player);
break; break;
}
} }
return htmltext; return htmltext;
} }

View File

@@ -75,8 +75,8 @@ public class Q00142_FallenAngelRequestOfDawn extends Quest
@Override @Override
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
{ {
final QuestState st = getQuestState(player, false); final QuestState qs = getQuestState(player, false);
if (st == null) if (qs == null)
{ {
return null; return null;
} }
@@ -91,26 +91,39 @@ public class Q00142_FallenAngelRequestOfDawn extends Quest
case "30612-04.html": case "30612-04.html":
case "30612-06.html": case "30612-06.html":
case "30612-07.html": case "30612-07.html":
{
break; break;
}
case "30894-01.html": case "30894-01.html":
st.startQuest(); {
qs.startQuest();
break; break;
}
case "30894-03.html": case "30894-03.html":
st.giveItems(CRYPTOGRAM_OF_THE_ANGEL_SEARCH, 1); {
st.setCond(2, true); giveItems(player, CRYPTOGRAM_OF_THE_ANGEL_SEARCH, 1);
qs.setCond(2, true);
break; break;
}
case "30289-05.html": case "30289-05.html":
st.unset("talk"); {
st.setCond(3, true); qs.unset("talk");
qs.setCond(3, true);
break; break;
}
case "30612-05.html": case "30612-05.html":
st.set("talk", "2"); {
qs.set("talk", "2");
break; break;
}
case "30612-08.html": case "30612-08.html":
st.unset("talk"); {
st.setCond(4, true); qs.unset("talk");
qs.setCond(4, true);
break; break;
}
case "32368-04.html": case "32368-04.html":
{
if (isAngelSpawned) if (isAngelSpawned)
{ {
return "32368-03.html"; return "32368-03.html";
@@ -119,14 +132,20 @@ public class Q00142_FallenAngelRequestOfDawn extends Quest
isAngelSpawned = true; isAngelSpawned = true;
startQuestTimer("despawn", 120000, null, player); startQuestTimer("despawn", 120000, null, player);
break; break;
}
case "despawn": case "despawn":
{
if (isAngelSpawned) if (isAngelSpawned)
{ {
isAngelSpawned = false; isAngelSpawned = false;
} }
break;
}
default: default:
{
htmltext = null; htmltext = null;
break; break;
}
} }
return htmltext; return htmltext;
} }
@@ -134,14 +153,14 @@ public class Q00142_FallenAngelRequestOfDawn extends Quest
@Override @Override
public String onKill(L2Npc npc, L2PcInstance player, boolean isSummon) public String onKill(L2Npc npc, L2PcInstance player, boolean isSummon)
{ {
final QuestState st; final QuestState qs;
if ((npc.getId() == FALLEN_ANGEL)) if ((npc.getId() == FALLEN_ANGEL))
{ {
st = getQuestState(player, false); qs = getQuestState(player, false);
if (st.isCond(5)) if (qs.isCond(5))
{ {
st.giveItems(FALLEN_ANGEL_BLOOD, 1); giveItems(player, FALLEN_ANGEL_BLOOD, 1);
st.setCond(6, true); qs.setCond(6, true);
isAngelSpawned = false; isAngelSpawned = false;
} }
} }
@@ -150,18 +169,18 @@ public class Q00142_FallenAngelRequestOfDawn extends Quest
final L2PcInstance member = getRandomPartyMember(player, 4); final L2PcInstance member = getRandomPartyMember(player, 4);
if (member != null) if (member != null)
{ {
st = getQuestState(member, false); qs = getQuestState(member, false);
if (getRandom(1000) < MOBS.get(npc.getId())) if (getRandom(1000) < MOBS.get(npc.getId()))
{ {
st.giveItems(PROPHECY_FRAGMENT, 1); giveItems(player, PROPHECY_FRAGMENT, 1);
if (st.getQuestItemsCount(PROPHECY_FRAGMENT) >= FRAGMENT_COUNT) if (getQuestItemsCount(player, PROPHECY_FRAGMENT) >= FRAGMENT_COUNT)
{ {
st.takeItems(PROPHECY_FRAGMENT, -1); takeItems(player, PROPHECY_FRAGMENT, -1);
st.setCond(5, true); qs.setCond(5, true);
} }
else else
{ {
st.playSound(QuestSound.ITEMSOUND_QUEST_ITEMGET); playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET);
} }
} }
} }
@@ -173,8 +192,8 @@ public class Q00142_FallenAngelRequestOfDawn extends Quest
public String onTalk(L2Npc npc, L2PcInstance player) public String onTalk(L2Npc npc, L2PcInstance player)
{ {
String htmltext = getNoQuestMsg(player); String htmltext = getNoQuestMsg(player);
final QuestState st = getQuestState(player, true); final QuestState qs = getQuestState(player, true);
if (st == null) if (qs == null)
{ {
return htmltext; return htmltext;
} }
@@ -182,110 +201,146 @@ public class Q00142_FallenAngelRequestOfDawn extends Quest
switch (npc.getId()) switch (npc.getId())
{ {
case NATOOLS: case NATOOLS:
switch (st.getState()) {
switch (qs.getState())
{ {
case State.STARTED: case State.STARTED:
switch (st.getCond()) {
switch (qs.getCond())
{ {
case 1: case 1:
{
htmltext = "30894-01.html"; htmltext = "30894-01.html";
break; break;
}
default: default:
{
htmltext = "30894-04.html"; htmltext = "30894-04.html";
break; break;
}
} }
break; break;
}
case State.COMPLETED: case State.COMPLETED:
{
htmltext = getAlreadyCompletedMsg(player); htmltext = getAlreadyCompletedMsg(player);
break; break;
}
} }
break; break;
}
case RAYMOND: case RAYMOND:
if (st.isStarted()) {
if (qs.isStarted())
{ {
switch (st.getCond()) switch (qs.getCond())
{ {
case 1: case 1:
{
htmltext = "30289-01.html"; htmltext = "30289-01.html";
break; break;
}
case 2: case 2:
if (st.isSet("talk")) {
if (qs.isSet("talk"))
{ {
htmltext = "30289-03.html"; htmltext = "30289-03.html";
} }
else else
{ {
st.takeItems(CRYPTOGRAM_OF_THE_ANGEL_SEARCH, -1); takeItems(player, CRYPTOGRAM_OF_THE_ANGEL_SEARCH, -1);
st.set("talk", "1"); qs.set("talk", "1");
htmltext = "30289-02.html"; htmltext = "30289-02.html";
} }
break; break;
}
case 3: case 3:
case 4: case 4:
case 5: case 5:
{
htmltext = "30289-06.html"; htmltext = "30289-06.html";
break; break;
}
case 6: case 6:
st.giveAdena(92676, true); {
giveAdena(player, 92676, true);
if (player.getLevel() <= MAX_REWARD_LEVEL) if (player.getLevel() <= MAX_REWARD_LEVEL)
{ {
st.addExpAndSp(223036, 13091); addExpAndSp(player, 223036, 13091);
} }
st.exitQuest(false, true); qs.exitQuest(false, true);
htmltext = "30289-07.html"; htmltext = "30289-07.html";
break; break;
}
} }
} }
break; break;
}
case CASIAN: case CASIAN:
if (st.isStarted()) {
if (qs.isStarted())
{ {
switch (st.getCond()) switch (qs.getCond())
{ {
case 1: case 1:
case 2: case 2:
{
htmltext = "30612-01.html"; htmltext = "30612-01.html";
break; break;
}
case 3: case 3:
if (st.getInt("talk") == 1) {
if (qs.getInt("talk") == 1)
{ {
htmltext = "30612-03.html"; htmltext = "30612-03.html";
} }
else if (st.getInt("talk") == 2) else if (qs.getInt("talk") == 2)
{ {
htmltext = "30612-06.html"; htmltext = "30612-06.html";
} }
else else
{ {
htmltext = "30612-02.html"; htmltext = "30612-02.html";
st.set("talk", "1"); qs.set("talk", "1");
} }
break; break;
}
case 4: case 4:
case 5: case 5:
case 6: case 6:
{
htmltext = "30612-09.html"; htmltext = "30612-09.html";
break; break;
}
} }
} }
break; break;
}
case ROCK: case ROCK:
if (st.isStarted()) {
if (qs.isStarted())
{ {
switch (st.getCond()) switch (qs.getCond())
{ {
case 5: case 5:
{
htmltext = "32368-02.html"; htmltext = "32368-02.html";
break; break;
}
case 6: case 6:
{
htmltext = "32368-05.html"; htmltext = "32368-05.html";
break; break;
}
default: default:
{
htmltext = "32368-01.html"; htmltext = "32368-01.html";
break; break;
}
} }
} }
break; break;
}
} }
return htmltext; return htmltext;
} }

View File

@@ -54,8 +54,8 @@ public class Q00143_FallenAngelRequestOfDusk extends Quest
@Override @Override
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
{ {
final QuestState st = getQuestState(player, false); final QuestState qs = getQuestState(player, false);
if (st == null) if (qs == null)
{ {
return null; return null;
} }
@@ -75,34 +75,49 @@ public class Q00143_FallenAngelRequestOfDusk extends Quest
case "32369-08.html": case "32369-08.html":
case "32369-09.html": case "32369-09.html":
case "32369-10.html": case "32369-10.html":
{
break; break;
}
case "30894-01.html": case "30894-01.html":
st.startQuest(); {
qs.startQuest();
break; break;
}
case "30894-03.html": case "30894-03.html":
st.setCond(2, true); {
st.giveItems(SEALED_PROPHECY_PATH_OF_THE_GOD, 1); qs.setCond(2, true);
giveItems(player, SEALED_PROPHECY_PATH_OF_THE_GOD, 1);
break; break;
}
case "30297-03.html": case "30297-03.html":
st.takeItems(SEALED_PROPHECY_PATH_OF_THE_GOD, -1); {
st.set("talk", "1"); takeItems(player, SEALED_PROPHECY_PATH_OF_THE_GOD, -1);
qs.set("talk", "1");
break; break;
}
case "30297-05.html": case "30297-05.html":
st.unset("talk"); {
st.setCond(3, true); qs.unset("talk");
st.giveItems(PROPHECY_PATH_OF_THE_GOD, 1); qs.setCond(3, true);
st.giveItems(EMPTY_SOUND_CRYSTAL, 1); giveItems(player, PROPHECY_PATH_OF_THE_GOD, 1);
giveItems(player, EMPTY_SOUND_CRYSTAL, 1);
break; break;
}
case "30612-03.html": case "30612-03.html":
st.takeItems(PROPHECY_PATH_OF_THE_GOD, -1); {
st.set("talk", "1"); takeItems(player, PROPHECY_PATH_OF_THE_GOD, -1);
qs.set("talk", "1");
break; break;
}
case "30612-09.html": case "30612-09.html":
st.unset("talk"); {
st.setCond(4, true); qs.unset("talk");
st.giveItems(ANGEL_MEDICINE, 1); qs.setCond(4, true);
giveItems(player, ANGEL_MEDICINE, 1);
break; break;
}
case "32368-04.html": case "32368-04.html":
{
if (isAngelSpawned) if (isAngelSpawned)
{ {
return "32368-03.html"; return "32368-03.html";
@@ -111,29 +126,40 @@ public class Q00143_FallenAngelRequestOfDusk extends Quest
startQuestTimer("despawn", 120000, null, player); startQuestTimer("despawn", 120000, null, player);
isAngelSpawned = true; isAngelSpawned = true;
break; break;
}
case "32369-03.html": case "32369-03.html":
st.takeItems(ANGEL_MEDICINE, -1); {
st.set("talk", "1"); takeItems(player, ANGEL_MEDICINE, -1);
qs.set("talk", "1");
break; break;
}
case "32369-06.html": case "32369-06.html":
st.set("talk", "2"); {
qs.set("talk", "2");
break; break;
}
case "32369-11.html": case "32369-11.html":
st.unset("talk"); {
st.takeItems(EMPTY_SOUND_CRYSTAL, -1); qs.unset("talk");
st.giveItems(ANGELS_MESSAGE, 1); takeItems(player, EMPTY_SOUND_CRYSTAL, -1);
st.setCond(5, true); giveItems(player, ANGELS_MESSAGE, 1);
qs.setCond(5, true);
npc.deleteMe(); npc.deleteMe();
isAngelSpawned = false; isAngelSpawned = false;
break; break;
}
case "despawn": case "despawn":
{
if (isAngelSpawned) if (isAngelSpawned)
{ {
isAngelSpawned = false; isAngelSpawned = false;
} }
}
default: default:
{
htmltext = null; htmltext = null;
break; break;
}
} }
return htmltext; return htmltext;
} }
@@ -142,8 +168,8 @@ public class Q00143_FallenAngelRequestOfDusk extends Quest
public String onTalk(L2Npc npc, L2PcInstance player) public String onTalk(L2Npc npc, L2PcInstance player)
{ {
String htmltext = getNoQuestMsg(player); String htmltext = getNoQuestMsg(player);
final QuestState st = getQuestState(player, true); final QuestState qs = getQuestState(player, true);
if (st == null) if (qs == null)
{ {
return htmltext; return htmltext;
} }
@@ -151,104 +177,144 @@ public class Q00143_FallenAngelRequestOfDusk extends Quest
switch (npc.getId()) switch (npc.getId())
{ {
case NATOOLS: case NATOOLS:
switch (st.getState()) {
switch (qs.getState())
{ {
case State.STARTED: case State.STARTED:
switch (st.getCond()) {
switch (qs.getCond())
{ {
case 1: case 1:
{
htmltext = "30894-01.html"; htmltext = "30894-01.html";
break; break;
}
default: default:
{
htmltext = "30894-04.html"; htmltext = "30894-04.html";
break; break;
}
} }
break; break;
}
case State.COMPLETED: case State.COMPLETED:
{
htmltext = getAlreadyCompletedMsg(player); htmltext = getAlreadyCompletedMsg(player);
break; break;
}
} }
break; break;
}
case TOBIAS: case TOBIAS:
if (st.isStarted()) {
if (qs.isStarted())
{ {
switch (st.getCond()) switch (qs.getCond())
{ {
case 1: case 1:
{
htmltext = "30297-01.html"; htmltext = "30297-01.html";
break; break;
}
case 2: case 2:
htmltext = (st.isSet("talk")) ? "30297-04.html" : "30297-02.html"; {
htmltext = (qs.isSet("talk")) ? "30297-04.html" : "30297-02.html";
break; break;
}
case 3: case 3:
case 4: case 4:
{
htmltext = "30297-06.html"; htmltext = "30297-06.html";
break; break;
}
case 5: case 5:
st.giveAdena(89046, true); {
giveAdena(player, 89046, true);
if (player.getLevel() <= MAX_REWARD_LEVEL) if (player.getLevel() <= MAX_REWARD_LEVEL)
{ {
st.addExpAndSp(223036, 13901); addExpAndSp(player, 223036, 13901);
} }
st.exitQuest(false, true); qs.exitQuest(false, true);
htmltext = "30297-07.html"; htmltext = "30297-07.html";
break; break;
}
} }
} }
break; break;
}
case CASIAN: case CASIAN:
if (st.isStarted()) {
if (qs.isStarted())
{ {
switch (st.getCond()) switch (qs.getCond())
{ {
case 1: case 1:
case 2: case 2:
{
htmltext = "30612-01.html"; htmltext = "30612-01.html";
break; break;
}
case 3: case 3:
htmltext = (st.isSet("talk")) ? "30612-04.html" : "30612-02.html"; {
htmltext = (qs.isSet("talk")) ? "30612-04.html" : "30612-02.html";
break; break;
}
default: default:
{
htmltext = "30612-10.html"; htmltext = "30612-10.html";
break; break;
}
} }
} }
break; break;
}
case ROCK: case ROCK:
if (st.isStarted()) {
if (qs.isStarted())
{ {
switch (st.getCond()) switch (qs.getCond())
{ {
case 1: case 1:
case 2: case 2:
case 3: case 3:
{
htmltext = "32368-01.html"; htmltext = "32368-01.html";
break; break;
}
case 4: case 4:
{
htmltext = "32368-02.html"; htmltext = "32368-02.html";
break; break;
}
case 5: case 5:
{
htmltext = "32368-05.html"; htmltext = "32368-05.html";
break; break;
}
} }
} }
break; break;
}
case ANGEL: case ANGEL:
if (st.isStarted()) {
if (qs.isStarted())
{ {
switch (st.getCond()) switch (qs.getCond())
{ {
case 1: case 1:
case 2: case 2:
case 3: case 3:
{
htmltext = "32369-01.html"; htmltext = "32369-01.html";
break; break;
}
case 4: case 4:
if (st.getInt("talk") == 1) {
if (qs.getInt("talk") == 1)
{ {
htmltext = "32369-04.html"; htmltext = "32369-04.html";
} }
else if (st.getInt("talk") == 2) else if (qs.getInt("talk") == 2)
{ {
htmltext = "32369-07.html"; htmltext = "32369-07.html";
} }
@@ -257,9 +323,11 @@ public class Q00143_FallenAngelRequestOfDusk extends Quest
htmltext = "32369-02.html"; htmltext = "32369-02.html";
} }
break; break;
}
} }
} }
break; break;
}
} }
return htmltext; return htmltext;
} }

View File

@@ -25,8 +25,8 @@ import java.util.Map;
import com.l2jmobius.gameserver.ai.CtrlEvent; import com.l2jmobius.gameserver.ai.CtrlEvent;
import com.l2jmobius.gameserver.ai.CtrlIntention; import com.l2jmobius.gameserver.ai.CtrlIntention;
import com.l2jmobius.gameserver.datatables.SkillData; import com.l2jmobius.gameserver.datatables.SkillData;
import com.l2jmobius.gameserver.enums.QuestSound;
import com.l2jmobius.gameserver.instancemanager.InstanceManager; import com.l2jmobius.gameserver.instancemanager.InstanceManager;
import com.l2jmobius.gameserver.model.Location;
import com.l2jmobius.gameserver.model.actor.L2Character; import com.l2jmobius.gameserver.model.actor.L2Character;
import com.l2jmobius.gameserver.model.actor.L2Npc; import com.l2jmobius.gameserver.model.actor.L2Npc;
import com.l2jmobius.gameserver.model.actor.L2Summon; import com.l2jmobius.gameserver.model.actor.L2Summon;
@@ -54,13 +54,7 @@ public class Q00144_PailakaInjuredDragon extends Quest
private static final int MAX_SUMMON_LEVEL = 80; private static final int MAX_SUMMON_LEVEL = 80;
private static final int EXIT_TIME = 5; private static final int EXIT_TIME = 5;
private static final int INSTANCE_ID = 45; private static final int INSTANCE_ID = 45;
static final int[] TELEPORT = static final Location TELEPORT = new Location(125757, -40928, -3736);
{
125757,
-40928,
-3736
};
// @formatter:off // @formatter:off
// NO EXIT ZONES // NO EXIT ZONES
private static final Map<Integer, int[]> NOEXIT_ZONES = new HashMap<>(); private static final Map<Integer, int[]> NOEXIT_ZONES = new HashMap<>();
@@ -75,13 +69,11 @@ public class Q00144_PailakaInjuredDragon extends Quest
NOEXIT_ZONES.put(200007, new int[]{118341, -55951, -2280}); NOEXIT_ZONES.put(200007, new int[]{118341, -55951, -2280});
NOEXIT_ZONES.put(200008, new int[]{110127, -41562, -2332}); NOEXIT_ZONES.put(200008, new int[]{110127, -41562, -2332});
} }
// Npcs // Npcs
private static final int KETRA_ORC_SHAMAN = 32499; private static final int KETRA_ORC_SHAMAN = 32499;
private static final int KETRA_ORC_SUPPORTER = 32502; private static final int KETRA_ORC_SUPPORTER = 32502;
private static final int KETRA_ORC_SUPPORTER2 = 32512; private static final int KETRA_ORC_SUPPORTER2 = 32512;
private static final int KETRA_ORC_INTELIGENCE_OFFICER = 32509; private static final int KETRA_ORC_INTELIGENCE_OFFICER = 32509;
// Wall Mobs // Wall Mobs
private static final int VARKA_SILENOS_RECRUIT = 18635; private static final int VARKA_SILENOS_RECRUIT = 18635;
private static final int VARKA_SILENOS_FOOTMAN = 18636; private static final int VARKA_SILENOS_FOOTMAN = 18636;
@@ -94,7 +86,6 @@ public class Q00144_PailakaInjuredDragon extends Quest
private static final int VARKA_SILENOS_HEAD_GUARD = 18655; private static final int VARKA_SILENOS_HEAD_GUARD = 18655;
private static final int PROPHET_GUARD = 18657; private static final int PROPHET_GUARD = 18657;
private static final int VARKAS_PROPHET = 18659; private static final int VARKAS_PROPHET = 18659;
// Extra Wall Silenos // Extra Wall Silenos
private static final int VARKA_SILENOS_MEDIUM = 18644; private static final int VARKA_SILENOS_MEDIUM = 18644;
private static final int VARKA_SILENOS_PRIEST = 18641; private static final int VARKA_SILENOS_PRIEST = 18641;
@@ -104,32 +95,25 @@ public class Q00144_PailakaInjuredDragon extends Quest
private static final int DISCIPLE_OF_PROPHET = 18658; private static final int DISCIPLE_OF_PROPHET = 18658;
private static final int VARKA_HEAD_MAGUS = 18656; private static final int VARKA_HEAD_MAGUS = 18656;
private static final int VARKA_SILENOS_GREAT_SEER = 18652; private static final int VARKA_SILENOS_GREAT_SEER = 18652;
// Normal Mobs // Normal Mobs
private static final int ANTYLOPE_1 = 18637; private static final int ANTYLOPE_1 = 18637;
private static final int ANTYLOPE_2 = 18643; private static final int ANTYLOPE_2 = 18643;
private static final int ANTYLOPE_3 = 18651; private static final int ANTYLOPE_3 = 18651;
private static final int FLAVA = 18647; private static final int FLAVA = 18647;
// Boss // Boss
private static final int LATANA = 18660; private static final int LATANA = 18660;
// Items // Items
private static final int SPEAR = 13052; private static final int SPEAR = 13052;
private static final int ENCHSPEAR = 13053; private static final int ENCHSPEAR = 13053;
private static final int LASTSPEAR = 13054; private static final int LASTSPEAR = 13054;
private static final int STAGE1 = 13056; private static final int STAGE1 = 13056;
private static final int STAGE2 = 13057; private static final int STAGE2 = 13057;
private static final int SHIELD_POTION = 13032; private static final int SHIELD_POTION = 13032;
private static final int HEAL_POTION = 13033; private static final int HEAL_POTION = 13033;
// Rewards // Rewards
private static final int PSHIRT = 13296; private static final int PSHIRT = 13296;
private static final int SCROLL_OF_ESCAPE = 736; private static final int SCROLL_OF_ESCAPE = 736;
private static int buff_counter = 5; private static int buff_counter = 5;
// Arrays // Arrays
private static final int[] NPCS = private static final int[] NPCS =
{ {
@@ -138,7 +122,6 @@ public class Q00144_PailakaInjuredDragon extends Quest
KETRA_ORC_INTELIGENCE_OFFICER, KETRA_ORC_INTELIGENCE_OFFICER,
KETRA_ORC_SUPPORTER2 KETRA_ORC_SUPPORTER2
}; };
private static final int[] WALL_MONSTERS = private static final int[] WALL_MONSTERS =
{ {
// 1st Row Mobs // 1st Row Mobs
@@ -154,7 +137,6 @@ public class Q00144_PailakaInjuredDragon extends Quest
VARKA_SILENOS_HEAD_GUARD, VARKA_SILENOS_HEAD_GUARD,
PROPHET_GUARD, PROPHET_GUARD,
VARKAS_PROPHET, VARKAS_PROPHET,
// 2nd Row Mobs // 2nd Row Mobs
DISCIPLE_OF_PROPHET, DISCIPLE_OF_PROPHET,
VARKA_HEAD_MAGUS, VARKA_HEAD_MAGUS,
@@ -165,7 +147,6 @@ public class Q00144_PailakaInjuredDragon extends Quest
VARKA_SILENOS_MEDIUM, VARKA_SILENOS_MEDIUM,
VARKA_SILENOS_PRIEST VARKA_SILENOS_PRIEST
}; };
private static final int[] OTHER_MONSTERS = private static final int[] OTHER_MONSTERS =
{ {
ANTYLOPE_1, ANTYLOPE_1,
@@ -173,7 +154,6 @@ public class Q00144_PailakaInjuredDragon extends Quest
ANTYLOPE_3, ANTYLOPE_3,
FLAVA FLAVA
}; };
private static final int[] ITEMS = private static final int[] ITEMS =
{ {
SPEAR, SPEAR,
@@ -184,7 +164,6 @@ public class Q00144_PailakaInjuredDragon extends Quest
SHIELD_POTION, SHIELD_POTION,
HEAL_POTION HEAL_POTION
}; };
private static final int[][] BUFFS = private static final int[][] BUFFS =
{ {
{4357,2}, // Haste Lv2 {4357,2}, // Haste Lv2
@@ -200,20 +179,17 @@ public class Q00144_PailakaInjuredDragon extends Quest
{4354,4}, // Vampiric Rage Lv4 {4354,4}, // Vampiric Rage Lv4
{4347,6} // Blessed Body Lv6 {4347,6} // Blessed Body Lv6
}; };
private static final ArrayList<PailakaDrop> DROPLIST = new ArrayList<>(); private static final ArrayList<PailakaDrop> DROPLIST = new ArrayList<>();
static static
{ {
DROPLIST.add(new PailakaDrop(HEAL_POTION, 80)); DROPLIST.add(new PailakaDrop(HEAL_POTION, 80));
DROPLIST.add(new PailakaDrop(SHIELD_POTION, 30)); DROPLIST.add(new PailakaDrop(SHIELD_POTION, 30));
} }
private static final int[][] HP_HERBS_DROPLIST = private static final int[][] HP_HERBS_DROPLIST =
{ {
// itemId, count, chance // itemId, count, chance
{ 8601, 1, 40 }, { 8600, 1, 70 } { 8601, 1, 40 }, { 8600, 1, 70 }
}; };
private static final int[][] MP_HERBS_DROPLIST = private static final int[][] MP_HERBS_DROPLIST =
{ {
// itemId, count, chance // itemId, count, chance
@@ -275,65 +251,59 @@ public class Q00144_PailakaInjuredDragon extends Quest
{ {
if (cond == 0) if (cond == 0)
{ {
qs.set("cond", "1"); qs.startQuest();
qs.setState(State.STARTED);
qs.playSound(QuestSound.ITEMSOUND_QUEST_ACCEPT);
} }
} }
else if (event.equals("32499-04.html")) else if (event.equals("32499-04.html"))
{ {
if (cond == 1) if (qs.isCond(1))
{ {
qs.set("cond", "2"); qs.setCond(2, true);
qs.playSound(QuestSound.ITEMSOUND_QUEST_ACCEPT);
} }
} }
else if (event.equals("32502-04.html")) else if (event.equals("32502-04.html"))
{ {
if ((cond == 2) && !qs.hasQuestItems(SPEAR)) if (qs.isCond(2) && !hasQuestItems(player, SPEAR))
{ {
qs.set("cond", "3"); qs.setCond(3, true);
qs.playSound(QuestSound.ITEMSOUND_QUEST_ITEMGET); giveItems(player, SPEAR, 1);
qs.giveItems(SPEAR, 1);
} }
} }
else if (event.equals("32509-02.html")) else if (event.equals("32509-02.html"))
{ {
if ((cond == 3) && qs.hasQuestItems(SPEAR)) if (qs.isCond(3) && hasQuestItems(player, SPEAR))
{ {
if (!qs.hasQuestItems(SPEAR) && !qs.hasQuestItems(STAGE1)) if (!hasQuestItems(player, SPEAR) && !hasQuestItems(player, STAGE1))
{ {
return "32509-07.html"; return "32509-07.html";
} }
if (qs.hasQuestItems(SPEAR) && !qs.hasQuestItems(STAGE1)) if (hasQuestItems(player, SPEAR) && !hasQuestItems(player, STAGE1))
{ {
return "32509-01.html"; return "32509-01.html";
} }
if (qs.hasQuestItems(SPEAR) && qs.hasQuestItems(STAGE1)) if (hasQuestItems(player, SPEAR) && hasQuestItems(player, STAGE1))
{ {
qs.takeItems(SPEAR, -1); takeItems(player, SPEAR, -1);
qs.takeItems(STAGE1, -1); takeItems(player, STAGE1, -1);
qs.giveItems(ENCHSPEAR, 1); giveItems(player, ENCHSPEAR, 1);
qs.playSound(QuestSound.ITEMSOUND_QUEST_ITEMGET);
return "32509-02.html"; return "32509-02.html";
} }
} }
if ((cond == 3) && qs.hasQuestItems(ENCHSPEAR)) if (qs.isCond(3) && hasQuestItems(player, ENCHSPEAR))
{ {
if (!qs.hasQuestItems(ENCHSPEAR) && !qs.hasQuestItems(STAGE2)) if (!hasQuestItems(player, ENCHSPEAR) && !hasQuestItems(player, STAGE2))
{ {
return "32509-07.html"; return "32509-07.html";
} }
if (qs.hasQuestItems(ENCHSPEAR) && !qs.hasQuestItems(STAGE2)) if (hasQuestItems(player, ENCHSPEAR) && !hasQuestItems(player, STAGE2))
{ {
return "32509-01.html"; return "32509-01.html";
} }
if (qs.hasQuestItems(ENCHSPEAR) && qs.hasQuestItems(STAGE2)) if (hasQuestItems(player, ENCHSPEAR) && hasQuestItems(player, STAGE2))
{ {
qs.takeItems(ENCHSPEAR, -1); takeItems(player, ENCHSPEAR, -1);
qs.takeItems(STAGE2, -1); takeItems(player, STAGE2, -1);
qs.giveItems(LASTSPEAR, 1); giveItems(player, LASTSPEAR, 1);
qs.playSound(QuestSound.ITEMSOUND_QUEST_ITEMGET);
// Spawns Latana. // Spawns Latana.
addSpawn(LATANA, 105732, -41787, -1782, 35742, false, 0, false, npc.getInstanceId()); addSpawn(LATANA, 105732, -41787, -1782, 35742, false, 0, false, npc.getInstanceId());
@@ -341,13 +311,13 @@ public class Q00144_PailakaInjuredDragon extends Quest
return "32509-03.html"; return "32509-03.html";
} }
} }
if ((cond == 3) && qs.hasQuestItems(LASTSPEAR)) if (qs.isCond(3) && hasQuestItems(player, LASTSPEAR))
{ {
if (qs.hasQuestItems(LASTSPEAR)) if (hasQuestItems(player, LASTSPEAR))
{ {
return "32509-03a.html"; return "32509-03a.html";
} }
if (!qs.hasQuestItems(LASTSPEAR)) if (!hasQuestItems(player, LASTSPEAR))
{ {
return "32509-07.html"; return "32509-07.html";
} }
@@ -363,10 +333,6 @@ public class Q00144_PailakaInjuredDragon extends Quest
} }
else if (event.equals("32512-02.html")) else if (event.equals("32512-02.html"))
{ {
qs.unset("cond");
qs.playSound(QuestSound.ITEMSOUND_QUEST_FINISH);
qs.exitQuest(false);
final Instance inst = InstanceManager.getInstance().getInstance(npc.getInstanceId()); final Instance inst = InstanceManager.getInstance().getInstance(npc.getInstanceId());
inst.setDuration(EXIT_TIME * 60000); inst.setDuration(EXIT_TIME * 60000);
inst.setEmptyDestroyTime(0); inst.setEmptyDestroyTime(0);
@@ -374,10 +340,12 @@ public class Q00144_PailakaInjuredDragon extends Quest
if (inst.containsPlayer(player.getObjectId())) if (inst.containsPlayer(player.getObjectId()))
{ {
player.setVitalityPoints(20000, true); player.setVitalityPoints(20000, true);
qs.addExpAndSp(28000000, 2850000); addExpAndSp(player, 28000000, 2850000);
qs.giveItems(SCROLL_OF_ESCAPE, 1); giveItems(player, SCROLL_OF_ESCAPE, 1);
qs.giveItems(PSHIRT, 1); giveItems(player, PSHIRT, 1);
} }
qs.exitQuest(false, true);
} }
else if (event.startsWith("buff")) else if (event.startsWith("buff"))
{ {
@@ -428,9 +396,11 @@ public class Q00144_PailakaInjuredDragon extends Quest
switch (npc.getId()) switch (npc.getId())
{ {
case KETRA_ORC_SHAMAN: case KETRA_ORC_SHAMAN:
{
switch (qs.getState()) switch (qs.getState())
{ {
case State.CREATED: case State.CREATED:
{
if (player.getLevel() < MIN_LEVEL) if (player.getLevel() < MIN_LEVEL)
{ {
return "32499-no.html"; return "32499-no.html";
@@ -440,7 +410,9 @@ public class Q00144_PailakaInjuredDragon extends Quest
return "32499-over.html"; return "32499-over.html";
} }
return "32499-00.htm"; return "32499-00.htm";
}
case State.STARTED: case State.STARTED:
{
if (player.getLevel() < MIN_LEVEL) if (player.getLevel() < MIN_LEVEL)
{ {
return "32499-no.html"; return "32499-no.html";
@@ -457,20 +429,32 @@ public class Q00144_PailakaInjuredDragon extends Quest
{ {
return "32499-09.html"; return "32499-09.html";
} }
}
case State.COMPLETED: case State.COMPLETED:
{
return "32499-completed.html"; return "32499-completed.html";
}
default: default:
{
return "32499-no.html"; return "32499-no.html";
}
} }
// break;
}
case KETRA_ORC_SUPPORTER: case KETRA_ORC_SUPPORTER:
{
if (cond > 2) if (cond > 2)
{ {
return "32502-04.html"; return "32502-04.html";
} }
return "32502-00.html"; return "32502-00.html";
}
case KETRA_ORC_INTELIGENCE_OFFICER: case KETRA_ORC_INTELIGENCE_OFFICER:
{
return "32509-00.html"; return "32509-00.html";
}
case KETRA_ORC_SUPPORTER2: case KETRA_ORC_SUPPORTER2:
{
if (qs.getState() == State.COMPLETED) if (qs.getState() == State.COMPLETED)
{ {
return "32512-03.html"; return "32512-03.html";
@@ -479,6 +463,8 @@ public class Q00144_PailakaInjuredDragon extends Quest
{ {
return "32512-01.html"; return "32512-01.html";
} }
break;
}
} }
return getNoQuestMsg(player); return getNoQuestMsg(player);
@@ -495,16 +481,14 @@ public class Q00144_PailakaInjuredDragon extends Quest
// There are lots of mobs walls, and item get is random, it could happen that you dont get the item until the last wall, and there's 4 different silenos groups. 1 enchant comes only from group 2 and the 2nd comes from group 4. Chances, lets say 20% of getting the enchant when killing the // There are lots of mobs walls, and item get is random, it could happen that you dont get the item until the last wall, and there's 4 different silenos groups. 1 enchant comes only from group 2 and the 2nd comes from group 4. Chances, lets say 20% of getting the enchant when killing the
// right mob When you kill a mob wall, another mage type appears behind. If all mobs from the front are killed then the ones that are behind are despawned. Also this mobs should be damaged, like with 30% of max HP, because they should be easy to kill. // right mob When you kill a mob wall, another mage type appears behind. If all mobs from the front are killed then the ones that are behind are despawned. Also this mobs should be damaged, like with 30% of max HP, because they should be easy to kill.
final int cond = qs.getCond();
switch (npc.getId()) switch (npc.getId())
{ {
case VARKA_SILENOS_FOOTMAN: case VARKA_SILENOS_FOOTMAN:
case VARKA_SILENOS_RECRUIT: case VARKA_SILENOS_RECRUIT:
dropHerb(npc, player, HP_HERBS_DROPLIST); dropHerb(npc, player, HP_HERBS_DROPLIST);
if ((cond == 3) && qs.hasQuestItems(SPEAR) && !qs.hasQuestItems(STAGE1) && (Rnd.get(100) < 25)) if (qs.isCond(3) && hasQuestItems(player, SPEAR) && !hasQuestItems(player, STAGE1) && (Rnd.get(100) < 25))
{ {
qs.giveItems(STAGE1, 1); giveItems(player, STAGE1, 1);
qs.playSound(QuestSound.ITEMSOUND_QUEST_ITEMGET);
} }
// Spawns Mage Type silenos behind the one that was killed. // Spawns Mage Type silenos behind the one that was killed.
@@ -515,10 +499,9 @@ public class Q00144_PailakaInjuredDragon extends Quest
break; break;
case VARKA_SILENOS_WARRIOR: case VARKA_SILENOS_WARRIOR:
dropHerb(npc, player, HP_HERBS_DROPLIST); dropHerb(npc, player, HP_HERBS_DROPLIST);
if ((cond == 3) && qs.hasQuestItems(SPEAR) && !qs.hasQuestItems(STAGE1) && (Rnd.get(100) < 25)) if (qs.isCond(3) && hasQuestItems(player, SPEAR) && !hasQuestItems(player, STAGE1) && (Rnd.get(100) < 25))
{ {
qs.giveItems(STAGE1, 1); giveItems(player, STAGE1, 1);
qs.playSound(QuestSound.ITEMSOUND_QUEST_ITEMGET);
} }
// Spawns Mage Type silenos behind the one that was killed. // Spawns Mage Type silenos behind the one that was killed.
@@ -529,10 +512,9 @@ public class Q00144_PailakaInjuredDragon extends Quest
break; break;
case VARKA_ELITE_GUARD: case VARKA_ELITE_GUARD:
dropHerb(npc, player, HP_HERBS_DROPLIST); dropHerb(npc, player, HP_HERBS_DROPLIST);
if ((cond == 3) && qs.hasQuestItems(SPEAR) && !qs.hasQuestItems(STAGE1) && (Rnd.get(100) < 25)) if (qs.isCond(3) && hasQuestItems(player, SPEAR) && !hasQuestItems(player, STAGE1) && (Rnd.get(100) < 25))
{ {
qs.giveItems(STAGE1, 1); giveItems(player, STAGE1, 1);
qs.playSound(QuestSound.ITEMSOUND_QUEST_ITEMGET);
} }
// Spawns Mage Type silenos behind the one that was killed. // Spawns Mage Type silenos behind the one that was killed.
@@ -544,10 +526,9 @@ public class Q00144_PailakaInjuredDragon extends Quest
case VARKAS_COMMANDER: case VARKAS_COMMANDER:
case VARKA_SILENOS_OFFICER: case VARKA_SILENOS_OFFICER:
dropHerb(npc, player, HP_HERBS_DROPLIST); dropHerb(npc, player, HP_HERBS_DROPLIST);
if ((cond == 3) && qs.hasQuestItems(SPEAR) && !qs.hasQuestItems(STAGE1) && (Rnd.get(100) < 25)) if (qs.isCond(3) && hasQuestItems(player, SPEAR) && !hasQuestItems(player, STAGE1) && (Rnd.get(100) < 25))
{ {
qs.giveItems(STAGE1, 1); giveItems(player, STAGE1, 1);
qs.playSound(QuestSound.ITEMSOUND_QUEST_ITEMGET);
} }
// Spawns Mage Type silenos behind the one that was killed. // Spawns Mage Type silenos behind the one that was killed.
@@ -559,10 +540,9 @@ public class Q00144_PailakaInjuredDragon extends Quest
case VARKA_SILENOS_GREAT_MAGUS: case VARKA_SILENOS_GREAT_MAGUS:
case VARKA_SILENOS_GENERAL: case VARKA_SILENOS_GENERAL:
dropHerb(npc, player, HP_HERBS_DROPLIST); dropHerb(npc, player, HP_HERBS_DROPLIST);
if ((cond == 3) && qs.hasQuestItems(ENCHSPEAR) && !qs.hasQuestItems(STAGE2) && (Rnd.get(100) < 25)) if (qs.isCond(3) && hasQuestItems(player, ENCHSPEAR) && !hasQuestItems(player, STAGE2) && (Rnd.get(100) < 25))
{ {
qs.giveItems(STAGE2, 1); giveItems(player, STAGE2, 1);
qs.playSound(QuestSound.ITEMSOUND_QUEST_ITEMGET);
} }
// Spawns Mage Type silenos behind the one that was killed. // Spawns Mage Type silenos behind the one that was killed.
@@ -573,10 +553,9 @@ public class Q00144_PailakaInjuredDragon extends Quest
break; break;
case VARKAS_PROPHET: case VARKAS_PROPHET:
dropHerb(npc, player, HP_HERBS_DROPLIST); dropHerb(npc, player, HP_HERBS_DROPLIST);
if ((cond == 3) && qs.hasQuestItems(ENCHSPEAR) && !qs.hasQuestItems(STAGE2) && (Rnd.get(100) < 25)) if (qs.isCond(3) && hasQuestItems(player, ENCHSPEAR) && !hasQuestItems(player, STAGE2) && (Rnd.get(100) < 25))
{ {
qs.giveItems(STAGE2, 1); giveItems(player, STAGE2, 1);
qs.playSound(QuestSound.ITEMSOUND_QUEST_ITEMGET);
} }
// Spawns Mage Type silenos behind the one that was killed. // Spawns Mage Type silenos behind the one that was killed.
@@ -587,10 +566,9 @@ public class Q00144_PailakaInjuredDragon extends Quest
break; break;
case VARKA_SILENOS_HEAD_GUARD: case VARKA_SILENOS_HEAD_GUARD:
dropHerb(npc, player, HP_HERBS_DROPLIST); dropHerb(npc, player, HP_HERBS_DROPLIST);
if ((cond == 3) && qs.hasQuestItems(ENCHSPEAR) && !qs.hasQuestItems(STAGE2) && (Rnd.get(100) < 25)) if (qs.isCond(3) && hasQuestItems(player, ENCHSPEAR) && !hasQuestItems(player, STAGE2) && (Rnd.get(100) < 25))
{ {
qs.giveItems(STAGE2, 1); giveItems(player, STAGE2, 1);
qs.playSound(QuestSound.ITEMSOUND_QUEST_ITEMGET);
} }
// Spawns Mage Type silenos behind the one that was killed. // Spawns Mage Type silenos behind the one that was killed.
@@ -601,10 +579,9 @@ public class Q00144_PailakaInjuredDragon extends Quest
break; break;
case PROPHET_GUARD: case PROPHET_GUARD:
dropHerb(npc, player, HP_HERBS_DROPLIST); dropHerb(npc, player, HP_HERBS_DROPLIST);
if ((cond == 3) && qs.hasQuestItems(ENCHSPEAR) && !qs.hasQuestItems(STAGE2) && (Rnd.get(100) < 25)) if (qs.isCond(3) && hasQuestItems(player, ENCHSPEAR) && !hasQuestItems(player, STAGE2) && (Rnd.get(100) < 25))
{ {
qs.giveItems(STAGE2, 1); giveItems(player, STAGE2, 1);
qs.playSound(QuestSound.ITEMSOUND_QUEST_ITEMGET);
} }
// Spawns Mage Type silenos behind the one that was killed. // Spawns Mage Type silenos behind the one that was killed.
@@ -614,8 +591,7 @@ public class Q00144_PailakaInjuredDragon extends Quest
checkIfLastInWall(npc); checkIfLastInWall(npc);
break; break;
case LATANA: case LATANA:
qs.set("cond", "4"); qs.setCond(4, true);
qs.playSound(QuestSound.ITEMSOUND_QUEST_MIDDLE);
// Spawns Ketra Orc Supporter. // Spawns Ketra Orc Supporter.
addSpawn(KETRA_ORC_SUPPORTER2, npc.getX(), npc.getY(), npc.getZ(), npc.getHeading(), false, 0, false, npc.getInstanceId()); addSpawn(KETRA_ORC_SUPPORTER2, npc.getX(), npc.getY(), npc.getZ(), npc.getHeading(), false, 0, false, npc.getInstanceId());

View File

@@ -49,15 +49,15 @@ public class Q00146_TheZeroHour extends Quest
@Override @Override
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
{ {
final QuestState st = getQuestState(player, false); final QuestState qs = getQuestState(player, false);
if (st == null) if (qs == null)
{ {
return getNoQuestMsg(player); return getNoQuestMsg(player);
} }
if (event.equalsIgnoreCase("31554-03.htm")) if (event.equalsIgnoreCase("31554-03.htm"))
{ {
st.startQuest(); qs.startQuest();
} }
return event; return event;
} }
@@ -68,11 +68,11 @@ public class Q00146_TheZeroHour extends Quest
final L2PcInstance partyMember = getRandomPartyMember(killer, 1); final L2PcInstance partyMember = getRandomPartyMember(killer, 1);
if (partyMember != null) if (partyMember != null)
{ {
final QuestState st = getQuestState(partyMember, false); final QuestState qs = getQuestState(partyMember, false);
if (!st.hasQuestItems(FANG)) if (!hasQuestItems(partyMember, FANG))
{ {
st.giveItems(FANG, 1); giveItems(partyMember, FANG, 1);
st.setCond(2, true); qs.setCond(2, true);
} }
} }
return super.onKill(npc, killer, isSummon); return super.onKill(npc, killer, isSummon);
@@ -82,15 +82,16 @@ public class Q00146_TheZeroHour extends Quest
public String onTalk(L2Npc npc, L2PcInstance player) public String onTalk(L2Npc npc, L2PcInstance player)
{ {
String htmltext = getNoQuestMsg(player); String htmltext = getNoQuestMsg(player);
final QuestState st = getQuestState(player, true); final QuestState qs = getQuestState(player, true);
if (st == null) if (qs == null)
{ {
return htmltext; return htmltext;
} }
switch (st.getState()) switch (qs.getState())
{ {
case State.CREATED: case State.CREATED:
{
if (player.getLevel() < 81) if (player.getLevel() < 81)
{ {
htmltext = "31554-02.htm"; htmltext = "31554-02.htm";
@@ -108,22 +109,27 @@ public class Q00146_TheZeroHour extends Quest
} }
} }
break; break;
}
case State.STARTED: case State.STARTED:
if (st.isCond(1)) {
if (qs.isCond(1))
{ {
htmltext = "31554-06.html"; htmltext = "31554-06.html";
} }
else else
{ {
st.giveItems(KAHMANS_SUPPLY_BOX, 1); giveItems(player, KAHMANS_SUPPLY_BOX, 1);
st.addExpAndSp(154616, 12500); addExpAndSp(player, 154616, 12500);
st.exitQuest(false, true); qs.exitQuest(false, true);
htmltext = "31554-05.html"; htmltext = "31554-05.html";
} }
break; break;
}
case State.COMPLETED: case State.COMPLETED:
{
htmltext = "31554-01b.htm"; htmltext = "31554-01b.htm";
break; break;
}
} }
return htmltext; return htmltext;
} }

View File

@@ -366,7 +366,7 @@ public class Q00177_SplitDestiny extends Quest
{ {
if (Util.contains(GIANTS_FOOT_MONSTERS, npc.getId())) if (Util.contains(GIANTS_FOOT_MONSTERS, npc.getId()))
{ {
qs.giveItems(PETRIFIED_GIANTS_FOOT_PIECE, 1); giveItems(killer, PETRIFIED_GIANTS_FOOT_PIECE, 1);
qs.setCond(5, true); qs.setCond(5, true);
} }
break; break;

View File

@@ -74,10 +74,10 @@ public final class Q00183_RelicExploration extends Quest
{ {
if (qs.isMemoState(2)) if (qs.isMemoState(2))
{ {
qs.giveAdena(18100, true); giveAdena(player, 18100, true);
if (player.getLevel() < MAX_LEVEL_FOR_EXP_SP) if (player.getLevel() < MAX_LEVEL_FOR_EXP_SP)
{ {
qs.addExpAndSp(60000, 3000); addExpAndSp(player, 60000, 3000);
} }
qs.exitQuest(false, true); qs.exitQuest(false, true);
htmltext = event; htmltext = event;

View File

@@ -52,8 +52,8 @@ public final class Q00192_SevenSignsSeriesOfDoubt extends Quest
@Override @Override
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
{ {
final QuestState st = getQuestState(player, false); final QuestState qs = getQuestState(player, false);
if (st == null) if (qs == null)
{ {
return null; return null;
} }
@@ -68,15 +68,15 @@ public final class Q00192_SevenSignsSeriesOfDoubt extends Quest
} }
case "30676-03.html": case "30676-03.html":
{ {
st.startQuest(); qs.startQuest();
htmltext = event; htmltext = event;
break; break;
} }
case "video": case "video":
{ {
if (st.isCond(1)) if (qs.isCond(1))
{ {
st.setCond(2, true); qs.setCond(2, true);
player.showQuestMovie(8); player.showQuestMovie(8);
startQuestTimer("back", 32000, npc, player); startQuestTimer("back", 32000, npc, player);
return ""; return "";
@@ -93,7 +93,7 @@ public final class Q00192_SevenSignsSeriesOfDoubt extends Quest
case "30676-12.html": case "30676-12.html":
case "30676-13.html": case "30676-13.html":
{ {
if (st.isCond(6) && st.hasQuestItems(JACOBS_NECKLACE)) if (qs.isCond(6) && hasQuestItems(player, JACOBS_NECKLACE))
{ {
htmltext = event; htmltext = event;
} }
@@ -101,11 +101,11 @@ public final class Q00192_SevenSignsSeriesOfDoubt extends Quest
} }
case "30676-14.html": case "30676-14.html":
{ {
if (st.isCond(6) && st.hasQuestItems(JACOBS_NECKLACE)) if (qs.isCond(6) && hasQuestItems(player, JACOBS_NECKLACE))
{ {
st.giveItems(CROOPS_LETTER, 1); giveItems(player, CROOPS_LETTER, 1);
st.takeItems(JACOBS_NECKLACE, -1); takeItems(player, JACOBS_NECKLACE, -1);
st.setCond(7, true); qs.setCond(7, true);
htmltext = event; htmltext = event;
} }
break; break;
@@ -113,7 +113,7 @@ public final class Q00192_SevenSignsSeriesOfDoubt extends Quest
case "30200-02.html": case "30200-02.html":
case "30200-03.html": case "30200-03.html":
{ {
if (st.isCond(4)) if (qs.isCond(4))
{ {
htmltext = event; htmltext = event;
} }
@@ -121,26 +121,26 @@ public final class Q00192_SevenSignsSeriesOfDoubt extends Quest
} }
case "30200-04.html": case "30200-04.html":
{ {
if (st.isCond(4)) if (qs.isCond(4))
{ {
st.setCond(5, true); qs.setCond(5, true);
htmltext = event; htmltext = event;
} }
break; break;
} }
case "32568-02.html": case "32568-02.html":
{ {
if (st.isCond(5)) if (qs.isCond(5))
{ {
st.giveItems(JACOBS_NECKLACE, 1); giveItems(player, JACOBS_NECKLACE, 1);
st.setCond(6, true); qs.setCond(6, true);
htmltext = event; htmltext = event;
} }
break; break;
} }
case "30197-02.html": case "30197-02.html":
{ {
if (st.isCond(3) && st.hasQuestItems(CROOPS_INTRODUCTION)) if (qs.isCond(3) && hasQuestItems(player, CROOPS_INTRODUCTION))
{ {
htmltext = event; htmltext = event;
} }
@@ -148,17 +148,17 @@ public final class Q00192_SevenSignsSeriesOfDoubt extends Quest
} }
case "30197-03.html": case "30197-03.html":
{ {
if (st.isCond(3) && st.hasQuestItems(CROOPS_INTRODUCTION)) if (qs.isCond(3) && hasQuestItems(player, CROOPS_INTRODUCTION))
{ {
st.takeItems(CROOPS_INTRODUCTION, -1); takeItems(player, CROOPS_INTRODUCTION, -1);
st.setCond(4, true); qs.setCond(4, true);
htmltext = event; htmltext = event;
} }
break; break;
} }
case "30191-02.html": case "30191-02.html":
{ {
if (st.isCond(7) && st.hasQuestItems(CROOPS_LETTER)) if (qs.isCond(7) && hasQuestItems(player, CROOPS_LETTER))
{ {
htmltext = event; htmltext = event;
} }
@@ -166,12 +166,12 @@ public final class Q00192_SevenSignsSeriesOfDoubt extends Quest
} }
case "reward": case "reward":
{ {
if (st.isCond(7) && st.hasQuestItems(CROOPS_LETTER)) if (qs.isCond(7) && hasQuestItems(player, CROOPS_LETTER))
{ {
if (player.getLevel() >= MIN_LEVEL) if (player.getLevel() >= MIN_LEVEL)
{ {
st.addExpAndSp(52518015, 5817677); addExpAndSp(player, 52518015, 5817677);
st.exitQuest(false, true); qs.exitQuest(false, true);
htmltext = "30191-03.html"; htmltext = "30191-03.html";
} }
else else
@@ -188,9 +188,9 @@ public final class Q00192_SevenSignsSeriesOfDoubt extends Quest
@Override @Override
public String onTalk(L2Npc npc, L2PcInstance player) public String onTalk(L2Npc npc, L2PcInstance player)
{ {
final QuestState st = getQuestState(player, true); final QuestState qs = getQuestState(player, true);
String htmltext = getNoQuestMsg(player); String htmltext = getNoQuestMsg(player);
switch (st.getState()) switch (qs.getState())
{ {
case State.COMPLETED: case State.COMPLETED:
{ {
@@ -222,7 +222,7 @@ public final class Q00192_SevenSignsSeriesOfDoubt extends Quest
{ {
case CROOP: case CROOP:
{ {
switch (st.getCond()) switch (qs.getCond())
{ {
case 1: case 1:
{ {
@@ -231,8 +231,8 @@ public final class Q00192_SevenSignsSeriesOfDoubt extends Quest
} }
case 2: case 2:
{ {
st.giveItems(CROOPS_INTRODUCTION, 1); giveItems(player, CROOPS_INTRODUCTION, 1);
st.setCond(3, true); qs.setCond(3, true);
htmltext = "30676-07.html"; htmltext = "30676-07.html";
break; break;
} }
@@ -245,7 +245,7 @@ public final class Q00192_SevenSignsSeriesOfDoubt extends Quest
} }
case 6: case 6:
{ {
if (st.hasQuestItems(JACOBS_NECKLACE)) if (hasQuestItems(player, JACOBS_NECKLACE))
{ {
htmltext = "30676-09.html"; htmltext = "30676-09.html";
} }
@@ -256,14 +256,14 @@ public final class Q00192_SevenSignsSeriesOfDoubt extends Quest
} }
case HECTOR: case HECTOR:
{ {
if (st.isCond(3)) if (qs.isCond(3))
{ {
if (st.hasQuestItems(CROOPS_INTRODUCTION)) if (hasQuestItems(player, CROOPS_INTRODUCTION))
{ {
htmltext = "30197-01.html"; htmltext = "30197-01.html";
} }
} }
else if (st.getCond() > 3) else if (qs.getCond() > 3)
{ {
htmltext = "30197-04.html"; htmltext = "30197-04.html";
} }
@@ -271,11 +271,11 @@ public final class Q00192_SevenSignsSeriesOfDoubt extends Quest
} }
case STAN: case STAN:
{ {
if (st.isCond(4)) if (qs.isCond(4))
{ {
htmltext = "30200-01.html"; htmltext = "30200-01.html";
} }
else if (st.getCond() > 4) else if (qs.getCond() > 4)
{ {
htmltext = "30200-05.html"; htmltext = "30200-05.html";
} }
@@ -283,11 +283,11 @@ public final class Q00192_SevenSignsSeriesOfDoubt extends Quest
} }
case UNIDENTIFIED_BODY: case UNIDENTIFIED_BODY:
{ {
if (st.isCond(5)) if (qs.isCond(5))
{ {
htmltext = "32568-01.html"; htmltext = "32568-01.html";
} }
else if (st.getCond() < 5) else if (qs.getCond() < 5)
{ {
htmltext = "32568-03.html"; htmltext = "32568-03.html";
} }
@@ -295,7 +295,7 @@ public final class Q00192_SevenSignsSeriesOfDoubt extends Quest
} }
case HOLLINT: case HOLLINT:
{ {
if (st.isCond(7) && st.hasQuestItems(CROOPS_LETTER)) if (qs.isCond(7) && hasQuestItems(player, CROOPS_LETTER))
{ {
htmltext = "30191-01.html"; htmltext = "30191-01.html";
} }

View File

@@ -75,8 +75,8 @@ public final class Q00193_SevenSignsDyingMessage extends Quest
return super.onAdvEvent(event, npc, player); return super.onAdvEvent(event, npc, player);
} }
final QuestState st = getQuestState(player, false); final QuestState qs = getQuestState(player, false);
if (st == null) if (qs == null)
{ {
return null; return null;
} }
@@ -86,8 +86,8 @@ public final class Q00193_SevenSignsDyingMessage extends Quest
{ {
case "30191-02.html": case "30191-02.html":
{ {
st.giveItems(JACOBS_NECKLACE, 1); giveItems(player, JACOBS_NECKLACE, 1);
st.startQuest(); qs.startQuest();
htmltext = event; htmltext = event;
break; break;
} }
@@ -95,7 +95,7 @@ public final class Q00193_SevenSignsDyingMessage extends Quest
case "32569-03.html": case "32569-03.html":
case "32569-04.html": case "32569-04.html":
{ {
if (st.isCond(1) && st.hasQuestItems(JACOBS_NECKLACE)) if (qs.isCond(1) && hasQuestItems(player, JACOBS_NECKLACE))
{ {
htmltext = event; htmltext = event;
} }
@@ -103,20 +103,20 @@ public final class Q00193_SevenSignsDyingMessage extends Quest
} }
case "32569-05.html": case "32569-05.html":
{ {
if (st.isCond(1) && st.hasQuestItems(JACOBS_NECKLACE)) if (qs.isCond(1) && hasQuestItems(player, JACOBS_NECKLACE))
{ {
st.takeItems(JACOBS_NECKLACE, -1); takeItems(player, JACOBS_NECKLACE, -1);
st.setCond(2, true); qs.setCond(2, true);
htmltext = event; htmltext = event;
} }
break; break;
} }
case "showmovie": case "showmovie":
{ {
if (st.isCond(3) && st.hasQuestItems(DEADMANS_HERB)) if (qs.isCond(3) && hasQuestItems(player, DEADMANS_HERB))
{ {
st.takeItems(DEADMANS_HERB, -1); takeItems(player, DEADMANS_HERB, -1);
st.setCond(4, true); qs.setCond(4, true);
player.showQuestMovie(9); player.showQuestMovie(9);
return ""; return "";
} }
@@ -125,7 +125,7 @@ public final class Q00193_SevenSignsDyingMessage extends Quest
case "32569-10.html": case "32569-10.html":
case "32569-11.html": case "32569-11.html":
{ {
if (st.isCond(5) && st.hasQuestItems(SCULPTURE_OF_DOUBT)) if (qs.isCond(5) && hasQuestItems(player, SCULPTURE_OF_DOUBT))
{ {
htmltext = event; htmltext = event;
} }
@@ -133,20 +133,20 @@ public final class Q00193_SevenSignsDyingMessage extends Quest
} }
case "32569-12.html": case "32569-12.html":
{ {
if (st.isCond(5) && st.hasQuestItems(SCULPTURE_OF_DOUBT)) if (qs.isCond(5) && hasQuestItems(player, SCULPTURE_OF_DOUBT))
{ {
st.takeItems(SCULPTURE_OF_DOUBT, -1); takeItems(player, SCULPTURE_OF_DOUBT, -1);
st.setCond(6, true); qs.setCond(6, true);
htmltext = event; htmltext = event;
} }
break; break;
} }
case "32570-02.html": case "32570-02.html":
{ {
if (st.isCond(2)) if (qs.isCond(2))
{ {
st.giveItems(DEADMANS_HERB, 1); giveItems(player, DEADMANS_HERB, 1);
st.setCond(3, true); qs.setCond(3, true);
htmltext = event; htmltext = event;
} }
break; break;
@@ -154,7 +154,7 @@ public final class Q00193_SevenSignsDyingMessage extends Quest
case "fight": case "fight":
{ {
htmltext = "32569-14.html"; htmltext = "32569-14.html";
if (st.isCond(4)) if (qs.isCond(4))
{ {
isBusy = true; isBusy = true;
final NpcSay ns = new NpcSay(npc.getObjectId(), ChatType.NPC_GENERAL, npc.getId(), NpcStringId.S1_THAT_STRANGER_MUST_BE_DEFEATED_HERE_IS_THE_ULTIMATE_HELP); final NpcSay ns = new NpcSay(npc.getObjectId(), ChatType.NPC_GENERAL, npc.getId(), NpcStringId.S1_THAT_STRANGER_MUST_BE_DEFEATED_HERE_IS_THE_ULTIMATE_HELP);
@@ -186,12 +186,12 @@ public final class Q00193_SevenSignsDyingMessage extends Quest
} }
case "reward": case "reward":
{ {
if (st.isCond(6)) if (qs.isCond(6))
{ {
if (player.getLevel() >= MIN_LEVEL) if (player.getLevel() >= MIN_LEVEL)
{ {
st.addExpAndSp(52518015, 5817677); addExpAndSp(player, 52518015, 5817677);
st.exitQuest(false, true); qs.exitQuest(false, true);
htmltext = "30760-02.html"; htmltext = "30760-02.html";
} }
else else
@@ -214,12 +214,12 @@ public final class Q00193_SevenSignsDyingMessage extends Quest
return null; return null;
} }
final QuestState st = getQuestState(partyMember, false); final QuestState qs = getQuestState(partyMember, false);
if (npc.isInsideRadius(partyMember, 1500, true, false)) if (npc.isInsideRadius(partyMember, 1500, true, false))
{ {
st.giveItems(SCULPTURE_OF_DOUBT, 1); giveItems(player, SCULPTURE_OF_DOUBT, 1);
st.playSound(QuestSound.ITEMSOUND_QUEST_FINISH); playSound(player, QuestSound.ITEMSOUND_QUEST_FINISH);
st.setCond(5); qs.setCond(5);
} }
isBusy = false; isBusy = false;
@@ -232,9 +232,9 @@ public final class Q00193_SevenSignsDyingMessage extends Quest
@Override @Override
public String onTalk(L2Npc npc, L2PcInstance player) public String onTalk(L2Npc npc, L2PcInstance player)
{ {
QuestState st = getQuestState(player, true); QuestState qs = getQuestState(player, true);
String htmltext = getNoQuestMsg(player); String htmltext = getNoQuestMsg(player);
switch (st.getState()) switch (qs.getState())
{ {
case State.COMPLETED: case State.COMPLETED:
{ {
@@ -245,8 +245,8 @@ public final class Q00193_SevenSignsDyingMessage extends Quest
{ {
if (npc.getId() == HOLLINT) if (npc.getId() == HOLLINT)
{ {
st = player.getQuestState(Q00192_SevenSignsSeriesOfDoubt.class.getSimpleName()); qs = player.getQuestState(Q00192_SevenSignsSeriesOfDoubt.class.getSimpleName());
htmltext = ((player.getLevel() >= MIN_LEVEL) && (st != null) && (st.isCompleted())) ? "30191-01.htm" : "30191-03.html"; htmltext = ((player.getLevel() >= MIN_LEVEL) && (qs != null) && (qs.isCompleted())) ? "30191-01.htm" : "30191-03.html";
} }
break; break;
} }
@@ -256,7 +256,7 @@ public final class Q00193_SevenSignsDyingMessage extends Quest
{ {
case HOLLINT: case HOLLINT:
{ {
if (st.isCond(1) && st.hasQuestItems(JACOBS_NECKLACE)) if (qs.isCond(1) && hasQuestItems(player, JACOBS_NECKLACE))
{ {
htmltext = "30191-04.html"; htmltext = "30191-04.html";
} }
@@ -264,11 +264,11 @@ public final class Q00193_SevenSignsDyingMessage extends Quest
} }
case CAIN: case CAIN:
{ {
switch (st.getCond()) switch (qs.getCond())
{ {
case 1: case 1:
{ {
if (st.hasQuestItems(JACOBS_NECKLACE)) if (hasQuestItems(player, JACOBS_NECKLACE))
{ {
htmltext = "32569-01.html"; htmltext = "32569-01.html";
} }
@@ -281,7 +281,7 @@ public final class Q00193_SevenSignsDyingMessage extends Quest
} }
case 3: case 3:
{ {
if (st.hasQuestItems(DEADMANS_HERB)) if (hasQuestItems(player, DEADMANS_HERB))
{ {
htmltext = "32569-07.html"; htmltext = "32569-07.html";
} }
@@ -301,7 +301,7 @@ public final class Q00193_SevenSignsDyingMessage extends Quest
} }
case 5: case 5:
{ {
if (st.hasQuestItems(SCULPTURE_OF_DOUBT)) if (hasQuestItems(player, SCULPTURE_OF_DOUBT))
{ {
htmltext = "32569-09.html"; htmltext = "32569-09.html";
} }
@@ -312,7 +312,7 @@ public final class Q00193_SevenSignsDyingMessage extends Quest
} }
case ERIC: case ERIC:
{ {
switch (st.getCond()) switch (qs.getCond())
{ {
case 2: case 2:
{ {
@@ -329,7 +329,7 @@ public final class Q00193_SevenSignsDyingMessage extends Quest
} }
case SIR_GUSTAV_ATHEBALDT: case SIR_GUSTAV_ATHEBALDT:
{ {
if (st.isCond(6)) if (qs.isCond(6))
{ {
htmltext = "30760-01.html"; htmltext = "30760-01.html";
} }

View File

@@ -62,8 +62,8 @@ public final class Q00194_SevenSignsMammonsContract extends Quest
@Override @Override
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
{ {
final QuestState st = getQuestState(player, false); final QuestState qs = getQuestState(player, false);
if (st == null) if (qs == null)
{ {
return null; return null;
} }
@@ -73,13 +73,13 @@ public final class Q00194_SevenSignsMammonsContract extends Quest
{ {
case "30760-02.html": case "30760-02.html":
{ {
st.startQuest(); qs.startQuest();
htmltext = event; htmltext = event;
break; break;
} }
case "30760-03.html": case "30760-03.html":
{ {
if (st.isCond(1)) if (qs.isCond(1))
{ {
htmltext = event; htmltext = event;
} }
@@ -87,18 +87,18 @@ public final class Q00194_SevenSignsMammonsContract extends Quest
} }
case "30760-04.html": case "30760-04.html":
{ {
if (st.isCond(1)) if (qs.isCond(1))
{ {
htmltext = event; htmltext = event;
st.playSound(QuestSound.ITEMSOUND_QUEST_MIDDLE); playSound(player, QuestSound.ITEMSOUND_QUEST_MIDDLE);
} }
break; break;
} }
case "showmovie": case "showmovie":
{ {
if (st.isCond(1)) if (qs.isCond(1))
{ {
st.setCond(2, true); qs.setCond(2, true);
player.showQuestMovie(10); player.showQuestMovie(10);
return ""; return "";
} }
@@ -106,10 +106,10 @@ public final class Q00194_SevenSignsMammonsContract extends Quest
} }
case "30760-07.html": case "30760-07.html":
{ {
if (st.isCond(2)) if (qs.isCond(2))
{ {
st.giveItems(ATHEBALDTS_INTRODUCTION, 1); giveItems(player, ATHEBALDTS_INTRODUCTION, 1);
st.setCond(3, true); qs.setCond(3, true);
htmltext = event; htmltext = event;
} }
break; break;
@@ -117,7 +117,7 @@ public final class Q00194_SevenSignsMammonsContract extends Quest
case "32571-03.html": case "32571-03.html":
case "32571-04.html": case "32571-04.html":
{ {
if (st.isCond(3) && st.hasQuestItems(ATHEBALDTS_INTRODUCTION)) if (qs.isCond(3) && hasQuestItems(player, ATHEBALDTS_INTRODUCTION))
{ {
htmltext = event; htmltext = event;
} }
@@ -125,19 +125,19 @@ public final class Q00194_SevenSignsMammonsContract extends Quest
} }
case "32571-05.html": case "32571-05.html":
{ {
if (st.isCond(3) && st.hasQuestItems(ATHEBALDTS_INTRODUCTION)) if (qs.isCond(3) && hasQuestItems(player, ATHEBALDTS_INTRODUCTION))
{ {
st.takeItems(ATHEBALDTS_INTRODUCTION, -1); takeItems(player, ATHEBALDTS_INTRODUCTION, -1);
npc.setTarget(player); npc.setTarget(player);
npc.doCast(TRANSFORMATION_FROG.getSkill()); npc.doCast(TRANSFORMATION_FROG.getSkill());
st.setCond(4, true); qs.setCond(4, true);
htmltext = event; htmltext = event;
} }
break; break;
} }
case "32571-07.html": case "32571-07.html":
{ {
if (st.isCond(4) && (player.getTransformationId() != 111) && !st.hasQuestItems(FROG_KINGS_BEAD)) if (qs.isCond(4) && (player.getTransformationId() != 111) && !hasQuestItems(player, FROG_KINGS_BEAD))
{ {
npc.setTarget(player); npc.setTarget(player);
npc.doCast(TRANSFORMATION_FROG.getSkill()); npc.doCast(TRANSFORMATION_FROG.getSkill());
@@ -147,7 +147,7 @@ public final class Q00194_SevenSignsMammonsContract extends Quest
} }
case "32571-09.html": case "32571-09.html":
{ {
if (st.isCond(4) && (player.getTransformationId() == 111) && !st.hasQuestItems(FROG_KINGS_BEAD)) if (qs.isCond(4) && (player.getTransformationId() == 111) && !hasQuestItems(player, FROG_KINGS_BEAD))
{ {
player.stopAllEffects(); player.stopAllEffects();
htmltext = event; htmltext = event;
@@ -156,10 +156,10 @@ public final class Q00194_SevenSignsMammonsContract extends Quest
} }
case "32571-11.html": case "32571-11.html":
{ {
if (st.isCond(5) && st.hasQuestItems(FROG_KINGS_BEAD)) if (qs.isCond(5) && hasQuestItems(player, FROG_KINGS_BEAD))
{ {
st.takeItems(FROG_KINGS_BEAD, -1); takeItems(player, FROG_KINGS_BEAD, -1);
st.setCond(6, true); qs.setCond(6, true);
htmltext = event; htmltext = event;
if (player.getTransformationId() == 111) if (player.getTransformationId() == 111)
{ {
@@ -170,18 +170,18 @@ public final class Q00194_SevenSignsMammonsContract extends Quest
} }
case "32571-13.html": case "32571-13.html":
{ {
if (st.isCond(6)) if (qs.isCond(6))
{ {
npc.setTarget(player); npc.setTarget(player);
npc.doCast(TRANSFORMATION_KID.getSkill()); npc.doCast(TRANSFORMATION_KID.getSkill());
st.setCond(7, true); qs.setCond(7, true);
htmltext = event; htmltext = event;
} }
break; break;
} }
case "32571-15.html": case "32571-15.html":
{ {
if (st.isCond(7) && (player.getTransformationId() != 112) && !st.hasQuestItems(GRANDA_TESS_CANDY_POUCH)) if (qs.isCond(7) && (player.getTransformationId() != 112) && !hasQuestItems(player, GRANDA_TESS_CANDY_POUCH))
{ {
npc.setTarget(player); npc.setTarget(player);
npc.doCast(TRANSFORMATION_KID.getSkill()); npc.doCast(TRANSFORMATION_KID.getSkill());
@@ -191,7 +191,7 @@ public final class Q00194_SevenSignsMammonsContract extends Quest
} }
case "32571-17.html": case "32571-17.html":
{ {
if (st.isCond(7) && (player.getTransformationId() == 112) && !st.hasQuestItems(GRANDA_TESS_CANDY_POUCH)) if (qs.isCond(7) && (player.getTransformationId() == 112) && !hasQuestItems(player, GRANDA_TESS_CANDY_POUCH))
{ {
player.stopAllEffects(); player.stopAllEffects();
htmltext = event; htmltext = event;
@@ -200,10 +200,10 @@ public final class Q00194_SevenSignsMammonsContract extends Quest
} }
case "32571-19.html": case "32571-19.html":
{ {
if (st.isCond(8) && st.hasQuestItems(GRANDA_TESS_CANDY_POUCH)) if (qs.isCond(8) && hasQuestItems(player, GRANDA_TESS_CANDY_POUCH))
{ {
st.takeItems(GRANDA_TESS_CANDY_POUCH, -1); takeItems(player, GRANDA_TESS_CANDY_POUCH, -1);
st.setCond(9, true); qs.setCond(9, true);
htmltext = event; htmltext = event;
if (player.getTransformationId() == 112) if (player.getTransformationId() == 112)
{ {
@@ -214,18 +214,18 @@ public final class Q00194_SevenSignsMammonsContract extends Quest
} }
case "32571-21.html": case "32571-21.html":
{ {
if (st.isCond(9)) if (qs.isCond(9))
{ {
npc.setTarget(player); npc.setTarget(player);
npc.doCast(TRANSFORMATION_NATIVE.getSkill()); npc.doCast(TRANSFORMATION_NATIVE.getSkill());
st.setCond(10, true); qs.setCond(10, true);
htmltext = event; htmltext = event;
} }
break; break;
} }
case "32571-23.html": case "32571-23.html":
{ {
if (st.isCond(10) && (player.getTransformationId() != 124) && !st.hasQuestItems(NATIVES_GLOVE)) if (qs.isCond(10) && (player.getTransformationId() != 124) && !hasQuestItems(player, NATIVES_GLOVE))
{ {
npc.setTarget(player); npc.setTarget(player);
npc.doCast(TRANSFORMATION_NATIVE.getSkill()); npc.doCast(TRANSFORMATION_NATIVE.getSkill());
@@ -235,7 +235,7 @@ public final class Q00194_SevenSignsMammonsContract extends Quest
} }
case "32571-25.html": case "32571-25.html":
{ {
if (st.isCond(10) && (player.getTransformationId() == 124) && !st.hasQuestItems(NATIVES_GLOVE)) if (qs.isCond(10) && (player.getTransformationId() == 124) && !hasQuestItems(player, NATIVES_GLOVE))
{ {
player.stopAllEffects(); player.stopAllEffects();
htmltext = event; htmltext = event;
@@ -244,10 +244,10 @@ public final class Q00194_SevenSignsMammonsContract extends Quest
} }
case "32571-27.html": case "32571-27.html":
{ {
if (st.isCond(11) && st.hasQuestItems(NATIVES_GLOVE)) if (qs.isCond(11) && hasQuestItems(player, NATIVES_GLOVE))
{ {
st.takeItems(NATIVES_GLOVE, -1); takeItems(player, NATIVES_GLOVE, -1);
st.setCond(12, true); qs.setCond(12, true);
htmltext = event; htmltext = event;
if (player.getTransformationId() == 124) if (player.getTransformationId() == 124)
{ {
@@ -259,7 +259,7 @@ public final class Q00194_SevenSignsMammonsContract extends Quest
case "32572-03.html": case "32572-03.html":
case "32572-04.html": case "32572-04.html":
{ {
if (st.isCond(4)) if (qs.isCond(4))
{ {
htmltext = event; htmltext = event;
} }
@@ -267,17 +267,17 @@ public final class Q00194_SevenSignsMammonsContract extends Quest
} }
case "32572-05.html": case "32572-05.html":
{ {
if (st.isCond(4)) if (qs.isCond(4))
{ {
st.giveItems(FROG_KINGS_BEAD, 1); giveItems(player, FROG_KINGS_BEAD, 1);
st.setCond(5, true); qs.setCond(5, true);
htmltext = event; htmltext = event;
} }
break; break;
} }
case "32573-03.html": case "32573-03.html":
{ {
if (st.isCond(7)) if (qs.isCond(7))
{ {
htmltext = event; htmltext = event;
} }
@@ -285,10 +285,10 @@ public final class Q00194_SevenSignsMammonsContract extends Quest
} }
case "32573-04.html": case "32573-04.html":
{ {
if (st.isCond(7)) if (qs.isCond(7))
{ {
st.giveItems(GRANDA_TESS_CANDY_POUCH, 1); giveItems(player, GRANDA_TESS_CANDY_POUCH, 1);
st.setCond(8, true); qs.setCond(8, true);
htmltext = event; htmltext = event;
} }
break; break;
@@ -296,7 +296,7 @@ public final class Q00194_SevenSignsMammonsContract extends Quest
case "32574-03.html": case "32574-03.html":
case "32574-04.html": case "32574-04.html":
{ {
if (st.isCond(10)) if (qs.isCond(10))
{ {
htmltext = event; htmltext = event;
} }
@@ -304,17 +304,17 @@ public final class Q00194_SevenSignsMammonsContract extends Quest
} }
case "32574-05.html": case "32574-05.html":
{ {
if (st.isCond(10)) if (qs.isCond(10))
{ {
st.giveItems(NATIVES_GLOVE, 1); giveItems(player, NATIVES_GLOVE, 1);
st.setCond(11, true); qs.setCond(11, true);
htmltext = event; htmltext = event;
} }
break; break;
} }
case "31001-02.html": case "31001-02.html":
{ {
if (st.isCond(12)) if (qs.isCond(12))
{ {
htmltext = event; htmltext = event;
} }
@@ -322,12 +322,12 @@ public final class Q00194_SevenSignsMammonsContract extends Quest
} }
case "31001-03.html": case "31001-03.html":
{ {
if (st.isCond(12)) if (qs.isCond(12))
{ {
if (player.getLevel() >= MIN_LEVEL) if (player.getLevel() >= MIN_LEVEL)
{ {
st.addExpAndSp(52518015, 5817677); addExpAndSp(player, 52518015, 5817677);
st.exitQuest(false, true); qs.exitQuest(false, true);
htmltext = event; htmltext = event;
} }
else else
@@ -344,9 +344,9 @@ public final class Q00194_SevenSignsMammonsContract extends Quest
@Override @Override
public String onTalk(L2Npc npc, L2PcInstance player) public String onTalk(L2Npc npc, L2PcInstance player)
{ {
QuestState st = getQuestState(player, true); QuestState qs = getQuestState(player, true);
String htmltext = getNoQuestMsg(player); String htmltext = getNoQuestMsg(player);
switch (st.getState()) switch (qs.getState())
{ {
case State.COMPLETED: case State.COMPLETED:
{ {
@@ -357,8 +357,8 @@ public final class Q00194_SevenSignsMammonsContract extends Quest
{ {
if (npc.getId() == SIR_GUSTAV_ATHEBALDT) if (npc.getId() == SIR_GUSTAV_ATHEBALDT)
{ {
st = player.getQuestState(Q00193_SevenSignsDyingMessage.class.getSimpleName()); qs = player.getQuestState(Q00193_SevenSignsDyingMessage.class.getSimpleName());
htmltext = ((player.getLevel() >= MIN_LEVEL) && (st != null) && st.isCompleted()) ? "30760-01.htm" : "30760-05.html"; htmltext = ((player.getLevel() >= MIN_LEVEL) && (qs != null) && qs.isCompleted()) ? "30760-01.htm" : "30760-05.html";
} }
break; break;
} }
@@ -368,15 +368,15 @@ public final class Q00194_SevenSignsMammonsContract extends Quest
{ {
case SIR_GUSTAV_ATHEBALDT: case SIR_GUSTAV_ATHEBALDT:
{ {
if (st.isCond(1)) if (qs.isCond(1))
{ {
htmltext = "30760-02.html"; htmltext = "30760-02.html";
} }
else if (st.isCond(2)) else if (qs.isCond(2))
{ {
htmltext = "30760-06.html"; htmltext = "30760-06.html";
} }
else if (st.isCond(3) && st.hasQuestItems(ATHEBALDTS_INTRODUCTION)) else if (qs.isCond(3) && hasQuestItems(player, ATHEBALDTS_INTRODUCTION))
{ {
htmltext = "30760-08.html"; htmltext = "30760-08.html";
} }
@@ -384,7 +384,7 @@ public final class Q00194_SevenSignsMammonsContract extends Quest
} }
case COLIN: case COLIN:
{ {
switch (st.getCond()) switch (qs.getCond())
{ {
case 1: case 1:
case 2: case 2:
@@ -394,7 +394,7 @@ public final class Q00194_SevenSignsMammonsContract extends Quest
} }
case 3: case 3:
{ {
if (st.hasQuestItems(ATHEBALDTS_INTRODUCTION)) if (hasQuestItems(player, ATHEBALDTS_INTRODUCTION))
{ {
htmltext = "32571-02.html"; htmltext = "32571-02.html";
} }
@@ -402,7 +402,7 @@ public final class Q00194_SevenSignsMammonsContract extends Quest
} }
case 4: case 4:
{ {
if (!st.hasQuestItems(FROG_KINGS_BEAD)) if (!hasQuestItems(player, FROG_KINGS_BEAD))
{ {
htmltext = (player.getTransformationId() != 111) ? "32571-06.html" : "32571-08.html"; htmltext = (player.getTransformationId() != 111) ? "32571-06.html" : "32571-08.html";
} }
@@ -410,7 +410,7 @@ public final class Q00194_SevenSignsMammonsContract extends Quest
} }
case 5: case 5:
{ {
if (st.hasQuestItems(FROG_KINGS_BEAD)) if (hasQuestItems(player, FROG_KINGS_BEAD))
{ {
htmltext = "32571-10.html"; htmltext = "32571-10.html";
} }
@@ -423,7 +423,7 @@ public final class Q00194_SevenSignsMammonsContract extends Quest
} }
case 7: case 7:
{ {
if (!st.hasQuestItems(GRANDA_TESS_CANDY_POUCH)) if (!hasQuestItems(player, GRANDA_TESS_CANDY_POUCH))
{ {
htmltext = (player.getTransformationId() != 112) ? "32571-14.html" : "32571-16.html"; htmltext = (player.getTransformationId() != 112) ? "32571-14.html" : "32571-16.html";
} }
@@ -431,7 +431,7 @@ public final class Q00194_SevenSignsMammonsContract extends Quest
} }
case 8: case 8:
{ {
if (st.hasQuestItems(GRANDA_TESS_CANDY_POUCH)) if (hasQuestItems(player, GRANDA_TESS_CANDY_POUCH))
{ {
htmltext = "32571-18.html"; htmltext = "32571-18.html";
} }
@@ -444,7 +444,7 @@ public final class Q00194_SevenSignsMammonsContract extends Quest
} }
case 10: case 10:
{ {
if (!st.hasQuestItems(NATIVES_GLOVE)) if (!hasQuestItems(player, NATIVES_GLOVE))
{ {
htmltext = (player.getTransformationId() != 124) ? "32571-22.html" : "32571-24.html"; htmltext = (player.getTransformationId() != 124) ? "32571-22.html" : "32571-24.html";
} }
@@ -452,7 +452,7 @@ public final class Q00194_SevenSignsMammonsContract extends Quest
} }
case 11: case 11:
{ {
if (st.hasQuestItems(NATIVES_GLOVE)) if (hasQuestItems(player, NATIVES_GLOVE))
{ {
htmltext = "32571-26.html"; htmltext = "32571-26.html";
} }
@@ -468,7 +468,7 @@ public final class Q00194_SevenSignsMammonsContract extends Quest
} }
case FROG: case FROG:
{ {
switch (st.getCond()) switch (qs.getCond())
{ {
case 1: case 1:
case 2: case 2:
@@ -484,7 +484,7 @@ public final class Q00194_SevenSignsMammonsContract extends Quest
} }
case 5: case 5:
{ {
if (st.hasQuestItems(FROG_KINGS_BEAD) && (player.getTransformationId() == 111)) if (hasQuestItems(player, FROG_KINGS_BEAD) && (player.getTransformationId() == 111))
{ {
htmltext = "32572-07.html"; htmltext = "32572-07.html";
} }
@@ -495,7 +495,7 @@ public final class Q00194_SevenSignsMammonsContract extends Quest
} }
case TESS: case TESS:
{ {
switch (st.getCond()) switch (qs.getCond())
{ {
case 1: case 1:
case 2: case 2:
@@ -514,7 +514,7 @@ public final class Q00194_SevenSignsMammonsContract extends Quest
} }
case 8: case 8:
{ {
if (st.hasQuestItems(GRANDA_TESS_CANDY_POUCH) && (player.getTransformationId() == 112)) if (hasQuestItems(player, GRANDA_TESS_CANDY_POUCH) && (player.getTransformationId() == 112))
{ {
htmltext = "32573-06.html"; htmltext = "32573-06.html";
} }
@@ -525,7 +525,7 @@ public final class Q00194_SevenSignsMammonsContract extends Quest
} }
case KUTA: case KUTA:
{ {
switch (st.getCond()) switch (qs.getCond())
{ {
case 1: case 1:
case 2: case 2:
@@ -547,7 +547,7 @@ public final class Q00194_SevenSignsMammonsContract extends Quest
} }
case 11: case 11:
{ {
if (st.hasQuestItems(NATIVES_GLOVE) && (player.getTransformationId() == 124)) if (hasQuestItems(player, NATIVES_GLOVE) && (player.getTransformationId() == 124))
{ {
htmltext = "32574-07.html"; htmltext = "32574-07.html";
} }
@@ -558,7 +558,7 @@ public final class Q00194_SevenSignsMammonsContract extends Quest
} }
case CLAUDIA_ATHEBALDT: case CLAUDIA_ATHEBALDT:
{ {
if (st.isCond(12)) if (qs.isCond(12))
{ {
htmltext = "31001-01.html"; htmltext = "31001-01.html";
} }

View File

@@ -62,8 +62,8 @@ public final class Q00195_SevenSignsSecretRitualOfThePriests extends Quest
@Override @Override
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
{ {
final QuestState st = getQuestState(player, false); final QuestState qs = getQuestState(player, false);
if (st == null) if (qs == null)
{ {
return null; return null;
} }
@@ -81,16 +81,16 @@ public final class Q00195_SevenSignsSecretRitualOfThePriests extends Quest
} }
case "31001-06.html": case "31001-06.html":
{ {
st.startQuest(); qs.startQuest();
htmltext = event; htmltext = event;
break; break;
} }
case "32576-02.html": case "32576-02.html":
{ {
if (st.isCond(1)) if (qs.isCond(1))
{ {
st.giveItems(IDENTITY_CARD, 1); giveItems(player, IDENTITY_CARD, 1);
st.setCond(2, true); qs.setCond(2, true);
htmltext = event; htmltext = event;
} }
break; break;
@@ -99,7 +99,7 @@ public final class Q00195_SevenSignsSecretRitualOfThePriests extends Quest
case "30289-03.html": case "30289-03.html":
case "30289-05.html": case "30289-05.html":
{ {
if (st.isCond(2)) if (qs.isCond(2))
{ {
htmltext = event; htmltext = event;
} }
@@ -107,18 +107,18 @@ public final class Q00195_SevenSignsSecretRitualOfThePriests extends Quest
} }
case "30289-04.html": case "30289-04.html":
{ {
if (st.isCond(2)) if (qs.isCond(2))
{ {
npc.setTarget(player); npc.setTarget(player);
npc.doCast(TRANSFORMATION.getSkill()); npc.doCast(TRANSFORMATION.getSkill());
st.setCond(3, true); qs.setCond(3, true);
htmltext = event; htmltext = event;
} }
break; break;
} }
case "30289-07.html": case "30289-07.html":
{ {
if (st.isCond(3)) if (qs.isCond(3))
{ {
htmltext = event; htmltext = event;
} }
@@ -126,10 +126,10 @@ public final class Q00195_SevenSignsSecretRitualOfThePriests extends Quest
} }
case "30289-08.html": case "30289-08.html":
{ {
if (st.isCond(3) && st.hasQuestItems(IDENTITY_CARD) && st.hasQuestItems(SHUNAIMANS_CONTRACT)) if (qs.isCond(3) && hasQuestItems(player, IDENTITY_CARD) && hasQuestItems(player, SHUNAIMANS_CONTRACT))
{ {
st.takeItems(IDENTITY_CARD, -1); takeItems(player, IDENTITY_CARD, -1);
st.setCond(4, true); qs.setCond(4, true);
htmltext = event; htmltext = event;
if (player.getTransformationId() == 113) if (player.getTransformationId() == 113)
{ {
@@ -141,7 +141,7 @@ public final class Q00195_SevenSignsSecretRitualOfThePriests extends Quest
} }
case "30289-10.html": case "30289-10.html":
{ {
if (st.isCond(3)) if (qs.isCond(3))
{ {
npc.setTarget(player); npc.setTarget(player);
npc.doCast(TRANSFORMATION.getSkill()); npc.doCast(TRANSFORMATION.getSkill());
@@ -151,7 +151,7 @@ public final class Q00195_SevenSignsSecretRitualOfThePriests extends Quest
} }
case "30289-11.html": case "30289-11.html":
{ {
if (st.isCond(3)) if (qs.isCond(3))
{ {
// player.doCast(TRANSFORM_DISPEL.getSkill()); // player.doCast(TRANSFORM_DISPEL.getSkill());
player.stopAllEffects(); player.stopAllEffects();
@@ -161,7 +161,7 @@ public final class Q00195_SevenSignsSecretRitualOfThePriests extends Quest
} }
case "30969-02.html": case "30969-02.html":
{ {
if (st.isCond(4) && st.hasQuestItems(SHUNAIMANS_CONTRACT)) if (qs.isCond(4) && hasQuestItems(player, SHUNAIMANS_CONTRACT))
{ {
htmltext = event; htmltext = event;
} }
@@ -169,12 +169,12 @@ public final class Q00195_SevenSignsSecretRitualOfThePriests extends Quest
} }
case "reward": case "reward":
{ {
if (st.isCond(4) && st.hasQuestItems(SHUNAIMANS_CONTRACT)) if (qs.isCond(4) && hasQuestItems(player, SHUNAIMANS_CONTRACT))
{ {
if (player.getLevel() >= MIN_LEVEL) if (player.getLevel() >= MIN_LEVEL)
{ {
st.addExpAndSp(52518015, 5817677); addExpAndSp(player, 52518015, 5817677);
st.exitQuest(false, true); qs.exitQuest(false, true);
htmltext = "30969-03.html"; htmltext = "30969-03.html";
} }
else else
@@ -221,9 +221,9 @@ public final class Q00195_SevenSignsSecretRitualOfThePriests extends Quest
@Override @Override
public String onTalk(L2Npc npc, L2PcInstance player) public String onTalk(L2Npc npc, L2PcInstance player)
{ {
QuestState st = getQuestState(player, true); QuestState qs = getQuestState(player, true);
String htmltext = getNoQuestMsg(player); String htmltext = getNoQuestMsg(player);
switch (st.getState()) switch (qs.getState())
{ {
case State.COMPLETED: case State.COMPLETED:
{ {
@@ -234,8 +234,8 @@ public final class Q00195_SevenSignsSecretRitualOfThePriests extends Quest
{ {
if (npc.getId() == CLAUDIA_ATHEBALDT) if (npc.getId() == CLAUDIA_ATHEBALDT)
{ {
st = player.getQuestState(Q00194_SevenSignsMammonsContract.class.getSimpleName()); qs = player.getQuestState(Q00194_SevenSignsMammonsContract.class.getSimpleName());
htmltext = ((player.getLevel() >= MIN_LEVEL) && (st != null) && (st.isCompleted())) ? "31001-01.htm" : "31001-02.html"; htmltext = ((player.getLevel() >= MIN_LEVEL) && (qs != null) && (qs.isCompleted())) ? "31001-01.htm" : "31001-02.html";
} }
break; break;
} }
@@ -245,7 +245,7 @@ public final class Q00195_SevenSignsSecretRitualOfThePriests extends Quest
{ {
case CLAUDIA_ATHEBALDT: case CLAUDIA_ATHEBALDT:
{ {
if (st.isCond(1)) if (qs.isCond(1))
{ {
htmltext = "31001-07.html"; htmltext = "31001-07.html";
} }
@@ -253,7 +253,7 @@ public final class Q00195_SevenSignsSecretRitualOfThePriests extends Quest
} }
case JOHN: case JOHN:
{ {
switch (st.getCond()) switch (qs.getCond())
{ {
case 1: case 1:
{ {
@@ -270,11 +270,11 @@ public final class Q00195_SevenSignsSecretRitualOfThePriests extends Quest
} }
case RAYMOND: case RAYMOND:
{ {
switch (st.getCond()) switch (qs.getCond())
{ {
case 2: case 2:
{ {
if (st.hasQuestItems(IDENTITY_CARD) && (player.getTransformationId() != 113)) if (hasQuestItems(player, IDENTITY_CARD) && (player.getTransformationId() != 113))
{ {
htmltext = "30289-01.html"; htmltext = "30289-01.html";
} }
@@ -282,9 +282,9 @@ public final class Q00195_SevenSignsSecretRitualOfThePriests extends Quest
} }
case 3: case 3:
{ {
if (st.hasQuestItems(IDENTITY_CARD)) if (hasQuestItems(player, IDENTITY_CARD))
{ {
htmltext = st.hasQuestItems(SHUNAIMANS_CONTRACT) ? "30289-06.html" : "30289-09.html"; htmltext = hasQuestItems(player, SHUNAIMANS_CONTRACT) ? "30289-06.html" : "30289-09.html";
} }
break; break;
} }
@@ -298,9 +298,9 @@ public final class Q00195_SevenSignsSecretRitualOfThePriests extends Quest
} }
case LIGHT_OF_DAWN: case LIGHT_OF_DAWN:
{ {
if (st.isCond(3)) if (qs.isCond(3))
{ {
if (st.hasQuestItems(IDENTITY_CARD)) if (hasQuestItems(player, IDENTITY_CARD))
{ {
htmltext = "31001-07.html"; htmltext = "31001-07.html";
} }
@@ -309,7 +309,7 @@ public final class Q00195_SevenSignsSecretRitualOfThePriests extends Quest
} }
case PASSWORD_ENTRY_DEVICE: case PASSWORD_ENTRY_DEVICE:
{ {
if (st.isCond(3) && st.hasQuestItems(IDENTITY_CARD)) if (qs.isCond(3) && hasQuestItems(player, IDENTITY_CARD))
{ {
htmltext = "32577-02.html"; htmltext = "32577-02.html";
player.teleToLocation(-78240, 205858, -7856); player.teleToLocation(-78240, 205858, -7856);
@@ -318,16 +318,16 @@ public final class Q00195_SevenSignsSecretRitualOfThePriests extends Quest
} }
case SHELF: case SHELF:
{ {
if (st.isCond(3) && !st.hasQuestItems(SHUNAIMANS_CONTRACT)) if (qs.isCond(3) && !hasQuestItems(player, SHUNAIMANS_CONTRACT))
{ {
st.giveItems(SHUNAIMANS_CONTRACT, 1); giveItems(player, SHUNAIMANS_CONTRACT, 1);
htmltext = "32580-02.html"; htmltext = "32580-02.html";
} }
break; break;
} }
case DARKNESS_OF_DAWN: case DARKNESS_OF_DAWN:
{ {
if (st.isCond(3) && !st.hasQuestItems(SHUNAIMANS_CONTRACT)) if (qs.isCond(3) && !hasQuestItems(player, SHUNAIMANS_CONTRACT))
{ {
htmltext = "32579-02.html"; htmltext = "32579-02.html";
} }
@@ -335,7 +335,7 @@ public final class Q00195_SevenSignsSecretRitualOfThePriests extends Quest
} }
case IASON_HEINE: case IASON_HEINE:
{ {
if (st.isCond(4) && st.hasQuestItems(SHUNAIMANS_CONTRACT)) if (qs.isCond(4) && hasQuestItems(player, SHUNAIMANS_CONTRACT))
{ {
htmltext = "30969-01.html"; htmltext = "30969-01.html";
} }

View File

@@ -69,8 +69,8 @@ public final class Q00196_SevenSignsSealOfTheEmperor extends Quest
return super.onAdvEvent(event, npc, player); return super.onAdvEvent(event, npc, player);
} }
final QuestState st = getQuestState(player, false); final QuestState qs = getQuestState(player, false);
if (st == null) if (qs == null)
{ {
return null; return null;
} }
@@ -87,13 +87,13 @@ public final class Q00196_SevenSignsSealOfTheEmperor extends Quest
} }
case "30969-05.html": case "30969-05.html":
{ {
st.startQuest(); qs.startQuest();
htmltext = event; htmltext = event;
break; break;
} }
case "ssq_mammon": case "ssq_mammon":
{ {
if (st.isCond(1)) if (qs.isCond(1))
{ {
if (!isBusy) if (!isBusy)
{ {
@@ -113,7 +113,7 @@ public final class Q00196_SevenSignsSealOfTheEmperor extends Quest
} }
case "30969-13.html": case "30969-13.html":
{ {
if (st.isCond(5)) if (qs.isCond(5))
{ {
htmltext = event; htmltext = event;
} }
@@ -121,9 +121,9 @@ public final class Q00196_SevenSignsSealOfTheEmperor extends Quest
} }
case "30969-14.html": case "30969-14.html":
{ {
if (st.isCond(5)) if (qs.isCond(5))
{ {
st.setCond(6, true); qs.setCond(6, true);
htmltext = event; htmltext = event;
} }
break; break;
@@ -132,7 +132,7 @@ public final class Q00196_SevenSignsSealOfTheEmperor extends Quest
case "32584-03.html": case "32584-03.html":
case "32584-04.html": case "32584-04.html":
{ {
if (st.isCond(1)) if (qs.isCond(1))
{ {
htmltext = event; htmltext = event;
} }
@@ -140,9 +140,9 @@ public final class Q00196_SevenSignsSealOfTheEmperor extends Quest
} }
case "32584-05.html": case "32584-05.html":
{ {
if (st.isCond(1)) if (qs.isCond(1))
{ {
st.setCond(2, true); qs.setCond(2, true);
htmltext = event; htmltext = event;
cancelQuestTimers("DESPAWN"); cancelQuestTimers("DESPAWN");
npc.deleteMe(); npc.deleteMe();
@@ -155,7 +155,7 @@ public final class Q00196_SevenSignsSealOfTheEmperor extends Quest
case "32586-04.html": case "32586-04.html":
case "32586-06.html": case "32586-06.html":
{ {
if (st.isCond(3)) if (qs.isCond(3))
{ {
htmltext = event; htmltext = event;
} }
@@ -163,11 +163,11 @@ public final class Q00196_SevenSignsSealOfTheEmperor extends Quest
} }
case "32586-07.html": case "32586-07.html":
{ {
if (st.isCond(3)) if (qs.isCond(3))
{ {
giveItems(player, ELMOREDEN_HOLY_WATER, 1); giveItems(player, ELMOREDEN_HOLY_WATER, 1);
giveItems(player, SACRED_SWORD_OF_EINHASAD, 1); giveItems(player, SACRED_SWORD_OF_EINHASAD, 1);
st.setCond(4, true); qs.setCond(4, true);
player.sendPacket(SystemMessageId.BY_USING_THE_SKILL_OF_EINHASAD_S_HOLY_SWORD_DEFEAT_THE_EVIL_LILIMS); player.sendPacket(SystemMessageId.BY_USING_THE_SKILL_OF_EINHASAD_S_HOLY_SWORD_DEFEAT_THE_EVIL_LILIMS);
player.sendPacket(SystemMessageId.BY_USING_THE_HOLY_WATER_OF_EINHASAD_OPEN_THE_DOOR_POSSESSED_BY_THE_CURSE_OF_FLAMES); player.sendPacket(SystemMessageId.BY_USING_THE_HOLY_WATER_OF_EINHASAD_OPEN_THE_DOOR_POSSESSED_BY_THE_CURSE_OF_FLAMES);
htmltext = event; htmltext = event;
@@ -178,7 +178,7 @@ public final class Q00196_SevenSignsSealOfTheEmperor extends Quest
case "32586-12.html": case "32586-12.html":
case "32586-13.html": case "32586-13.html":
{ {
if (st.isCond(4) && (getQuestItemsCount(player, SEAL_OF_BINDING) >= 4)) if (qs.isCond(4) && (getQuestItemsCount(player, SEAL_OF_BINDING) >= 4))
{ {
htmltext = event; htmltext = event;
} }
@@ -186,22 +186,22 @@ public final class Q00196_SevenSignsSealOfTheEmperor extends Quest
} }
case "32586-14.html": case "32586-14.html":
{ {
if (st.isCond(4) && (getQuestItemsCount(player, SEAL_OF_BINDING) >= 4)) if (qs.isCond(4) && (getQuestItemsCount(player, SEAL_OF_BINDING) >= 4))
{ {
takeItems(player, -1, ELMOREDEN_HOLY_WATER, COURT_MAGICIANS_MAGIC_STAFF, SEAL_OF_BINDING, SACRED_SWORD_OF_EINHASAD); takeItems(player, -1, ELMOREDEN_HOLY_WATER, COURT_MAGICIANS_MAGIC_STAFF, SEAL_OF_BINDING, SACRED_SWORD_OF_EINHASAD);
st.setCond(5, true); qs.setCond(5, true);
htmltext = event; htmltext = event;
} }
break; break;
} }
case "finish": case "finish":
{ {
if (st.isCond(6)) if (qs.isCond(6))
{ {
if (player.getLevel() >= MIN_LEVEL) if (player.getLevel() >= MIN_LEVEL)
{ {
addExpAndSp(player, 52518015, 5817677); addExpAndSp(player, 52518015, 5817677);
st.exitQuest(false, true); qs.exitQuest(false, true);
htmltext = "32593-02.html"; htmltext = "32593-02.html";
} }
else else
@@ -213,7 +213,7 @@ public final class Q00196_SevenSignsSealOfTheEmperor extends Quest
} }
case "32598-02.html": case "32598-02.html":
{ {
if (st.isCond(3) || st.isCond(4)) if (qs.isCond(3) || qs.isCond(4))
{ {
giveItems(player, COURT_MAGICIANS_MAGIC_STAFF, 1); giveItems(player, COURT_MAGICIANS_MAGIC_STAFF, 1);
htmltext = event; htmltext = event;
@@ -233,9 +233,9 @@ public final class Q00196_SevenSignsSealOfTheEmperor extends Quest
@Override @Override
public String onTalk(L2Npc npc, L2PcInstance player) public String onTalk(L2Npc npc, L2PcInstance player)
{ {
QuestState st = getQuestState(player, true); QuestState qs = getQuestState(player, true);
String htmltext = getNoQuestMsg(player); String htmltext = getNoQuestMsg(player);
switch (st.getState()) switch (qs.getState())
{ {
case State.COMPLETED: case State.COMPLETED:
{ {
@@ -246,8 +246,8 @@ public final class Q00196_SevenSignsSealOfTheEmperor extends Quest
{ {
if (npc.getId() == IASON_HEINE) if (npc.getId() == IASON_HEINE)
{ {
st = player.getQuestState(Q00195_SevenSignsSecretRitualOfThePriests.class.getSimpleName()); qs = player.getQuestState(Q00195_SevenSignsSecretRitualOfThePriests.class.getSimpleName());
htmltext = ((player.getLevel() >= MIN_LEVEL) && (st != null) && (st.isCompleted())) ? "30969-01.htm" : "30969-08.html"; htmltext = ((player.getLevel() >= MIN_LEVEL) && (qs != null) && (qs.isCompleted())) ? "30969-01.htm" : "30969-08.html";
} }
break; break;
} }
@@ -257,7 +257,7 @@ public final class Q00196_SevenSignsSealOfTheEmperor extends Quest
{ {
case IASON_HEINE: case IASON_HEINE:
{ {
switch (st.getCond()) switch (qs.getCond())
{ {
case 1: case 1:
{ {
@@ -266,7 +266,7 @@ public final class Q00196_SevenSignsSealOfTheEmperor extends Quest
} }
case 2: case 2:
{ {
st.setCond(3, true); qs.setCond(3, true);
npc.setScriptValue(0); npc.setScriptValue(0);
htmltext = "30969-10.html"; htmltext = "30969-10.html";
break; break;
@@ -292,7 +292,7 @@ public final class Q00196_SevenSignsSealOfTheEmperor extends Quest
} }
case MERCHANT_OF_MAMMON: case MERCHANT_OF_MAMMON:
{ {
if (st.isCond(1)) if (qs.isCond(1))
{ {
if (npc.isScriptValue(0)) if (npc.isScriptValue(0))
{ {
@@ -304,7 +304,7 @@ public final class Q00196_SevenSignsSealOfTheEmperor extends Quest
} }
case SHUNAIMAN: case SHUNAIMAN:
{ {
switch (st.getCond()) switch (qs.getCond())
{ {
case 3: case 3:
{ {
@@ -348,7 +348,7 @@ public final class Q00196_SevenSignsSealOfTheEmperor extends Quest
} }
case WOOD: case WOOD:
{ {
if (st.isCond(6)) if (qs.isCond(6))
{ {
htmltext = "32593-01.html"; htmltext = "32593-01.html";
} }
@@ -356,7 +356,7 @@ public final class Q00196_SevenSignsSealOfTheEmperor extends Quest
} }
case COURT_MAGICIAN: case COURT_MAGICIAN:
{ {
if (st.isCond(3) || st.isCond(4)) if (qs.isCond(3) || qs.isCond(4))
{ {
htmltext = (!hasQuestItems(player, COURT_MAGICIANS_MAGIC_STAFF)) ? "32598-01.html" : "32598-03.html"; htmltext = (!hasQuestItems(player, COURT_MAGICIANS_MAGIC_STAFF)) ? "32598-01.html" : "32598-03.html";
player.sendPacket(SystemMessageId.BY_USING_THE_COURT_WIZARD_S_MAGIC_STAFF_OPEN_THE_DOOR_ON_WHICH_THE_MAGICIAN_S_BARRIER_IS_PLACED); player.sendPacket(SystemMessageId.BY_USING_THE_COURT_WIZARD_S_MAGIC_STAFF_OPEN_THE_DOOR_ON_WHICH_THE_MAGICIAN_S_BARRIER_IS_PLACED);

View File

@@ -72,8 +72,8 @@ public final class Q00197_SevenSignsTheSacredBookOfSeal extends Quest
return super.onAdvEvent(event, npc, player); return super.onAdvEvent(event, npc, player);
} }
final QuestState st = getQuestState(player, false); final QuestState qs = getQuestState(player, false);
if (st == null) if (qs == null)
{ {
return null; return null;
} }
@@ -89,13 +89,13 @@ public final class Q00197_SevenSignsTheSacredBookOfSeal extends Quest
} }
case "32593-04.html": case "32593-04.html":
{ {
st.startQuest(); qs.startQuest();
htmltext = event; htmltext = event;
break; break;
} }
case "32593-08.html": case "32593-08.html":
{ {
if (st.isCond(6) && st.hasQuestItems(MYSTERIOUS_HAND_WRITTEN_TEXT, SCULPTURE_OF_DOUBT)) if (qs.isCond(6) && hasQuestItems(player, MYSTERIOUS_HAND_WRITTEN_TEXT, SCULPTURE_OF_DOUBT))
{ {
htmltext = event; htmltext = event;
} }
@@ -103,12 +103,12 @@ public final class Q00197_SevenSignsTheSacredBookOfSeal extends Quest
} }
case "32593-09.html": case "32593-09.html":
{ {
if (st.isCond(6)) if (qs.isCond(6))
{ {
if (player.getLevel() >= MIN_LEVEL) if (player.getLevel() >= MIN_LEVEL)
{ {
st.addExpAndSp(52518015, 5817677); addExpAndSp(player, 52518015, 5817677);
st.exitQuest(false, true); qs.exitQuest(false, true);
htmltext = event; htmltext = event;
} }
else else
@@ -121,7 +121,7 @@ public final class Q00197_SevenSignsTheSacredBookOfSeal extends Quest
case "30857-02.html": case "30857-02.html":
case "30857-03.html": case "30857-03.html":
{ {
if (st.isCond(1)) if (qs.isCond(1))
{ {
htmltext = event; htmltext = event;
} }
@@ -129,16 +129,16 @@ public final class Q00197_SevenSignsTheSacredBookOfSeal extends Quest
} }
case "30857-04.html": case "30857-04.html":
{ {
if (st.isCond(1)) if (qs.isCond(1))
{ {
st.setCond(2, true); qs.setCond(2, true);
htmltext = event; htmltext = event;
} }
break; break;
} }
case "32594-02.html": case "32594-02.html":
{ {
if (st.isCond(2)) if (qs.isCond(2))
{ {
htmltext = event; htmltext = event;
} }
@@ -146,9 +146,9 @@ public final class Q00197_SevenSignsTheSacredBookOfSeal extends Quest
} }
case "32594-03.html": case "32594-03.html":
{ {
if (st.isCond(2)) if (qs.isCond(2))
{ {
st.setCond(3, true); qs.setCond(3, true);
htmltext = event; htmltext = event;
} }
break; break;
@@ -156,7 +156,7 @@ public final class Q00197_SevenSignsTheSacredBookOfSeal extends Quest
case "32595-02.html": case "32595-02.html":
case "32595-03.html": case "32595-03.html":
{ {
if (st.isCond(3)) if (qs.isCond(3))
{ {
htmltext = event; htmltext = event;
} }
@@ -164,7 +164,7 @@ public final class Q00197_SevenSignsTheSacredBookOfSeal extends Quest
} }
case "32595-04.html": case "32595-04.html":
{ {
if (st.isCond(3)) if (qs.isCond(3))
{ {
isBusy = true; isBusy = true;
npc.broadcastPacket(new NpcSay(npc.getObjectId(), ChatType.NPC_GENERAL, npc.getId(), NpcStringId.S1_THAT_STRANGER_MUST_BE_DEFEATED_HERE_IS_THE_ULTIMATE_HELP).addStringParameter(player.getName())); npc.broadcastPacket(new NpcSay(npc.getObjectId(), ChatType.NPC_GENERAL, npc.getId(), NpcStringId.S1_THAT_STRANGER_MUST_BE_DEFEATED_HERE_IS_THE_ULTIMATE_HELP).addStringParameter(player.getName()));
@@ -179,7 +179,7 @@ public final class Q00197_SevenSignsTheSacredBookOfSeal extends Quest
case "32595-07.html": case "32595-07.html":
case "32595-08.html": case "32595-08.html":
{ {
if (st.isCond(4) && st.hasQuestItems(SCULPTURE_OF_DOUBT)) if (qs.isCond(4) && hasQuestItems(player, SCULPTURE_OF_DOUBT))
{ {
htmltext = event; htmltext = event;
} }
@@ -187,9 +187,9 @@ public final class Q00197_SevenSignsTheSacredBookOfSeal extends Quest
} }
case "32595-09.html": case "32595-09.html":
{ {
if (st.isCond(4) && st.hasQuestItems(SCULPTURE_OF_DOUBT)) if (qs.isCond(4) && hasQuestItems(player, SCULPTURE_OF_DOUBT))
{ {
st.setCond(5, true); qs.setCond(5, true);
htmltext = event; htmltext = event;
} }
break; break;
@@ -197,7 +197,7 @@ public final class Q00197_SevenSignsTheSacredBookOfSeal extends Quest
case "32596-02.html": case "32596-02.html":
case "32596-03.html": case "32596-03.html":
{ {
if (st.isCond(5) && st.hasQuestItems(SCULPTURE_OF_DOUBT)) if (qs.isCond(5) && hasQuestItems(player, SCULPTURE_OF_DOUBT))
{ {
htmltext = event; htmltext = event;
} }
@@ -205,10 +205,10 @@ public final class Q00197_SevenSignsTheSacredBookOfSeal extends Quest
} }
case "32596-04.html": case "32596-04.html":
{ {
if (st.isCond(5) && st.hasQuestItems(SCULPTURE_OF_DOUBT)) if (qs.isCond(5) && hasQuestItems(player, SCULPTURE_OF_DOUBT))
{ {
st.giveItems(MYSTERIOUS_HAND_WRITTEN_TEXT, 1); giveItems(player, MYSTERIOUS_HAND_WRITTEN_TEXT, 1);
st.setCond(6, true); qs.setCond(6, true);
htmltext = event; htmltext = event;
} }
break; break;
@@ -226,12 +226,12 @@ public final class Q00197_SevenSignsTheSacredBookOfSeal extends Quest
return null; return null;
} }
final QuestState st = getQuestState(partyMember, false); final QuestState qs = getQuestState(partyMember, false);
if (npc.isInsideRadius(partyMember, 1500, true, false)) if (npc.isInsideRadius(partyMember, 1500, true, false))
{ {
st.giveItems(SCULPTURE_OF_DOUBT, 1); giveItems(player, SCULPTURE_OF_DOUBT, 1);
st.playSound(QuestSound.ITEMSOUND_QUEST_FINISH); playSound(player, QuestSound.ITEMSOUND_QUEST_FINISH);
st.setCond(4); qs.setCond(4);
} }
isBusy = false; isBusy = false;
@@ -243,9 +243,9 @@ public final class Q00197_SevenSignsTheSacredBookOfSeal extends Quest
@Override @Override
public String onTalk(L2Npc npc, L2PcInstance player) public String onTalk(L2Npc npc, L2PcInstance player)
{ {
QuestState st = getQuestState(player, true); QuestState qs = getQuestState(player, true);
String htmltext = getNoQuestMsg(player); String htmltext = getNoQuestMsg(player);
switch (st.getState()) switch (qs.getState())
{ {
case State.COMPLETED: case State.COMPLETED:
{ {
@@ -256,8 +256,8 @@ public final class Q00197_SevenSignsTheSacredBookOfSeal extends Quest
{ {
if (npc.getId() == WOOD) if (npc.getId() == WOOD)
{ {
st = player.getQuestState(Q00196_SevenSignsSealOfTheEmperor.class.getSimpleName()); qs = player.getQuestState(Q00196_SevenSignsSealOfTheEmperor.class.getSimpleName());
htmltext = ((player.getLevel() >= MIN_LEVEL) && (st != null) && (st.isCompleted())) ? "32593-01.htm" : "32593-05.html"; htmltext = ((player.getLevel() >= MIN_LEVEL) && (qs != null) && (qs.isCompleted())) ? "32593-01.htm" : "32593-05.html";
} }
break; break;
} }
@@ -267,13 +267,13 @@ public final class Q00197_SevenSignsTheSacredBookOfSeal extends Quest
{ {
case WOOD: case WOOD:
{ {
if ((st.getCond() > 0) && (st.getCond() < 6)) if ((qs.getCond() > 0) && (qs.getCond() < 6))
{ {
htmltext = "32593-06.html"; htmltext = "32593-06.html";
} }
else if (st.isCond(6)) else if (qs.isCond(6))
{ {
if (st.hasQuestItems(MYSTERIOUS_HAND_WRITTEN_TEXT, SCULPTURE_OF_DOUBT)) if (hasQuestItems(player, MYSTERIOUS_HAND_WRITTEN_TEXT, SCULPTURE_OF_DOUBT))
{ {
htmltext = "32593-07.html"; htmltext = "32593-07.html";
} }
@@ -282,11 +282,11 @@ public final class Q00197_SevenSignsTheSacredBookOfSeal extends Quest
} }
case ORVEN: case ORVEN:
{ {
if (st.isCond(1)) if (qs.isCond(1))
{ {
htmltext = "30857-01.html"; htmltext = "30857-01.html";
} }
else if (st.getCond() >= 2) else if (qs.getCond() >= 2)
{ {
htmltext = "30857-05.html"; htmltext = "30857-05.html";
} }
@@ -294,11 +294,11 @@ public final class Q00197_SevenSignsTheSacredBookOfSeal extends Quest
} }
case LEOPARD: case LEOPARD:
{ {
if (st.isCond(2)) if (qs.isCond(2))
{ {
htmltext = "32594-01.html"; htmltext = "32594-01.html";
} }
else if (st.getCond() >= 3) else if (qs.getCond() >= 3)
{ {
htmltext = "32594-04.html"; htmltext = "32594-04.html";
} }
@@ -306,7 +306,7 @@ public final class Q00197_SevenSignsTheSacredBookOfSeal extends Quest
} }
case LAWRENCE: case LAWRENCE:
{ {
if (st.isCond(3)) if (qs.isCond(3))
{ {
if (isBusy) if (isBusy)
{ {
@@ -317,16 +317,16 @@ public final class Q00197_SevenSignsTheSacredBookOfSeal extends Quest
htmltext = "32595-01.html"; htmltext = "32595-01.html";
} }
} }
else if (st.isCond(4)) else if (qs.isCond(4))
{ {
if (st.hasQuestItems(SCULPTURE_OF_DOUBT)) if (hasQuestItems(player, SCULPTURE_OF_DOUBT))
{ {
htmltext = "32595-06.html"; htmltext = "32595-06.html";
} }
} }
else if (st.getCond() >= 5) else if (qs.getCond() >= 5)
{ {
if (st.hasQuestItems(SCULPTURE_OF_DOUBT)) if (hasQuestItems(player, SCULPTURE_OF_DOUBT))
{ {
htmltext = "32595-10.html"; htmltext = "32595-10.html";
} }
@@ -335,16 +335,16 @@ public final class Q00197_SevenSignsTheSacredBookOfSeal extends Quest
} }
case SOPHIA: case SOPHIA:
{ {
if (st.isCond(5)) if (qs.isCond(5))
{ {
if (st.hasQuestItems(SCULPTURE_OF_DOUBT)) if (hasQuestItems(player, SCULPTURE_OF_DOUBT))
{ {
htmltext = "32596-01.html"; htmltext = "32596-01.html";
} }
} }
else if (st.getCond() >= 6) else if (qs.getCond() >= 6)
{ {
if (st.hasQuestItems(SCULPTURE_OF_DOUBT, MYSTERIOUS_HAND_WRITTEN_TEXT)) if (hasQuestItems(player, SCULPTURE_OF_DOUBT, MYSTERIOUS_HAND_WRITTEN_TEXT))
{ {
htmltext = "32596-05.html"; htmltext = "32596-05.html";
} }

View File

@@ -74,8 +74,8 @@ public final class Q00198_SevenSignsEmbryo extends Quest
return super.onAdvEvent(event, npc, player); return super.onAdvEvent(event, npc, player);
} }
final QuestState st = getQuestState(player, false); final QuestState qs = getQuestState(player, false);
if (st == null) if (qs == null)
{ {
return null; return null;
} }
@@ -85,7 +85,7 @@ public final class Q00198_SevenSignsEmbryo extends Quest
{ {
case "32593-02.html": case "32593-02.html":
{ {
st.startQuest(); qs.startQuest();
htmltext = event; htmltext = event;
break; break;
} }
@@ -93,7 +93,7 @@ public final class Q00198_SevenSignsEmbryo extends Quest
case "32597-03.html": case "32597-03.html":
case "32597-04.html": case "32597-04.html":
{ {
if (st.isCond(1)) if (qs.isCond(1))
{ {
htmltext = event; htmltext = event;
} }
@@ -102,7 +102,7 @@ public final class Q00198_SevenSignsEmbryo extends Quest
case "fight": case "fight":
{ {
htmltext = "32597-05.html"; htmltext = "32597-05.html";
if (st.isCond(1)) if (qs.isCond(1))
{ {
isBusy = true; isBusy = true;
npc.broadcastPacket(new NpcSay(npc.getObjectId(), ChatType.NPC_GENERAL, npc.getId(), NpcStringId.S1_THAT_STRANGER_MUST_BE_DEFEATED_HERE_IS_THE_ULTIMATE_HELP).addStringParameter(player.getName())); npc.broadcastPacket(new NpcSay(npc.getObjectId(), ChatType.NPC_GENERAL, npc.getId(), NpcStringId.S1_THAT_STRANGER_MUST_BE_DEFEATED_HERE_IS_THE_ULTIMATE_HELP).addStringParameter(player.getName()));
@@ -134,7 +134,7 @@ public final class Q00198_SevenSignsEmbryo extends Quest
case "32597-09.html": case "32597-09.html":
case "32597-10.html": case "32597-10.html":
{ {
if (st.isCond(2) && st.hasQuestItems(SCULPTURE_OF_DOUBT)) if (qs.isCond(2) && hasQuestItems(player, SCULPTURE_OF_DOUBT))
{ {
htmltext = event; htmltext = event;
} }
@@ -142,10 +142,10 @@ public final class Q00198_SevenSignsEmbryo extends Quest
} }
case "32597-11.html": case "32597-11.html":
{ {
if (st.isCond(2) && st.hasQuestItems(SCULPTURE_OF_DOUBT)) if (qs.isCond(2) && hasQuestItems(player, SCULPTURE_OF_DOUBT))
{ {
st.takeItems(SCULPTURE_OF_DOUBT, -1); takeItems(player, SCULPTURE_OF_DOUBT, -1);
st.setCond(3, true); qs.setCond(3, true);
htmltext = event; htmltext = event;
npc.broadcastPacket(new NpcSay(npc.getObjectId(), ChatType.NPC_GENERAL, npc.getId(), NpcStringId.WE_WILL_BE_WITH_YOU_ALWAYS)); npc.broadcastPacket(new NpcSay(npc.getObjectId(), ChatType.NPC_GENERAL, npc.getId(), NpcStringId.WE_WILL_BE_WITH_YOU_ALWAYS));
} }
@@ -175,11 +175,11 @@ public final class Q00198_SevenSignsEmbryo extends Quest
return null; return null;
} }
final QuestState st = getQuestState(partyMember, false); final QuestState qs = getQuestState(partyMember, false);
if (npc.isInsideRadius(partyMember, 1500, true, false)) if (npc.isInsideRadius(partyMember, 1500, true, false))
{ {
st.giveItems(SCULPTURE_OF_DOUBT, 1); giveItems(partyMember, SCULPTURE_OF_DOUBT, 1);
st.setCond(2, true); qs.setCond(2, true);
} }
isBusy = false; isBusy = false;
@@ -194,9 +194,9 @@ public final class Q00198_SevenSignsEmbryo extends Quest
@Override @Override
public String onTalk(L2Npc npc, L2PcInstance player) public String onTalk(L2Npc npc, L2PcInstance player)
{ {
QuestState st = getQuestState(player, true); QuestState qs = getQuestState(player, true);
String htmltext = getNoQuestMsg(player); String htmltext = getNoQuestMsg(player);
switch (st.getState()) switch (qs.getState())
{ {
case State.COMPLETED: case State.COMPLETED:
{ {
@@ -207,8 +207,8 @@ public final class Q00198_SevenSignsEmbryo extends Quest
{ {
if (npc.getId() == WOOD) if (npc.getId() == WOOD)
{ {
st = player.getQuestState(Q00197_SevenSignsTheSacredBookOfSeal.class.getSimpleName()); qs = player.getQuestState(Q00197_SevenSignsTheSacredBookOfSeal.class.getSimpleName());
htmltext = ((player.getLevel() >= MIN_LEVEL) && (st != null) && (st.isCompleted())) ? "32593-01.htm" : "32593-03.html"; htmltext = ((player.getLevel() >= MIN_LEVEL) && (qs != null) && (qs.isCompleted())) ? "32593-01.htm" : "32593-03.html";
} }
break; break;
} }
@@ -216,18 +216,18 @@ public final class Q00198_SevenSignsEmbryo extends Quest
{ {
if (npc.getId() == WOOD) if (npc.getId() == WOOD)
{ {
if ((st.getCond() > 0) && (st.getCond() < 3)) if ((qs.getCond() > 0) && (qs.getCond() < 3))
{ {
htmltext = "32593-04.html"; htmltext = "32593-04.html";
} }
else if (st.isCond(3)) else if (qs.isCond(3))
{ {
if (player.getLevel() >= MIN_LEVEL) if (player.getLevel() >= MIN_LEVEL)
{ {
st.addExpAndSp(315108090, 34906059); addExpAndSp(player, 315108090, 34906059);
st.giveItems(DAWNS_BRACELET, 1); giveItems(player, DAWNS_BRACELET, 1);
st.giveItems(Inventory.ANCIENT_ADENA_ID, 1500000); giveItems(player, Inventory.ANCIENT_ADENA_ID, 1500000);
st.exitQuest(false, true); qs.exitQuest(false, true);
htmltext = "32593-05.html"; htmltext = "32593-05.html";
} }
else else
@@ -238,7 +238,7 @@ public final class Q00198_SevenSignsEmbryo extends Quest
} }
else if (npc.getId() == FRANZ) else if (npc.getId() == FRANZ)
{ {
switch (st.getCond()) switch (qs.getCond())
{ {
case 1: case 1:
{ {
@@ -247,7 +247,7 @@ public final class Q00198_SevenSignsEmbryo extends Quest
} }
case 2: case 2:
{ {
if (st.hasQuestItems(SCULPTURE_OF_DOUBT)) if (hasQuestItems(player, SCULPTURE_OF_DOUBT))
{ {
htmltext = "32597-07.html"; htmltext = "32597-07.html";
} }

View File

@@ -59,8 +59,8 @@ public class Q00237_WindsOfChange extends Quest
@Override @Override
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
{ {
final QuestState st = getQuestState(player, false); final QuestState qs = getQuestState(player, false);
if (st == null) if (qs == null)
{ {
return null; return null;
} }
@@ -82,68 +82,88 @@ public class Q00237_WindsOfChange extends Quest
case "30969-08c.html": case "30969-08c.html":
case "30897-02.html":// ROMAN case "30897-02.html":// ROMAN
case "30925-02.html":// MORELYN case "30925-02.html":// MORELYN
{
htmltext = event; htmltext = event;
break; break;
}
case "30899-06.html": case "30899-06.html":
st.startQuest(); {
st.giveItems(FLAUENS_LETTER, 1); qs.startQuest();
giveItems(player, FLAUENS_LETTER, 1);
htmltext = event; htmltext = event;
break; break;
}
case "30969-02.html": case "30969-02.html":
st.takeItems(FLAUENS_LETTER, -1); {
takeItems(player, FLAUENS_LETTER, -1);
htmltext = event; htmltext = event;
break; break;
}
case "30969-05.html": case "30969-05.html":
if (st.isCond(1)) {
if (qs.isCond(1))
{ {
st.setCond(2, true); qs.setCond(2, true);
htmltext = event; htmltext = event;
} }
break; break;
}
case "30897-03.html": case "30897-03.html":
if (st.isCond(2)) {
if (qs.isCond(2))
{ {
st.setCond(3, true); qs.setCond(3, true);
htmltext = event; htmltext = event;
} }
break; break;
}
case "30925-03.html": case "30925-03.html":
if (st.isCond(3)) {
if (qs.isCond(3))
{ {
st.setCond(4, true); qs.setCond(4, true);
htmltext = event; htmltext = event;
} }
break; break;
}
case "30969-09.html": case "30969-09.html":
if (st.isCond(4)) {
if (qs.isCond(4))
{ {
st.giveItems(DOSKOZER_LETTER, 1); giveItems(player, DOSKOZER_LETTER, 1);
st.setCond(5, true); qs.setCond(5, true);
htmltext = event; htmltext = event;
} }
break; break;
}
case "30969-10.html": case "30969-10.html":
if (st.isCond(4)) {
if (qs.isCond(4))
{ {
st.giveItems(ATHENIA_LETTER, 1); giveItems(player, ATHENIA_LETTER, 1);
st.setCond(6, true); qs.setCond(6, true);
htmltext = event; htmltext = event;
} }
break; break;
}
case "32641-02.html": case "32641-02.html":
st.giveAdena(213876, true); {
st.giveItems(VICINITY_OF_FOS, 1); giveAdena(player, 213876, true);
st.addExpAndSp(892773, 60012); giveItems(player, VICINITY_OF_FOS, 1);
st.exitQuest(false, true); addExpAndSp(player, 892773, 60012);
qs.exitQuest(false, true);
htmltext = event; htmltext = event;
break; break;
}
case "32643-02.html": case "32643-02.html":
st.giveAdena(213876, true); {
st.giveItems(SUPPORT_CERTIFICATE, 1); giveAdena(player, 213876, true);
st.addExpAndSp(892773, 60012); giveItems(player, SUPPORT_CERTIFICATE, 1);
st.exitQuest(false, true); addExpAndSp(player, 892773, 60012);
qs.exitQuest(false, true);
htmltext = event; htmltext = event;
break; break;
}
} }
return htmltext; return htmltext;
} }
@@ -152,8 +172,8 @@ public class Q00237_WindsOfChange extends Quest
public String onTalk(L2Npc npc, L2PcInstance talker) public String onTalk(L2Npc npc, L2PcInstance talker)
{ {
String htmltext = getNoQuestMsg(talker); String htmltext = getNoQuestMsg(talker);
final QuestState st = getQuestState(talker, true); final QuestState qs = getQuestState(talker, true);
if (st == null) if (qs == null)
{ {
return htmltext; return htmltext;
} }
@@ -161,112 +181,155 @@ public class Q00237_WindsOfChange extends Quest
switch (npc.getId()) switch (npc.getId())
{ {
case FLAUEN: case FLAUEN:
switch (st.getState()) {
switch (qs.getState())
{ {
case State.COMPLETED: case State.COMPLETED:
{
htmltext = "30899-09.html"; htmltext = "30899-09.html";
break; break;
}
case State.CREATED: case State.CREATED:
{
htmltext = (talker.getLevel() >= MIN_LEVEL) ? "30899-01.htm" : "30899-00.html"; htmltext = (talker.getLevel() >= MIN_LEVEL) ? "30899-01.htm" : "30899-00.html";
break; break;
}
case State.STARTED: case State.STARTED:
switch (st.getCond()) {
switch (qs.getCond())
{ {
case 1: case 1:
case 4: case 4:
{
htmltext = "30899-07.html"; htmltext = "30899-07.html";
break; break;
}
case 2: case 2:
{
htmltext = "30899-10.html"; htmltext = "30899-10.html";
break; break;
}
case 3: case 3:
{
htmltext = "30899-11.html"; htmltext = "30899-11.html";
break; break;
}
case 5: case 5:
case 6: case 6:
{
htmltext = "30899-08.html"; htmltext = "30899-08.html";
break; break;
}
} }
break;
}
} }
break; break;
}
case IASON: case IASON:
if (st.isCompleted()) {
if (qs.isCompleted())
{ {
htmltext = Quest.getNoQuestMsg(talker); htmltext = Quest.getNoQuestMsg(talker);
} }
else else
{ {
switch (st.getCond()) switch (qs.getCond())
{ {
case 1: case 1:
{
htmltext = "30969-01.html"; htmltext = "30969-01.html";
break; break;
}
case 2: case 2:
{
htmltext = "30969-06.html"; htmltext = "30969-06.html";
break; break;
}
case 4: case 4:
{
htmltext = "30969-07.html"; htmltext = "30969-07.html";
break; break;
}
case 5: case 5:
case 6: case 6:
{
htmltext = "30969-11.html"; htmltext = "30969-11.html";
break; break;
}
} }
} }
break; break;
}
case ROMAN: case ROMAN:
switch (st.getCond()) {
switch (qs.getCond())
{ {
case 2: case 2:
{
htmltext = "30897-01.html"; htmltext = "30897-01.html";
break; break;
}
case 3: case 3:
case 4: case 4:
{
htmltext = "30897-04.html"; htmltext = "30897-04.html";
break; break;
}
} }
break; break;
}
case MORELYN: case MORELYN:
switch (st.getCond()) {
switch (qs.getCond())
{ {
case 3: case 3:
{
htmltext = "30925-01.html"; htmltext = "30925-01.html";
break; break;
}
case 4: case 4:
{
htmltext = "30925-04.html"; htmltext = "30925-04.html";
break; break;
}
} }
break; break;
}
case HELVETICA: case HELVETICA:
if (st.isCompleted()) {
if (qs.isCompleted())
{ {
final QuestState q238 = st.getPlayer().getQuestState(Q00238_SuccessFailureOfBusiness.class.getSimpleName()); final QuestState q238 = qs.getPlayer().getQuestState(Q00238_SuccessFailureOfBusiness.class.getSimpleName());
htmltext = (st.hasQuestItems(VICINITY_OF_FOS) || ((q238 != null) && q238.isCompleted())) ? "32641-03.html" : "32641-05.html"; htmltext = (hasQuestItems(qs.getPlayer(), VICINITY_OF_FOS) || ((q238 != null) && q238.isCompleted())) ? "32641-03.html" : "32641-05.html";
} }
else if (st.isCond(5)) else if (qs.isCond(5))
{ {
htmltext = "32641-01.html"; htmltext = "32641-01.html";
} }
else if (st.isCond(6)) else if (qs.isCond(6))
{ {
htmltext = "32641-04.html"; htmltext = "32641-04.html";
} }
break; break;
}
case ATHENIA: case ATHENIA:
if (st.isCompleted()) {
if (qs.isCompleted())
{ {
final QuestState q239 = st.getPlayer().getQuestState(Q00239_WontYouJoinUs.class.getSimpleName()); final QuestState q239 = qs.getPlayer().getQuestState(Q00239_WontYouJoinUs.class.getSimpleName());
htmltext = (st.hasQuestItems(SUPPORT_CERTIFICATE) || ((q239 != null) && q239.isCompleted())) ? "32643-03.html" : "32643-05.html"; htmltext = (hasQuestItems(qs.getPlayer(), SUPPORT_CERTIFICATE) || ((q239 != null) && q239.isCompleted())) ? "32643-03.html" : "32643-05.html";
} }
else if (st.isCond(5)) else if (qs.isCond(5))
{ {
htmltext = "32643-04.html"; htmltext = "32643-04.html";
} }
else if (st.isCond(6)) else if (qs.isCond(6))
{ {
htmltext = "32643-01.html"; htmltext = "32643-01.html";
} }
break; break;
}
} }
return htmltext; return htmltext;
} }

View File

@@ -61,8 +61,8 @@ public class Q00238_SuccessFailureOfBusiness extends Quest
@Override @Override
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
{ {
final QuestState st = getQuestState(player, false); final QuestState qs = getQuestState(player, false);
if (st == null) if (qs == null)
{ {
return null; return null;
} }
@@ -71,19 +71,25 @@ public class Q00238_SuccessFailureOfBusiness extends Quest
switch (event) switch (event)
{ {
case "32461-02.htm": case "32461-02.htm":
{
htmltext = event; htmltext = event;
break; break;
}
case "32461-03.html": case "32461-03.html":
st.startQuest(); {
qs.startQuest();
htmltext = event; htmltext = event;
break; break;
}
case "32461-06.html": case "32461-06.html":
if (st.isCond(2)) {
if (qs.isCond(2))
{ {
st.setCond(3, true); qs.setCond(3, true);
htmltext = event; htmltext = event;
} }
break; break;
}
} }
return htmltext; return htmltext;
} }
@@ -96,18 +102,18 @@ public class Q00238_SuccessFailureOfBusiness extends Quest
final L2PcInstance partyMember = getRandomPartyMember(killer, 1); final L2PcInstance partyMember = getRandomPartyMember(killer, 1);
if (partyMember != null) if (partyMember != null)
{ {
final QuestState st = getQuestState(partyMember, false); final QuestState qs = getQuestState(partyMember, false);
if (st.getQuestItemsCount(BROKEN_PIECE_OF_MAGIC_FORCE) < BROKEN_PIECE_OF_MAGIC_FORCE_NEEDED) if (getQuestItemsCount(killer, BROKEN_PIECE_OF_MAGIC_FORCE) < BROKEN_PIECE_OF_MAGIC_FORCE_NEEDED)
{ {
st.giveItems(BROKEN_PIECE_OF_MAGIC_FORCE, 1); giveItems(killer, BROKEN_PIECE_OF_MAGIC_FORCE, 1);
} }
if (st.getQuestItemsCount(BROKEN_PIECE_OF_MAGIC_FORCE) == BROKEN_PIECE_OF_MAGIC_FORCE_NEEDED) if (getQuestItemsCount(killer, BROKEN_PIECE_OF_MAGIC_FORCE) == BROKEN_PIECE_OF_MAGIC_FORCE_NEEDED)
{ {
st.setCond(2, true); qs.setCond(2, true);
} }
else else
{ {
st.playSound(QuestSound.ITEMSOUND_QUEST_ITEMGET); playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET);
} }
} }
} }
@@ -116,18 +122,18 @@ public class Q00238_SuccessFailureOfBusiness extends Quest
final L2PcInstance partyMember = getRandomPartyMember(killer, 3); final L2PcInstance partyMember = getRandomPartyMember(killer, 3);
if ((partyMember != null) && (getRandom(100) < CHANCE_FOR_FRAGMENT)) if ((partyMember != null) && (getRandom(100) < CHANCE_FOR_FRAGMENT))
{ {
final QuestState st = getQuestState(partyMember, false); final QuestState qs = getQuestState(partyMember, false);
if (st.getQuestItemsCount(GUARDIAN_SPIRIT_FRAGMENT) < GUARDIAN_SPIRIT_FRAGMENT_NEEDED) if (getQuestItemsCount(killer, GUARDIAN_SPIRIT_FRAGMENT) < GUARDIAN_SPIRIT_FRAGMENT_NEEDED)
{ {
st.giveItems(GUARDIAN_SPIRIT_FRAGMENT, 1); giveItems(killer, GUARDIAN_SPIRIT_FRAGMENT, 1);
} }
if (st.getQuestItemsCount(GUARDIAN_SPIRIT_FRAGMENT) == GUARDIAN_SPIRIT_FRAGMENT_NEEDED) if (getQuestItemsCount(killer, GUARDIAN_SPIRIT_FRAGMENT) == GUARDIAN_SPIRIT_FRAGMENT_NEEDED)
{ {
st.setCond(4, true); qs.setCond(4, true);
} }
else else
{ {
st.playSound(QuestSound.ITEMSOUND_QUEST_ITEMGET); playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET);
} }
} }
} }
@@ -135,28 +141,31 @@ public class Q00238_SuccessFailureOfBusiness extends Quest
} }
@Override @Override
public String onTalk(L2Npc npc, L2PcInstance talker) public String onTalk(L2Npc npc, L2PcInstance player)
{ {
String htmltext = getNoQuestMsg(talker); String htmltext = getNoQuestMsg(player);
final QuestState st = getQuestState(talker, true); final QuestState qs = getQuestState(player, true);
if (st == null) if (qs == null)
{ {
return htmltext; return htmltext;
} }
switch (st.getState()) switch (qs.getState())
{ {
case State.COMPLETED: case State.COMPLETED:
{
htmltext = "32461-09.html"; htmltext = "32461-09.html";
break; break;
}
case State.CREATED: case State.CREATED:
final QuestState q237 = st.getPlayer().getQuestState(Q00237_WindsOfChange.class.getSimpleName()); {
final QuestState q239 = st.getPlayer().getQuestState(Q00239_WontYouJoinUs.class.getSimpleName()); final QuestState q237 = qs.getPlayer().getQuestState(Q00237_WindsOfChange.class.getSimpleName());
final QuestState q239 = qs.getPlayer().getQuestState(Q00239_WontYouJoinUs.class.getSimpleName());
if ((q239 != null) && q239.isCompleted()) if ((q239 != null) && q239.isCompleted())
{ {
htmltext = "32461-10.html"; htmltext = "32461-10.html";
} }
else if ((q237 != null) && q237.isCompleted() && (talker.getLevel() >= MIN_LEVEL) && st.hasQuestItems(VICINITY_OF_FOS)) else if ((q237 != null) && q237.isCompleted() && (player.getLevel() >= MIN_LEVEL) && hasQuestItems(player, VICINITY_OF_FOS))
{ {
htmltext = "32461-01.htm"; htmltext = "32461-01.htm";
} }
@@ -165,34 +174,45 @@ public class Q00238_SuccessFailureOfBusiness extends Quest
htmltext = "32461-00.html"; htmltext = "32461-00.html";
} }
break; break;
}
case State.STARTED: case State.STARTED:
switch (st.getCond()) {
switch (qs.getCond())
{ {
case 1: case 1:
{
htmltext = "32461-04.html"; htmltext = "32461-04.html";
break; break;
}
case 2: case 2:
if (st.getQuestItemsCount(BROKEN_PIECE_OF_MAGIC_FORCE) == BROKEN_PIECE_OF_MAGIC_FORCE_NEEDED) {
if (getQuestItemsCount(player, BROKEN_PIECE_OF_MAGIC_FORCE) == BROKEN_PIECE_OF_MAGIC_FORCE_NEEDED)
{ {
htmltext = "32461-05.html"; htmltext = "32461-05.html";
st.takeItems(BROKEN_PIECE_OF_MAGIC_FORCE, -1); takeItems(player, BROKEN_PIECE_OF_MAGIC_FORCE, -1);
} }
break; break;
}
case 3: case 3:
{
htmltext = "32461-07.html"; htmltext = "32461-07.html";
break; break;
}
case 4: case 4:
if (st.getQuestItemsCount(GUARDIAN_SPIRIT_FRAGMENT) == GUARDIAN_SPIRIT_FRAGMENT_NEEDED) {
if (getQuestItemsCount(player, GUARDIAN_SPIRIT_FRAGMENT) == GUARDIAN_SPIRIT_FRAGMENT_NEEDED)
{ {
htmltext = "32461-08.html"; htmltext = "32461-08.html";
st.giveAdena(283346, true); giveAdena(player, 283346, true);
st.takeItems(VICINITY_OF_FOS, 1); takeItems(player, VICINITY_OF_FOS, 1);
st.addExpAndSp(1319736, 103553); addExpAndSp(player, 1319736, 103553);
st.exitQuest(false, true); qs.exitQuest(false, true);
} }
break; break;
}
} }
break; break;
}
} }
return htmltext; return htmltext;
} }

View File

@@ -61,8 +61,8 @@ public class Q00239_WontYouJoinUs extends Quest
@Override @Override
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
{ {
final QuestState st = getQuestState(player, false); final QuestState qs = getQuestState(player, false);
if (st == null) if (qs == null)
{ {
return null; return null;
} }
@@ -71,19 +71,25 @@ public class Q00239_WontYouJoinUs extends Quest
switch (event) switch (event)
{ {
case "32643-02.htm": case "32643-02.htm":
{
htmltext = event; htmltext = event;
break; break;
}
case "32643-03.html": case "32643-03.html":
st.startQuest(); {
qs.startQuest();
htmltext = event; htmltext = event;
break; break;
}
case "32643-07.html": case "32643-07.html":
if (st.isCond(2)) {
if (qs.isCond(2))
{ {
st.setCond(3, true); qs.setCond(3, true);
htmltext = event; htmltext = event;
} }
break; break;
}
} }
return htmltext; return htmltext;
} }
@@ -96,18 +102,18 @@ public class Q00239_WontYouJoinUs extends Quest
final L2PcInstance partyMember = getRandomPartyMember(killer, 1); final L2PcInstance partyMember = getRandomPartyMember(killer, 1);
if (partyMember != null) if (partyMember != null)
{ {
final QuestState st = getQuestState(partyMember, false); final QuestState qs = getQuestState(partyMember, false);
if (st.getQuestItemsCount(DESTROYED_MACHINE_PIECE) < DESTROYED_MACHINE_PIECE_NEEDED) if (getQuestItemsCount(partyMember, DESTROYED_MACHINE_PIECE) < DESTROYED_MACHINE_PIECE_NEEDED)
{ {
st.giveItems(DESTROYED_MACHINE_PIECE, 1); giveItems(partyMember, DESTROYED_MACHINE_PIECE, 1);
} }
if (st.getQuestItemsCount(DESTROYED_MACHINE_PIECE) == DESTROYED_MACHINE_PIECE_NEEDED) if (getQuestItemsCount(partyMember, DESTROYED_MACHINE_PIECE) == DESTROYED_MACHINE_PIECE_NEEDED)
{ {
st.setCond(2, true); qs.setCond(2, true);
} }
else else
{ {
st.playSound(QuestSound.ITEMSOUND_QUEST_ITEMGET); playSound(partyMember, QuestSound.ITEMSOUND_QUEST_ITEMGET);
} }
} }
} }
@@ -116,18 +122,18 @@ public class Q00239_WontYouJoinUs extends Quest
final L2PcInstance partyMember = getRandomPartyMember(killer, 3); final L2PcInstance partyMember = getRandomPartyMember(killer, 3);
if ((partyMember != null) && (getRandom(100) < CHANCE_FOR_FRAGMENT)) if ((partyMember != null) && (getRandom(100) < CHANCE_FOR_FRAGMENT))
{ {
final QuestState st = getQuestState(partyMember, false); final QuestState qs = getQuestState(partyMember, false);
if (st.getQuestItemsCount(ENCHANTED_GOLEM_FRAGMENT) < ENCHANTED_GOLEM_FRAGMENT_NEEDED) if (getQuestItemsCount(partyMember, ENCHANTED_GOLEM_FRAGMENT) < ENCHANTED_GOLEM_FRAGMENT_NEEDED)
{ {
st.giveItems(ENCHANTED_GOLEM_FRAGMENT, 1); giveItems(partyMember, ENCHANTED_GOLEM_FRAGMENT, 1);
} }
if (st.getQuestItemsCount(ENCHANTED_GOLEM_FRAGMENT) == ENCHANTED_GOLEM_FRAGMENT_NEEDED) if (getQuestItemsCount(partyMember, ENCHANTED_GOLEM_FRAGMENT) == ENCHANTED_GOLEM_FRAGMENT_NEEDED)
{ {
st.setCond(4, true); qs.setCond(4, true);
} }
else else
{ {
st.playSound(QuestSound.ITEMSOUND_QUEST_ITEMGET); playSound(partyMember, QuestSound.ITEMSOUND_QUEST_ITEMGET);
} }
} }
} }
@@ -135,28 +141,31 @@ public class Q00239_WontYouJoinUs extends Quest
} }
@Override @Override
public String onTalk(L2Npc npc, L2PcInstance talker) public String onTalk(L2Npc npc, L2PcInstance player)
{ {
String htmltext = getNoQuestMsg(talker); String htmltext = getNoQuestMsg(player);
final QuestState st = getQuestState(talker, true); final QuestState qs = getQuestState(player, true);
if (st == null) if (qs == null)
{ {
return htmltext; return htmltext;
} }
switch (st.getState()) switch (qs.getState())
{ {
case State.COMPLETED: case State.COMPLETED:
{
htmltext = "32643-11.html"; htmltext = "32643-11.html";
break; break;
}
case State.CREATED: case State.CREATED:
final QuestState q237 = st.getPlayer().getQuestState(Q00237_WindsOfChange.class.getSimpleName()); {
final QuestState q238 = st.getPlayer().getQuestState(Q00238_SuccessFailureOfBusiness.class.getSimpleName()); final QuestState q237 = qs.getPlayer().getQuestState(Q00237_WindsOfChange.class.getSimpleName());
final QuestState q238 = qs.getPlayer().getQuestState(Q00238_SuccessFailureOfBusiness.class.getSimpleName());
if ((q238 != null) && q238.isCompleted()) if ((q238 != null) && q238.isCompleted())
{ {
htmltext = "32643-12.html"; htmltext = "32643-12.html";
} }
else if ((q237 != null) && q237.isCompleted() && (talker.getLevel() >= MIN_LEVEL) && st.hasQuestItems(SUPPORT_CERTIFICATE)) else if ((q237 != null) && q237.isCompleted() && (player.getLevel() >= MIN_LEVEL) && hasQuestItems(player, SUPPORT_CERTIFICATE))
{ {
htmltext = "32643-01.htm"; htmltext = "32643-01.htm";
} }
@@ -165,34 +174,45 @@ public class Q00239_WontYouJoinUs extends Quest
htmltext = "32643-00.html"; htmltext = "32643-00.html";
} }
break; break;
}
case State.STARTED: case State.STARTED:
switch (st.getCond()) {
switch (qs.getCond())
{ {
case 1: case 1:
htmltext = (st.hasQuestItems(DESTROYED_MACHINE_PIECE)) ? "32643-05.html" : "32643-04.html"; {
htmltext = (hasQuestItems(player, DESTROYED_MACHINE_PIECE)) ? "32643-05.html" : "32643-04.html";
break; break;
}
case 2: case 2:
if (st.getQuestItemsCount(DESTROYED_MACHINE_PIECE) == DESTROYED_MACHINE_PIECE_NEEDED) {
if (getQuestItemsCount(player, DESTROYED_MACHINE_PIECE) == DESTROYED_MACHINE_PIECE_NEEDED)
{ {
htmltext = "32643-06.html"; htmltext = "32643-06.html";
st.takeItems(DESTROYED_MACHINE_PIECE, -1); takeItems(player, DESTROYED_MACHINE_PIECE, -1);
} }
break; break;
}
case 3: case 3:
htmltext = (st.hasQuestItems(ENCHANTED_GOLEM_FRAGMENT)) ? "32643-08.html" : "32643-09.html"; {
htmltext = (hasQuestItems(player, ENCHANTED_GOLEM_FRAGMENT)) ? "32643-08.html" : "32643-09.html";
break; break;
}
case 4: case 4:
if (st.getQuestItemsCount(ENCHANTED_GOLEM_FRAGMENT) == ENCHANTED_GOLEM_FRAGMENT_NEEDED) {
if (getQuestItemsCount(player, ENCHANTED_GOLEM_FRAGMENT) == ENCHANTED_GOLEM_FRAGMENT_NEEDED)
{ {
htmltext = "32643-10.html"; htmltext = "32643-10.html";
st.giveAdena(283346, true); giveAdena(player, 283346, true);
st.takeItems(SUPPORT_CERTIFICATE, 1); takeItems(player, SUPPORT_CERTIFICATE, 1);
st.addExpAndSp(1319736, 103553); addExpAndSp(player, 1319736, 103553);
st.exitQuest(false, true); qs.exitQuest(false, true);
} }
break; break;
}
} }
break; break;
}
} }
return htmltext; return htmltext;
} }

View File

@@ -67,15 +67,15 @@ public class Q00240_ImTheOnlyOneYouCanTrust extends Quest
@Override @Override
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
{ {
final QuestState st = getQuestState(player, false); final QuestState qs = getQuestState(player, false);
if (st == null) if (qs == null)
{ {
return getNoQuestMsg(player); return getNoQuestMsg(player);
} }
if (event.equalsIgnoreCase("32640-3.htm")) if (event.equalsIgnoreCase("32640-3.htm"))
{ {
st.startQuest(); qs.startQuest();
} }
return event; return event;
} }
@@ -89,15 +89,15 @@ public class Q00240_ImTheOnlyOneYouCanTrust extends Quest
return super.onKill(npc, player, isSummon); return super.onKill(npc, player, isSummon);
} }
final QuestState st = getQuestState(partyMember, false); final QuestState qs = getQuestState(partyMember, false);
st.giveItems(STAKATO_FANG, 1); giveItems(partyMember, STAKATO_FANG, 1);
if (st.getQuestItemsCount(STAKATO_FANG) >= 25) if (getQuestItemsCount(partyMember, STAKATO_FANG) >= 25)
{ {
st.setCond(2, true); qs.setCond(2, true);
} }
else else
{ {
st.playSound(QuestSound.ITEMSOUND_QUEST_ITEMGET); playSound(partyMember, QuestSound.ITEMSOUND_QUEST_ITEMGET);
} }
return super.onKill(npc, player, isSummon); return super.onKill(npc, player, isSummon);
} }
@@ -106,38 +106,48 @@ public class Q00240_ImTheOnlyOneYouCanTrust extends Quest
public String onTalk(L2Npc npc, L2PcInstance player) public String onTalk(L2Npc npc, L2PcInstance player)
{ {
String htmltext = getNoQuestMsg(player); String htmltext = getNoQuestMsg(player);
final QuestState st = getQuestState(player, true); final QuestState qs = getQuestState(player, true);
if (st == null) if (qs == null)
{ {
return htmltext; return htmltext;
} }
switch (st.getState()) switch (qs.getState())
{ {
case State.CREATED: case State.CREATED:
{
htmltext = (player.getLevel() >= 81) ? "32640-1.htm" : "32640-0.htm"; htmltext = (player.getLevel() >= 81) ? "32640-1.htm" : "32640-0.htm";
break; break;
}
case State.STARTED: case State.STARTED:
switch (st.getCond()) {
switch (qs.getCond())
{ {
case 1: case 1:
htmltext = (!st.hasQuestItems(STAKATO_FANG)) ? "32640-8.html" : "32640-9.html"; {
htmltext = (!hasQuestItems(player, STAKATO_FANG)) ? "32640-8.html" : "32640-9.html";
break; break;
}
case 2: case 2:
if (st.getQuestItemsCount(STAKATO_FANG) >= 25) {
if (getQuestItemsCount(player, STAKATO_FANG) >= 25)
{ {
st.giveAdena(147200, true); giveAdena(player, 147200, true);
st.takeItems(STAKATO_FANG, -1); takeItems(player, STAKATO_FANG, -1);
st.addExpAndSp(589542, 36800); addExpAndSp(player, 589542, 36800);
st.exitQuest(false, true); qs.exitQuest(false, true);
htmltext = "32640-10.html"; htmltext = "32640-10.html";
} }
break; break;
}
} }
break; break;
}
case State.COMPLETED: case State.COMPLETED:
{
htmltext = "32640-11.html"; htmltext = "32640-11.html";
break; break;
}
} }
return htmltext; return htmltext;
} }

View File

@@ -99,54 +99,19 @@ public class Q00254_LegendaryTales extends Quest
registerQuestItems(LARGE_DRAGON_SKULL); registerQuestItems(LARGE_DRAGON_SKULL);
} }
@Override
public String onTalk(L2Npc npc, L2PcInstance player)
{
String htmltext = getNoQuestMsg(player);
final QuestState st = getQuestState(player, true);
if (st == null)
{
return htmltext;
}
switch (st.getState())
{
case State.CREATED:
htmltext = (player.getLevel() < MIN_LEVEL) ? "30754-00.htm" : "30754-01.htm";
break;
case State.STARTED:
final long count = getQuestItemsCount(player, LARGE_DRAGON_SKULL);
if (st.isCond(1))
{
htmltext = ((count > 0) ? "30754-14.htm" : "30754-06.html");
}
else if (st.isCond(2))
{
htmltext = ((count < 7) ? "30754-12.htm" : "30754-07.html");
}
break;
case State.COMPLETED:
htmltext = "30754-29.html";
break;
}
return htmltext;
}
@Override @Override
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
{ {
String htmltext = getNoQuestMsg(player); String htmltext = getNoQuestMsg(player);
final QuestState st = getQuestState(player, false); final QuestState qs = getQuestState(player, false);
if (st == null) if (qs == null)
{ {
return htmltext; return htmltext;
} }
switch (event) switch (event)
{ {
case "30754-05.html":
st.startQuest();
case "30754-02.html": case "30754-02.html":
case "30754-03.html": case "30754-03.html":
case "30754-04.htm": case "30754-04.htm":
@@ -154,29 +119,49 @@ public class Q00254_LegendaryTales extends Quest
case "30754-15.html": case "30754-15.html":
case "30754-20.html": case "30754-20.html":
case "30754-21.html": case "30754-21.html":
{
htmltext = event; htmltext = event;
break; break;
}
case "30754-05.html":
{
qs.startQuest();
}
case "25718": // Emerald Horn case "25718": // Emerald Horn
htmltext = (checkMask(st, Bosses.EMERALD_HORN) ? "30754-22.html" : "30754-16.html"); {
htmltext = (checkMask(qs, Bosses.EMERALD_HORN) ? "30754-22.html" : "30754-16.html");
break; break;
}
case "25719": // Dust Rider case "25719": // Dust Rider
htmltext = (checkMask(st, Bosses.DUST_RIDER) ? "30754-23.html" : "30754-17.html"); {
htmltext = (checkMask(qs, Bosses.DUST_RIDER) ? "30754-23.html" : "30754-17.html");
break; break;
}
case "25720": // Bleeding Fly case "25720": // Bleeding Fly
htmltext = (checkMask(st, Bosses.BLEEDING_FLY) ? "30754-24.html" : "30754-18.html"); {
htmltext = (checkMask(qs, Bosses.BLEEDING_FLY) ? "30754-24.html" : "30754-18.html");
break; break;
}
case "25721": // Black Dagger Wing case "25721": // Black Dagger Wing
htmltext = (checkMask(st, Bosses.BLACK_DAGGER) ? "30754-25.html" : "30754-19.html"); {
htmltext = (checkMask(qs, Bosses.BLACK_DAGGER) ? "30754-25.html" : "30754-19.html");
break; break;
}
case "25722": // Shadow Summoner case "25722": // Shadow Summoner
htmltext = (checkMask(st, Bosses.SHADOW_SUMMONER) ? "30754-26.html" : "30754-16.html"); {
htmltext = (checkMask(qs, Bosses.SHADOW_SUMMONER) ? "30754-26.html" : "30754-16.html");
break; break;
}
case "25723": // Spike Slasher case "25723": // Spike Slasher
htmltext = (checkMask(st, Bosses.SPIKE_SLASHER) ? "30754-27.html" : "30754-17.html"); {
htmltext = (checkMask(qs, Bosses.SPIKE_SLASHER) ? "30754-27.html" : "30754-17.html");
break; break;
}
case "25724": // Muscle Bomber case "25724": // Muscle Bomber
htmltext = (checkMask(st, Bosses.MUSCLE_BOMBER) ? "30754-28.html" : "30754-18.html"); {
htmltext = (checkMask(qs, Bosses.MUSCLE_BOMBER) ? "30754-28.html" : "30754-18.html");
break; break;
}
case "13467": // Vesper Thrower case "13467": // Vesper Thrower
case "13466": // Vesper Singer case "13466": // Vesper Singer
case "13465": // Vesper Caster case "13465": // Vesper Caster
@@ -188,13 +173,54 @@ public class Q00254_LegendaryTales extends Quest
case "13460": // Vesper Sharper case "13460": // Vesper Sharper
case "13461": // Vesper Fighter case "13461": // Vesper Fighter
case "13462": // Vesper Stormer case "13462": // Vesper Stormer
if (st.isCond(2) && (getQuestItemsCount(player, LARGE_DRAGON_SKULL) >= 7)) {
if (qs.isCond(2) && (getQuestItemsCount(player, LARGE_DRAGON_SKULL) >= 7))
{ {
htmltext = "30754-09.html"; htmltext = "30754-09.html";
rewardItems(player, Integer.parseInt(event), 1); rewardItems(player, Integer.parseInt(event), 1);
st.exitQuest(false, true); qs.exitQuest(false, true);
} }
break; break;
}
}
return htmltext;
}
@Override
public String onTalk(L2Npc npc, L2PcInstance player)
{
String htmltext = getNoQuestMsg(player);
final QuestState qs = getQuestState(player, true);
if (qs == null)
{
return htmltext;
}
switch (qs.getState())
{
case State.CREATED:
{
htmltext = (player.getLevel() < MIN_LEVEL) ? "30754-00.htm" : "30754-01.htm";
break;
}
case State.STARTED:
{
final long count = getQuestItemsCount(player, LARGE_DRAGON_SKULL);
if (qs.isCond(1))
{
htmltext = ((count > 0) ? "30754-14.htm" : "30754-06.html");
}
else if (qs.isCond(2))
{
htmltext = ((count < 7) ? "30754-12.htm" : "30754-07.html");
}
break;
}
case State.COMPLETED:
{
htmltext = "30754-29.html";
break;
}
} }
return htmltext; return htmltext;
} }
@@ -219,25 +245,25 @@ public class Q00254_LegendaryTales extends Quest
@Override @Override
public void actionForEachPlayer(L2PcInstance player, L2Npc npc, boolean isSummon) public void actionForEachPlayer(L2PcInstance player, L2Npc npc, boolean isSummon)
{ {
final QuestState st = player.getQuestState(Q00254_LegendaryTales.class.getSimpleName()); final QuestState qs = player.getQuestState(Q00254_LegendaryTales.class.getSimpleName());
if ((st != null) && st.isCond(1)) if ((qs != null) && qs.isCond(1))
{ {
final int raids = st.getInt("raids"); final int raids = qs.getInt("raids");
final Bosses boss = Bosses.valueOf(npc.getId()); final Bosses boss = Bosses.valueOf(npc.getId());
if (!checkMask(st, boss)) if (!checkMask(qs, boss))
{ {
st.set("raids", raids | boss.getMask()); qs.set("raids", raids | boss.getMask());
st.giveItems(LARGE_DRAGON_SKULL, 1); giveItems(player, LARGE_DRAGON_SKULL, 1);
if (st.getQuestItemsCount(LARGE_DRAGON_SKULL) < 7) if (getQuestItemsCount(player, LARGE_DRAGON_SKULL) < 7)
{ {
st.playSound(QuestSound.ITEMSOUND_QUEST_ITEMGET); playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET);
} }
else else
{ {
st.setCond(2, true); qs.setCond(2, true);
} }
} }
} }

View File

@@ -62,20 +62,20 @@ public class Q00270_TheOneWhoEndsSilence extends Quest
@Override @Override
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
{ {
final QuestState st = getQuestState(player, false); final QuestState qs = getQuestState(player, false);
if (st == null) if (qs == null)
{ {
return null; return null;
} }
String htmltext = null; String htmltext = null;
final long ragsCount = st.getQuestItemsCount(TATTERED_MONK_CLOTHES); final long ragsCount = getQuestItemsCount(player, TATTERED_MONK_CLOTHES);
switch (event) switch (event)
{ {
case "32757-02.htm": case "32757-02.htm":
{ {
final QuestState qs = player.getQuestState(Q10288_SecretMission.class.getSimpleName()); final QuestState qst = player.getQuestState(Q10288_SecretMission.class.getSimpleName());
if ((player.getLevel() >= MIN_LEVEL) && (qs != null) && qs.isCompleted()) if ((player.getLevel() >= MIN_LEVEL) && (qst != null) && qst.isCompleted())
{ {
htmltext = event; htmltext = event;
} }
@@ -83,17 +83,17 @@ public class Q00270_TheOneWhoEndsSilence extends Quest
} }
case "32757-04.html": case "32757-04.html":
{ {
final QuestState qs = player.getQuestState(Q10288_SecretMission.class.getSimpleName()); final QuestState qst = player.getQuestState(Q10288_SecretMission.class.getSimpleName());
if ((player.getLevel() >= MIN_LEVEL) && (qs != null) && qs.isCompleted()) if ((player.getLevel() >= MIN_LEVEL) && (qst != null) && qst.isCompleted())
{ {
st.startQuest(); qs.startQuest();
htmltext = event; htmltext = event;
} }
break; break;
} }
case "32757-08.html": case "32757-08.html":
{ {
if (st.isCond(1)) if (qs.isCond(1))
{ {
if (ragsCount == 0) if (ragsCount == 0)
{ {
@@ -118,20 +118,20 @@ public class Q00270_TheOneWhoEndsSilence extends Quest
{ {
if (getRandom(1000) < 438) if (getRandom(1000) < 438)
{ {
st.giveItems(10373 + getRandom(9), 1); giveItems(player, 10373 + getRandom(9), 1);
} }
else else
{ {
st.giveItems(10397 + getRandom(9), 1); giveItems(player, 10397 + getRandom(9), 1);
} }
} }
else else
{ {
rewardScroll(st, 1); rewardScroll(player, 1);
} }
st.takeItems(TATTERED_MONK_CLOTHES, 100); takeItems(player, TATTERED_MONK_CLOTHES, 100);
st.playSound(QuestSound.ITEMSOUND_QUEST_MIDDLE); playSound(player, QuestSound.ITEMSOUND_QUEST_MIDDLE);
htmltext = "32757-09.html"; htmltext = "32757-09.html";
} }
else else
@@ -146,16 +146,16 @@ public class Q00270_TheOneWhoEndsSilence extends Quest
{ {
if (getRandom(1000) < 549) if (getRandom(1000) < 549)
{ {
st.giveItems(10373 + getRandom(9), 1); giveItems(player, 10373 + getRandom(9), 1);
} }
else else
{ {
st.giveItems(10397 + getRandom(9), 1); giveItems(player, 10397 + getRandom(9), 1);
} }
rewardScroll(st, 2); rewardScroll(player, 2);
st.takeItems(TATTERED_MONK_CLOTHES, 200); takeItems(player, TATTERED_MONK_CLOTHES, 200);
st.playSound(QuestSound.ITEMSOUND_QUEST_MIDDLE); playSound(player, QuestSound.ITEMSOUND_QUEST_MIDDLE);
htmltext = "32757-09.html"; htmltext = "32757-09.html";
} }
else else
@@ -168,12 +168,12 @@ public class Q00270_TheOneWhoEndsSilence extends Quest
{ {
if (ragsCount >= 300) if (ragsCount >= 300)
{ {
st.giveItems(10373 + getRandom(9), 1); giveItems(player, 10373 + getRandom(9), 1);
st.giveItems(10397 + getRandom(9), 1); giveItems(player, 10397 + getRandom(9), 1);
rewardScroll(st, 3); rewardScroll(player, 3);
st.takeItems(TATTERED_MONK_CLOTHES, 300); takeItems(player, TATTERED_MONK_CLOTHES, 300);
st.playSound(QuestSound.ITEMSOUND_QUEST_MIDDLE); playSound(player, QuestSound.ITEMSOUND_QUEST_MIDDLE);
htmltext = "32757-09.html"; htmltext = "32757-09.html";
} }
else else
@@ -186,28 +186,28 @@ public class Q00270_TheOneWhoEndsSilence extends Quest
{ {
if (ragsCount >= 400) if (ragsCount >= 400)
{ {
st.giveItems(10373 + getRandom(9), 1); giveItems(player, 10373 + getRandom(9), 1);
st.giveItems(10397 + getRandom(9), 1); giveItems(player, 10397 + getRandom(9), 1);
rewardScroll(st, 3); rewardScroll(player, 3);
if (getRandom(10) < 5) if (getRandom(10) < 5)
{ {
if (getRandom(1000) < 438) if (getRandom(1000) < 438)
{ {
st.giveItems(10373 + getRandom(9), 1); giveItems(player, 10373 + getRandom(9), 1);
} }
else else
{ {
st.giveItems(10397 + getRandom(9), 1); giveItems(player, 10397 + getRandom(9), 1);
} }
} }
else else
{ {
rewardScroll(st, 1); rewardScroll(player, 1);
} }
st.takeItems(TATTERED_MONK_CLOTHES, 400); takeItems(player, TATTERED_MONK_CLOTHES, 400);
st.playSound(QuestSound.ITEMSOUND_QUEST_MIDDLE); playSound(player, QuestSound.ITEMSOUND_QUEST_MIDDLE);
htmltext = "32757-09.html"; htmltext = "32757-09.html";
} }
else else
@@ -220,22 +220,22 @@ public class Q00270_TheOneWhoEndsSilence extends Quest
{ {
if (ragsCount >= 500) if (ragsCount >= 500)
{ {
st.giveItems(10373 + getRandom(9), 1); giveItems(player, 10373 + getRandom(9), 1);
st.giveItems(10397 + getRandom(9), 1); giveItems(player, 10397 + getRandom(9), 1);
rewardScroll(st, 3); rewardScroll(player, 3);
if (getRandom(1000) < 549) if (getRandom(1000) < 549)
{ {
st.giveItems(10373 + getRandom(9), 1); giveItems(player, 10373 + getRandom(9), 1);
} }
else else
{ {
st.giveItems(10397 + getRandom(9), 1); giveItems(player, 10397 + getRandom(9), 1);
} }
rewardScroll(st, 2); rewardScroll(player, 2);
st.takeItems(TATTERED_MONK_CLOTHES, 500); takeItems(player, TATTERED_MONK_CLOTHES, 500);
st.playSound(QuestSound.ITEMSOUND_QUEST_MIDDLE); playSound(player, QuestSound.ITEMSOUND_QUEST_MIDDLE);
htmltext = "32757-09.html"; htmltext = "32757-09.html";
} }
else else
@@ -246,7 +246,7 @@ public class Q00270_TheOneWhoEndsSilence extends Quest
} }
case "exit1": case "exit1":
{ {
if (st.isCond(1)) if (qs.isCond(1))
{ {
if (ragsCount >= 1) if (ragsCount >= 1)
{ {
@@ -254,7 +254,7 @@ public class Q00270_TheOneWhoEndsSilence extends Quest
} }
else else
{ {
st.exitQuest(true, true); qs.exitQuest(true, true);
htmltext = "32757-13.html"; htmltext = "32757-13.html";
} }
} }
@@ -262,9 +262,9 @@ public class Q00270_TheOneWhoEndsSilence extends Quest
} }
case "exit2": case "exit2":
{ {
if (st.isCond(1)) if (qs.isCond(1))
{ {
st.exitQuest(true, true); qs.exitQuest(true, true);
htmltext = "32757-13.html"; htmltext = "32757-13.html";
} }
break; break;
@@ -335,41 +335,46 @@ public class Q00270_TheOneWhoEndsSilence extends Quest
@Override @Override
public String onTalk(L2Npc npc, L2PcInstance player) public String onTalk(L2Npc npc, L2PcInstance player)
{ {
final QuestState st = getQuestState(player, true); final QuestState qs = getQuestState(player, true);
String htmltext = getNoQuestMsg(player); String htmltext = getNoQuestMsg(player);
if (st == null) if (qs == null)
{ {
return htmltext; return htmltext;
} }
switch (st.getState()) switch (qs.getState())
{ {
case State.CREATED: case State.CREATED:
final QuestState qs = player.getQuestState(Q10288_SecretMission.class.getSimpleName()); {
htmltext = ((player.getLevel() >= MIN_LEVEL) && (qs != null) && qs.isCompleted()) ? "32757-01.htm" : "32757-03.html"; final QuestState qst = player.getQuestState(Q10288_SecretMission.class.getSimpleName());
htmltext = ((player.getLevel() >= MIN_LEVEL) && (qst != null) && qst.isCompleted()) ? "32757-01.htm" : "32757-03.html";
break; break;
}
case State.STARTED: case State.STARTED:
if (st.isCond(1)) {
if (qs.isCond(1))
{ {
htmltext = "32757-05.html"; htmltext = "32757-05.html";
} }
break; break;
}
} }
return htmltext; return htmltext;
} }
/** /**
* Wrapper for this repetitive reward. * Wrapper for this repetitive reward.
* @param qs the player's quest state. * @param player the player.
* @param type the type. * @param type the type.
*/ */
private void rewardScroll(QuestState qs, int type) private void rewardScroll(L2PcInstance player, int type)
{ {
int chance; int chance;
int scrollId = 5593; int scrollId = 5593;
switch (type) switch (type)
{ {
case 1: case 1:
{
chance = getRandom(100); chance = getRandom(100);
if (chance < 1) if (chance < 1)
{ {
@@ -388,7 +393,9 @@ public class Q00270_TheOneWhoEndsSilence extends Quest
scrollId = 9898; scrollId = 9898;
} }
break; break;
}
case 2: case 2:
{
chance = getRandom(100); chance = getRandom(100);
if (chance < 20) if (chance < 20)
{ {
@@ -407,7 +414,9 @@ public class Q00270_TheOneWhoEndsSilence extends Quest
scrollId = 9898; scrollId = 9898;
} }
break; break;
}
case 3: case 3:
{
chance = getRandom(1000); chance = getRandom(1000);
if (chance < 242) if (chance < 242)
{ {
@@ -426,8 +435,9 @@ public class Q00270_TheOneWhoEndsSilence extends Quest
scrollId = 9898; scrollId = 9898;
} }
break; break;
}
} }
qs.giveItems(scrollId, 1); giveItems(player, scrollId, 1);
} }
/** /**
@@ -444,9 +454,8 @@ public class Q00270_TheOneWhoEndsSilence extends Quest
final int count = ((getRandom(1000) < chance) ? 1 : 0) + (atLeastOne ? 1 : 0); final int count = ((getRandom(1000) < chance) ? 1 : 0) + (atLeastOne ? 1 : 0);
if (count > 0) if (count > 0)
{ {
final QuestState qs = player.getQuestState(Q00270_TheOneWhoEndsSilence.class.getSimpleName()); giveItems(player, TATTERED_MONK_CLOTHES, count);
qs.giveItems(TATTERED_MONK_CLOTHES, count); playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET);
qs.playSound(QuestSound.ITEMSOUND_QUEST_ITEMGET);
} }
} }
} }

View File

@@ -53,8 +53,8 @@ public class Q00278_HomeSecurity extends Quest
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
{ {
String htmltext = event; String htmltext = event;
final QuestState st = getQuestState(player, false); final QuestState qs = getQuestState(player, false);
if (st == null) if (qs == null)
{ {
return htmltext; return htmltext;
} }
@@ -68,7 +68,7 @@ public class Q00278_HomeSecurity extends Quest
} }
case "31537-04.htm": case "31537-04.htm":
{ {
st.startQuest(); qs.startQuest();
break; break;
} }
case "31537-07.html": case "31537-07.html":
@@ -77,58 +77,58 @@ public class Q00278_HomeSecurity extends Quest
if (i0 < 10) if (i0 < 10)
{ {
st.giveItems(960, 1); giveItems(player, 960, 1);
} }
else if (i0 < 19) else if (i0 < 19)
{ {
st.giveItems(960, 2); giveItems(player, 960, 2);
} }
else if (i0 < 27) else if (i0 < 27)
{ {
st.giveItems(960, 3); giveItems(player, 960, 3);
} }
else if (i0 < 34) else if (i0 < 34)
{ {
st.giveItems(960, 4); giveItems(player, 960, 4);
} }
else if (i0 < 40) else if (i0 < 40)
{ {
st.giveItems(960, 5); giveItems(player, 960, 5);
} }
else if (i0 < 45) else if (i0 < 45)
{ {
st.giveItems(960, 6); giveItems(player, 960, 6);
} }
else if (i0 < 49) else if (i0 < 49)
{ {
st.giveItems(960, 7); giveItems(player, 960, 7);
} }
else if (i0 < 52) else if (i0 < 52)
{ {
st.giveItems(960, 8); giveItems(player, 960, 8);
} }
else if (i0 < 54) else if (i0 < 54)
{ {
st.giveItems(960, 9); giveItems(player, 960, 9);
} }
else if (i0 < 55) else if (i0 < 55)
{ {
st.giveItems(960, 10); giveItems(player, 960, 10);
} }
else if (i0 < 75) else if (i0 < 75)
{ {
st.giveItems(9553, 1); giveItems(player, 9553, 1);
} }
else if (i0 < 90) else if (i0 < 90)
{ {
st.giveItems(9553, 2); giveItems(player, 9553, 2);
} }
else else
{ {
st.giveItems(959, 1); giveItems(player, 959, 1);
} }
st.exitQuest(true, true); qs.exitQuest(true, true);
htmltext = "31537-07.html"; htmltext = "31537-07.html";
break; break;
} }
@@ -139,26 +139,26 @@ public class Q00278_HomeSecurity extends Quest
@Override @Override
public String onKill(L2Npc npc, L2PcInstance player, boolean isSummon) public String onKill(L2Npc npc, L2PcInstance player, boolean isSummon)
{ {
final QuestState st = getRandomPartyMemberState(player, 1, 3, npc); final QuestState qs = getRandomPartyMemberState(player, 1, 3, npc);
if (st != null) if (qs != null)
{ {
switch (npc.getId()) switch (npc.getId())
{ {
case 18905: // Farm Ravager (Crazy) case 18905: // Farm Ravager (Crazy)
{ {
final int itemCount = ((getRandom(1000) < 486) ? getRandom(6) + 1 : getRandom(5) + 1); final int itemCount = ((getRandom(1000) < 486) ? getRandom(6) + 1 : getRandom(5) + 1);
if (st.giveItemRandomly(npc, SEL_MAHUM_MANE, itemCount, SEL_MAHUM_MANE_COUNT, 1.0, true)) if (giveItemRandomly(qs.getPlayer(), npc, SEL_MAHUM_MANE, itemCount, SEL_MAHUM_MANE_COUNT, 1.0, true))
{ {
st.setCond(2, true); qs.setCond(2, true);
} }
break; break;
} }
case 18906: // Farm Bandit case 18906: // Farm Bandit
case 18907: // Beast Devourer case 18907: // Beast Devourer
{ {
if (st.giveItemRandomly(npc, SEL_MAHUM_MANE, 1, SEL_MAHUM_MANE_COUNT, 0.85, true)) if (giveItemRandomly(qs.getPlayer(), npc, SEL_MAHUM_MANE, 1, SEL_MAHUM_MANE_COUNT, 0.85, true))
{ {
st.setCond(2, true); qs.setCond(2, true);
} }
break; break;
} }
@@ -171,23 +171,23 @@ public class Q00278_HomeSecurity extends Quest
public String onTalk(L2Npc npc, L2PcInstance player) public String onTalk(L2Npc npc, L2PcInstance player)
{ {
String htmltext = getNoQuestMsg(player); String htmltext = getNoQuestMsg(player);
final QuestState st = getQuestState(player, true); final QuestState qs = getQuestState(player, true);
if (st == null) if (qs == null)
{ {
return htmltext; return htmltext;
} }
if (st.isCreated()) if (qs.isCreated())
{ {
htmltext = "31537-01.htm"; htmltext = "31537-01.htm";
} }
else if (st.isStarted()) else if (qs.isStarted())
{ {
if (st.isCond(1) || (getQuestItemsCount(player, SEL_MAHUM_MANE) < SEL_MAHUM_MANE_COUNT)) if (qs.isCond(1) || (getQuestItemsCount(player, SEL_MAHUM_MANE) < SEL_MAHUM_MANE_COUNT))
{ {
htmltext = "31537-06.html"; htmltext = "31537-06.html";
} }
else if (st.isCond(2) && (getQuestItemsCount(player, SEL_MAHUM_MANE) >= SEL_MAHUM_MANE_COUNT)) else if (qs.isCond(2) && (getQuestItemsCount(player, SEL_MAHUM_MANE) >= SEL_MAHUM_MANE_COUNT))
{ {
htmltext = "31537-05.html"; htmltext = "31537-05.html";
} }

View File

@@ -68,22 +68,22 @@ public final class Q00279_TargetOfOpportunity extends Quest
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
{ {
final String htmltext = event; final String htmltext = event;
final QuestState st = getQuestState(player, false); final QuestState qs = getQuestState(player, false);
if ((st == null) || (player.getLevel() < 82)) if ((qs == null) || (player.getLevel() < 82))
{ {
return getNoQuestMsg(player); return getNoQuestMsg(player);
} }
if (event.equalsIgnoreCase("32302-05.html")) if (event.equals("32302-05.html"))
{ {
st.startQuest(); qs.startQuest();
st.set("progress", "1"); qs.set("progress", "1");
} }
else if (event.equalsIgnoreCase("32302-08.html") && (st.getInt("progress") == 1) && st.hasQuestItems(SEAL_COMPONENTS[0]) && st.hasQuestItems(SEAL_COMPONENTS[1]) && st.hasQuestItems(SEAL_COMPONENTS[2]) && st.hasQuestItems(SEAL_COMPONENTS[3])) else if (event.equals("32302-08.html") && (qs.getInt("progress") == 1) && hasQuestItems(player, SEAL_COMPONENTS[0]) && hasQuestItems(player, SEAL_COMPONENTS[1]) && hasQuestItems(player, SEAL_COMPONENTS[2]) && hasQuestItems(player, SEAL_COMPONENTS[3]))
{ {
st.giveItems(SEAL_BREAKERS[0], 1); giveItems(player, SEAL_BREAKERS[0], 1);
st.giveItems(SEAL_BREAKERS[1], 1); giveItems(player, SEAL_BREAKERS[1], 1);
st.exitQuest(true, true); qs.exitQuest(true, true);
} }
return htmltext; return htmltext;
} }
@@ -98,19 +98,19 @@ public final class Q00279_TargetOfOpportunity extends Quest
return null; return null;
} }
final QuestState st = getQuestState(pl, false); final QuestState qs = getQuestState(pl, false);
if (getRandom(1000) < (int) (311 * Config.RATE_QUEST_DROP)) if (getRandom(1000) < (int) (311 * Config.RATE_QUEST_DROP))
{ {
if (!st.hasQuestItems(SEAL_COMPONENTS[idx])) if (!hasQuestItems(player, SEAL_COMPONENTS[idx]))
{ {
st.giveItems(SEAL_COMPONENTS[idx], 1); giveItems(player, SEAL_COMPONENTS[idx], 1);
if (haveAllExceptThis(st, idx)) if (haveAllExceptThis(player, idx))
{ {
st.setCond(2, true); qs.setCond(2, true);
} }
else else
{ {
st.playSound(QuestSound.ITEMSOUND_QUEST_ITEMGET); playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET);
} }
} }
} }
@@ -121,24 +121,24 @@ public final class Q00279_TargetOfOpportunity extends Quest
public final String onTalk(L2Npc npc, L2PcInstance player) public final String onTalk(L2Npc npc, L2PcInstance player)
{ {
String htmltext = getNoQuestMsg(player); String htmltext = getNoQuestMsg(player);
final QuestState st = getQuestState(player, true); final QuestState qs = getQuestState(player, true);
if (st == null) if (qs == null)
{ {
return htmltext; return htmltext;
} }
if (st.getState() == State.CREATED) if (qs.getState() == State.CREATED)
{ {
htmltext = (player.getLevel() >= 82) ? "32302-01.htm" : "32302-02.html"; htmltext = (player.getLevel() >= 82) ? "32302-01.htm" : "32302-02.html";
} }
else if ((st.getState() == State.STARTED) && (st.getInt("progress") == 1)) else if ((qs.getState() == State.STARTED) && (qs.getInt("progress") == 1))
{ {
htmltext = (st.hasQuestItems(SEAL_COMPONENTS[0]) && st.hasQuestItems(SEAL_COMPONENTS[1]) && st.hasQuestItems(SEAL_COMPONENTS[2]) && st.hasQuestItems(SEAL_COMPONENTS[3])) ? "32302-07.html" : "32302-06.html"; htmltext = (hasQuestItems(player, SEAL_COMPONENTS[0]) && hasQuestItems(player, SEAL_COMPONENTS[1]) && hasQuestItems(player, SEAL_COMPONENTS[2]) && hasQuestItems(player, SEAL_COMPONENTS[3])) ? "32302-07.html" : "32302-06.html";
} }
return htmltext; return htmltext;
} }
private static final boolean haveAllExceptThis(QuestState st, int idx) private static final boolean haveAllExceptThis(L2PcInstance player, int idx)
{ {
for (int i = 0; i < SEAL_COMPONENTS.length; i++) for (int i = 0; i < SEAL_COMPONENTS.length; i++)
{ {
@@ -147,7 +147,7 @@ public final class Q00279_TargetOfOpportunity extends Quest
continue; continue;
} }
if (!st.hasQuestItems(SEAL_COMPONENTS[i])) if (!hasQuestItems(player, SEAL_COMPONENTS[i]))
{ {
return false; return false;
} }

View File

@@ -67,8 +67,8 @@ public final class Q00300_HuntingLetoLizardman extends Quest
@Override @Override
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
{ {
final QuestState st = getQuestState(player, false); final QuestState qs = getQuestState(player, false);
if (st == null) if (qs == null)
{ {
return null; return null;
} }
@@ -77,18 +77,18 @@ public final class Q00300_HuntingLetoLizardman extends Quest
{ {
case "30126-03.htm": case "30126-03.htm":
{ {
if (st.isCreated()) if (qs.isCreated())
{ {
st.startQuest(); qs.startQuest();
htmltext = event; htmltext = event;
} }
break; break;
} }
case "30126-06.html": case "30126-06.html":
{ {
if (st.getQuestItemsCount(BRACELET_OF_LIZARDMAN) >= REQUIRED_BRACELET_COUNT) if (getQuestItemsCount(player, BRACELET_OF_LIZARDMAN) >= REQUIRED_BRACELET_COUNT)
{ {
st.takeItems(BRACELET_OF_LIZARDMAN, -1); takeItems(player, BRACELET_OF_LIZARDMAN, -1);
final int rand = getRandom(1000); final int rand = getRandom(1000);
if (rand < 500) if (rand < 500)
{ {
@@ -102,7 +102,7 @@ public final class Q00300_HuntingLetoLizardman extends Quest
{ {
giveItems(player, REWARD_ANIMAL_BONE); giveItems(player, REWARD_ANIMAL_BONE);
} }
st.exitQuest(true, true); qs.exitQuest(true, true);
htmltext = event; htmltext = event;
} }
else else
@@ -121,17 +121,17 @@ public final class Q00300_HuntingLetoLizardman extends Quest
final L2PcInstance partyMember = getRandomPartyMember(player, 1); final L2PcInstance partyMember = getRandomPartyMember(player, 1);
if (partyMember != null) if (partyMember != null)
{ {
final QuestState st = getQuestState(partyMember, false); final QuestState qs = getQuestState(partyMember, false);
if (st.isCond(1) && (getRandom(1000) < MOBS_SAC.get(npc.getId()))) if (qs.isCond(1) && (getRandom(1000) < MOBS_SAC.get(npc.getId())))
{ {
st.giveItems(BRACELET_OF_LIZARDMAN, 1); giveItems(partyMember, BRACELET_OF_LIZARDMAN, 1);
if (st.getQuestItemsCount(BRACELET_OF_LIZARDMAN) == REQUIRED_BRACELET_COUNT) if (getQuestItemsCount(partyMember, BRACELET_OF_LIZARDMAN) == REQUIRED_BRACELET_COUNT)
{ {
st.setCond(2, true); qs.setCond(2, true);
} }
else else
{ {
st.playSound(QuestSound.ITEMSOUND_QUEST_ITEMGET); playSound(partyMember, QuestSound.ITEMSOUND_QUEST_ITEMGET);
} }
} }
} }
@@ -142,13 +142,13 @@ public final class Q00300_HuntingLetoLizardman extends Quest
public String onTalk(L2Npc npc, L2PcInstance player) public String onTalk(L2Npc npc, L2PcInstance player)
{ {
String htmltext = getNoQuestMsg(player); String htmltext = getNoQuestMsg(player);
final QuestState st = getQuestState(player, true); final QuestState qs = getQuestState(player, true);
if (st == null) if (qs == null)
{ {
return htmltext; return htmltext;
} }
switch (st.getState()) switch (qs.getState())
{ {
case State.CREATED: case State.CREATED:
{ {
@@ -157,7 +157,7 @@ public final class Q00300_HuntingLetoLizardman extends Quest
} }
case State.STARTED: case State.STARTED:
{ {
switch (st.getCond()) switch (qs.getCond())
{ {
case 1: case 1:
{ {
@@ -166,7 +166,7 @@ public final class Q00300_HuntingLetoLizardman extends Quest
} }
case 2: case 2:
{ {
if (st.getQuestItemsCount(BRACELET_OF_LIZARDMAN) >= REQUIRED_BRACELET_COUNT) if (getQuestItemsCount(player, BRACELET_OF_LIZARDMAN) >= REQUIRED_BRACELET_COUNT)
{ {
htmltext = "30126-05.html"; htmltext = "30126-05.html";
} }

View File

@@ -57,8 +57,8 @@ public class Q00307_ControlDeviceOfTheGiants extends Quest
@Override @Override
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
{ {
final QuestState st = getQuestState(player, false); final QuestState qs = getQuestState(player, false);
if (st == null) if (qs == null)
{ {
return null; return null;
} }
@@ -67,22 +67,31 @@ public class Q00307_ControlDeviceOfTheGiants extends Quest
switch (event) switch (event)
{ {
case "32711-04.html": case "32711-04.html":
{
if (player.getLevel() >= 79) if (player.getLevel() >= 79)
{ {
st.startQuest(); qs.startQuest();
htmltext = (st.hasQuestItems(CET_1_SHEET, CET_2_SHEET, CET_3_SHEET)) ? "32711-04a.html" : "32711-04.html"; htmltext = (hasQuestItems(player, CET_1_SHEET, CET_2_SHEET, CET_3_SHEET)) ? "32711-04a.html" : "32711-04.html";
} }
break; break;
}
case "32711-05a.html": case "32711-05a.html":
{
player.sendPacket(new RadarControl(0, 2, 186214, 61591, -4152)); player.sendPacket(new RadarControl(0, 2, 186214, 61591, -4152));
break; break;
}
case "32711-05b.html": case "32711-05b.html":
{
player.sendPacket(new RadarControl(0, 2, 187554, 60800, -4984)); player.sendPacket(new RadarControl(0, 2, 187554, 60800, -4984));
break; break;
}
case "32711-05c.html": case "32711-05c.html":
{
player.sendPacket(new RadarControl(0, 2, 193432, 53922, -4368)); player.sendPacket(new RadarControl(0, 2, 193432, 53922, -4368));
break; break;
}
case "spawn": case "spawn":
{
if (!hasQuestItems(player, CET_1_SHEET, CET_2_SHEET, CET_3_SHEET)) if (!hasQuestItems(player, CET_1_SHEET, CET_2_SHEET, CET_3_SHEET))
{ {
return getNoQuestMsg(player); return getNoQuestMsg(player);
@@ -97,19 +106,24 @@ public class Q00307_ControlDeviceOfTheGiants extends Quest
{ {
return "32711-09a.html"; return "32711-09a.html";
} }
st.takeItems(CET_1_SHEET, 1); takeItems(player, CET_1_SHEET, 1);
st.takeItems(CET_2_SHEET, 1); takeItems(player, CET_2_SHEET, 1);
st.takeItems(CET_3_SHEET, 1); takeItems(player, CET_3_SHEET, 1);
hekaton = addSpawn(HEKATON_PRIME, 191777, 56197, -7624, 0, false, 0); hekaton = addSpawn(HEKATON_PRIME, 191777, 56197, -7624, 0, false, 0);
htmltext = "32711-09.html"; htmltext = "32711-09.html";
break; break;
}
case "32711-03.htm": case "32711-03.htm":
case "32711-05.html": case "32711-05.html":
case "32711-06.html": case "32711-06.html":
{
break; break;
}
default: default:
{
htmltext = null; htmltext = null;
break; break;
}
} }
return htmltext; return htmltext;
} }
@@ -122,26 +136,25 @@ public class Q00307_ControlDeviceOfTheGiants extends Quest
{ {
return super.onKill(npc, player, isSummon); return super.onKill(npc, player, isSummon);
} }
final QuestState st = getQuestState(partyMember, false);
switch (npc.getId()) switch (npc.getId())
{ {
case GORGOLOS: case GORGOLOS:
{ {
st.giveItems(CET_1_SHEET, 1); giveItems(partyMember, CET_1_SHEET, 1);
st.playSound(QuestSound.ITEMSOUND_QUEST_ITEMGET); playSound(partyMember, QuestSound.ITEMSOUND_QUEST_ITEMGET);
break; break;
} }
case LAST_TITAN_UTENUS: case LAST_TITAN_UTENUS:
{ {
st.giveItems(CET_2_SHEET, 1); giveItems(partyMember, CET_2_SHEET, 1);
st.playSound(QuestSound.ITEMSOUND_QUEST_ITEMGET); playSound(partyMember, QuestSound.ITEMSOUND_QUEST_ITEMGET);
break; break;
} }
case GIANT_MARPANAK: case GIANT_MARPANAK:
{ {
st.giveItems(CET_3_SHEET, 1); giveItems(partyMember, CET_3_SHEET, 1);
st.playSound(QuestSound.ITEMSOUND_QUEST_ITEMGET); playSound(partyMember, QuestSound.ITEMSOUND_QUEST_ITEMGET);
break; break;
} }
case HEKATON_PRIME: case HEKATON_PRIME:
@@ -150,11 +163,11 @@ public class Q00307_ControlDeviceOfTheGiants extends Quest
{ {
for (L2PcInstance pl : player.getParty().getMembers()) for (L2PcInstance pl : player.getParty().getMembers())
{ {
final QuestState qs = getQuestState(pl, false); final QuestState qst = getQuestState(pl, false);
if ((qs != null) && qs.isCond(1)) if ((qst != null) && qst.isCond(1))
{ {
qs.setCond(2, true); qst.setCond(2, true);
} }
} }
saveGlobalQuestVar("Respawn", Long.toString(System.currentTimeMillis() + RESPAWN_DELAY)); saveGlobalQuestVar("Respawn", Long.toString(System.currentTimeMillis() + RESPAWN_DELAY));
@@ -169,13 +182,13 @@ public class Q00307_ControlDeviceOfTheGiants extends Quest
public String onTalk(L2Npc npc, L2PcInstance player) public String onTalk(L2Npc npc, L2PcInstance player)
{ {
String htmltext = getNoQuestMsg(player); String htmltext = getNoQuestMsg(player);
final QuestState st = getQuestState(player, true); final QuestState qs = getQuestState(player, true);
if (st == null) if (qs == null)
{ {
return htmltext; return htmltext;
} }
switch (st.getState()) switch (qs.getState())
{ {
case State.CREATED: case State.CREATED:
{ {
@@ -188,14 +201,14 @@ public class Q00307_ControlDeviceOfTheGiants extends Quest
{ {
htmltext = "32711-09.html"; htmltext = "32711-09.html";
} }
else if (st.isCond(1)) else if (qs.isCond(1))
{ {
htmltext = (!hasQuestItems(player, CET_1_SHEET, CET_2_SHEET, CET_3_SHEET)) ? "32711-07.html" : "32711-08.html"; htmltext = (!hasQuestItems(player, CET_1_SHEET, CET_2_SHEET, CET_3_SHEET)) ? "32711-07.html" : "32711-08.html";
} }
else if (st.isCond(2)) else if (qs.isCond(2))
{ {
st.giveItems(SUPPORT_ITEMS, 1); giveItems(player, SUPPORT_ITEMS, 1);
st.exitQuest(true, true); qs.exitQuest(true, true);
htmltext = "32711-10.html"; htmltext = "32711-10.html";
} }
break; break;

View File

@@ -76,9 +76,9 @@ public class Q00310_OnlyWhatRemains extends Quest
@Override @Override
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
{ {
final QuestState st = getQuestState(player, false); final QuestState qs = getQuestState(player, false);
if (st == null) if (qs == null)
{ {
return null; return null;
} }
@@ -87,20 +87,28 @@ public class Q00310_OnlyWhatRemains extends Quest
switch (event) switch (event)
{ {
case "32640-04.htm": case "32640-04.htm":
st.startQuest(); {
qs.startQuest();
break; break;
}
case "32640-quit.html": case "32640-quit.html":
st.exitQuest(true, true); {
qs.exitQuest(true, true);
break; break;
}
case "32640-02.htm": case "32640-02.htm":
case "32640-03.htm": case "32640-03.htm":
case "32640-05.html": case "32640-05.html":
case "32640-06.html": case "32640-06.html":
case "32640-07.html": case "32640-07.html":
{
break; break;
}
default: default:
{
htmltext = null; htmltext = null;
break; break;
}
} }
return htmltext; return htmltext;
} }
@@ -115,12 +123,10 @@ public class Q00310_OnlyWhatRemains extends Quest
return super.onKill(npc, player, isSummon); return super.onKill(npc, player, isSummon);
} }
final QuestState st = getQuestState(partyMember, false);
if (getRandom(1000) < MOBS.get(npc.getId())) if (getRandom(1000) < MOBS.get(npc.getId()))
{ {
st.giveItems(DIRTY_BEAD, 1); giveItems(partyMember, DIRTY_BEAD, 1);
st.playSound(QuestSound.ITEMSOUND_QUEST_ITEMGET); playSound(partyMember, QuestSound.ITEMSOUND_QUEST_ITEMGET);
} }
return super.onKill(npc, player, isSummon); return super.onKill(npc, player, isSummon);
} }
@@ -129,36 +135,40 @@ public class Q00310_OnlyWhatRemains extends Quest
public String onTalk(L2Npc npc, L2PcInstance player) public String onTalk(L2Npc npc, L2PcInstance player)
{ {
String htmltext = getNoQuestMsg(player); String htmltext = getNoQuestMsg(player);
final QuestState st = getQuestState(player, true); final QuestState qs = getQuestState(player, true);
if (st == null) if (qs == null)
{ {
return htmltext; return htmltext;
} }
switch (st.getState()) switch (qs.getState())
{ {
case State.CREATED: case State.CREATED:
{
final QuestState prev = player.getQuestState(Q00240_ImTheOnlyOneYouCanTrust.class.getSimpleName()); final QuestState prev = player.getQuestState(Q00240_ImTheOnlyOneYouCanTrust.class.getSimpleName());
htmltext = ((player.getLevel() >= 81) && (prev != null) && prev.isCompleted()) ? "32640-01.htm" : "32640-00.htm"; htmltext = ((player.getLevel() >= 81) && (prev != null) && prev.isCompleted()) ? "32640-01.htm" : "32640-00.htm";
break; break;
}
case State.STARTED: case State.STARTED:
if (!st.hasQuestItems(DIRTY_BEAD)) {
if (!hasQuestItems(player, DIRTY_BEAD))
{ {
htmltext = "32640-08.html"; htmltext = "32640-08.html";
} }
else if (st.getQuestItemsCount(DIRTY_BEAD) < 500) else if (getQuestItemsCount(player, DIRTY_BEAD) < 500)
{ {
htmltext = "32640-09.html"; htmltext = "32640-09.html";
} }
else else
{ {
st.takeItems(DIRTY_BEAD, 500); takeItems(player, DIRTY_BEAD, 500);
st.giveItems(GROW_ACCELERATOR, 1); giveItems(player, GROW_ACCELERATOR, 1);
st.giveItems(MULTI_COLORED_JEWEL, 1); giveItems(player, MULTI_COLORED_JEWEL, 1);
htmltext = "32640-10.html"; htmltext = "32640-10.html";
} }
break; break;
}
} }
return htmltext; return htmltext;
} }

View File

@@ -71,21 +71,21 @@ public final class Q00326_VanquishRemnants extends Quest
@Override @Override
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
{ {
final QuestState st = getQuestState(player, false); final QuestState qs = getQuestState(player, false);
String htmltext = null; String htmltext = null;
if (st != null) if (qs != null)
{ {
switch (event) switch (event)
{ {
case "30435-03.htm": case "30435-03.htm":
{ {
st.startQuest(); qs.startQuest();
htmltext = event; htmltext = event;
break; break;
} }
case "30435-07.html": case "30435-07.html":
{ {
st.exitQuest(true, true); qs.exitQuest(true, true);
htmltext = event; htmltext = event;
break; break;
} }
@@ -102,11 +102,11 @@ public final class Q00326_VanquishRemnants extends Quest
@Override @Override
public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon) public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
{ {
final QuestState st = getQuestState(killer, false); final QuestState qs = getQuestState(killer, false);
if ((st != null) && st.isStarted() && (getRandom(100) < MONSTERS.get(npc.getId())[0])) if ((qs != null) && qs.isStarted() && (getRandom(100) < MONSTERS.get(npc.getId())[0]))
{ {
st.giveItems(MONSTERS.get(npc.getId())[1], 1); giveItems(killer, MONSTERS.get(npc.getId())[1], 1);
st.playSound(QuestSound.ITEMSOUND_QUEST_ITEMGET); playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET);
} }
return super.onKill(npc, killer, isSummon); return super.onKill(npc, killer, isSummon);
} }
@@ -114,11 +114,11 @@ public final class Q00326_VanquishRemnants extends Quest
@Override @Override
public String onTalk(L2Npc npc, L2PcInstance player) public String onTalk(L2Npc npc, L2PcInstance player)
{ {
final QuestState st = getQuestState(player, true); final QuestState qs = getQuestState(player, true);
String htmltext = null; String htmltext = null;
if (st != null) if (qs != null)
{ {
switch (st.getState()) switch (qs.getState())
{ {
case State.CREATED: case State.CREATED:
{ {
@@ -127,19 +127,19 @@ public final class Q00326_VanquishRemnants extends Quest
} }
case State.STARTED: case State.STARTED:
{ {
final long red_badges = st.getQuestItemsCount(RED_CROSS_BADGE); final long red_badges = getQuestItemsCount(player, RED_CROSS_BADGE);
final long blue_badges = st.getQuestItemsCount(BLUE_CROSS_BADGE); final long blue_badges = getQuestItemsCount(player, BLUE_CROSS_BADGE);
final long black_badges = st.getQuestItemsCount(BLACK_CROSS_BADGE); final long black_badges = getQuestItemsCount(player, BLACK_CROSS_BADGE);
final long sum = red_badges + blue_badges + black_badges; final long sum = red_badges + blue_badges + black_badges;
if (sum > 0) if (sum > 0)
{ {
if ((sum >= 100) && !st.hasQuestItems(BLACK_LION_MARK)) if ((sum >= 100) && !hasQuestItems(player, BLACK_LION_MARK))
{ {
st.giveItems(BLACK_LION_MARK, 1); giveItems(player, BLACK_LION_MARK, 1);
} }
st.giveAdena(((red_badges * 46) + (blue_badges * 52) + (black_badges * 58) + ((sum >= 10) ? 4320 : 0)), true); giveAdena(player, ((red_badges * 46) + (blue_badges * 52) + (black_badges * 58) + ((sum >= 10) ? 4320 : 0)), true);
takeItems(player, -1, RED_CROSS_BADGE, BLUE_CROSS_BADGE, BLACK_CROSS_BADGE); takeItems(player, -1, RED_CROSS_BADGE, BLUE_CROSS_BADGE, BLACK_CROSS_BADGE);
htmltext = (sum >= 100) ? (st.hasQuestItems(BLACK_LION_MARK)) ? "30435-09.html" : "30435-06.html" : "30435-05.html"; htmltext = (sum >= 100) ? (hasQuestItems(player, BLACK_LION_MARK)) ? "30435-09.html" : "30435-06.html" : "30435-05.html";
} }
else else
{ {

View File

@@ -173,12 +173,12 @@ public final class Q00336_CoinsOfMagic extends Quest
case COLLOB: case COLLOB:
case HEAD_BLACKSMITH_FERRIS: case HEAD_BLACKSMITH_FERRIS:
{ {
if (qs.hasQuestItems(Q_CC_MEMBERSHIP_1)) if (hasQuestItems(player, Q_CC_MEMBERSHIP_1))
{ {
resetParams(qs); resetParams(qs);
return npc.getId() + "-01.html"; return npc.getId() + "-01.html";
} }
if (qs.hasQuestItems(Q_CC_MEMBERSHIP_2) || qs.hasQuestItems(Q_CC_MEMBERSHIP_3)) if (hasQuestItems(player, Q_CC_MEMBERSHIP_2) || hasQuestItems(player, Q_CC_MEMBERSHIP_3))
{ {
return npc.getId() + "-54.html"; return npc.getId() + "-54.html";
} }
@@ -188,12 +188,12 @@ public final class Q00336_CoinsOfMagic extends Quest
case STAN: case STAN:
case BLACKSMITH_DUNING: case BLACKSMITH_DUNING:
{ {
if (qs.hasQuestItems(Q_CC_MEMBERSHIP_1) || qs.hasQuestItems(Q_CC_MEMBERSHIP_2)) if (hasQuestItems(player, Q_CC_MEMBERSHIP_1) || hasQuestItems(player, Q_CC_MEMBERSHIP_2))
{ {
resetParams(qs); resetParams(qs);
return npc.getId() + "-01.html"; return npc.getId() + "-01.html";
} }
if (qs.hasQuestItems(Q_CC_MEMBERSHIP_3)) if (hasQuestItems(player, Q_CC_MEMBERSHIP_3))
{ {
return npc.getId() + "-54.html"; return npc.getId() + "-54.html";
} }
@@ -203,7 +203,7 @@ public final class Q00336_CoinsOfMagic extends Quest
case MAGISTER_PAGE: case MAGISTER_PAGE:
case RESEARCHER_LORAIN: case RESEARCHER_LORAIN:
{ {
if (qs.hasQuestItems(Q_CC_MEMBERSHIP_1) || qs.hasQuestItems(Q_CC_MEMBERSHIP_2) || qs.hasQuestItems(Q_CC_MEMBERSHIP_3)) if (hasQuestItems(player, Q_CC_MEMBERSHIP_1) || hasQuestItems(player, Q_CC_MEMBERSHIP_2) || hasQuestItems(player, Q_CC_MEMBERSHIP_3))
{ {
resetParams(qs); resetParams(qs);
return npc.getId() + "-01.html"; return npc.getId() + "-01.html";
@@ -212,7 +212,7 @@ public final class Q00336_CoinsOfMagic extends Quest
} }
case UNION_PRESIDENT_BERNARD: case UNION_PRESIDENT_BERNARD:
{ {
if ((qs.getMemoState() == 1) && qs.hasQuestItems(Q_COIN_DIAGRAM)) if ((qs.getMemoState() == 1) && hasQuestItems(player, Q_COIN_DIAGRAM))
{ {
return "30702-01.html"; return "30702-01.html";
} }
@@ -237,30 +237,30 @@ public final class Q00336_CoinsOfMagic extends Quest
} }
if (qs.isStarted()) if (qs.isStarted())
{ {
if (!qs.hasQuestItems(Q_KALDIS_GOLD_DRAGON) && ((qs.getMemoState() == 1) || (qs.getMemoState() == 2))) if (!hasQuestItems(player, Q_KALDIS_GOLD_DRAGON) && ((qs.getMemoState() == 1) || (qs.getMemoState() == 2)))
{ {
return "30232-06.html"; return "30232-06.html";
} }
if (qs.hasQuestItems(Q_KALDIS_GOLD_DRAGON) && ((qs.getMemoState() == 1) || (qs.getMemoState() == 2))) if (hasQuestItems(player, Q_KALDIS_GOLD_DRAGON) && ((qs.getMemoState() == 1) || (qs.getMemoState() == 2)))
{ {
qs.giveItems(Q_CC_MEMBERSHIP_3, 1); giveItems(player, Q_CC_MEMBERSHIP_3, 1);
qs.takeItems(Q_COIN_DIAGRAM, -1); takeItems(player, Q_COIN_DIAGRAM, -1);
qs.takeItems(Q_KALDIS_GOLD_DRAGON, 1); takeItems(player, Q_KALDIS_GOLD_DRAGON, 1);
qs.setMemoState(3); qs.setMemoState(3);
qs.setCond(4); qs.setCond(4);
qs.showQuestionMark(336); qs.showQuestionMark(336);
qs.playSound(QuestSound.ITEMSOUND_QUEST_MIDDLE); playSound(player, QuestSound.ITEMSOUND_QUEST_MIDDLE);
return "30232-07.html"; return "30232-07.html";
} }
if (qs.hasQuestItems(Q_CC_MEMBERSHIP_3) && (qs.getMemoState() == 3)) if (hasQuestItems(player, Q_CC_MEMBERSHIP_3) && (qs.getMemoState() == 3))
{ {
return "30232-10.html"; return "30232-10.html";
} }
if (qs.hasQuestItems(Q_CC_MEMBERSHIP_2) && (qs.getMemoState() == 3)) if (hasQuestItems(player, Q_CC_MEMBERSHIP_2) && (qs.getMemoState() == 3))
{ {
return "30232-11.html"; return "30232-11.html";
} }
if (qs.hasQuestItems(Q_CC_MEMBERSHIP_1) && (qs.getMemoState() == 3)) if (hasQuestItems(player, Q_CC_MEMBERSHIP_1) && (qs.getMemoState() == 3))
{ {
return "30232-12.html"; return "30232-12.html";
} }
@@ -283,15 +283,15 @@ public final class Q00336_CoinsOfMagic extends Quest
if (event.equals("QUEST_ACCEPTED")) if (event.equals("QUEST_ACCEPTED"))
{ {
qs.playSound(QuestSound.ITEMSOUND_QUEST_ACCEPT); playSound(player, QuestSound.ITEMSOUND_QUEST_ACCEPT);
if (!qs.hasQuestItems(Q_COIN_DIAGRAM)) if (!hasQuestItems(player, Q_COIN_DIAGRAM))
{ {
qs.giveItems(Q_COIN_DIAGRAM, 1); giveItems(player, Q_COIN_DIAGRAM, 1);
} }
qs.setMemoState(1); qs.setMemoState(1);
qs.startQuest(); qs.startQuest();
qs.showQuestionMark(336); qs.showQuestionMark(336);
qs.playSound(QuestSound.ITEMSOUND_QUEST_MIDDLE); playSound(player, QuestSound.ITEMSOUND_QUEST_MIDDLE);
return "30232-05.htm"; return "30232-05.htm";
} }
if (event.contains(".htm")) if (event.contains(".htm"))
@@ -794,7 +794,7 @@ public final class Q00336_CoinsOfMagic extends Quest
qs.setMemoState(2); qs.setMemoState(2);
qs.setCond(2); qs.setCond(2);
qs.showQuestionMark(336); qs.showQuestionMark(336);
qs.playSound(QuestSound.ITEMSOUND_QUEST_MIDDLE); playSound(player, QuestSound.ITEMSOUND_QUEST_MIDDLE);
return "30702-03.html"; return "30702-03.html";
} }
case 3: case 3:
@@ -802,14 +802,14 @@ public final class Q00336_CoinsOfMagic extends Quest
qs.setMemoState(2); qs.setMemoState(2);
qs.setCond(2); qs.setCond(2);
qs.showQuestionMark(336); qs.showQuestionMark(336);
qs.playSound(QuestSound.ITEMSOUND_QUEST_MIDDLE); playSound(player, QuestSound.ITEMSOUND_QUEST_MIDDLE);
return "30702-04.html"; return "30702-04.html";
} }
case 4: case 4:
{ {
qs.setCond(7); qs.setCond(7);
qs.showQuestionMark(336); qs.showQuestionMark(336);
qs.playSound(QuestSound.ITEMSOUND_QUEST_MIDDLE); playSound(player, QuestSound.ITEMSOUND_QUEST_MIDDLE);
return "30702-06.html"; return "30702-06.html";
} }
} }
@@ -837,51 +837,51 @@ public final class Q00336_CoinsOfMagic extends Quest
} }
case 5: case 5:
{ {
if (qs.hasQuestItems(Q_CC_MEMBERSHIP_3)) if (hasQuestItems(player, Q_CC_MEMBERSHIP_3))
{ {
if (qs.hasQuestItems(Q_BLOOD_DREVANUL, Q_BLOOD_WEREWOLF, Q_GOLD_KNIGHT, Q_GOLD_DRAKE, Q_SILVER_FAIRY, Q_SILVER_GOLEM)) if (hasQuestItems(player, Q_BLOOD_DREVANUL, Q_BLOOD_WEREWOLF, Q_GOLD_KNIGHT, Q_GOLD_DRAKE, Q_SILVER_FAIRY, Q_SILVER_GOLEM))
{ {
qs.setCond(9); qs.setCond(9);
qs.showQuestionMark(336); qs.showQuestionMark(336);
qs.playSound(QuestSound.ITEMSOUND_QUEST_MIDDLE); playSound(player, QuestSound.ITEMSOUND_QUEST_MIDDLE);
qs.takeItems(Q_CC_MEMBERSHIP_3, -1); takeItems(player, Q_CC_MEMBERSHIP_3, -1);
qs.takeItems(Q_BLOOD_DREVANUL, 1); takeItems(player, Q_BLOOD_DREVANUL, 1);
qs.takeItems(Q_BLOOD_WEREWOLF, 1); takeItems(player, Q_BLOOD_WEREWOLF, 1);
qs.takeItems(Q_GOLD_KNIGHT, 1); takeItems(player, Q_GOLD_KNIGHT, 1);
qs.takeItems(Q_GOLD_DRAKE, 1); takeItems(player, Q_GOLD_DRAKE, 1);
qs.takeItems(Q_SILVER_FAIRY, 1); takeItems(player, Q_SILVER_FAIRY, 1);
qs.takeItems(Q_SILVER_GOLEM, 1); takeItems(player, Q_SILVER_GOLEM, 1);
qs.giveItems(Q_CC_MEMBERSHIP_2, 1); giveItems(player, Q_CC_MEMBERSHIP_2, 1);
return "30232-16.html"; return "30232-16.html";
} }
qs.setCond(8); qs.setCond(8);
qs.showQuestionMark(336); qs.showQuestionMark(336);
qs.playSound(QuestSound.ITEMSOUND_QUEST_MIDDLE); playSound(player, QuestSound.ITEMSOUND_QUEST_MIDDLE);
return "30232-13.html"; return "30232-13.html";
} }
if (qs.hasQuestItems(Q_CC_MEMBERSHIP_2)) if (hasQuestItems(player, Q_CC_MEMBERSHIP_2))
{ {
if (qs.hasQuestItems(Q_BLOOD_BASILISK, Q_BLOOD_SUCCUBUS, Q_GOLD_GIANT, Q_GOLD_WYRM, Q_SILVER_UNDINE, Q_SILVER_DRYAD)) if (hasQuestItems(player, Q_BLOOD_BASILISK, Q_BLOOD_SUCCUBUS, Q_GOLD_GIANT, Q_GOLD_WYRM, Q_SILVER_UNDINE, Q_SILVER_DRYAD))
{ {
qs.setCond(11); qs.setCond(11);
qs.showQuestionMark(336); qs.showQuestionMark(336);
qs.playSound(QuestSound.ITEMSOUND_QUEST_MIDDLE); playSound(player, QuestSound.ITEMSOUND_QUEST_MIDDLE);
qs.takeItems(Q_CC_MEMBERSHIP_2, -1); takeItems(player, Q_CC_MEMBERSHIP_2, -1);
qs.takeItems(Q_BLOOD_BASILISK, 1); takeItems(player, Q_BLOOD_BASILISK, 1);
qs.takeItems(Q_BLOOD_SUCCUBUS, 1); takeItems(player, Q_BLOOD_SUCCUBUS, 1);
qs.takeItems(Q_GOLD_GIANT, 1); takeItems(player, Q_GOLD_GIANT, 1);
qs.takeItems(Q_GOLD_WYRM, 1); takeItems(player, Q_GOLD_WYRM, 1);
qs.takeItems(Q_SILVER_UNDINE, 1); takeItems(player, Q_SILVER_UNDINE, 1);
qs.takeItems(Q_SILVER_DRYAD, 1); takeItems(player, Q_SILVER_DRYAD, 1);
qs.giveItems(Q_CC_MEMBERSHIP_1, 1); giveItems(player, Q_CC_MEMBERSHIP_1, 1);
return "30232-17.html"; return "30232-17.html";
} }
qs.setCond(10); qs.setCond(10);
qs.showQuestionMark(336); qs.showQuestionMark(336);
qs.playSound(QuestSound.ITEMSOUND_QUEST_MIDDLE); playSound(player, QuestSound.ITEMSOUND_QUEST_MIDDLE);
return "30232-14.html"; return "30232-14.html";
} }
if (qs.hasQuestItems(Q_CC_MEMBERSHIP_1)) if (hasQuestItems(player, Q_CC_MEMBERSHIP_1))
{ {
return "30232-15.html"; return "30232-15.html";
} }
@@ -907,180 +907,180 @@ public final class Q00336_CoinsOfMagic extends Quest
{ {
qs.setCond(6); qs.setCond(6);
qs.showQuestionMark(336); qs.showQuestionMark(336);
qs.playSound(QuestSound.ITEMSOUND_QUEST_MIDDLE); playSound(player, QuestSound.ITEMSOUND_QUEST_MIDDLE);
return "30232-22.html"; return "30232-22.html";
} }
case 11: case 11:
{ {
qs.setCond(5); qs.setCond(5);
qs.showQuestionMark(336); qs.showQuestionMark(336);
qs.playSound(QuestSound.ITEMSOUND_QUEST_MIDDLE); playSound(player, QuestSound.ITEMSOUND_QUEST_MIDDLE);
return "30232-23.html"; return "30232-23.html";
} }
case 20: case 20:
{ {
if (qs.hasQuestItems(Q_BERETHS_BLOOD_DRAGON) && qs.hasQuestItems(Q_SILVER_DRAGON) && (qs.getQuestItemsCount(Q_GOLD_WYRM) >= 13)) if (hasQuestItems(player, Q_BERETHS_BLOOD_DRAGON) && hasQuestItems(player, Q_SILVER_DRAGON) && (getQuestItemsCount(player, Q_GOLD_WYRM) >= 13))
{ {
qs.takeItems(Q_BERETHS_BLOOD_DRAGON, 1); takeItems(player, Q_BERETHS_BLOOD_DRAGON, 1);
qs.takeItems(Q_SILVER_DRAGON, 1); takeItems(player, Q_SILVER_DRAGON, 1);
qs.takeItems(Q_GOLD_WYRM, 13); takeItems(player, Q_GOLD_WYRM, 13);
qs.giveItems(DEMON_STAFF, 1); giveItems(player, DEMON_STAFF, 1);
qs.playSound(QuestSound.ITEMSOUND_QUEST_MIDDLE); playSound(player, QuestSound.ITEMSOUND_QUEST_MIDDLE);
return "30232-24a.html"; return "30232-24a.html";
} }
return "30232-24.html"; return "30232-24.html";
} }
case 21: case 21:
{ {
if (qs.hasQuestItems(Q_BERETHS_GOLD_DRAGON) && qs.hasQuestItems(Q_BLOOD_DRAGON) && qs.hasQuestItems(Q_SILVER_DRYAD) && qs.hasQuestItems(Q_GOLD_GIANT)) if (hasQuestItems(player, Q_BERETHS_GOLD_DRAGON) && hasQuestItems(player, Q_BLOOD_DRAGON) && hasQuestItems(player, Q_SILVER_DRYAD) && hasQuestItems(player, Q_GOLD_GIANT))
{ {
qs.takeItems(Q_BERETHS_GOLD_DRAGON, 1); takeItems(player, Q_BERETHS_GOLD_DRAGON, 1);
qs.takeItems(Q_BLOOD_DRAGON, 1); takeItems(player, Q_BLOOD_DRAGON, 1);
qs.takeItems(Q_SILVER_DRYAD, 1); takeItems(player, Q_SILVER_DRYAD, 1);
qs.takeItems(Q_GOLD_GIANT, 1); takeItems(player, Q_GOLD_GIANT, 1);
qs.giveItems(DARK_SCREAMER, 1); giveItems(player, DARK_SCREAMER, 1);
qs.playSound(QuestSound.ITEMSOUND_QUEST_MIDDLE); playSound(player, QuestSound.ITEMSOUND_QUEST_MIDDLE);
return "30232-24b.html"; return "30232-24b.html";
} }
return "30232-24.html"; return "30232-24.html";
} }
case 22: case 22:
{ {
if (qs.hasQuestItems(Q_BERETHS_SILVER_DRAGON) && qs.hasQuestItems(Q_GOLD_DRAGON) && qs.hasQuestItems(Q_BLOOD_SUCCUBUS) && (qs.getQuestItemsCount(Q_BLOOD_BASILISK) >= 2)) if (hasQuestItems(player, Q_BERETHS_SILVER_DRAGON) && hasQuestItems(player, Q_GOLD_DRAGON) && hasQuestItems(player, Q_BLOOD_SUCCUBUS) && (getQuestItemsCount(player, Q_BLOOD_BASILISK) >= 2))
{ {
qs.takeItems(Q_BERETHS_SILVER_DRAGON, 1); takeItems(player, Q_BERETHS_SILVER_DRAGON, 1);
qs.takeItems(Q_GOLD_DRAGON, 1); takeItems(player, Q_GOLD_DRAGON, 1);
qs.takeItems(Q_BLOOD_SUCCUBUS, 1); takeItems(player, Q_BLOOD_SUCCUBUS, 1);
qs.takeItems(Q_BLOOD_BASILISK, 2); takeItems(player, Q_BLOOD_BASILISK, 2);
qs.giveItems(WIDOW_MAKER, 1); giveItems(player, WIDOW_MAKER, 1);
qs.playSound(QuestSound.ITEMSOUND_QUEST_MIDDLE); playSound(player, QuestSound.ITEMSOUND_QUEST_MIDDLE);
return "30232-24c.html"; return "30232-24c.html";
} }
return "30232-24.html"; return "30232-24.html";
} }
case 23: case 23:
{ {
if (qs.hasQuestItems(Q_GOLD_DRAGON) && qs.hasQuestItems(Q_SILVER_DRAGON) && qs.hasQuestItems(Q_BLOOD_DRAGON) && qs.hasQuestItems(Q_SILVER_UNDINE)) if (hasQuestItems(player, Q_GOLD_DRAGON) && hasQuestItems(player, Q_SILVER_DRAGON) && hasQuestItems(player, Q_BLOOD_DRAGON) && hasQuestItems(player, Q_SILVER_UNDINE))
{ {
qs.takeItems(Q_GOLD_DRAGON, 1); takeItems(player, Q_GOLD_DRAGON, 1);
qs.takeItems(Q_SILVER_DRAGON, 1); takeItems(player, Q_SILVER_DRAGON, 1);
qs.takeItems(Q_BLOOD_DRAGON, 1); takeItems(player, Q_BLOOD_DRAGON, 1);
qs.takeItems(Q_SILVER_UNDINE, 1); takeItems(player, Q_SILVER_UNDINE, 1);
qs.giveItems(SWORD_OF_LIMIT, 1); giveItems(player, SWORD_OF_LIMIT, 1);
qs.playSound(QuestSound.ITEMSOUND_QUEST_MIDDLE); playSound(player, QuestSound.ITEMSOUND_QUEST_MIDDLE);
return "30232-24d.html"; return "30232-24d.html";
} }
return "30232-24.html"; return "30232-24.html";
} }
case 24: case 24:
{ {
if (qs.hasQuestItems(Q_MANAKS_GOLD_GIANT)) if (hasQuestItems(player, Q_MANAKS_GOLD_GIANT))
{ {
qs.takeItems(Q_MANAKS_GOLD_GIANT, 1); takeItems(player, Q_MANAKS_GOLD_GIANT, 1);
qs.giveItems(DEMONS_BOOTS, 1); giveItems(player, DEMONS_BOOTS, 1);
qs.playSound(QuestSound.ITEMSOUND_QUEST_MIDDLE); playSound(player, QuestSound.ITEMSOUND_QUEST_MIDDLE);
return "30232-24e.html"; return "30232-24e.html";
} }
return "30232-24.html"; return "30232-24.html";
} }
case 25: case 25:
{ {
if (qs.hasQuestItems(Q_MANAKS_SILVER_DRYAD) && qs.hasQuestItems(Q_SILVER_DRYAD)) if (hasQuestItems(player, Q_MANAKS_SILVER_DRYAD) && hasQuestItems(player, Q_SILVER_DRYAD))
{ {
qs.takeItems(Q_MANAKS_SILVER_DRYAD, 1); takeItems(player, Q_MANAKS_SILVER_DRYAD, 1);
qs.takeItems(Q_SILVER_DRYAD, 1); takeItems(player, Q_SILVER_DRYAD, 1);
qs.giveItems(DEMONS_HOSE, 1); giveItems(player, DEMONS_HOSE, 1);
qs.playSound(QuestSound.ITEMSOUND_QUEST_MIDDLE); playSound(player, QuestSound.ITEMSOUND_QUEST_MIDDLE);
return "30232-24f.html"; return "30232-24f.html";
} }
return "30232-24.html"; return "30232-24.html";
} }
case 26: case 26:
{ {
if (qs.hasQuestItems(Q_MANAKS_GOLD_GIANT)) if (hasQuestItems(player, Q_MANAKS_GOLD_GIANT))
{ {
qs.takeItems(Q_MANAKS_GOLD_GIANT, 1); takeItems(player, Q_MANAKS_GOLD_GIANT, 1);
qs.giveItems(DEMONS_GLOVES, 1); giveItems(player, DEMONS_GLOVES, 1);
qs.playSound(QuestSound.ITEMSOUND_QUEST_MIDDLE); playSound(player, QuestSound.ITEMSOUND_QUEST_MIDDLE);
return "30232-24g.html"; return "30232-24g.html";
} }
return "30232-24.html"; return "30232-24.html";
} }
case 27: case 27:
{ {
if (qs.hasQuestItems(Q_MANAKS_BLOOD_WEREWOLF) && qs.hasQuestItems(Q_GOLD_GIANT) && qs.hasQuestItems(Q_GOLD_WYRM)) if (hasQuestItems(player, Q_MANAKS_BLOOD_WEREWOLF) && hasQuestItems(player, Q_GOLD_GIANT) && hasQuestItems(player, Q_GOLD_WYRM))
{ {
qs.takeItems(Q_MANAKS_BLOOD_WEREWOLF, 1); takeItems(player, Q_MANAKS_BLOOD_WEREWOLF, 1);
qs.takeItems(Q_GOLD_GIANT, 1); takeItems(player, Q_GOLD_GIANT, 1);
qs.takeItems(Q_GOLD_WYRM, 1); takeItems(player, Q_GOLD_WYRM, 1);
qs.giveItems(FULL_PLATE_HELMET, 1); giveItems(player, FULL_PLATE_HELMET, 1);
qs.playSound(QuestSound.ITEMSOUND_QUEST_MIDDLE); playSound(player, QuestSound.ITEMSOUND_QUEST_MIDDLE);
return "30232-24h.html"; return "30232-24h.html";
} }
return "30232-24.html"; return "30232-24.html";
} }
case 28: case 28:
{ {
if ((qs.getQuestItemsCount(Q_NIAS_BLOOD_MEDUSA) >= 2) && (qs.getQuestItemsCount(Q_GOLD_DRAKE) >= 2) && (qs.getQuestItemsCount(Q_BLOOD_DREVANUL) >= 2) && (qs.getQuestItemsCount(Q_GOLD_KNIGHT) >= 3)) if ((getQuestItemsCount(player, Q_NIAS_BLOOD_MEDUSA) >= 2) && (getQuestItemsCount(player, Q_GOLD_DRAKE) >= 2) && (getQuestItemsCount(player, Q_BLOOD_DREVANUL) >= 2) && (getQuestItemsCount(player, Q_GOLD_KNIGHT) >= 3))
{ {
qs.takeItems(Q_NIAS_BLOOD_MEDUSA, 2); takeItems(player, Q_NIAS_BLOOD_MEDUSA, 2);
qs.takeItems(Q_GOLD_DRAKE, 2); takeItems(player, Q_GOLD_DRAKE, 2);
qs.takeItems(Q_BLOOD_DREVANUL, 2); takeItems(player, Q_BLOOD_DREVANUL, 2);
qs.takeItems(Q_GOLD_KNIGHT, 3); takeItems(player, Q_GOLD_KNIGHT, 3);
qs.giveItems(MOONSTONE_EARING, 1); giveItems(player, MOONSTONE_EARING, 1);
qs.playSound(QuestSound.ITEMSOUND_QUEST_MIDDLE); playSound(player, QuestSound.ITEMSOUND_QUEST_MIDDLE);
return "30232-24i.html"; return "30232-24i.html";
} }
return "30232-24.html"; return "30232-24.html";
} }
case 29: case 29:
{ {
if ((qs.getQuestItemsCount(Q_NIAS_BLOOD_MEDUSA) >= 7) && (qs.getQuestItemsCount(Q_GOLD_KNIGHT) >= 5) && (qs.getQuestItemsCount(Q_BLOOD_DREVANUL) >= 5) && (qs.getQuestItemsCount(Q_SILVER_GOLEM) >= 5)) if ((getQuestItemsCount(player, Q_NIAS_BLOOD_MEDUSA) >= 7) && (getQuestItemsCount(player, Q_GOLD_KNIGHT) >= 5) && (getQuestItemsCount(player, Q_BLOOD_DREVANUL) >= 5) && (getQuestItemsCount(player, Q_SILVER_GOLEM) >= 5))
{ {
qs.takeItems(Q_NIAS_BLOOD_MEDUSA, 7); takeItems(player, Q_NIAS_BLOOD_MEDUSA, 7);
qs.takeItems(Q_GOLD_KNIGHT, 5); takeItems(player, Q_GOLD_KNIGHT, 5);
qs.takeItems(Q_BLOOD_DREVANUL, 5); takeItems(player, Q_BLOOD_DREVANUL, 5);
qs.takeItems(Q_SILVER_GOLEM, 5); takeItems(player, Q_SILVER_GOLEM, 5);
qs.giveItems(NASSENS_EARING, 1); giveItems(player, NASSENS_EARING, 1);
qs.playSound(QuestSound.ITEMSOUND_QUEST_MIDDLE); playSound(player, QuestSound.ITEMSOUND_QUEST_MIDDLE);
return "30232-24j.html"; return "30232-24j.html";
} }
return "30232-24.html"; return "30232-24.html";
} }
case 30: case 30:
{ {
if ((qs.getQuestItemsCount(Q_NIAS_GOLD_WYVERN) >= 5) && (qs.getQuestItemsCount(Q_SILVER_GOLEM) >= 4) && (qs.getQuestItemsCount(Q_GOLD_DRAKE) >= 4) && (qs.getQuestItemsCount(Q_BLOOD_DREVANUL) >= 4)) if ((getQuestItemsCount(player, Q_NIAS_GOLD_WYVERN) >= 5) && (getQuestItemsCount(player, Q_SILVER_GOLEM) >= 4) && (getQuestItemsCount(player, Q_GOLD_DRAKE) >= 4) && (getQuestItemsCount(player, Q_BLOOD_DREVANUL) >= 4))
{ {
qs.takeItems(Q_NIAS_GOLD_WYVERN, 5); takeItems(player, Q_NIAS_GOLD_WYVERN, 5);
qs.takeItems(Q_SILVER_GOLEM, 4); takeItems(player, Q_SILVER_GOLEM, 4);
qs.takeItems(Q_GOLD_DRAKE, 4); takeItems(player, Q_GOLD_DRAKE, 4);
qs.takeItems(Q_BLOOD_DREVANUL, 4); takeItems(player, Q_BLOOD_DREVANUL, 4);
qs.giveItems(RING_OF_BINDING, 1); giveItems(player, RING_OF_BINDING, 1);
qs.playSound(QuestSound.ITEMSOUND_QUEST_MIDDLE); playSound(player, QuestSound.ITEMSOUND_QUEST_MIDDLE);
return "30232-24k.html"; return "30232-24k.html";
} }
return "30232-24.html"; return "30232-24.html";
} }
case 31: case 31:
{ {
if ((qs.getQuestItemsCount(Q_NIAS_SILVER_FAIRY) >= 5) && (qs.getQuestItemsCount(Q_SILVER_FAIRY) >= 3) && (qs.getQuestItemsCount(Q_GOLD_KNIGHT) >= 3) && (qs.getQuestItemsCount(Q_BLOOD_DREVANUL) >= 3)) if ((getQuestItemsCount(player, Q_NIAS_SILVER_FAIRY) >= 5) && (getQuestItemsCount(player, Q_SILVER_FAIRY) >= 3) && (getQuestItemsCount(player, Q_GOLD_KNIGHT) >= 3) && (getQuestItemsCount(player, Q_BLOOD_DREVANUL) >= 3))
{ {
qs.takeItems(Q_NIAS_SILVER_FAIRY, 5); takeItems(player, Q_NIAS_SILVER_FAIRY, 5);
qs.takeItems(Q_SILVER_FAIRY, 3); takeItems(player, Q_SILVER_FAIRY, 3);
qs.takeItems(Q_GOLD_KNIGHT, 3); takeItems(player, Q_GOLD_KNIGHT, 3);
qs.takeItems(Q_BLOOD_DREVANUL, 3); takeItems(player, Q_BLOOD_DREVANUL, 3);
qs.giveItems(NECKLACE_OF_PROTECTION, 1); giveItems(player, NECKLACE_OF_PROTECTION, 1);
qs.playSound(QuestSound.ITEMSOUND_QUEST_MIDDLE); playSound(player, QuestSound.ITEMSOUND_QUEST_MIDDLE);
return "30232-24l.html"; return "30232-24l.html";
} }
return "30232-24.html"; return "30232-24.html";
} }
case 100: case 100:
{ {
qs.takeItems(Q_CC_MEMBERSHIP_1, -1); takeItems(player, Q_CC_MEMBERSHIP_1, -1);
qs.takeItems(Q_CC_MEMBERSHIP_2, -1); takeItems(player, Q_CC_MEMBERSHIP_2, -1);
qs.takeItems(Q_CC_MEMBERSHIP_3, -1); takeItems(player, Q_CC_MEMBERSHIP_3, -1);
qs.playSound(QuestSound.ITEMSOUND_QUEST_FINISH); playSound(player, QuestSound.ITEMSOUND_QUEST_FINISH);
qs.exitQuest(true); qs.exitQuest(true);
return "30232-18a.html"; return "30232-18a.html";
} }
@@ -1373,17 +1373,18 @@ public final class Q00336_CoinsOfMagic extends Quest
*/ */
private String shortFirstSteps(QuestState qs, int npcId, int weightPoint, int base, int ITEM_1_1, int ITEM_1_2, int ITEM_1_MUL, int ITEM_2, int ITEM_3, int ITEM_4) private String shortFirstSteps(QuestState qs, int npcId, int weightPoint, int base, int ITEM_1_1, int ITEM_1_2, int ITEM_1_MUL, int ITEM_2, int ITEM_3, int ITEM_4)
{ {
final L2PcInstance player = qs.getPlayer();
switch (qs.getInt(PARAM_2)) switch (qs.getInt(PARAM_2))
{ {
case 42: case 42:
{ {
if ((qs.getQuestItemsCount(ITEM_1_1) >= (base * ITEM_1_MUL)) && ((ITEM_1_2 == 0) || (qs.getQuestItemsCount(ITEM_1_2) >= base))) if ((getQuestItemsCount(player, ITEM_1_1) >= (base * ITEM_1_MUL)) && ((ITEM_1_2 == 0) || (getQuestItemsCount(player, ITEM_1_2) >= base)))
{ {
qs.set(FLAG, 1); qs.set(FLAG, 1);
qs.takeItems(ITEM_1_1, base * ITEM_1_MUL); takeItems(player, ITEM_1_1, base * ITEM_1_MUL);
if (ITEM_1_2 > 0) if (ITEM_1_2 > 0)
{ {
qs.takeItems(ITEM_1_2, base); takeItems(player, ITEM_1_2, base);
} }
qs.set(WEIGHT_POINT, weightPoint); qs.set(WEIGHT_POINT, weightPoint);
int param1 = getRandom(3) + 1; int param1 = getRandom(3) + 1;
@@ -1396,10 +1397,10 @@ public final class Q00336_CoinsOfMagic extends Quest
} }
case 31: case 31:
{ {
if (qs.getQuestItemsCount(ITEM_2) >= base) if (getQuestItemsCount(player, ITEM_2) >= base)
{ {
qs.set(FLAG, 1); qs.set(FLAG, 1);
qs.takeItems(ITEM_2, base); takeItems(player, ITEM_2, base);
qs.set(WEIGHT_POINT, weightPoint); qs.set(WEIGHT_POINT, weightPoint);
int param1 = getRandom(3) + 1; int param1 = getRandom(3) + 1;
param1 += (getRandom(3) + 1) * 4; param1 += (getRandom(3) + 1) * 4;
@@ -1411,10 +1412,10 @@ public final class Q00336_CoinsOfMagic extends Quest
} }
case 21: case 21:
{ {
if (qs.getQuestItemsCount(ITEM_3) >= base) if (getQuestItemsCount(player, ITEM_3) >= base)
{ {
qs.set(FLAG, 1); qs.set(FLAG, 1);
qs.takeItems(ITEM_3, base); takeItems(player, ITEM_3, base);
qs.set(WEIGHT_POINT, weightPoint); qs.set(WEIGHT_POINT, weightPoint);
int param1 = getRandom(3) + 1; int param1 = getRandom(3) + 1;
param1 += (getRandom(3) + 1) * 4; param1 += (getRandom(3) + 1) * 4;
@@ -1426,10 +1427,10 @@ public final class Q00336_CoinsOfMagic extends Quest
} }
case 11: case 11:
{ {
if (qs.getQuestItemsCount(ITEM_4) >= base) if (getQuestItemsCount(player, ITEM_4) >= base)
{ {
qs.set(FLAG, 1); qs.set(FLAG, 1);
qs.takeItems(ITEM_4, base); takeItems(player, ITEM_4, base);
qs.set(WEIGHT_POINT, weightPoint); qs.set(WEIGHT_POINT, weightPoint);
int param1 = getRandom(3) + 1; int param1 = getRandom(3) + 1;
param1 += (getRandom(3) + 1) * 4; param1 += (getRandom(3) + 1) * 4;
@@ -1460,48 +1461,49 @@ public final class Q00336_CoinsOfMagic extends Quest
*/ */
private String shortSecondStepOneItem(QuestState qs, int npcId, int mul, int ITEM_1, int ITEM_1_MUL, int REWARD_1, int ITEM_2, int REWARD_2, int ITEM_3, int REWARD_3, int ITEM_4, int REWARD_4) private String shortSecondStepOneItem(QuestState qs, int npcId, int mul, int ITEM_1, int ITEM_1_MUL, int REWARD_1, int ITEM_2, int REWARD_2, int ITEM_3, int REWARD_3, int ITEM_4, int REWARD_4)
{ {
final L2PcInstance player = qs.getPlayer();
switch (qs.getInt(PARAM_2)) switch (qs.getInt(PARAM_2))
{ {
case 42: case 42:
{ {
if ((qs.getQuestItemsCount(ITEM_1) >= (10 * mul * ITEM_1_MUL))) if ((getQuestItemsCount(player, ITEM_1) >= (10 * mul * ITEM_1_MUL)))
{ {
qs.takeItems(ITEM_1, 10 * mul * ITEM_1_MUL); takeItems(player, ITEM_1, 10 * mul * ITEM_1_MUL);
qs.giveItems(REWARD_1, 1 * mul); giveItems(player, REWARD_1, 1 * mul);
qs.playSound(QuestSound.ITEMSOUND_QUEST_MIDDLE); playSound(player, QuestSound.ITEMSOUND_QUEST_MIDDLE);
return npcId + "-07.html"; return npcId + "-07.html";
} }
break; break;
} }
case 31: case 31:
{ {
if (qs.getQuestItemsCount(ITEM_2) >= (5 * mul)) if (getQuestItemsCount(player, ITEM_2) >= (5 * mul))
{ {
qs.takeItems(ITEM_2, 5 * mul); takeItems(player, ITEM_2, 5 * mul);
qs.giveItems(REWARD_2, 1 * mul); giveItems(player, REWARD_2, 1 * mul);
qs.playSound(QuestSound.ITEMSOUND_QUEST_MIDDLE); playSound(player, QuestSound.ITEMSOUND_QUEST_MIDDLE);
return npcId + "-07.html"; return npcId + "-07.html";
} }
break; break;
} }
case 21: case 21:
{ {
if (qs.getQuestItemsCount(ITEM_3) >= (5 * mul)) if (getQuestItemsCount(player, ITEM_3) >= (5 * mul))
{ {
qs.takeItems(ITEM_3, 5 * mul); takeItems(player, ITEM_3, 5 * mul);
qs.giveItems(REWARD_3, 1 * mul); giveItems(player, REWARD_3, 1 * mul);
qs.playSound(QuestSound.ITEMSOUND_QUEST_MIDDLE); playSound(player, QuestSound.ITEMSOUND_QUEST_MIDDLE);
return npcId + "-07.html"; return npcId + "-07.html";
} }
break; break;
} }
case 11: case 11:
{ {
if (qs.getQuestItemsCount(ITEM_4) >= (5 * mul)) if (getQuestItemsCount(player, ITEM_4) >= (5 * mul))
{ {
qs.takeItems(ITEM_4, 5 * mul); takeItems(player, ITEM_4, 5 * mul);
qs.giveItems(REWARD_4, 1 * mul); giveItems(player, REWARD_4, 1 * mul);
qs.playSound(QuestSound.ITEMSOUND_QUEST_MIDDLE); playSound(player, QuestSound.ITEMSOUND_QUEST_MIDDLE);
return npcId + "-07.html"; return npcId + "-07.html";
} }
break; break;
@@ -1530,52 +1532,53 @@ public final class Q00336_CoinsOfMagic extends Quest
*/ */
private String shortSecondStepTwoItems(QuestState qs, int npcId, int mul, int ITEM_1_1, int ITEM_1_2, int REWARD_1, int ITEM_2_1, int ITEM_2_2, int REWARD_2, int ITEM_3_1, int ITEM_3_2, int REWARD_3, int ITEM_4_1, int ITEM_4_2, int REWARD_4) private String shortSecondStepTwoItems(QuestState qs, int npcId, int mul, int ITEM_1_1, int ITEM_1_2, int REWARD_1, int ITEM_2_1, int ITEM_2_2, int REWARD_2, int ITEM_3_1, int ITEM_3_2, int REWARD_3, int ITEM_4_1, int ITEM_4_2, int REWARD_4)
{ {
final L2PcInstance player = qs.getPlayer();
switch (qs.getInt(PARAM_2)) switch (qs.getInt(PARAM_2))
{ {
case 42: case 42:
{ {
if ((qs.getQuestItemsCount(ITEM_1_1) >= (10 * mul)) && (qs.getQuestItemsCount(ITEM_1_2) >= (10 * mul))) if ((getQuestItemsCount(player, ITEM_1_1) >= (10 * mul)) && (getQuestItemsCount(player, ITEM_1_2) >= (10 * mul)))
{ {
qs.takeItems(ITEM_1_1, 10 * mul); takeItems(player, ITEM_1_1, 10 * mul);
qs.takeItems(ITEM_1_2, 10 * mul); takeItems(player, ITEM_1_2, 10 * mul);
qs.giveItems(REWARD_1, 1 * mul); giveItems(player, REWARD_1, 1 * mul);
qs.playSound(QuestSound.ITEMSOUND_QUEST_MIDDLE); playSound(player, QuestSound.ITEMSOUND_QUEST_MIDDLE);
return npcId + "-07.html"; return npcId + "-07.html";
} }
break; break;
} }
case 31: case 31:
{ {
if ((qs.getQuestItemsCount(ITEM_2_1) >= (5 * mul)) && (qs.getQuestItemsCount(ITEM_2_2) >= (5 * mul))) if ((getQuestItemsCount(player, ITEM_2_1) >= (5 * mul)) && (getQuestItemsCount(player, ITEM_2_2) >= (5 * mul)))
{ {
qs.takeItems(ITEM_2_1, 5 * mul); takeItems(player, ITEM_2_1, 5 * mul);
qs.takeItems(ITEM_2_2, 5 * mul); takeItems(player, ITEM_2_2, 5 * mul);
qs.giveItems(REWARD_2, 1 * mul); giveItems(player, REWARD_2, 1 * mul);
qs.playSound(QuestSound.ITEMSOUND_QUEST_MIDDLE); playSound(player, QuestSound.ITEMSOUND_QUEST_MIDDLE);
return npcId + "-07.html"; return npcId + "-07.html";
} }
break; break;
} }
case 21: case 21:
{ {
if ((qs.getQuestItemsCount(ITEM_3_1) >= (5 * mul)) && (qs.getQuestItemsCount(ITEM_3_2) >= (5 * mul))) if ((getQuestItemsCount(player, ITEM_3_1) >= (5 * mul)) && (getQuestItemsCount(player, ITEM_3_2) >= (5 * mul)))
{ {
qs.takeItems(ITEM_3_1, 5 * mul); takeItems(player, ITEM_3_1, 5 * mul);
qs.takeItems(ITEM_3_2, 5 * mul); takeItems(player, ITEM_3_2, 5 * mul);
qs.giveItems(REWARD_3, 1 * mul); giveItems(player, REWARD_3, 1 * mul);
qs.playSound(QuestSound.ITEMSOUND_QUEST_MIDDLE); playSound(player, QuestSound.ITEMSOUND_QUEST_MIDDLE);
return npcId + "-07.html"; return npcId + "-07.html";
} }
break; break;
} }
case 11: case 11:
{ {
if ((qs.getQuestItemsCount(ITEM_4_1) >= (5 * mul)) && (qs.getQuestItemsCount(ITEM_4_2) >= (5 * mul))) if ((getQuestItemsCount(player, ITEM_4_1) >= (5 * mul)) && (getQuestItemsCount(player, ITEM_4_2) >= (5 * mul)))
{ {
qs.takeItems(ITEM_4_1, 5 * mul); takeItems(player, ITEM_4_1, 5 * mul);
qs.takeItems(ITEM_4_2, 5 * mul); takeItems(player, ITEM_4_2, 5 * mul);
qs.giveItems(REWARD_4, 1 * mul); giveItems(player, REWARD_4, 1 * mul);
qs.playSound(QuestSound.ITEMSOUND_QUEST_MIDDLE); playSound(player, QuestSound.ITEMSOUND_QUEST_MIDDLE);
return npcId + "-07.html"; return npcId + "-07.html";
} }
break; break;
@@ -1596,6 +1599,7 @@ public final class Q00336_CoinsOfMagic extends Quest
*/ */
private String shortThirdStep(QuestState qs, int npcId, int flag, int ITEM_1, int ITEM_2, int ITEM_3, int ITEM_4) private String shortThirdStep(QuestState qs, int npcId, int flag, int ITEM_1, int ITEM_2, int ITEM_3, int ITEM_4)
{ {
final L2PcInstance player = qs.getPlayer();
qs.set(PARAM_3, 0); qs.set(PARAM_3, 0);
qs.set(FLAG, qs.getInt(FLAG) + flag); qs.set(FLAG, qs.getInt(FLAG) + flag);
if ((qs.getInt(PARAM_1) == qs.getInt(FLAG)) && (qs.getInt(WEIGHT_POINT) >= 0)) if ((qs.getInt(PARAM_1) == qs.getInt(FLAG)) && (qs.getInt(WEIGHT_POINT) >= 0))
@@ -1605,22 +1609,22 @@ public final class Q00336_CoinsOfMagic extends Quest
{ {
case 42: case 42:
{ {
qs.giveItems(ITEM_1, 1); giveItems(player, ITEM_1, 1);
break; break;
} }
case 31: case 31:
{ {
qs.giveItems(ITEM_2, 1); giveItems(player, ITEM_2, 1);
break; break;
} }
case 21: case 21:
{ {
qs.giveItems(ITEM_3, 1); giveItems(player, ITEM_3, 1);
break; break;
} }
case 11: case 11:
{ {
qs.giveItems(ITEM_4, 1); giveItems(player, ITEM_4, 1);
break; break;
} }
} }
@@ -1816,7 +1820,7 @@ public final class Q00336_CoinsOfMagic extends Quest
{ {
final QuestState qs = getQuestState(player, false); final QuestState qs = getQuestState(player, false);
final List<QuestState> candidates = new ArrayList<>(); final List<QuestState> candidates = new ArrayList<>();
if ((qs != null) && qs.isStarted() && (qs.getMemoState() == memoState) && !qs.hasQuestItems(Q_KALDIS_GOLD_DRAGON)) if ((qs != null) && qs.isStarted() && (qs.getMemoState() == memoState) && !hasQuestItems(player, Q_KALDIS_GOLD_DRAGON))
{ {
candidates.add(qs); candidates.add(qs);
candidates.add(qs); candidates.add(qs);
@@ -1827,7 +1831,7 @@ public final class Q00336_CoinsOfMagic extends Quest
player.getParty().getMembers().stream().forEach(pm -> player.getParty().getMembers().stream().forEach(pm ->
{ {
final QuestState qss = getQuestState(pm, false); final QuestState qss = getQuestState(pm, false);
if ((qss != null) && qss.isStarted() && (qss.getMemoState() == memoState) && !qss.hasQuestItems(Q_KALDIS_GOLD_DRAGON) && Util.checkIfInRange(1500, npc, pm, true)) if ((qss != null) && qss.isStarted() && (qss.getMemoState() == memoState) && !hasQuestItems(player, Q_KALDIS_GOLD_DRAGON) && Util.checkIfInRange(1500, npc, pm, true))
{ {
candidates.add(qss); candidates.add(qss);
} }

View File

@@ -150,26 +150,26 @@ public class Q00350_EnhanceYourWeapon extends Quest
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
{ {
final String htmltext = event; final String htmltext = event;
final QuestState st = getQuestState(player, false); final QuestState qs = getQuestState(player, false);
if (event.endsWith("-04.htm")) if (event.endsWith("-04.htm"))
{ {
st.startQuest(); qs.startQuest();
} }
else if (event.endsWith("-09.htm")) else if (event.endsWith("-09.htm"))
{ {
st.giveItems(RED_SOUL_CRYSTAL0_ID, 1); giveItems(player, RED_SOUL_CRYSTAL0_ID, 1);
} }
else if (event.endsWith("-10.htm")) else if (event.endsWith("-10.htm"))
{ {
st.giveItems(GREEN_SOUL_CRYSTAL0_ID, 1); giveItems(player, GREEN_SOUL_CRYSTAL0_ID, 1);
} }
else if (event.endsWith("-11.htm")) else if (event.endsWith("-11.htm"))
{ {
st.giveItems(BLUE_SOUL_CRYSTAL0_ID, 1); giveItems(player, BLUE_SOUL_CRYSTAL0_ID, 1);
} }
else if (event.equalsIgnoreCase("exit.htm")) else if (event.equalsIgnoreCase("exit.htm"))
{ {
st.exitQuest(true); qs.exitQuest(true);
} }
return htmltext; return htmltext;
} }
@@ -218,36 +218,36 @@ public class Q00350_EnhanceYourWeapon extends Quest
public String onTalk(L2Npc npc, L2PcInstance player) public String onTalk(L2Npc npc, L2PcInstance player)
{ {
String htmltext = getNoQuestMsg(player); String htmltext = getNoQuestMsg(player);
final QuestState st = getQuestState(player, true); final QuestState qs = getQuestState(player, true);
if (st == null) if (qs == null)
{ {
return htmltext; return htmltext;
} }
if (st.getState() == State.CREATED) if (qs.getState() == State.CREATED)
{ {
st.set("cond", "0"); qs.set("cond", "0");
} }
if (st.getInt("cond") == 0) if (qs.getInt("cond") == 0)
{ {
htmltext = npc.getId() + "-01.htm"; htmltext = npc.getId() + "-01.htm";
} }
else if (check(st)) else if (check(player))
{ {
htmltext = npc.getId() + "-03.htm"; htmltext = npc.getId() + "-03.htm";
} }
else if (!st.hasQuestItems(RED_SOUL_CRYSTAL0_ID) && !st.hasQuestItems(GREEN_SOUL_CRYSTAL0_ID) && !st.hasQuestItems(BLUE_SOUL_CRYSTAL0_ID)) else if (!hasQuestItems(player, RED_SOUL_CRYSTAL0_ID) && !hasQuestItems(player, GREEN_SOUL_CRYSTAL0_ID) && !hasQuestItems(player, BLUE_SOUL_CRYSTAL0_ID))
{ {
htmltext = npc.getId() + "-21.htm"; htmltext = npc.getId() + "-21.htm";
} }
return htmltext; return htmltext;
} }
private static boolean check(QuestState st) private static boolean check(L2PcInstance player)
{ {
for (int i = 4629; i < 4665; i++) for (int i = 4629; i < 4665; i++)
{ {
if (st.hasQuestItems(i)) if (hasQuestItems(player, i))
{ {
return true; return true;
} }
@@ -290,8 +290,8 @@ public class Q00350_EnhanceYourWeapon extends Quest
private static SoulCrystal getSCForPlayer(L2PcInstance player) private static SoulCrystal getSCForPlayer(L2PcInstance player)
{ {
final QuestState st = player.getQuestState(Q00350_EnhanceYourWeapon.class.getSimpleName()); final QuestState qs = player.getQuestState(Q00350_EnhanceYourWeapon.class.getSimpleName());
if ((st == null) || !st.isStarted()) if ((qs == null) || !qs.isStarted())
{ {
return null; return null;
} }
@@ -447,6 +447,7 @@ public class Q00350_EnhanceYourWeapon extends Quest
switch (mainlvlInfo.getAbsorbCrystalType()) switch (mainlvlInfo.getAbsorbCrystalType())
{ {
case PARTY_ONE_RANDOM: case PARTY_ONE_RANDOM:
{
// This is a naive method for selecting a random member. It gets any random party member and // This is a naive method for selecting a random member. It gets any random party member and
// then checks if the member has a valid crystal. It does not select the random party member // then checks if the member has a valid crystal. It does not select the random party member
// among those who have crystals, only. However, this might actually be correct (same as retail). // among those who have crystals, only. However, this might actually be correct (same as retail).
@@ -460,7 +461,9 @@ public class Q00350_EnhanceYourWeapon extends Quest
levelCrystal(killer, players.get(killer), mob); levelCrystal(killer, players.get(killer), mob);
} }
break; break;
}
case PARTY_RANDOM: case PARTY_RANDOM:
{
if (killer.getParty() != null) if (killer.getParty() != null)
{ {
final List<L2PcInstance> luckyParty = new ArrayList<>(); final List<L2PcInstance> luckyParty = new ArrayList<>();
@@ -479,7 +482,9 @@ public class Q00350_EnhanceYourWeapon extends Quest
levelCrystal(killer, players.get(killer), mob); levelCrystal(killer, players.get(killer), mob);
} }
break; break;
}
case FULL_PARTY: case FULL_PARTY:
{
if (killer.getParty() != null) if (killer.getParty() != null)
{ {
for (L2PcInstance pl : killer.getParty().getMembers()) for (L2PcInstance pl : killer.getParty().getMembers())
@@ -492,9 +497,12 @@ public class Q00350_EnhanceYourWeapon extends Quest
levelCrystal(killer, players.get(killer), mob); levelCrystal(killer, players.get(killer), mob);
} }
break; break;
}
case LAST_HIT: case LAST_HIT:
{
levelCrystal(killer, players.get(killer), mob); levelCrystal(killer, players.get(killer), mob);
break; break;
}
} }
} }

View File

@@ -73,8 +73,8 @@ public final class Q00359_ForASleeplessDeadman extends Quest
@Override @Override
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
{ {
final QuestState st = getQuestState(player, false); final QuestState qs = getQuestState(player, false);
if (st == null) if (qs == null)
{ {
return null; return null;
} }
@@ -91,15 +91,15 @@ public final class Q00359_ForASleeplessDeadman extends Quest
} }
case "30857-05.htm": case "30857-05.htm":
{ {
st.setMemoState(1); qs.setMemoState(1);
st.startQuest(); qs.startQuest();
htmltext = event; htmltext = event;
break; break;
} }
case "30857-10.html": case "30857-10.html":
{ {
rewardItems(player, REWARDS[getRandom(REWARDS.length)], 4); rewardItems(player, REWARDS[getRandom(REWARDS.length)], 4);
st.exitQuest(true, true); qs.exitQuest(true, true);
htmltext = event; htmltext = event;
break; break;
} }
@@ -110,10 +110,10 @@ public final class Q00359_ForASleeplessDeadman extends Quest
@Override @Override
public String onKill(L2Npc npc, L2PcInstance player, boolean isSummon) public String onKill(L2Npc npc, L2PcInstance player, boolean isSummon)
{ {
final QuestState st = getRandomPartyMemberState(player, 1, 3, npc); final QuestState qs = getRandomPartyMemberState(player, 1, 3, npc);
if ((st != null) && st.giveItemRandomly(npc, REMAINS_OF_ADEN_RESIDENTS, 1, REMAINS_COUNT, MOBS.get(npc.getId()), true)) if ((qs != null) && giveItemRandomly(qs.getPlayer(), npc, REMAINS_OF_ADEN_RESIDENTS, 1, REMAINS_COUNT, MOBS.get(npc.getId()), true))
{ {
st.setCond(2, true); qs.setCond(2, true);
} }
return super.onKill(npc, player, isSummon); return super.onKill(npc, player, isSummon);
} }
@@ -121,15 +121,15 @@ public final class Q00359_ForASleeplessDeadman extends Quest
@Override @Override
public String onTalk(L2Npc npc, L2PcInstance player) public String onTalk(L2Npc npc, L2PcInstance player)
{ {
final QuestState st = getQuestState(player, true); final QuestState qs = getQuestState(player, true);
String htmltext = getNoQuestMsg(player); String htmltext = getNoQuestMsg(player);
if (st.isCreated()) if (qs.isCreated())
{ {
htmltext = ((player.getLevel() >= MIN_LEVEL) ? "30857-01.htm" : "30857-06.html"); htmltext = ((player.getLevel() >= MIN_LEVEL) ? "30857-01.htm" : "30857-06.html");
} }
else if (st.isStarted()) else if (qs.isStarted())
{ {
if (st.isMemoState(1)) if (qs.isMemoState(1))
{ {
if (getQuestItemsCount(player, REMAINS_OF_ADEN_RESIDENTS) < REMAINS_COUNT) if (getQuestItemsCount(player, REMAINS_OF_ADEN_RESIDENTS) < REMAINS_COUNT)
{ {
@@ -138,12 +138,12 @@ public final class Q00359_ForASleeplessDeadman extends Quest
else else
{ {
takeItems(player, REMAINS_OF_ADEN_RESIDENTS, -1); takeItems(player, REMAINS_OF_ADEN_RESIDENTS, -1);
st.setMemoState(2); qs.setMemoState(2);
st.setCond(3, true); qs.setCond(3, true);
htmltext = "30857-08.html"; htmltext = "30857-08.html";
} }
} }
else if (st.isMemoState(2)) else if (qs.isMemoState(2))
{ {
htmltext = "30857-09.html"; htmltext = "30857-09.html";
} }

View File

@@ -195,11 +195,11 @@ public final class Q00371_ShrieksOfGhosts extends Quest
if (random < info.getFirstChance()) if (random < info.getFirstChance())
{ {
qs.giveItemRandomly(npc, ANCIENT_ASH_URN, 1, 0, 1.0, true); giveItemRandomly(qs.getPlayer(), npc, ANCIENT_ASH_URN, 1, 0, 1.0, true);
} }
else if (random < info.getSecondChance()) else if (random < info.getSecondChance())
{ {
qs.giveItemRandomly(npc, ANCIENT_PORCELAIN, 1, 0, 1.0, true); giveItemRandomly(qs.getPlayer(), npc, ANCIENT_PORCELAIN, 1, 0, 1.0, true);
} }
return super.onKill(npc, killer, isSummon); return super.onKill(npc, killer, isSummon);
} }

View File

@@ -123,7 +123,7 @@ public final class Q00386_StolenDignity extends Quest
} }
return "30843-04.html"; return "30843-04.html";
} }
if (qs.getQuestItemsCount(Q_STOLEN_INF_ORE) < 100) if (getQuestItemsCount(player, Q_STOLEN_INF_ORE) < 100)
{ {
return "30843-06.html"; return "30843-06.html";
} }
@@ -140,11 +140,11 @@ public final class Q00386_StolenDignity extends Quest
{ {
if (event.equals("QUEST_ACCEPTED")) if (event.equals("QUEST_ACCEPTED"))
{ {
qs.playSound(QuestSound.ITEMSOUND_QUEST_ACCEPT); playSound(player, QuestSound.ITEMSOUND_QUEST_ACCEPT);
qs.setMemoState(336); qs.setMemoState(336);
qs.startQuest(); qs.startQuest();
qs.showQuestionMark(336); qs.showQuestionMark(336);
qs.playSound(QuestSound.ITEMSOUND_QUEST_MIDDLE); playSound(player, QuestSound.ITEMSOUND_QUEST_MIDDLE);
return "30843-05.htm"; return "30843-05.htm";
} }
if (event.contains(".html")) if (event.contains(".html"))
@@ -155,21 +155,27 @@ public final class Q00386_StolenDignity extends Quest
switch (ask) switch (ask)
{ {
case 3: case 3:
{
return "30843-09a.html"; return "30843-09a.html";
}
case 5: case 5:
{
return "30843-03.html"; return "30843-03.html";
}
case 6: case 6:
{ {
qs.exitQuest(true); qs.exitQuest(true);
return "30843-08.html"; return "30843-08.html";
} }
case 9: case 9:
{
return "30843-09.htm"; return "30843-09.htm";
}
case 8: case 8:
{ {
if (qs.getQuestItemsCount(Q_STOLEN_INF_ORE) >= 100) if (getQuestItemsCount(player, Q_STOLEN_INF_ORE) >= 100)
{ {
qs.takeItems(Q_STOLEN_INF_ORE, 100); takeItems(player, Q_STOLEN_INF_ORE, 100);
createBingoBoard(qs); createBingoBoard(qs);
return "30843-12.html"; return "30843-12.html";
} }
@@ -372,167 +378,167 @@ public final class Q00386_StolenDignity extends Quest
{ {
case 0: case 0:
{ {
qs.giveItems(DRAGON_SLAYER_EDGE, count); giveItems(player, DRAGON_SLAYER_EDGE, count);
break; break;
} }
case 1: case 1:
{ {
qs.giveItems(METEOR_SHOWER_HEAD, count); giveItems(player, METEOR_SHOWER_HEAD, count);
break; break;
} }
case 2: case 2:
{ {
qs.giveItems(ELYSIAN_HEAD, count); giveItems(player, ELYSIAN_HEAD, count);
break; break;
} }
case 3: case 3:
{ {
qs.giveItems(SOUL_BOW_SHAFT, count); giveItems(player, SOUL_BOW_SHAFT, count);
break; break;
} }
case 4: case 4:
{ {
qs.giveItems(CARNIUM_BOW_SHAFT, count); giveItems(player, CARNIUM_BOW_SHAFT, count);
break; break;
} }
case 5: case 5:
{ {
qs.giveItems(BLOODY_ORCHID_HEAD, count); giveItems(player, BLOODY_ORCHID_HEAD, count);
break; break;
} }
case 6: case 6:
{ {
qs.giveItems(SOUL_SEPARATOR_HEAD, count); giveItems(player, SOUL_SEPARATOR_HEAD, count);
break; break;
} }
case 7: case 7:
{ {
qs.giveItems(DRAGON_GRINDER_EDGE, count); giveItems(player, DRAGON_GRINDER_EDGE, count);
break; break;
} }
case 8: case 8:
{ {
qs.giveItems(BLOOD_TORNADO_EDGE, count); giveItems(player, BLOOD_TORNADO_EDGE, count);
break; break;
} }
case 9: case 9:
{ {
qs.giveItems(TALLUM_GLAIVE_EDGE, count); giveItems(player, TALLUM_GLAIVE_EDGE, count);
break; break;
} }
case 10: case 10:
{ {
qs.giveItems(HALBARD_EDGE, count); giveItems(player, HALBARD_EDGE, count);
break; break;
} }
case 11: case 11:
{ {
qs.giveItems(DASPARIONS_STAFF_HEAD, count); giveItems(player, DASPARIONS_STAFF_HEAD, count);
break; break;
} }
case 12: case 12:
{ {
qs.giveItems(WORLDTREES_BRANCH_HEAD, count); giveItems(player, WORLDTREES_BRANCH_HEAD, count);
break; break;
} }
case 13: case 13:
{ {
qs.giveItems(DARK_LEGIONS_EDGE_EDGE, count); giveItems(player, DARK_LEGIONS_EDGE_EDGE, count);
break; break;
} }
case 14: case 14:
{ {
qs.giveItems(SWORD_OF_MIRACLE_EDGE, count); giveItems(player, SWORD_OF_MIRACLE_EDGE, count);
break; break;
} }
case 15: case 15:
{ {
qs.giveItems(ELEMENTAL_SWORD_EDGE, count); giveItems(player, ELEMENTAL_SWORD_EDGE, count);
break; break;
} }
case 16: case 16:
{ {
qs.giveItems(TALLUM_BLADE_EDGE, count); giveItems(player, TALLUM_BLADE_EDGE, count);
break; break;
} }
case 17: case 17:
{ {
qs.giveItems(INFERNO_MASTER_BLADE, count); giveItems(player, INFERNO_MASTER_BLADE, count);
break; break;
} }
case 18: case 18:
{ {
qs.giveItems(EYE_OF_SOUL_PIECE, count); giveItems(player, EYE_OF_SOUL_PIECE, count);
break; break;
} }
case 19: case 19:
{ {
qs.giveItems(DRAGON_FLAME_HEAD_PIECE, count); giveItems(player, DRAGON_FLAME_HEAD_PIECE, count);
break; break;
} }
case 20: case 20:
{ {
qs.giveItems(DOOM_CRUSHER_HEAD, count); giveItems(player, DOOM_CRUSHER_HEAD, count);
break; break;
} }
case 21: case 21:
{ {
qs.giveItems(HAMMER_OF_DESTROYER_PIECE, count); giveItems(player, HAMMER_OF_DESTROYER_PIECE, count);
break; break;
} }
case 22: case 22:
{ {
qs.giveItems(SIRR_BLADE_BLADE, count); giveItems(player, SIRR_BLADE_BLADE, count);
break; break;
} }
case 23: case 23:
{ {
qs.giveItems(SWORD_OF_IPOS_BLADE, count); giveItems(player, SWORD_OF_IPOS_BLADE, count);
break; break;
} }
case 24: case 24:
{ {
qs.giveItems(BARAKIEL_AXE_PIECE, count); giveItems(player, BARAKIEL_AXE_PIECE, count);
break; break;
} }
case 25: case 25:
{ {
qs.giveItems(TUNING_FORK_OF_BEHEMOTH_PIECE, count); giveItems(player, TUNING_FORK_OF_BEHEMOTH_PIECE, count);
break; break;
} }
case 26: case 26:
{ {
qs.giveItems(NAGA_STORM_PIECE, count); giveItems(player, NAGA_STORM_PIECE, count);
break; break;
} }
case 27: case 27:
{ {
qs.giveItems(TIPHON_SPEAR_EDGE, count); giveItems(player, TIPHON_SPEAR_EDGE, count);
break; break;
} }
case 28: case 28:
{ {
qs.giveItems(SHYID_BOW_SHAFT, count); giveItems(player, SHYID_BOW_SHAFT, count);
break; break;
} }
case 29: case 29:
{ {
qs.giveItems(SOBEKK_HURRICANE_EDGE, count); giveItems(player, SOBEKK_HURRICANE_EDGE, count);
break; break;
} }
case 30: case 30:
{ {
qs.giveItems(TONGUE_OF_THEMIS_PIECE, count); giveItems(player, TONGUE_OF_THEMIS_PIECE, count);
break; break;
} }
case 31: case 31:
{ {
qs.giveItems(HAND_OF_CABRIO_HEAD, count); giveItems(player, HAND_OF_CABRIO_HEAD, count);
break; break;
} }
case 32: case 32:
{ {
qs.giveItems(CRYSTAL_OF_DEAMON_PIECE, count); giveItems(player, CRYSTAL_OF_DEAMON_PIECE, count);
break; break;
} }
} }

View File

@@ -421,7 +421,7 @@ public final class Q00420_LittleWing extends Quest
if ((qs != null) && (getQuestItemsCount(attacker, DELUXE_FAIRY_STONE) > 0) && (getRandom(100) < 30)) if ((qs != null) && (getQuestItemsCount(attacker, DELUXE_FAIRY_STONE) > 0) && (getRandom(100) < 30))
{ {
takeItems(attacker, DELUXE_FAIRY_STONE, -1); takeItems(attacker, DELUXE_FAIRY_STONE, -1);
qs.playSound(QuestSound.ITEMSOUND_QUEST_MIDDLE); playSound(attacker, QuestSound.ITEMSOUND_QUEST_MIDDLE);
npc.broadcastPacket(new NpcSay(npc, ChatType.NPC_GENERAL, NpcStringId.THE_STONE_THE_ELVEN_STONE_BROKE)); npc.broadcastPacket(new NpcSay(npc, ChatType.NPC_GENERAL, NpcStringId.THE_STONE_THE_ELVEN_STONE_BROKE));
} }
return super.onAttack(npc, attacker, damage, isSummon); return super.onAttack(npc, attacker, damage, isSummon);

View File

@@ -57,8 +57,8 @@ public class Q00431_WeddingMarch extends Quest
@Override @Override
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
{ {
final QuestState st = getQuestState(player, false); final QuestState qs = getQuestState(player, false);
if (st == null) if (qs == null)
{ {
return null; return null;
} }
@@ -66,17 +66,17 @@ public class Q00431_WeddingMarch extends Quest
String htmltext = null; String htmltext = null;
if (event.equalsIgnoreCase("31042-02.htm")) if (event.equalsIgnoreCase("31042-02.htm"))
{ {
st.startQuest(); qs.startQuest();
htmltext = event; htmltext = event;
} }
else if (event.equalsIgnoreCase("31042-06.html")) else if (event.equalsIgnoreCase("31042-06.html"))
{ {
if (st.getQuestItemsCount(SILVER_CRYSTAL) < CRYSTAL_COUNT) if (getQuestItemsCount(player, SILVER_CRYSTAL) < CRYSTAL_COUNT)
{ {
return "31042-05.html"; return "31042-05.html";
} }
st.giveItems(WEDDING_ECHO_CRYSTAL, 25); giveItems(player, WEDDING_ECHO_CRYSTAL, 25);
st.exitQuest(true, true); qs.exitQuest(true, true);
htmltext = event; htmltext = event;
} }
return htmltext; return htmltext;
@@ -88,17 +88,17 @@ public class Q00431_WeddingMarch extends Quest
final L2PcInstance member = getRandomPartyMember(player, 1); final L2PcInstance member = getRandomPartyMember(player, 1);
if (member != null) if (member != null)
{ {
final QuestState st = getQuestState(member, false); final QuestState qs = getQuestState(member, false);
if (getRandomBoolean()) if (getRandomBoolean())
{ {
st.giveItems(SILVER_CRYSTAL, 1); giveItems(member, SILVER_CRYSTAL, 1);
if (st.getQuestItemsCount(SILVER_CRYSTAL) >= CRYSTAL_COUNT) if (getQuestItemsCount(member, SILVER_CRYSTAL) >= CRYSTAL_COUNT)
{ {
st.setCond(2, true); qs.setCond(2, true);
} }
else else
{ {
st.playSound(QuestSound.ITEMSOUND_QUEST_ITEMGET); playSound(member, QuestSound.ITEMSOUND_QUEST_ITEMGET);
} }
} }
} }
@@ -109,21 +109,25 @@ public class Q00431_WeddingMarch extends Quest
public String onTalk(L2Npc npc, L2PcInstance player) public String onTalk(L2Npc npc, L2PcInstance player)
{ {
String htmltext = getNoQuestMsg(player); String htmltext = getNoQuestMsg(player);
final QuestState st = getQuestState(player, true); final QuestState qs = getQuestState(player, true);
if (st == null) if (qs == null)
{ {
return htmltext; return htmltext;
} }
switch (st.getState()) switch (qs.getState())
{ {
case State.CREATED: case State.CREATED:
{
htmltext = (player.getLevel() >= MIN_LEVEL) ? "31042-01.htm" : "31042-00.htm"; htmltext = (player.getLevel() >= MIN_LEVEL) ? "31042-01.htm" : "31042-00.htm";
break; break;
}
case State.STARTED: case State.STARTED:
htmltext = (st.isCond(1)) ? "31042-03.html" : "31042-04.html"; {
htmltext = (qs.isCond(1)) ? "31042-03.html" : "31042-04.html";
break; break;
}
} }
return htmltext; return htmltext;
} }

View File

@@ -51,9 +51,9 @@ public class Q00432_BirthdayPartySong extends Quest
@Override @Override
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
{ {
final QuestState st = getQuestState(player, false); final QuestState qs = getQuestState(player, false);
if (st == null) if (qs == null)
{ {
return null; return null;
} }
@@ -62,20 +62,25 @@ public class Q00432_BirthdayPartySong extends Quest
switch (event) switch (event)
{ {
case "31043-02.htm": case "31043-02.htm":
st.startQuest(); {
qs.startQuest();
break; break;
}
case "31043-05.html": case "31043-05.html":
if (st.getQuestItemsCount(RED_CRYSTAL) < 50) {
if (getQuestItemsCount(player, RED_CRYSTAL) < 50)
{ {
return "31043-06.html"; return "31043-06.html";
} }
giveItems(player, ECHO_CRYSTAL, 25);
st.giveItems(ECHO_CRYSTAL, 25); qs.exitQuest(true, true);
st.exitQuest(true, true);
break; break;
}
default: default:
{
htmltext = null; htmltext = null;
break; break;
}
} }
return htmltext; return htmltext;
} }
@@ -83,18 +88,18 @@ public class Q00432_BirthdayPartySong extends Quest
@Override @Override
public String onKill(L2Npc npc, L2PcInstance player, boolean isSummon) public String onKill(L2Npc npc, L2PcInstance player, boolean isSummon)
{ {
final QuestState st = getQuestState(player, false); final QuestState qs = getQuestState(player, false);
if ((st != null) && st.isCond(1) && getRandomBoolean()) if ((qs != null) && qs.isCond(1) && getRandomBoolean())
{ {
st.giveItems(RED_CRYSTAL, 1); giveItems(player, RED_CRYSTAL, 1);
if (st.getQuestItemsCount(RED_CRYSTAL) == 50) if (getQuestItemsCount(player, RED_CRYSTAL) == 50)
{ {
st.setCond(2, true); qs.setCond(2, true);
} }
else else
{ {
st.playSound(QuestSound.ITEMSOUND_QUEST_ITEMGET); playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET);
} }
} }
return super.onKill(npc, player, isSummon); return super.onKill(npc, player, isSummon);
@@ -104,21 +109,25 @@ public class Q00432_BirthdayPartySong extends Quest
public String onTalk(L2Npc npc, L2PcInstance player) public String onTalk(L2Npc npc, L2PcInstance player)
{ {
String htmltext = getNoQuestMsg(player); String htmltext = getNoQuestMsg(player);
final QuestState st = getQuestState(player, true); final QuestState qs = getQuestState(player, true);
if (st == null) if (qs == null)
{ {
return htmltext; return htmltext;
} }
switch (st.getState()) switch (qs.getState())
{ {
case State.CREATED: case State.CREATED:
{
htmltext = (player.getLevel() >= 31) ? "31043-01.htm" : "31043-00.htm"; htmltext = (player.getLevel() >= 31) ? "31043-01.htm" : "31043-00.htm";
break; break;
}
case State.STARTED: case State.STARTED:
htmltext = (st.isCond(1)) ? "31043-03.html" : "31043-04.html"; {
htmltext = (qs.isCond(1)) ? "31043-03.html" : "31043-04.html";
break; break;
}
} }
return htmltext; return htmltext;
} }

View File

@@ -57,9 +57,9 @@ public class Q00450_GraveRobberRescue extends Quest
@Override @Override
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
{ {
final QuestState st = getQuestState(player, false); final QuestState qs = getQuestState(player, false);
if (st == null) if (qs == null)
{ {
return null; return null;
} }
@@ -70,18 +70,26 @@ public class Q00450_GraveRobberRescue extends Quest
case "32650-04.htm": case "32650-04.htm":
case "32650-05.htm": case "32650-05.htm":
case "32650-06.html": case "32650-06.html":
{
break; break;
}
case "32650-07.htm": case "32650-07.htm":
st.startQuest(); {
qs.startQuest();
break; break;
}
case "despawn": case "despawn":
{
npc.setBusy(false); npc.setBusy(false);
npc.deleteMe(); npc.deleteMe();
htmltext = null; htmltext = null;
break; break;
}
default: default:
{
htmltext = null; htmltext = null;
break; break;
}
} }
return htmltext; return htmltext;
} }
@@ -90,42 +98,49 @@ public class Q00450_GraveRobberRescue extends Quest
public String onTalk(L2Npc npc, L2PcInstance player) public String onTalk(L2Npc npc, L2PcInstance player)
{ {
String htmltext = getNoQuestMsg(player); String htmltext = getNoQuestMsg(player);
final QuestState st = getQuestState(player, true); final QuestState qs = getQuestState(player, true);
if (st == null) if (qs == null)
{ {
return htmltext; return htmltext;
} }
if (npc.getId() == KANEMIKA) if (npc.getId() == KANEMIKA)
{ {
switch (st.getState()) switch (qs.getState())
{ {
case State.COMPLETED: case State.COMPLETED:
if (!st.isNowAvailable()) {
if (!qs.isNowAvailable())
{ {
htmltext = "32650-03.html"; htmltext = "32650-03.html";
break; break;
} }
st.setState(State.CREATED); qs.setState(State.CREATED);
// fallthrou
}
case State.CREATED: case State.CREATED:
{
htmltext = (player.getLevel() >= MIN_LEVEL) ? "32650-01.htm" : "32650-02.htm"; htmltext = (player.getLevel() >= MIN_LEVEL) ? "32650-01.htm" : "32650-02.htm";
break; break;
}
case State.STARTED: case State.STARTED:
if (st.isCond(1)) {
if (qs.isCond(1))
{ {
htmltext = (!st.hasQuestItems(EVIDENCE_OF_MIGRATION)) ? "32650-08.html" : "32650-09.html"; htmltext = (!hasQuestItems(player, EVIDENCE_OF_MIGRATION)) ? "32650-08.html" : "32650-09.html";
} }
else else
{ {
st.giveAdena(65000, true); // Glory days reward: 6 886 980 exp, 8 116 410 sp, 371 400 Adena giveAdena(player, 65000, true); // Glory days reward: 6 886 980 exp, 8 116 410 sp, 371 400 Adena
st.exitQuest(QuestType.DAILY, true); qs.exitQuest(QuestType.DAILY, true);
htmltext = "32650-10.html"; htmltext = "32650-10.html";
} }
break; break;
}
} }
} }
else if (st.isCond(1)) else if (qs.isCond(1))
{ {
if (npc.isBusy()) if (npc.isBusy())
{ {
@@ -134,16 +149,16 @@ public class Q00450_GraveRobberRescue extends Quest
if (getRandom(100) < 66) if (getRandom(100) < 66)
{ {
st.giveItems(EVIDENCE_OF_MIGRATION, 1); giveItems(player, EVIDENCE_OF_MIGRATION, 1);
st.playSound(QuestSound.ITEMSOUND_QUEST_ITEMGET); playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET);
npc.getAI().setIntention(CtrlIntention.AI_INTENTION_MOVE_TO, new Location(npc.getX() + 100, npc.getY() + 100, npc.getZ(), 0)); npc.getAI().setIntention(CtrlIntention.AI_INTENTION_MOVE_TO, new Location(npc.getX() + 100, npc.getY() + 100, npc.getZ(), 0));
npc.setBusy(true); npc.setBusy(true);
startQuestTimer("despawn", 3000, npc, player); startQuestTimer("despawn", 3000, npc, player);
if (st.getQuestItemsCount(EVIDENCE_OF_MIGRATION) == 10) if (getQuestItemsCount(player, EVIDENCE_OF_MIGRATION) == 10)
{ {
st.setCond(2, true); qs.setCond(2, true);
} }
htmltext = "32651-01.html"; htmltext = "32651-01.html";
} }

View File

@@ -41,7 +41,6 @@ public class Q00451_LuciensAltar extends Quest
32709, 32709,
32710 32710
}; };
// Items // Items
private static final int REPLENISHED_BEAD = 14877; private static final int REPLENISHED_BEAD = 14877;
private static final int DISCHARGED_BEAD = 14878; private static final int DISCHARGED_BEAD = 14878;
@@ -60,9 +59,9 @@ public class Q00451_LuciensAltar extends Quest
@Override @Override
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
{ {
final QuestState st = getQuestState(player, false); final QuestState qs = getQuestState(player, false);
if (st == null) if (qs == null)
{ {
return null; return null;
} }
@@ -74,8 +73,8 @@ public class Q00451_LuciensAltar extends Quest
} }
else if (event.equals("30537-05.htm")) else if (event.equals("30537-05.htm"))
{ {
st.startQuest(); qs.startQuest();
st.giveItems(REPLENISHED_BEAD, 5); giveItems(player, REPLENISHED_BEAD, 5);
htmltext = event; htmltext = event;
} }
return htmltext; return htmltext;
@@ -85,9 +84,9 @@ public class Q00451_LuciensAltar extends Quest
public String onTalk(L2Npc npc, L2PcInstance player) public String onTalk(L2Npc npc, L2PcInstance player)
{ {
String htmltext = getNoQuestMsg(player); String htmltext = getNoQuestMsg(player);
final QuestState st = getQuestState(player, true); final QuestState qs = getQuestState(player, true);
if (st == null) if (qs == null)
{ {
return htmltext; return htmltext;
} }
@@ -95,22 +94,28 @@ public class Q00451_LuciensAltar extends Quest
final int npcId = npc.getId(); final int npcId = npc.getId();
if (npcId == DAICHIR) if (npcId == DAICHIR)
{ {
switch (st.getState()) switch (qs.getState())
{ {
case State.COMPLETED: case State.COMPLETED:
if (!st.isNowAvailable()) {
if (!qs.isNowAvailable())
{ {
htmltext = "30537-03.html"; htmltext = "30537-03.html";
break; break;
} }
st.setState(State.CREATED); qs.setState(State.CREATED);
// fallthrou
}
case State.CREATED: case State.CREATED:
{
htmltext = (player.getLevel() >= MIN_LEVEL) ? "30537-01.htm" : "30537-02.htm"; htmltext = (player.getLevel() >= MIN_LEVEL) ? "30537-01.htm" : "30537-02.htm";
break; break;
}
case State.STARTED: case State.STARTED:
if (st.isCond(1)) {
if (qs.isCond(1))
{ {
if (st.isSet("32706") || st.isSet("32707") || st.isSet("32708") || st.isSet("32709") || st.isSet("32710")) if (qs.isSet("32706") || qs.isSet("32707") || qs.isSet("32708") || qs.isSet("32709") || qs.isSet("32710"))
{ {
htmltext = "30537-10.html"; htmltext = "30537-10.html";
} }
@@ -121,25 +126,26 @@ public class Q00451_LuciensAltar extends Quest
} }
else else
{ {
st.giveAdena(255380, true); // Tauti reward: 13 773 960 exp, 16 232 820 sp, 742 800 Adena giveAdena(player, 255380, true); // Tauti reward: 13 773 960 exp, 16 232 820 sp, 742 800 Adena
st.exitQuest(QuestType.DAILY, true); qs.exitQuest(QuestType.DAILY, true);
htmltext = "30537-08.html"; htmltext = "30537-08.html";
} }
break; break;
}
} }
} }
else if (st.isCond(1) && st.hasQuestItems(REPLENISHED_BEAD)) else if (qs.isCond(1) && hasQuestItems(player, REPLENISHED_BEAD))
{ {
if (st.getInt(String.valueOf(npcId)) == 0) if (qs.getInt(String.valueOf(npcId)) == 0)
{ {
st.set(String.valueOf(npcId), "1"); qs.set(String.valueOf(npcId), "1");
st.takeItems(REPLENISHED_BEAD, 1); takeItems(player, REPLENISHED_BEAD, 1);
st.giveItems(DISCHARGED_BEAD, 1); giveItems(player, DISCHARGED_BEAD, 1);
st.playSound(QuestSound.ITEMSOUND_QUEST_ITEMGET); playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET);
if (st.getQuestItemsCount(DISCHARGED_BEAD) >= 5) if (getQuestItemsCount(player, DISCHARGED_BEAD) >= 5)
{ {
st.setCond(2, true); qs.setCond(2, true);
} }
htmltext = "recharge.html"; htmltext = "recharge.html";

View File

@@ -52,8 +52,8 @@ public class Q00452_FindingtheLostSoldiers extends Quest
@Override @Override
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
{ {
final QuestState st = getQuestState(player, false); final QuestState qs = getQuestState(player, false);
if (st == null) if (qs == null)
{ {
return getNoQuestMsg(player); return getNoQuestMsg(player);
} }
@@ -64,22 +64,22 @@ public class Q00452_FindingtheLostSoldiers extends Quest
{ {
if (event.equals("32773-3.htm")) if (event.equals("32773-3.htm"))
{ {
st.startQuest(); qs.startQuest();
} }
} }
else else
{ {
if (st.isCond(1)) if (qs.isCond(1))
{ {
if (getRandom(10) < 5) if (getRandom(10) < 5)
{ {
st.giveItems(TAG_ID, 1); giveItems(player, TAG_ID, 1);
} }
else else
{ {
htmltext = "corpse-3.html"; htmltext = "corpse-3.html";
} }
st.setCond(2, true); qs.setCond(2, true);
npc.deleteMe(); npc.deleteMe();
} }
else else
@@ -94,37 +94,37 @@ public class Q00452_FindingtheLostSoldiers extends Quest
public String onTalk(L2Npc npc, L2PcInstance player) public String onTalk(L2Npc npc, L2PcInstance player)
{ {
String htmltext = getNoQuestMsg(player); String htmltext = getNoQuestMsg(player);
final QuestState st = getQuestState(player, true); final QuestState qs = getQuestState(player, true);
if (st == null) if (qs == null)
{ {
return htmltext; return htmltext;
} }
if (npc.getId() == JAKAN) if (npc.getId() == JAKAN)
{ {
switch (st.getState()) switch (qs.getState())
{ {
case State.CREATED: case State.CREATED:
htmltext = (player.getLevel() < 84) ? "32773-0.html" : "32773-1.htm"; htmltext = (player.getLevel() < 84) ? "32773-0.html" : "32773-1.htm";
break; break;
case State.STARTED: case State.STARTED:
if (st.isCond(1)) if (qs.isCond(1))
{ {
htmltext = "32773-4.html"; htmltext = "32773-4.html";
} }
else if (st.isCond(2)) else if (qs.isCond(2))
{ {
htmltext = "32773-5.html"; htmltext = "32773-5.html";
st.takeItems(TAG_ID, -1); takeItems(player, TAG_ID, -1);
st.giveAdena(95200, true); giveAdena(player, 95200, true);
st.addExpAndSp(435024, 50366); addExpAndSp(player, 435024, 50366);
st.exitQuest(QuestType.DAILY, true); qs.exitQuest(QuestType.DAILY, true);
} }
break; break;
case State.COMPLETED: case State.COMPLETED:
if (st.isNowAvailable()) if (qs.isNowAvailable())
{ {
st.setState(State.CREATED); qs.setState(State.CREATED);
htmltext = (player.getLevel() < 84) ? "32773-0.html" : "32773-1.htm"; htmltext = (player.getLevel() < 84) ? "32773-0.html" : "32773-1.htm";
} }
else else
@@ -136,7 +136,7 @@ public class Q00452_FindingtheLostSoldiers extends Quest
} }
else else
{ {
if (st.isCond(1)) if (qs.isCond(1))
{ {
htmltext = "corpse-1.html"; htmltext = "corpse-1.html";
} }

View File

@@ -65,7 +65,6 @@ public class Q00453_NotStrongEnoughAlone extends Quest
22764, 22764,
22765 22765
}; };
// Reward // Reward
private static final int[][] REWARD = private static final int[][] REWARD =
{ {
@@ -109,9 +108,9 @@ public class Q00453_NotStrongEnoughAlone extends Quest
private void increaseKill(L2PcInstance player, L2Npc npc) private void increaseKill(L2PcInstance player, L2Npc npc)
{ {
final QuestState st = getQuestState(player, false); final QuestState qs = getQuestState(player, false);
if (st == null) if (qs == null)
{ {
return; return;
} }
@@ -122,7 +121,7 @@ public class Q00453_NotStrongEnoughAlone extends Quest
{ {
final ExQuestNpcLogList log = new ExQuestNpcLogList(getId()); final ExQuestNpcLogList log = new ExQuestNpcLogList(getId());
if (Util.contains(MONSTER1, npcId) && st.isCond(2)) if (Util.contains(MONSTER1, npcId) && qs.isCond(2))
{ {
if (npcId == MONSTER1[4]) if (npcId == MONSTER1[4])
{ {
@@ -141,21 +140,21 @@ public class Q00453_NotStrongEnoughAlone extends Quest
npcId = MONSTER1[3]; npcId = MONSTER1[3];
} }
final int i = st.getInt(String.valueOf(npcId)); final int i = qs.getInt(String.valueOf(npcId));
if (i < 15) if (i < 15)
{ {
st.set(Integer.toString(npcId), Integer.toString(i + 1)); qs.set(Integer.toString(npcId), Integer.toString(i + 1));
st.playSound(QuestSound.ITEMSOUND_QUEST_ITEMGET); playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET);
} }
checkProgress(st, 15, MONSTER1[0], MONSTER1[1], MONSTER1[2], MONSTER1[3]); checkProgress(qs, 15, MONSTER1[0], MONSTER1[1], MONSTER1[2], MONSTER1[3]);
log.addNpc(MONSTER1[0], st.getInt(String.valueOf(MONSTER1[0]))); log.addNpc(MONSTER1[0], qs.getInt(String.valueOf(MONSTER1[0])));
log.addNpc(MONSTER1[1], st.getInt(String.valueOf(MONSTER1[1]))); log.addNpc(MONSTER1[1], qs.getInt(String.valueOf(MONSTER1[1])));
log.addNpc(MONSTER1[2], st.getInt(String.valueOf(MONSTER1[2]))); log.addNpc(MONSTER1[2], qs.getInt(String.valueOf(MONSTER1[2])));
log.addNpc(MONSTER1[3], st.getInt(String.valueOf(MONSTER1[3]))); log.addNpc(MONSTER1[3], qs.getInt(String.valueOf(MONSTER1[3])));
} }
else if (Util.contains(MONSTER2, npcId) && st.isCond(3)) else if (Util.contains(MONSTER2, npcId) && qs.isCond(3))
{ {
if (npcId == MONSTER2[3]) if (npcId == MONSTER2[3])
{ {
@@ -170,20 +169,20 @@ public class Q00453_NotStrongEnoughAlone extends Quest
npcId = MONSTER2[2]; npcId = MONSTER2[2];
} }
final int i = st.getInt(String.valueOf(npcId)); final int i = qs.getInt(String.valueOf(npcId));
if (i < 20) if (i < 20)
{ {
st.set(Integer.toString(npcId), Integer.toString(i + 1)); qs.set(Integer.toString(npcId), Integer.toString(i + 1));
st.playSound(QuestSound.ITEMSOUND_QUEST_ITEMGET); playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET);
} }
checkProgress(st, 20, MONSTER2[0], MONSTER2[1], MONSTER2[2]); checkProgress(qs, 20, MONSTER2[0], MONSTER2[1], MONSTER2[2]);
log.addNpc(MONSTER2[0], st.getInt(String.valueOf(MONSTER2[0]))); log.addNpc(MONSTER2[0], qs.getInt(String.valueOf(MONSTER2[0])));
log.addNpc(MONSTER2[1], st.getInt(String.valueOf(MONSTER2[1]))); log.addNpc(MONSTER2[1], qs.getInt(String.valueOf(MONSTER2[1])));
log.addNpc(MONSTER2[2], st.getInt(String.valueOf(MONSTER2[2]))); log.addNpc(MONSTER2[2], qs.getInt(String.valueOf(MONSTER2[2])));
} }
else if (Util.contains(MONSTER3, npcId) && st.isCond(4)) else if (Util.contains(MONSTER3, npcId) && qs.isCond(4))
{ {
if (npcId == MONSTER3[3]) if (npcId == MONSTER3[3])
{ {
@@ -198,18 +197,18 @@ public class Q00453_NotStrongEnoughAlone extends Quest
npcId = MONSTER3[2]; npcId = MONSTER3[2];
} }
final int i = st.getInt(String.valueOf(npcId)); final int i = qs.getInt(String.valueOf(npcId));
if (i < 20) if (i < 20)
{ {
st.set(Integer.toString(npcId), Integer.toString(i + 1)); qs.set(Integer.toString(npcId), Integer.toString(i + 1));
st.playSound(QuestSound.ITEMSOUND_QUEST_ITEMGET); playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET);
} }
checkProgress(st, 20, MONSTER3[0], MONSTER3[1], MONSTER3[2]); checkProgress(qs, 20, MONSTER3[0], MONSTER3[1], MONSTER3[2]);
log.addNpc(MONSTER3[0], st.getInt(String.valueOf(MONSTER3[0]))); log.addNpc(MONSTER3[0], qs.getInt(String.valueOf(MONSTER3[0])));
log.addNpc(MONSTER3[1], st.getInt(String.valueOf(MONSTER3[1]))); log.addNpc(MONSTER3[1], qs.getInt(String.valueOf(MONSTER3[1])));
log.addNpc(MONSTER3[2], st.getInt(String.valueOf(MONSTER3[2]))); log.addNpc(MONSTER3[2], qs.getInt(String.valueOf(MONSTER3[2])));
} }
player.sendPacket(log); player.sendPacket(log);
} }
@@ -219,28 +218,28 @@ public class Q00453_NotStrongEnoughAlone extends Quest
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
{ {
final String htmltext = event; final String htmltext = event;
final QuestState st = getQuestState(player, false); final QuestState qs = getQuestState(player, false);
if (st == null) if (qs == null)
{ {
return htmltext; return htmltext;
} }
if (event.equalsIgnoreCase("32734-06.htm")) if (event.equalsIgnoreCase("32734-06.htm"))
{ {
st.startQuest(); qs.startQuest();
} }
else if (event.equalsIgnoreCase("32734-07.html")) else if (event.equalsIgnoreCase("32734-07.html"))
{ {
st.setCond(2, true); qs.setCond(2, true);
} }
else if (event.equalsIgnoreCase("32734-08.html")) else if (event.equalsIgnoreCase("32734-08.html"))
{ {
st.setCond(3, true); qs.setCond(3, true);
} }
else if (event.equalsIgnoreCase("32734-09.html")) else if (event.equalsIgnoreCase("32734-09.html"))
{ {
st.setCond(4, true); qs.setCond(4, true);
} }
return htmltext; return htmltext;
} }
@@ -266,16 +265,17 @@ public class Q00453_NotStrongEnoughAlone extends Quest
public String onTalk(L2Npc npc, L2PcInstance player) public String onTalk(L2Npc npc, L2PcInstance player)
{ {
String htmltext = getNoQuestMsg(player); String htmltext = getNoQuestMsg(player);
final QuestState st = getQuestState(player, true); final QuestState qs = getQuestState(player, true);
final QuestState prev = player.getQuestState(Q10282_ToTheSeedOfAnnihilation.class.getSimpleName()); final QuestState prev = player.getQuestState(Q10282_ToTheSeedOfAnnihilation.class.getSimpleName());
if (st == null) if (qs == null)
{ {
return htmltext; return htmltext;
} }
switch (st.getState()) switch (qs.getState())
{ {
case State.CREATED: case State.CREATED:
{
if ((player.getLevel() >= 84) && (prev != null) && prev.isCompleted()) if ((player.getLevel() >= 84) && (prev != null) && prev.isCompleted())
{ {
htmltext = "32734-01.htm"; htmltext = "32734-01.htm";
@@ -285,8 +285,10 @@ public class Q00453_NotStrongEnoughAlone extends Quest
htmltext = "32734-03.html"; htmltext = "32734-03.html";
} }
break; break;
}
case State.STARTED: case State.STARTED:
switch (st.getCond()) {
switch (qs.getCond())
{ {
case 1: case 1:
{ {
@@ -310,21 +312,23 @@ public class Q00453_NotStrongEnoughAlone extends Quest
} }
case 5: case 5:
{ {
st.giveItems(REWARD[getRandom(REWARD.length)][getRandom(REWARD[0].length)], 1); giveItems(player, REWARD[getRandom(REWARD.length)][getRandom(REWARD[0].length)], 1);
st.exitQuest(QuestType.DAILY, true); qs.exitQuest(QuestType.DAILY, true);
htmltext = "32734-14.html"; htmltext = "32734-14.html";
break; break;
} }
} }
break; break;
}
case State.COMPLETED: case State.COMPLETED:
if (!st.isNowAvailable()) {
if (!qs.isNowAvailable())
{ {
htmltext = "32734-02.htm"; htmltext = "32734-02.htm";
} }
else else
{ {
st.setState(State.CREATED); qs.setState(State.CREATED);
if ((player.getLevel() >= 84) && (prev != null) && (prev.getState() == State.COMPLETED)) if ((player.getLevel() >= 84) && (prev != null) && (prev.getState() == State.COMPLETED))
{ {
htmltext = "32734-01.htm"; htmltext = "32734-01.htm";
@@ -335,19 +339,20 @@ public class Q00453_NotStrongEnoughAlone extends Quest
} }
} }
break; break;
}
} }
return htmltext; return htmltext;
} }
private static void checkProgress(QuestState st, int count, int... mobs) private static void checkProgress(QuestState qs, int count, int... mobs)
{ {
for (int mob : mobs) for (int mob : mobs)
{ {
if (st.getInt(String.valueOf(mob)) < count) if (qs.getInt(String.valueOf(mob)) < count)
{ {
return; return;
} }
} }
st.setCond(5, true); qs.setCond(5, true);
} }
} }

View File

@@ -73,18 +73,18 @@ public class Q00455_WingsOfSand extends Quest
@Override @Override
public void actionForEachPlayer(L2PcInstance player, L2Npc npc, boolean isSummon) public void actionForEachPlayer(L2PcInstance player, L2Npc npc, boolean isSummon)
{ {
final QuestState st = getQuestState(player, false); final QuestState qs = getQuestState(player, false);
if ((st != null) && Util.checkIfInRange(1500, npc, player, false) && (getRandom(1000) < CHANCE)) if ((qs != null) && Util.checkIfInRange(1500, npc, player, false) && (getRandom(1000) < CHANCE))
{ {
st.giveItems(LARGE_BABY_DRAGON, 1); giveItems(player, LARGE_BABY_DRAGON, 1);
st.playSound(QuestSound.ITEMSOUND_QUEST_ITEMGET); playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET);
if (st.getQuestItemsCount(LARGE_BABY_DRAGON) == 1) if (getQuestItemsCount(player, LARGE_BABY_DRAGON) == 1)
{ {
st.setCond(2, true); qs.setCond(2, true);
} }
else if (st.getQuestItemsCount(LARGE_BABY_DRAGON) == 2) else if (getQuestItemsCount(player, LARGE_BABY_DRAGON) == 2)
{ {
st.setCond(3, true); qs.setCond(3, true);
} }
} }
} }
@@ -92,8 +92,8 @@ public class Q00455_WingsOfSand extends Quest
@Override @Override
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
{ {
final QuestState st = getQuestState(player, false); final QuestState qs = getQuestState(player, false);
if (st == null) if (qs == null)
{ {
return null; return null;
} }
@@ -112,7 +112,7 @@ public class Q00455_WingsOfSand extends Quest
} }
case "32864-05.htm": case "32864-05.htm":
{ {
st.startQuest(); qs.startQuest();
htmltext = event; htmltext = event;
break; break;
} }
@@ -131,14 +131,14 @@ public class Q00455_WingsOfSand extends Quest
@Override @Override
public String onTalk(L2Npc npc, L2PcInstance player) public String onTalk(L2Npc npc, L2PcInstance player)
{ {
final QuestState st = getQuestState(player, true); final QuestState qs = getQuestState(player, true);
if (st == null) if (qs == null)
{ {
return getNoQuestMsg(player); return getNoQuestMsg(player);
} }
String htmltext = getNoQuestMsg(player); String htmltext = getNoQuestMsg(player);
switch (st.getState()) switch (qs.getState())
{ {
case State.CREATED: case State.CREATED:
{ {
@@ -150,7 +150,7 @@ public class Q00455_WingsOfSand extends Quest
} }
case State.STARTED: case State.STARTED:
{ {
switch (st.getCond()) switch (qs.getCond())
{ {
case 1: case 1:
{ {
@@ -159,13 +159,13 @@ public class Q00455_WingsOfSand extends Quest
} }
case 2: case 2:
{ {
giveItems(st); giveItems(qs);
htmltext = "32864-07.html"; htmltext = "32864-07.html";
break; break;
} }
case 3: case 3:
{ {
giveItems(st); giveItems(qs);
htmltext = "32864-07.html"; htmltext = "32864-07.html";
break; break;
} }
@@ -174,13 +174,13 @@ public class Q00455_WingsOfSand extends Quest
} }
case State.COMPLETED: case State.COMPLETED:
{ {
if (!st.isNowAvailable()) if (!qs.isNowAvailable())
{ {
htmltext = "32864-08.html"; htmltext = "32864-08.html";
} }
else else
{ {
st.setState(State.CREATED); qs.setState(State.CREATED);
if (player.getLevel() >= MIN_LEVEL) if (player.getLevel() >= MIN_LEVEL)
{ {
htmltext = "32864-01.htm"; htmltext = "32864-01.htm";
@@ -194,53 +194,54 @@ public class Q00455_WingsOfSand extends Quest
/** /**
* Reward the player. * Reward the player.
* @param st the quest state of the player to reward * @param qs the quest state of the player to reward
*/ */
private static final void giveItems(QuestState st) private static final void giveItems(QuestState qs)
{ {
final L2PcInstance player = qs.getPlayer();
int chance; int chance;
int parts; int parts;
for (int i = 1; i <= (st.getCond() - 1); i++) for (int i = 1; i <= (qs.getCond() - 1); i++)
{ {
chance = getRandom(1000); chance = getRandom(1000);
parts = getRandom(1, 2); parts = getRandom(1, 2);
if (chance < 50) if (chance < 50)
{ {
st.giveItems(getRandom(15815, 15825), 1); // Weapon Recipes giveItems(player, getRandom(15815, 15825), 1); // Weapon Recipes
} }
else if (chance < 100) else if (chance < 100)
{ {
st.giveItems(getRandom(15792, 15808), parts); // Armor Recipes giveItems(player, getRandom(15792, 15808), parts); // Armor Recipes
} }
else if (chance < 150) else if (chance < 150)
{ {
st.giveItems(getRandom(15809, 15811), parts); // Jewelry Recipes giveItems(player, getRandom(15809, 15811), parts); // Jewelry Recipes
} }
else if (chance < 250) else if (chance < 250)
{ {
st.giveItems(ARMOR_PARTS.get(getRandom(ARMOR_PARTS.size())), parts); // Armor Parts giveItems(player, ARMOR_PARTS.get(getRandom(ARMOR_PARTS.size())), parts); // Armor Parts
} }
else if (chance < 500) else if (chance < 500)
{ {
st.giveItems(getRandom(15634, 15644), parts); // Weapon Parts giveItems(player, getRandom(15634, 15644), parts); // Weapon Parts
} }
else if (chance < 750) else if (chance < 750)
{ {
st.giveItems(getRandom(15769, 15771), parts); // Jewelry Parts giveItems(player, getRandom(15769, 15771), parts); // Jewelry Parts
} }
else if (chance < 900) else if (chance < 900)
{ {
st.giveItems(getRandom(9552, 9557), 1); // Crystals giveItems(player, getRandom(9552, 9557), 1); // Crystals
} }
else if (chance < 970) else if (chance < 970)
{ {
st.giveItems(6578, 1); // Blessed Scroll: Enchant Armor (S-Grade) giveItems(player, 6578, 1); // Blessed Scroll: Enchant Armor (S-Grade)
} }
else else
{ {
st.giveItems(6577, 1); // Blessed Scroll: Enchant Weapon (S-Grade) giveItems(player, 6577, 1); // Blessed Scroll: Enchant Weapon (S-Grade)
} }
} }
st.exitQuest(QuestType.DAILY, true); qs.exitQuest(QuestType.DAILY, true);
} }
} }

View File

@@ -67,8 +67,8 @@ public final class Q00457_LostAndFound extends Quest
@Override @Override
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
{ {
final QuestState st = getQuestState(player, false); final QuestState qs = getQuestState(player, false);
if (st == null) if (qs == null)
{ {
return getNoQuestMsg(player); return getNoQuestMsg(player);
} }
@@ -79,7 +79,7 @@ public final class Q00457_LostAndFound extends Quest
case "32759-06.html": case "32759-06.html":
{ {
npc.setScriptValue(0); npc.setScriptValue(0);
st.startQuest(); qs.startQuest();
npc.setTarget(player); npc.setTarget(player);
npc.setWalking(); npc.setWalking();
npc.getAI().setIntention(CtrlIntention.AI_INTENTION_FOLLOW, player); npc.getAI().setIntention(CtrlIntention.AI_INTENTION_FOLLOW, player);
@@ -108,7 +108,7 @@ public final class Q00457_LostAndFound extends Quest
case "TIME_LIMIT": case "TIME_LIMIT":
{ {
startQuestTimer("STOP", 2000, npc, player); startQuestTimer("STOP", 2000, npc, player);
st.exitQuest(QuestType.DAILY); qs.exitQuest(QuestType.DAILY);
break; break;
} }
case "CHECK": case "CHECK":
@@ -119,7 +119,7 @@ public final class Q00457_LostAndFound extends Quest
if (distance > 5000) if (distance > 5000)
{ {
startQuestTimer("STOP", 2000, npc, player); startQuestTimer("STOP", 2000, npc, player);
st.exitQuest(QuestType.DAILY); qs.exitQuest(QuestType.DAILY);
} }
else if (npc.isScriptValue(0)) else if (npc.isScriptValue(0))
{ {
@@ -134,7 +134,7 @@ public final class Q00457_LostAndFound extends Quest
else if (npc.isScriptValue(2)) else if (npc.isScriptValue(2))
{ {
startQuestTimer("STOP", 2000, npc, player); startQuestTimer("STOP", 2000, npc, player);
st.exitQuest(QuestType.DAILY); qs.exitQuest(QuestType.DAILY);
} }
} }
for (L2Spawn escortSpawn : _escortCheckers) for (L2Spawn escortSpawn : _escortCheckers)
@@ -147,8 +147,8 @@ public final class Q00457_LostAndFound extends Quest
cancelQuestTimer("CHECK", npc, player); cancelQuestTimer("CHECK", npc, player);
npc.broadcastPacket(new CreatureSay(npc.getObjectId(), ChatType.NPC_GENERAL, npc.getName(), NpcStringId.AH_FRESH_AIR)); npc.broadcastPacket(new CreatureSay(npc.getObjectId(), ChatType.NPC_GENERAL, npc.getName(), NpcStringId.AH_FRESH_AIR));
broadcastNpcSay(npc, player, NpcStringId.AH_FRESH_AIR, false); broadcastNpcSay(npc, player, NpcStringId.AH_FRESH_AIR, false);
st.giveItems(PACKAGED_BOOK, 1); giveItems(player, PACKAGED_BOOK, 1);
st.exitQuest(QuestType.DAILY, true); qs.exitQuest(QuestType.DAILY, true);
break; break;
} }
} }
@@ -192,9 +192,9 @@ public final class Q00457_LostAndFound extends Quest
@Override @Override
public String onKill(L2Npc npc, L2PcInstance player, boolean isSummon) public String onKill(L2Npc npc, L2PcInstance player, boolean isSummon)
{ {
final QuestState st = getQuestState(player, true); final QuestState qs = getQuestState(player, true);
if ((getRandom(100) < CHANCE_SPAWN) && st.isNowAvailable() && (player.getLevel() >= MIN_LV)) if ((getRandom(100) < CHANCE_SPAWN) && qs.isNowAvailable() && (player.getLevel() >= MIN_LV))
{ {
addSpawn(GUMIEL, npc); addSpawn(GUMIEL, npc);
} }
@@ -205,13 +205,13 @@ public final class Q00457_LostAndFound extends Quest
public String onTalk(L2Npc npc, L2PcInstance player) public String onTalk(L2Npc npc, L2PcInstance player)
{ {
String htmltext = getNoQuestMsg(player); String htmltext = getNoQuestMsg(player);
QuestState st = getQuestState(player, true); QuestState qs = getQuestState(player, true);
if (st == null) if (qs == null)
{ {
st = newQuestState(player); qs = newQuestState(player);
} }
switch (st.getState()) switch (qs.getState())
{ {
case State.CREATED: case State.CREATED:
{ {
@@ -220,9 +220,9 @@ public final class Q00457_LostAndFound extends Quest
} }
case State.COMPLETED: case State.COMPLETED:
{ {
if (st.isNowAvailable()) if (qs.isNowAvailable())
{ {
st.setState(State.CREATED); qs.setState(State.CREATED);
htmltext = (player.getLevel() >= MIN_LV) ? "32759-01.htm" : "32759-03.html"; htmltext = (player.getLevel() >= MIN_LV) ? "32759-01.htm" : "32759-03.html";
} }
else else

View File

@@ -86,8 +86,8 @@ public class Q00458_PerfectForm extends Quest
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
{ {
final String noQuest = getNoQuestMsg(player); final String noQuest = getNoQuestMsg(player);
final QuestState st = getQuestState(player, false); final QuestState qs = getQuestState(player, false);
if (st == null) if (qs == null)
{ {
return noQuest; return noQuest;
} }
@@ -99,12 +99,15 @@ public class Q00458_PerfectForm extends Quest
switch (event) switch (event)
{ {
case "32768-10.htm": case "32768-10.htm":
st.startQuest(); {
qs.startQuest();
break; break;
}
case "results1": case "results1":
if (st.isCond(2)) {
if (qs.isCond(2))
{ {
final int overhitsTotal = st.getInt("overhitsTotal"); final int overhitsTotal = qs.getInt("overhitsTotal");
if (overhitsTotal >= 35) if (overhitsTotal >= 35)
{ {
htmltext = "32768-14a.html"; htmltext = "32768-14a.html";
@@ -125,10 +128,12 @@ public class Q00458_PerfectForm extends Quest
htmltext = noQuest; htmltext = noQuest;
} }
break; break;
}
case "results2": case "results2":
if (st.isCond(2)) {
if (qs.isCond(2))
{ {
final int overhitsCritical = st.getInt("overhitsCritical"); final int overhitsCritical = qs.getInt("overhitsCritical");
if (overhitsCritical >= 30) if (overhitsCritical >= 30)
{ {
htmltext = "32768-15a.html"; htmltext = "32768-15a.html";
@@ -149,10 +154,12 @@ public class Q00458_PerfectForm extends Quest
htmltext = noQuest; htmltext = noQuest;
} }
break; break;
}
case "results3": case "results3":
if (st.isCond(2)) {
if (qs.isCond(2))
{ {
final int overhitsConsecutive = st.getInt("overhitsConsecutive"); final int overhitsConsecutive = qs.getInt("overhitsConsecutive");
if (overhitsConsecutive >= 20) if (overhitsConsecutive >= 20)
{ {
htmltext = "32768-16a.html"; htmltext = "32768-16a.html";
@@ -173,35 +180,38 @@ public class Q00458_PerfectForm extends Quest
htmltext = noQuest; htmltext = noQuest;
} }
break; break;
}
case "32768-17.html": case "32768-17.html":
if (st.isCond(2)) {
if (qs.isCond(2))
{ {
final int overhitsConsecutive = st.getInt("overhitsConsecutive"); final int overhitsConsecutive = qs.getInt("overhitsConsecutive");
if (overhitsConsecutive >= 20) if (overhitsConsecutive >= 20)
{ {
final int rnd = getRandom(ICARUS_WEAPON_RECIPES.length); final int rnd = getRandom(ICARUS_WEAPON_RECIPES.length);
st.rewardItems(ICARUS_WEAPON_RECIPES[rnd], 1); rewardItems(player, ICARUS_WEAPON_RECIPES[rnd], 1);
} }
else if (overhitsConsecutive >= 7) else if (overhitsConsecutive >= 7)
{ {
final int rnd = getRandom(ICARUS_WEAPON_PIECES.length); final int rnd = getRandom(ICARUS_WEAPON_PIECES.length);
st.rewardItems(ICARUS_WEAPON_PIECES[rnd], 5); rewardItems(player, ICARUS_WEAPON_PIECES[rnd], 5);
} }
else else
{ {
final int rnd = getRandom(ICARUS_WEAPON_PIECES.length); final int rnd = getRandom(ICARUS_WEAPON_PIECES.length);
st.rewardItems(ICARUS_WEAPON_PIECES[rnd], 2); rewardItems(player, ICARUS_WEAPON_PIECES[rnd], 2);
// not sure if this should use rewardItems // not sure if this should use rewardItems
st.giveItems(15482, 10); // Golden Spice Crate giveItems(player, 15482, 10); // Golden Spice Crate
st.giveItems(15483, 10); // Crystal Spice Crate giveItems(player, 15483, 10); // Crystal Spice Crate
} }
st.exitQuest(QuestType.DAILY, true); qs.exitQuest(QuestType.DAILY, true);
} }
else else
{ {
htmltext = noQuest; htmltext = noQuest;
} }
break; break;
}
} }
if (overHitHtml) if (overHitHtml)
@@ -215,8 +225,8 @@ public class Q00458_PerfectForm extends Quest
@Override @Override
public String onKill(L2Npc npc, L2PcInstance player, boolean isSummon) public String onKill(L2Npc npc, L2PcInstance player, boolean isSummon)
{ {
final QuestState st = getQuestState(player, false); final QuestState qs = getQuestState(player, false);
if ((st != null) && st.isCond(1)) if ((qs != null) && qs.isCond(1))
{ {
int npcId = npc.getId(); int npcId = npc.getId();
if ((npcId == KOOKABURRAS[0]) || (npcId == COUGARS[0]) || (npcId == BUFFALOS[0]) || (npcId == GRENDELS[0])) if ((npcId == KOOKABURRAS[0]) || (npcId == COUGARS[0]) || (npcId == BUFFALOS[0]) || (npcId == GRENDELS[0]))
@@ -225,24 +235,24 @@ public class Q00458_PerfectForm extends Quest
} }
final String variable = String.valueOf(npcId); // i3 final String variable = String.valueOf(npcId); // i3
final int currentValue = st.getInt(variable); final int currentValue = qs.getInt(variable);
if (currentValue < 10) if (currentValue < 10)
{ {
st.set(variable, String.valueOf(currentValue + 1)); // IncreaseNPCLogByID qs.set(variable, String.valueOf(currentValue + 1)); // IncreaseNPCLogByID
final L2Attackable mob = (L2Attackable) npc; final L2Attackable mob = (L2Attackable) npc;
if (mob.isOverhit()) if (mob.isOverhit())
{ {
st.set("overhitsTotal", String.valueOf(st.getInt("overhitsTotal") + 1)); // memoStateEx 1 qs.set("overhitsTotal", String.valueOf(qs.getInt("overhitsTotal") + 1)); // memoStateEx 1
final int maxHp = mob.getMaxHp(); final int maxHp = mob.getMaxHp();
// L2Attackable#calculateOverhitExp() way of calculating overhit % seems illogical // L2Attackable#calculateOverhitExp() way of calculating overhit % seems illogical
final double overhitPercentage = (maxHp + mob.getOverhitDamage()) / maxHp; final double overhitPercentage = (maxHp + mob.getOverhitDamage()) / maxHp;
if (overhitPercentage >= 1.2) if (overhitPercentage >= 1.2)
{ {
st.set("overhitsCritical", String.valueOf(st.getInt("overhitsCritical") + 1)); // memoStateEx 2 qs.set("overhitsCritical", String.valueOf(qs.getInt("overhitsCritical") + 1)); // memoStateEx 2
} }
final int overhitsConsecutive = st.getInt("overhitsConsecutive") + 1; final int overhitsConsecutive = qs.getInt("overhitsConsecutive") + 1;
st.set("overhitsConsecutive", String.valueOf(overhitsConsecutive)); // memoStateEx 3 qs.set("overhitsConsecutive", String.valueOf(overhitsConsecutive)); // memoStateEx 3
/* /*
* Retail logic (makes for a long/messy string in database): int i0 = overhitsConsecutive % 100; int i1 = overhitsConsecutive - (i0 * 100); if (i0 < i1) { st.set("overhitsConsecutive", String.valueOf((i1 * 100) + i1)); } * Retail logic (makes for a long/messy string in database): int i0 = overhitsConsecutive % 100; int i1 = overhitsConsecutive - (i0 * 100); if (i0 < i1) { st.set("overhitsConsecutive", String.valueOf((i1 * 100) + i1)); }
*/ */
@@ -250,28 +260,28 @@ public class Q00458_PerfectForm extends Quest
else else
{ {
// st.set("overhitsConsecutive", String.valueOf((st.getInt("overhitsConsecutive") % 100) * 100)); // st.set("overhitsConsecutive", String.valueOf((st.getInt("overhitsConsecutive") % 100) * 100));
if (st.getInt("overhitsConsecutive") > 0) if (qs.getInt("overhitsConsecutive") > 0)
{ {
// avoid writing to database if variable is already zero // avoid writing to database if variable is already zero
st.set("overhitsConsecutive", "0"); qs.set("overhitsConsecutive", "0");
} }
} }
if ((st.getInt("18879") == 10) && (st.getInt("18886") == 10) && (st.getInt("18893") == 10) && (st.getInt("18900") == 10)) if ((qs.getInt("18879") == 10) && (qs.getInt("18886") == 10) && (qs.getInt("18893") == 10) && (qs.getInt("18900") == 10))
{ {
st.setCond(2, true); qs.setCond(2, true);
// st.set("overhitsConsecutive", String.valueOf(st.getInt("overhitsConsecutive") % 100)); // st.set("overhitsConsecutive", String.valueOf(st.getInt("overhitsConsecutive") % 100));
} }
else else
{ {
st.playSound(QuestSound.ITEMSOUND_QUEST_ITEMGET); playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET);
} }
final ExQuestNpcLogList log = new ExQuestNpcLogList(getId()); final ExQuestNpcLogList log = new ExQuestNpcLogList(getId());
log.addNpc(18879, st.getInt("18879")); log.addNpc(18879, qs.getInt("18879"));
log.addNpc(18886, st.getInt("18886")); log.addNpc(18886, qs.getInt("18886"));
log.addNpc(18893, st.getInt("18893")); log.addNpc(18893, qs.getInt("18893"));
log.addNpc(18900, st.getInt("18900")); log.addNpc(18900, qs.getInt("18900"));
player.sendPacket(log); player.sendPacket(log);
} }
@@ -283,30 +293,36 @@ public class Q00458_PerfectForm extends Quest
public String onTalk(L2Npc npc, L2PcInstance player) public String onTalk(L2Npc npc, L2PcInstance player)
{ {
String htmltext = getNoQuestMsg(player); String htmltext = getNoQuestMsg(player);
final QuestState st = getQuestState(player, true); final QuestState qs = getQuestState(player, true);
if (st == null) if (qs == null)
{ {
return htmltext; return htmltext;
} }
switch (st.getState()) switch (qs.getState())
{ {
case State.COMPLETED: case State.COMPLETED:
if (!st.isNowAvailable()) {
if (!qs.isNowAvailable())
{ {
htmltext = "32768-18.htm"; htmltext = "32768-18.htm";
break; break;
} }
st.setState(State.CREATED); qs.setState(State.CREATED);
//$FALL-THROUGH$ //$FALL-THROUGH$
}
case State.CREATED: case State.CREATED:
{
htmltext = (player.getLevel() > 81) ? "32768-01.htm" : "32768-00.htm"; htmltext = (player.getLevel() > 81) ? "32768-01.htm" : "32768-00.htm";
break; break;
}
case State.STARTED: case State.STARTED:
switch (st.getCond()) {
switch (qs.getCond())
{ {
case 1: case 1:
if ((st.getInt("18879") == 0) && (st.getInt("18886") == 0) && (st.getInt("18893") == 0) && (st.getInt("18900") == 0)) {
if ((qs.getInt("18879") == 0) && (qs.getInt("18886") == 0) && (qs.getInt("18893") == 0) && (qs.getInt("18900") == 0))
{ {
htmltext = "32768-11.html"; htmltext = "32768-11.html";
} }
@@ -315,11 +331,15 @@ public class Q00458_PerfectForm extends Quest
htmltext = "32768-12.html"; htmltext = "32768-12.html";
} }
break; break;
}
case 2: case 2:
{
htmltext = "32768-13.html"; htmltext = "32768-13.html";
break; break;
}
} }
break; break;
}
} }
return htmltext; return htmltext;
} }

View File

@@ -113,8 +113,8 @@ public class Q00463_IMustBeaGenius extends Quest
@Override @Override
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
{ {
final QuestState st = getQuestState(player, false); final QuestState qs = getQuestState(player, false);
if (st == null) if (qs == null)
{ {
return null; return null;
} }
@@ -123,31 +123,41 @@ public class Q00463_IMustBeaGenius extends Quest
switch (event) switch (event)
{ {
case "32069-03.htm": case "32069-03.htm":
st.startQuest(); {
qs.startQuest();
final int number = getRandom(51) + 550; final int number = getRandom(51) + 550;
st.set("number", String.valueOf(number)); qs.set("number", String.valueOf(number));
st.set("chance", String.valueOf(getRandom(4))); qs.set("chance", String.valueOf(getRandom(4)));
htmltext = getHtm(player.getHtmlPrefix(), event).replace("%num%", String.valueOf(number)); htmltext = getHtm(player.getHtmlPrefix(), event).replace("%num%", String.valueOf(number));
break; break;
}
case "32069-05.htm": case "32069-05.htm":
htmltext = getHtm(player.getHtmlPrefix(), event).replace("%num%", st.get("number")); {
htmltext = getHtm(player.getHtmlPrefix(), event).replace("%num%", qs.get("number"));
break; break;
}
case "reward": case "reward":
if (st.isCond(2)) {
if (qs.isCond(2))
{ {
final int rnd = getRandom(REWARD.length); final int rnd = getRandom(REWARD.length);
final String str = (REWARD[rnd][2] < 10) ? "0" + REWARD[rnd][2] : String.valueOf(REWARD[rnd][2]); final String str = (REWARD[rnd][2] < 10) ? "0" + REWARD[rnd][2] : String.valueOf(REWARD[rnd][2]);
st.addExpAndSp(REWARD[rnd][0], REWARD[rnd][1]); addExpAndSp(player, REWARD[rnd][0], REWARD[rnd][1]);
st.exitQuest(QuestType.DAILY, true); qs.exitQuest(QuestType.DAILY, true);
htmltext = "32069-" + str + ".html"; htmltext = "32069-" + str + ".html";
} }
break; break;
}
case "32069-02.htm": case "32069-02.htm":
{
break; break;
}
default: default:
{
htmltext = null; htmltext = null;
break; break;
}
} }
return htmltext; return htmltext;
} }
@@ -155,30 +165,30 @@ public class Q00463_IMustBeaGenius extends Quest
@Override @Override
public String onKill(L2Npc npc, L2PcInstance player, boolean isSummon) public String onKill(L2Npc npc, L2PcInstance player, boolean isSummon)
{ {
final QuestState st = getQuestState(player, false); final QuestState qs = getQuestState(player, false);
if (st == null) if (qs == null)
{ {
return super.onKill(npc, player, isSummon); return super.onKill(npc, player, isSummon);
} }
if (st.isCond(1)) if (qs.isCond(1))
{ {
boolean msg = false; boolean msg = false;
int number = MOBS.get(npc.getId()).getCount(); int number = MOBS.get(npc.getId()).getCount();
if (MOBS.get(npc.getId()).getSpecialChance() == st.getInt("chance")) if (MOBS.get(npc.getId()).getSpecialChance() == qs.getInt("chance"))
{ {
number = getRandom(100) + 1; number = getRandom(100) + 1;
} }
if (number > 0) if (number > 0)
{ {
st.giveItems(CORPSE_LOG, number); giveItems(player, CORPSE_LOG, number);
msg = true; msg = true;
} }
else if ((number < 0) && ((st.getQuestItemsCount(CORPSE_LOG) + number) > 0)) else if ((number < 0) && ((getQuestItemsCount(player, CORPSE_LOG) + number) > 0))
{ {
st.takeItems(CORPSE_LOG, Math.abs(number)); takeItems(player, CORPSE_LOG, Math.abs(number));
msg = true; msg = true;
} }
@@ -189,12 +199,12 @@ public class Q00463_IMustBeaGenius extends Quest
ns.addStringParameter(String.valueOf(number)); ns.addStringParameter(String.valueOf(number));
npc.broadcastPacket(ns); npc.broadcastPacket(ns);
st.playSound(QuestSound.ITEMSOUND_QUEST_ITEMGET); playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET);
if (st.getQuestItemsCount(CORPSE_LOG) == st.getInt("number")) if (getQuestItemsCount(player, CORPSE_LOG) == qs.getInt("number"))
{ {
st.takeItems(CORPSE_LOG, -1); takeItems(player, CORPSE_LOG, -1);
st.giveItems(COLLECTION, 1); giveItems(player, COLLECTION, 1);
st.setCond(2, true); qs.setCond(2, true);
} }
} }
} }
@@ -205,43 +215,50 @@ public class Q00463_IMustBeaGenius extends Quest
public String onTalk(L2Npc npc, L2PcInstance player) public String onTalk(L2Npc npc, L2PcInstance player)
{ {
String htmltext = getNoQuestMsg(player); String htmltext = getNoQuestMsg(player);
final QuestState st = getQuestState(player, true); final QuestState qs = getQuestState(player, true);
if (st == null) if (qs == null)
{ {
return htmltext; return htmltext;
} }
switch (st.getState()) switch (qs.getState())
{ {
case State.COMPLETED: case State.COMPLETED:
if (!st.isNowAvailable()) {
if (!qs.isNowAvailable())
{ {
htmltext = "32069-07.htm"; htmltext = "32069-07.htm";
break; break;
} }
st.setState(State.CREATED); qs.setState(State.CREATED);
// fallthrou
}
case State.CREATED: case State.CREATED:
{
htmltext = (player.getLevel() >= MIN_LEVEL) ? "32069-01.htm" : "32069-00.htm"; htmltext = (player.getLevel() >= MIN_LEVEL) ? "32069-01.htm" : "32069-00.htm";
break; break;
}
case State.STARTED: case State.STARTED:
if (st.isCond(1)) {
if (qs.isCond(1))
{ {
htmltext = "32069-04.html"; htmltext = "32069-04.html";
} }
else else
{ {
if (st.getInt("var") == 1) if (qs.getInt("var") == 1)
{ {
htmltext = "32069-06a.html"; htmltext = "32069-06a.html";
} }
else else
{ {
st.takeItems(COLLECTION, -1); takeItems(player, COLLECTION, -1);
st.set("var", "1"); qs.set("var", "1");
htmltext = "32069-06.html"; htmltext = "32069-06.html";
} }
} }
break; break;
}
} }
return htmltext; return htmltext;
} }

View File

@@ -89,8 +89,8 @@ public class Q00464_Oath extends Quest
@Override @Override
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
{ {
final QuestState st = getQuestState(player, false); final QuestState qs = getQuestState(player, false);
if (st == null) if (qs == null)
{ {
return null; return null;
} }
@@ -99,62 +99,86 @@ public class Q00464_Oath extends Quest
switch (event) switch (event)
{ {
case "32596-04.html": case "32596-04.html":
if (!st.hasQuestItems(BOOK)) {
if (!hasQuestItems(player, BOOK))
{ {
return getNoQuestMsg(player); return getNoQuestMsg(player);
} }
final int cond = getRandom(2, 9); final int cond = getRandom(2, 9);
st.set("npc", String.valueOf(NPC[cond - 1][0])); qs.set("npc", String.valueOf(NPC[cond - 1][0]));
st.setCond(cond, true); qs.setCond(cond, true);
st.takeItems(BOOK, 1); takeItems(player, BOOK, 1);
st.giveItems(BOOK2, 1); giveItems(player, BOOK2, 1);
switch (cond) switch (cond)
{ {
case 2: case 2:
{
htmltext = "32596-04.html"; htmltext = "32596-04.html";
break; break;
}
case 3: case 3:
{
htmltext = "32596-04a.html"; htmltext = "32596-04a.html";
break; break;
}
case 4: case 4:
{
htmltext = "32596-04b.html"; htmltext = "32596-04b.html";
break; break;
}
case 5: case 5:
{
htmltext = "32596-04c.html"; htmltext = "32596-04c.html";
break; break;
}
case 6: case 6:
{
htmltext = "32596-04d.html"; htmltext = "32596-04d.html";
break; break;
}
case 7: case 7:
{
htmltext = "32596-04e.html"; htmltext = "32596-04e.html";
break; break;
}
case 8: case 8:
{
htmltext = "32596-04f.html"; htmltext = "32596-04f.html";
break; break;
}
case 9: case 9:
{
htmltext = "32596-04g.html"; htmltext = "32596-04g.html";
break; break;
}
} }
break; break;
}
case "end_quest": case "end_quest":
if (!st.hasQuestItems(BOOK2)) {
if (!hasQuestItems(player, BOOK2))
{ {
return getNoQuestMsg(player); return getNoQuestMsg(player);
} }
final int i = st.getCond() - 1; final int i = qs.getCond() - 1;
st.addExpAndSp(NPC[i][1], NPC[i][2]); addExpAndSp(player, NPC[i][1], NPC[i][2]);
st.giveAdena(NPC[i][3], true); giveAdena(player, NPC[i][3], true);
st.exitQuest(QuestType.DAILY, true); qs.exitQuest(QuestType.DAILY, true);
htmltext = npc.getId() + "-02.html"; htmltext = npc.getId() + "-02.html";
break; break;
}
case "32596-02.html": case "32596-02.html":
case "32596-03.html": case "32596-03.html":
{
break; break;
}
default: default:
{
htmltext = null; htmltext = null;
break; break;
}
} }
return htmltext; return htmltext;
} }
@@ -163,21 +187,26 @@ public class Q00464_Oath extends Quest
public String onItemTalk(L2ItemInstance item, L2PcInstance player) public String onItemTalk(L2ItemInstance item, L2PcInstance player)
{ {
String htmltext = getNoQuestMsg(player); String htmltext = getNoQuestMsg(player);
final QuestState st = getQuestState(player, true); final QuestState qs = getQuestState(player, true);
boolean startQuest = false; boolean startQuest = false;
switch (st.getState()) switch (qs.getState())
{ {
case State.CREATED: case State.CREATED:
{
startQuest = true; startQuest = true;
break; break;
}
case State.STARTED: case State.STARTED:
{
htmltext = "strongbox-02.html"; htmltext = "strongbox-02.html";
break; break;
}
case State.COMPLETED: case State.COMPLETED:
if (st.isNowAvailable()) {
if (qs.isNowAvailable())
{ {
st.setState(State.CREATED); qs.setState(State.CREATED);
startQuest = true; startQuest = true;
} }
else else
@@ -185,15 +214,16 @@ public class Q00464_Oath extends Quest
htmltext = "strongbox-03.html"; htmltext = "strongbox-03.html";
} }
break; break;
}
} }
if (startQuest) if (startQuest)
{ {
if (player.getLevel() >= MIN_LEVEL) if (player.getLevel() >= MIN_LEVEL)
{ {
st.startQuest(); qs.startQuest();
st.takeItems(STRONGBOX, 1); takeItems(player, STRONGBOX, 1);
st.giveItems(BOOK, 1); giveItems(player, BOOK, 1);
htmltext = "strongbox-01.htm"; htmltext = "strongbox-01.htm";
} }
else else
@@ -219,46 +249,64 @@ public class Q00464_Oath extends Quest
public String onTalk(L2Npc npc, L2PcInstance player) public String onTalk(L2Npc npc, L2PcInstance player)
{ {
String htmltext = getNoQuestMsg(player); String htmltext = getNoQuestMsg(player);
final QuestState st = getQuestState(player, true); final QuestState qs = getQuestState(player, true);
if ((st != null) && st.isStarted()) if ((qs != null) && qs.isStarted())
{ {
final int npcId = npc.getId(); final int npcId = npc.getId();
if (npcId == NPC[0][0]) if (npcId == NPC[0][0])
{ {
switch (st.getCond()) switch (qs.getCond())
{ {
case 1: case 1:
{
htmltext = "32596-01.html"; htmltext = "32596-01.html";
break; break;
}
case 2: case 2:
{
htmltext = "32596-05.html"; htmltext = "32596-05.html";
break; break;
}
case 3: case 3:
{
htmltext = "32596-05a.html"; htmltext = "32596-05a.html";
break; break;
}
case 4: case 4:
{
htmltext = "32596-05b.html"; htmltext = "32596-05b.html";
break; break;
}
case 5: case 5:
{
htmltext = "32596-05c.html"; htmltext = "32596-05c.html";
break; break;
}
case 6: case 6:
{
htmltext = "32596-05d.html"; htmltext = "32596-05d.html";
break; break;
}
case 7: case 7:
{
htmltext = "32596-05e.html"; htmltext = "32596-05e.html";
break; break;
}
case 8: case 8:
{
htmltext = "32596-05f.html"; htmltext = "32596-05f.html";
break; break;
}
case 9: case 9:
{
htmltext = "32596-05g.html"; htmltext = "32596-05g.html";
break; break;
}
} }
} }
else if ((st.getCond() > 1) && (st.getInt("npc") == npcId)) else if ((qs.getCond() > 1) && (qs.getInt("npc") == npcId))
{ {
htmltext = npcId + "-01.html"; htmltext = npcId + "-01.html";
} }

View File

@@ -66,12 +66,12 @@ public final class Q00504_CompetitionForTheBanditStronghold extends Quest
@Override @Override
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
{ {
final QuestState st = getQuestState(player, false); final QuestState qs = getQuestState(player, false);
String htmltext = null; String htmltext = null;
if ((st != null) && event.equals("35437-02.htm")) if ((qs != null) && event.equals("35437-02.htm"))
{ {
st.startQuest(); qs.startQuest();
st.giveItems(CONTEST_CERTIFICATE, 1); giveItems(player, CONTEST_CERTIFICATE, 1);
htmltext = "35437-02.htm"; htmltext = "35437-02.htm";
} }
return htmltext; return htmltext;
@@ -80,22 +80,22 @@ public final class Q00504_CompetitionForTheBanditStronghold extends Quest
@Override @Override
public final String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon) public final String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
{ {
final QuestState st = getQuestState(killer, false); final QuestState qs = getQuestState(killer, false);
if ((st == null) || !st.hasQuestItems(CONTEST_CERTIFICATE) || !st.isStarted()) if ((qs == null) || !hasQuestItems(killer, CONTEST_CERTIFICATE) || !qs.isStarted())
{ {
return null; return null;
} }
if (getRandom(10) < MONSTERS.get(npc.getId())) if (getRandom(10) < MONSTERS.get(npc.getId()))
{ {
st.giveItems(TARLK_AMULET, 1); giveItems(killer, TARLK_AMULET, 1);
if (st.getQuestItemsCount(TARLK_AMULET) < 30) if (getQuestItemsCount(killer, TARLK_AMULET) < 30)
{ {
st.playSound(QuestSound.ITEMSOUND_QUEST_ITEMGET); playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET);
} }
else else
{ {
st.playSound(QuestSound.ITEMSOUND_QUEST_MIDDLE); playSound(killer, QuestSound.ITEMSOUND_QUEST_MIDDLE);
} }
} }
return null; return null;
@@ -104,8 +104,8 @@ public final class Q00504_CompetitionForTheBanditStronghold extends Quest
@Override @Override
public final String onTalk(L2Npc npc, L2PcInstance player) public final String onTalk(L2Npc npc, L2PcInstance player)
{ {
final QuestState st = getQuestState(player, true); final QuestState qs = getQuestState(player, true);
if (st == null) if (qs == null)
{ {
return getNoQuestMsg(player); return getNoQuestMsg(player);
} }
@@ -132,7 +132,7 @@ public final class Q00504_CompetitionForTheBanditStronghold extends Quest
} }
else else
{ {
switch (st.getState()) switch (qs.getState())
{ {
case State.CREATED: case State.CREATED:
{ {
@@ -150,15 +150,15 @@ public final class Q00504_CompetitionForTheBanditStronghold extends Quest
} }
case State.STARTED: case State.STARTED:
{ {
if (st.getQuestItemsCount(TARLK_AMULET) < 30) if (getQuestItemsCount(player, TARLK_AMULET) < 30)
{ {
htmltext = "35437-07.html"; htmltext = "35437-07.html";
} }
else else
{ {
st.takeItems(TARLK_AMULET, 30); takeItems(player, TARLK_AMULET, 30);
st.rewardItems(TROPHY_OF_ALLIANCE, 1); rewardItems(player, TROPHY_OF_ALLIANCE, 1);
st.exitQuest(true); qs.exitQuest(true);
htmltext = "35437-08.html"; htmltext = "35437-08.html";
} }
break; break;

View File

@@ -75,8 +75,8 @@ public class Q00508_AClansReputation extends Quest
@Override @Override
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
{ {
final QuestState st = getQuestState(player, false); final QuestState qs = getQuestState(player, false);
if (st == null) if (qs == null)
{ {
return getNoQuestMsg(player); return getNoQuestMsg(player);
} }
@@ -84,35 +84,51 @@ public class Q00508_AClansReputation extends Quest
switch (event) switch (event)
{ {
case "30868-0.html": case "30868-0.html":
st.startQuest(); {
qs.startQuest();
break; break;
}
case "30868-1.html": case "30868-1.html":
st.set("raid", "1"); {
qs.set("raid", "1");
player.sendPacket(new RadarControl(0, 2, 192376, 22087, -3608)); player.sendPacket(new RadarControl(0, 2, 192376, 22087, -3608));
break; break;
}
case "30868-2.html": case "30868-2.html":
st.set("raid", "2"); {
qs.set("raid", "2");
player.sendPacket(new RadarControl(0, 2, 168288, 28368, -3632)); player.sendPacket(new RadarControl(0, 2, 168288, 28368, -3632));
break; break;
}
case "30868-3.html": case "30868-3.html":
st.set("raid", "3"); {
qs.set("raid", "3");
player.sendPacket(new RadarControl(0, 2, 170048, -24896, -3440)); player.sendPacket(new RadarControl(0, 2, 170048, -24896, -3440));
break; break;
}
case "30868-4.html": case "30868-4.html":
st.set("raid", "4"); {
qs.set("raid", "4");
player.sendPacket(new RadarControl(0, 2, 188809, 47780, -5968)); player.sendPacket(new RadarControl(0, 2, 188809, 47780, -5968));
break; break;
}
case "30868-5.html": case "30868-5.html":
st.set("raid", "5"); {
qs.set("raid", "5");
player.sendPacket(new RadarControl(0, 2, 117760, -9072, -3264)); player.sendPacket(new RadarControl(0, 2, 117760, -9072, -3264));
break; break;
}
case "30868-6.html": case "30868-6.html":
st.set("raid", "6"); {
qs.set("raid", "6");
player.sendPacket(new RadarControl(0, 2, 144600, -5500, -4100)); player.sendPacket(new RadarControl(0, 2, 144600, -5500, -4100));
break; break;
}
case "30868-7.html": case "30868-7.html":
st.exitQuest(true, true); {
qs.exitQuest(true, true);
break; break;
}
} }
return event; return event;
} }
@@ -125,29 +141,29 @@ public class Q00508_AClansReputation extends Quest
return null; return null;
} }
QuestState st = null; QuestState qs = null;
if (player.isClanLeader()) if (player.isClanLeader())
{ {
st = player.getQuestState(getName()); qs = player.getQuestState(getName());
} }
else else
{ {
final L2PcInstance pleader = player.getClan().getLeader().getPlayerInstance(); final L2PcInstance pleader = player.getClan().getLeader().getPlayerInstance();
if ((pleader != null) && player.isInsideRadius(pleader, 1500, true, false)) if ((pleader != null) && player.isInsideRadius(pleader, 1500, true, false))
{ {
st = pleader.getQuestState(getName()); qs = pleader.getQuestState(getName());
} }
} }
if ((st != null) && st.isStarted()) if ((qs != null) && qs.isStarted())
{ {
final int raid = st.getInt("raid"); final int raid = qs.getInt("raid");
if (REWARD_POINTS.containsKey(raid)) if (REWARD_POINTS.containsKey(raid))
{ {
if ((npc.getId() == REWARD_POINTS.get(raid).get(0)) && !st.hasQuestItems(REWARD_POINTS.get(raid).get(1))) if ((npc.getId() == REWARD_POINTS.get(raid).get(0)) && !hasQuestItems(player, REWARD_POINTS.get(raid).get(1)))
{ {
st.rewardItems(REWARD_POINTS.get(raid).get(1), 1); rewardItems(player, REWARD_POINTS.get(raid).get(1), 1);
st.playSound(QuestSound.ITEMSOUND_QUEST_ITEMGET); playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET);
} }
} }
} }
@@ -158,34 +174,37 @@ public class Q00508_AClansReputation extends Quest
public String onTalk(L2Npc npc, L2PcInstance player) public String onTalk(L2Npc npc, L2PcInstance player)
{ {
String htmltext = getNoQuestMsg(player); String htmltext = getNoQuestMsg(player);
final QuestState st = getQuestState(player, true); final QuestState qs = getQuestState(player, true);
if (st == null) if (qs == null)
{ {
return htmltext; return htmltext;
} }
final L2Clan clan = player.getClan(); final L2Clan clan = player.getClan();
switch (st.getState()) switch (qs.getState())
{ {
case State.CREATED: case State.CREATED:
{
htmltext = ((clan == null) || !player.isClanLeader() || (clan.getLevel() < 5)) ? "30868-0a.htm" : "30868-0b.htm"; htmltext = ((clan == null) || !player.isClanLeader() || (clan.getLevel() < 5)) ? "30868-0a.htm" : "30868-0b.htm";
break; break;
}
case State.STARTED: case State.STARTED:
{
if ((clan == null) || !player.isClanLeader()) if ((clan == null) || !player.isClanLeader())
{ {
st.exitQuest(true); qs.exitQuest(true);
return "30868-8.html"; return "30868-8.html";
} }
final int raid = st.getInt("raid"); final int raid = qs.getInt("raid");
if (REWARD_POINTS.containsKey(raid)) if (REWARD_POINTS.containsKey(raid))
{ {
if (st.hasQuestItems(REWARD_POINTS.get(raid).get(1))) if (hasQuestItems(player, REWARD_POINTS.get(raid).get(1)))
{ {
htmltext = "30868-" + raid + "b.html"; htmltext = "30868-" + raid + "b.html";
st.playSound(QuestSound.ITEMSOUND_QUEST_FANFARE_1); playSound(player, QuestSound.ITEMSOUND_QUEST_FANFARE_1);
st.takeItems(REWARD_POINTS.get(raid).get(1), -1); takeItems(player, REWARD_POINTS.get(raid).get(1), -1);
final int rep = REWARD_POINTS.get(raid).get(2); final int rep = REWARD_POINTS.get(raid).get(2);
clan.addReputationScore(rep, true); clan.addReputationScore(rep, true);
player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.YOU_HAVE_SUCCESSFULLY_COMPLETED_A_CLAN_QUEST_S1_POINT_S_HAVE_BEEN_ADDED_TO_YOUR_CLAN_REPUTATION).addInt(rep)); player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.YOU_HAVE_SUCCESSFULLY_COMPLETED_A_CLAN_QUEST_S1_POINT_S_HAVE_BEEN_ADDED_TO_YOUR_CLAN_REPUTATION).addInt(rep));
@@ -201,8 +220,11 @@ public class Q00508_AClansReputation extends Quest
htmltext = "30868-0.html"; htmltext = "30868-0.html";
} }
break; break;
}
default: default:
{
break; break;
}
} }
return htmltext; return htmltext;
} }

View File

@@ -70,8 +70,8 @@ public class Q00509_AClansFame extends Quest
@Override @Override
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
{ {
final QuestState st = getQuestState(player, false); final QuestState qs = getQuestState(player, false);
if (st == null) if (qs == null)
{ {
return getNoQuestMsg(player); return getNoQuestMsg(player);
} }
@@ -79,27 +79,39 @@ public class Q00509_AClansFame extends Quest
switch (event) switch (event)
{ {
case "31331-0.html": case "31331-0.html":
st.startQuest(); {
qs.startQuest();
break; break;
}
case "31331-1.html": case "31331-1.html":
st.set("raid", "1"); {
qs.set("raid", "1");
player.sendPacket(new RadarControl(0, 2, 186304, -43744, -3193)); player.sendPacket(new RadarControl(0, 2, 186304, -43744, -3193));
break; break;
}
case "31331-2.html": case "31331-2.html":
st.set("raid", "2"); {
qs.set("raid", "2");
player.sendPacket(new RadarControl(0, 2, 134672, -115600, -1216)); player.sendPacket(new RadarControl(0, 2, 134672, -115600, -1216));
break; break;
}
case "31331-3.html": case "31331-3.html":
st.set("raid", "3"); {
qs.set("raid", "3");
player.sendPacket(new RadarControl(0, 2, 170000, -60000, -3500)); player.sendPacket(new RadarControl(0, 2, 170000, -60000, -3500));
break; break;
}
case "31331-4.html": case "31331-4.html":
st.set("raid", "4"); {
qs.set("raid", "4");
player.sendPacket(new RadarControl(0, 2, 93296, -75104, -1824)); player.sendPacket(new RadarControl(0, 2, 93296, -75104, -1824));
break; break;
}
case "31331-5.html": case "31331-5.html":
st.exitQuest(true, true); {
qs.exitQuest(true, true);
break; break;
}
} }
return event; return event;
} }
@@ -112,29 +124,29 @@ public class Q00509_AClansFame extends Quest
return null; return null;
} }
QuestState st = null; QuestState qs = null;
if (player.isClanLeader()) if (player.isClanLeader())
{ {
st = player.getQuestState(getName()); qs = player.getQuestState(getName());
} }
else else
{ {
final L2PcInstance pleader = player.getClan().getLeader().getPlayerInstance(); final L2PcInstance pleader = player.getClan().getLeader().getPlayerInstance();
if ((pleader != null) && player.isInsideRadius(pleader, 1500, true, false)) if ((pleader != null) && player.isInsideRadius(pleader, 1500, true, false))
{ {
st = pleader.getQuestState(getName()); qs = pleader.getQuestState(getName());
} }
} }
if ((st != null) && st.isStarted()) if ((qs != null) && qs.isStarted())
{ {
final int raid = st.getInt("raid"); final int raid = qs.getInt("raid");
if (REWARD_POINTS.containsKey(raid)) if (REWARD_POINTS.containsKey(raid))
{ {
if ((npc.getId() == REWARD_POINTS.get(raid).get(0)) && !st.hasQuestItems(REWARD_POINTS.get(raid).get(1))) if ((npc.getId() == REWARD_POINTS.get(raid).get(0)) && !hasQuestItems(player, REWARD_POINTS.get(raid).get(1)))
{ {
st.rewardItems(REWARD_POINTS.get(raid).get(1), 1); rewardItems(player, REWARD_POINTS.get(raid).get(1), 1);
st.playSound(QuestSound.ITEMSOUND_QUEST_ITEMGET); playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET);
} }
} }
} }
@@ -145,34 +157,37 @@ public class Q00509_AClansFame extends Quest
public String onTalk(L2Npc npc, L2PcInstance player) public String onTalk(L2Npc npc, L2PcInstance player)
{ {
String htmltext = getNoQuestMsg(player); String htmltext = getNoQuestMsg(player);
final QuestState st = getQuestState(player, true); final QuestState qs = getQuestState(player, true);
if (st == null) if (qs == null)
{ {
return htmltext; return htmltext;
} }
final L2Clan clan = player.getClan(); final L2Clan clan = player.getClan();
switch (st.getState()) switch (qs.getState())
{ {
case State.CREATED: case State.CREATED:
{
htmltext = ((clan == null) || !player.isClanLeader() || (clan.getLevel() < 6)) ? "31331-0a.htm" : "31331-0b.htm"; htmltext = ((clan == null) || !player.isClanLeader() || (clan.getLevel() < 6)) ? "31331-0a.htm" : "31331-0b.htm";
break; break;
}
case State.STARTED: case State.STARTED:
{
if ((clan == null) || !player.isClanLeader()) if ((clan == null) || !player.isClanLeader())
{ {
st.exitQuest(true); qs.exitQuest(true);
return "31331-6.html"; return "31331-6.html";
} }
final int raid = st.getInt("raid"); final int raid = qs.getInt("raid");
if (REWARD_POINTS.containsKey(raid)) if (REWARD_POINTS.containsKey(raid))
{ {
if (st.hasQuestItems(REWARD_POINTS.get(raid).get(1))) if (hasQuestItems(player, REWARD_POINTS.get(raid).get(1)))
{ {
htmltext = "31331-" + raid + "b.html"; htmltext = "31331-" + raid + "b.html";
st.playSound(QuestSound.ITEMSOUND_QUEST_FANFARE_1); playSound(player, QuestSound.ITEMSOUND_QUEST_FANFARE_1);
st.takeItems(REWARD_POINTS.get(raid).get(1), -1); takeItems(player, REWARD_POINTS.get(raid).get(1), -1);
final int rep = REWARD_POINTS.get(raid).get(2); final int rep = REWARD_POINTS.get(raid).get(2);
clan.addReputationScore(rep, true); clan.addReputationScore(rep, true);
player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.YOU_HAVE_SUCCESSFULLY_COMPLETED_A_CLAN_QUEST_S1_POINT_S_HAVE_BEEN_ADDED_TO_YOUR_CLAN_REPUTATION).addInt(rep)); player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.YOU_HAVE_SUCCESSFULLY_COMPLETED_A_CLAN_QUEST_S1_POINT_S_HAVE_BEEN_ADDED_TO_YOUR_CLAN_REPUTATION).addInt(rep));
@@ -188,8 +203,11 @@ public class Q00509_AClansFame extends Quest
htmltext = "31331-0.html"; htmltext = "31331-0.html";
} }
break; break;
}
default: default:
{
break; break;
}
} }
return htmltext; return htmltext;
} }

View File

@@ -56,8 +56,8 @@ public class Q00510_AClansPrestige extends Quest
@Override @Override
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
{ {
final QuestState st = getQuestState(player, false); final QuestState qs = getQuestState(player, false);
if (st == null) if (qs == null)
{ {
return getNoQuestMsg(player); return getNoQuestMsg(player);
} }
@@ -65,11 +65,15 @@ public class Q00510_AClansPrestige extends Quest
switch (event) switch (event)
{ {
case "31331-3.html": case "31331-3.html":
st.startQuest(); {
qs.startQuest();
break; break;
}
case "31331-6.html": case "31331-6.html":
st.exitQuest(true, true); {
qs.exitQuest(true, true);
break; break;
}
} }
return event; return event;
} }
@@ -82,24 +86,24 @@ public class Q00510_AClansPrestige extends Quest
return null; return null;
} }
QuestState st = null; QuestState qs = null;
if (player.isClanLeader()) if (player.isClanLeader())
{ {
st = getQuestState(player, false); qs = getQuestState(player, false);
} }
else else
{ {
final L2PcInstance pleader = player.getClan().getLeader().getPlayerInstance(); final L2PcInstance pleader = player.getClan().getLeader().getPlayerInstance();
if ((pleader != null) && player.isInsideRadius(pleader, 1500, true, false)) if ((pleader != null) && player.isInsideRadius(pleader, 1500, true, false))
{ {
st = getQuestState(pleader, false); qs = getQuestState(pleader, false);
} }
} }
if ((st != null) && st.isStarted()) if ((qs != null) && qs.isStarted())
{ {
st.rewardItems(TYRANNOSAURUS_CLAW, 1); rewardItems(player, TYRANNOSAURUS_CLAW, 1);
st.playSound(QuestSound.ITEMSOUND_QUEST_ITEMGET); playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET);
} }
return null; return null;
} }
@@ -108,43 +112,49 @@ public class Q00510_AClansPrestige extends Quest
public String onTalk(L2Npc npc, L2PcInstance player) public String onTalk(L2Npc npc, L2PcInstance player)
{ {
String htmltext = getNoQuestMsg(player); String htmltext = getNoQuestMsg(player);
final QuestState st = getQuestState(player, true); final QuestState qs = getQuestState(player, true);
if (st == null) if (qs == null)
{ {
return htmltext; return htmltext;
} }
final L2Clan clan = player.getClan(); final L2Clan clan = player.getClan();
switch (st.getState()) switch (qs.getState())
{ {
case State.CREATED: case State.CREATED:
{
htmltext = ((clan == null) || !player.isClanLeader() || (clan.getLevel() < 5)) ? "31331-0.htm" : "31331-1.htm"; htmltext = ((clan == null) || !player.isClanLeader() || (clan.getLevel() < 5)) ? "31331-0.htm" : "31331-1.htm";
break; break;
}
case State.STARTED: case State.STARTED:
{
if ((clan == null) || !player.isClanLeader()) if ((clan == null) || !player.isClanLeader())
{ {
st.exitQuest(true); qs.exitQuest(true);
return "31331-8.html"; return "31331-8.html";
} }
if (!st.hasQuestItems(TYRANNOSAURUS_CLAW)) if (!hasQuestItems(player, TYRANNOSAURUS_CLAW))
{ {
htmltext = "31331-4.html"; htmltext = "31331-4.html";
} }
else else
{ {
final int count = (int) st.getQuestItemsCount(TYRANNOSAURUS_CLAW); final int count = (int) getQuestItemsCount(player, TYRANNOSAURUS_CLAW);
final int reward = (count < 10) ? (30 * count) : (59 + (30 * count)); final int reward = (count < 10) ? (30 * count) : (59 + (30 * count));
st.playSound(QuestSound.ITEMSOUND_QUEST_FANFARE_1); playSound(player, QuestSound.ITEMSOUND_QUEST_FANFARE_1);
st.takeItems(TYRANNOSAURUS_CLAW, -1); takeItems(player, TYRANNOSAURUS_CLAW, -1);
clan.addReputationScore(reward, true); clan.addReputationScore(reward, true);
player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.YOU_HAVE_SUCCESSFULLY_COMPLETED_A_CLAN_QUEST_S1_POINT_S_HAVE_BEEN_ADDED_TO_YOUR_CLAN_REPUTATION).addInt(reward)); player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.YOU_HAVE_SUCCESSFULLY_COMPLETED_A_CLAN_QUEST_S1_POINT_S_HAVE_BEEN_ADDED_TO_YOUR_CLAN_REPUTATION).addInt(reward));
clan.broadcastToOnlineMembers(new PledgeShowInfoUpdate(clan)); clan.broadcastToOnlineMembers(new PledgeShowInfoUpdate(clan));
htmltext = "31331-7.html"; htmltext = "31331-7.html";
} }
break; break;
}
default: default:
{
break; break;
}
} }
return htmltext; return htmltext;
} }

View File

@@ -206,8 +206,8 @@ public final class Q00511_AwlUnderFoot extends Quest
} }
for (L2PcInstance partyMember : party.getMembers()) for (L2PcInstance partyMember : party.getMembers())
{ {
final QuestState st = getQuestState(partyMember, false); final QuestState qs = getQuestState(partyMember, false);
if ((st == null) || (st.getInt("cond") < 1)) if ((qs == null) || (qs.getCond() < 1))
{ {
return getHtm(player.getHtmlPrefix(), "FortressWarden-05.htm").replace("%player%", partyMember.getName()); return getHtm(player.getHtmlPrefix(), "FortressWarden-05.htm").replace("%player%", partyMember.getName());
} }
@@ -327,18 +327,18 @@ public final class Q00511_AwlUnderFoot extends Quest
tele[2] = -6580; tele[2] = -6580;
return enterInstance(player, "fortdungeon.xml", tele, _fortDungeons.get(npc.getId()), checkFortCondition(player, npc, true)); return enterInstance(player, "fortdungeon.xml", tele, _fortDungeons.get(npc.getId()), checkFortCondition(player, npc, true));
} }
final QuestState st = getQuestState(player, true); final QuestState qs = getQuestState(player, true);
if (event.equalsIgnoreCase("FortressWarden-10.htm")) if (event.equalsIgnoreCase("FortressWarden-10.htm"))
{ {
if (st.isCond(0)) if (qs.isCond(0))
{ {
st.startQuest(); qs.startQuest();
} }
} }
else if (event.equalsIgnoreCase("FortressWarden-15.htm")) else if (event.equalsIgnoreCase("FortressWarden-15.htm"))
{ {
st.exitQuest(true, true); qs.exitQuest(true, true);
} }
return htmltext; return htmltext;
} }
@@ -407,23 +407,23 @@ public final class Q00511_AwlUnderFoot extends Quest
public String onTalk(L2Npc npc, L2PcInstance player) public String onTalk(L2Npc npc, L2PcInstance player)
{ {
String htmltext = Quest.getNoQuestMsg(player); String htmltext = Quest.getNoQuestMsg(player);
final QuestState st = getQuestState(player, true); final QuestState qs = getQuestState(player, true);
final String ret = checkFortCondition(player, npc, false); final String ret = checkFortCondition(player, npc, false);
if (ret != null) if (ret != null)
{ {
return ret; return ret;
} }
else if (st != null) else if (qs != null)
{ {
final int npcId = npc.getId(); final int npcId = npc.getId();
int cond = 0; int cond = 0;
if (st.getState() == State.CREATED) if (qs.getState() == State.CREATED)
{ {
st.set("cond", "0"); qs.set("cond", "0");
} }
else else
{ {
cond = st.getInt("cond"); cond = qs.getCond();
} }
if (_fortDungeons.containsKey(npcId) && (cond == 0)) if (_fortDungeons.containsKey(npcId) && (cond == 0))
{ {
@@ -434,17 +434,17 @@ public final class Q00511_AwlUnderFoot extends Quest
else else
{ {
htmltext = "FortressWarden-00.htm"; htmltext = "FortressWarden-00.htm";
st.exitQuest(true); qs.exitQuest(true);
} }
} }
else if (_fortDungeons.containsKey(npcId) && (cond > 0) && (st.getState() == State.STARTED)) else if (_fortDungeons.containsKey(npcId) && (cond > 0) && (qs.getState() == State.STARTED))
{ {
final long count = st.getQuestItemsCount(DL_MARK); final long count = getQuestItemsCount(player, DL_MARK);
if ((cond == 1) && (count > 0)) if ((cond == 1) && (count > 0))
{ {
htmltext = "FortressWarden-14.htm"; htmltext = "FortressWarden-14.htm";
st.takeItems(DL_MARK, -1); takeItems(player, DL_MARK, -1);
st.rewardItems(KNIGHT_EPALUETTE, count); rewardItems(player, KNIGHT_EPALUETTE, count);
} }
else if ((cond == 1) && (count == 0)) else if ((cond == 1) && (count == 0))
{ {
@@ -457,11 +457,11 @@ public final class Q00511_AwlUnderFoot extends Quest
private void rewardPlayer(L2PcInstance player) private void rewardPlayer(L2PcInstance player)
{ {
final QuestState st = getQuestState(player, false); final QuestState qs = getQuestState(player, false);
if (st.isCond(1)) if (qs.isCond(1))
{ {
st.giveItems(DL_MARK, 140); giveItems(player, DL_MARK, 140);
st.playSound(QuestSound.ITEMSOUND_QUEST_ITEMGET); playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET);
} }
} }

View File

@@ -52,8 +52,8 @@ public class Q00551_OlympiadStarter extends Quest
@Override @Override
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
{ {
final QuestState st = getQuestState(player, false); final QuestState qs = getQuestState(player, false);
if (st == null) if (qs == null)
{ {
return getNoQuestMsg(player); return getNoQuestMsg(player);
} }
@@ -61,19 +61,19 @@ public class Q00551_OlympiadStarter extends Quest
if (event.equalsIgnoreCase("31688-03.html")) if (event.equalsIgnoreCase("31688-03.html"))
{ {
st.startQuest(); qs.startQuest();
} }
else if (event.equalsIgnoreCase("31688-04.html")) else if (event.equalsIgnoreCase("31688-04.html"))
{ {
final long count = st.getQuestItemsCount(CERT_3) + st.getQuestItemsCount(CERT_5); final long count = getQuestItemsCount(player, CERT_3) + getQuestItemsCount(player, CERT_5);
if (count > 0) if (count > 0)
{ {
st.giveItems(OLY_CHEST, count); // max 2 giveItems(player, OLY_CHEST, count); // max 2
if (count == 2) if (count == 2)
{ {
st.giveItems(MEDAL_OF_GLORY, 3); giveItems(player, MEDAL_OF_GLORY, 3);
} }
st.exitQuest(QuestType.DAILY, true); qs.exitQuest(QuestType.DAILY, true);
} }
else else
{ {
@@ -88,32 +88,38 @@ public class Q00551_OlympiadStarter extends Quest
{ {
if (loser != null) if (loser != null)
{ {
final QuestState st = getQuestState(loser, false); final QuestState qs = getQuestState(loser, false);
if ((st != null) && st.isStarted()) if ((qs != null) && qs.isStarted())
{ {
final int matches = st.getInt("matches") + 1; final int matches = qs.getInt("matches") + 1;
switch (matches) switch (matches)
{ {
case 3: case 3:
if (!st.hasQuestItems(CERT_3)) {
if (!hasQuestItems(loser, CERT_3))
{ {
st.giveItems(CERT_3, 1); giveItems(loser, CERT_3, 1);
} }
break; break;
}
case 5: case 5:
if (!st.hasQuestItems(CERT_5)) {
if (!hasQuestItems(loser, CERT_5))
{ {
st.giveItems(CERT_5, 1); giveItems(loser, CERT_5, 1);
} }
break; break;
}
case 10: case 10:
if (!st.hasQuestItems(CERT_10)) {
if (!hasQuestItems(loser, CERT_10))
{ {
st.giveItems(CERT_10, 1); giveItems(loser, CERT_10, 1);
} }
break; break;
}
} }
st.set("matches", String.valueOf(matches)); qs.set("matches", String.valueOf(matches));
} }
} }
} }
@@ -128,32 +134,38 @@ public class Q00551_OlympiadStarter extends Quest
{ {
return; return;
} }
final QuestState st = getQuestState(player, false); final QuestState qs = getQuestState(player, false);
if ((st != null) && st.isStarted()) if ((qs != null) && qs.isStarted())
{ {
final int matches = st.getInt("matches") + 1; final int matches = qs.getInt("matches") + 1;
switch (matches) switch (matches)
{ {
case 3: case 3:
if (!st.hasQuestItems(CERT_3)) {
if (!hasQuestItems(player, CERT_3))
{ {
st.giveItems(CERT_3, 1); giveItems(player, CERT_3, 1);
} }
break; break;
}
case 5: case 5:
if (!st.hasQuestItems(CERT_5)) {
if (!hasQuestItems(player, CERT_5))
{ {
st.giveItems(CERT_5, 1); giveItems(player, CERT_5, 1);
} }
break; break;
}
case 10: case 10:
if (!st.hasQuestItems(CERT_10)) {
if (!hasQuestItems(player, CERT_10))
{ {
st.giveItems(CERT_10, 1); giveItems(player, CERT_10, 1);
} }
break; break;
}
} }
st.set("matches", String.valueOf(matches)); qs.set("matches", String.valueOf(matches));
} }
} }
@@ -164,32 +176,38 @@ public class Q00551_OlympiadStarter extends Quest
{ {
return; return;
} }
final QuestState st = getQuestState(player, false); final QuestState qs = getQuestState(player, false);
if ((st != null) && st.isStarted()) if ((qs != null) && qs.isStarted())
{ {
final int matches = st.getInt("matches") + 1; final int matches = qs.getInt("matches") + 1;
switch (matches) switch (matches)
{ {
case 3: case 3:
if (!st.hasQuestItems(CERT_3)) {
if (!hasQuestItems(player, CERT_3))
{ {
st.giveItems(CERT_3, 1); giveItems(player, CERT_3, 1);
} }
break; break;
}
case 5: case 5:
if (!st.hasQuestItems(CERT_5)) {
if (!hasQuestItems(player, CERT_5))
{ {
st.giveItems(CERT_5, 1); giveItems(player, CERT_5, 1);
} }
break; break;
}
case 10: case 10:
if (!st.hasQuestItems(CERT_10)) {
if (!hasQuestItems(player, CERT_10))
{ {
st.giveItems(CERT_10, 1); giveItems(player, CERT_10, 1);
} }
break; break;
}
} }
st.set("matches", String.valueOf(matches)); qs.set("matches", String.valueOf(matches));
} }
} }
} }
@@ -198,8 +216,8 @@ public class Q00551_OlympiadStarter extends Quest
public String onTalk(L2Npc npc, L2PcInstance player) public String onTalk(L2Npc npc, L2PcInstance player)
{ {
String htmltext = getNoQuestMsg(player); String htmltext = getNoQuestMsg(player);
final QuestState st = getQuestState(player, true); final QuestState qs = getQuestState(player, true);
if (st == null) if (qs == null)
{ {
return htmltext; return htmltext;
} }
@@ -208,15 +226,15 @@ public class Q00551_OlympiadStarter extends Quest
{ {
htmltext = "31688-00.htm"; htmltext = "31688-00.htm";
} }
else if (st.isCreated()) else if (qs.isCreated())
{ {
htmltext = "31688-01.htm"; htmltext = "31688-01.htm";
} }
else if (st.isCompleted()) else if (qs.isCompleted())
{ {
if (st.isNowAvailable()) if (qs.isNowAvailable())
{ {
st.setState(State.CREATED); qs.setState(State.CREATED);
htmltext = (player.getLevel() < 75) || !player.isNoble() ? "31688-00.htm" : "31688-01.htm"; htmltext = (player.getLevel() < 75) || !player.isNoble() ? "31688-00.htm" : "31688-01.htm";
} }
else else
@@ -224,15 +242,15 @@ public class Q00551_OlympiadStarter extends Quest
htmltext = "31688-05.html"; htmltext = "31688-05.html";
} }
} }
else if (st.isStarted()) else if (qs.isStarted())
{ {
final long count = st.getQuestItemsCount(CERT_3) + st.getQuestItemsCount(CERT_5) + st.getQuestItemsCount(CERT_10); final long count = getQuestItemsCount(player, CERT_3) + getQuestItemsCount(player, CERT_5) + getQuestItemsCount(player, CERT_10);
if (count == 3) if (count == 3)
{ {
htmltext = "31688-04.html"; htmltext = "31688-04.html";
st.giveItems(OLY_CHEST, 4); giveItems(player, OLY_CHEST, 4);
st.giveItems(MEDAL_OF_GLORY, 5); giveItems(player, MEDAL_OF_GLORY, 5);
st.exitQuest(QuestType.DAILY, true); qs.exitQuest(QuestType.DAILY, true);
} }
else else
{ {

View File

@@ -51,8 +51,8 @@ public class Q00552_OlympiadVeteran extends Quest
@Override @Override
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
{ {
final QuestState st = getQuestState(player, false); final QuestState qs = getQuestState(player, false);
if (st == null) if (qs == null)
{ {
return getNoQuestMsg(player); return getNoQuestMsg(player);
} }
@@ -60,16 +60,16 @@ public class Q00552_OlympiadVeteran extends Quest
if (event.equalsIgnoreCase("31688-03.html")) if (event.equalsIgnoreCase("31688-03.html"))
{ {
st.startQuest(); qs.startQuest();
} }
else if (event.equalsIgnoreCase("31688-04.html")) else if (event.equalsIgnoreCase("31688-04.html"))
{ {
final long count = st.getQuestItemsCount(TEAM_EVENT_CERTIFICATE) + st.getQuestItemsCount(CLASS_FREE_BATTLE_CERTIFICATE) + st.getQuestItemsCount(CLASS_BATTLE_CERTIFICATE); final long count = getQuestItemsCount(player, TEAM_EVENT_CERTIFICATE) + getQuestItemsCount(player, CLASS_FREE_BATTLE_CERTIFICATE) + getQuestItemsCount(player, CLASS_BATTLE_CERTIFICATE);
if (count > 0) if (count > 0)
{ {
st.giveItems(OLY_CHEST, count); giveItems(player, OLY_CHEST, count);
st.exitQuest(QuestType.DAILY, true); qs.exitQuest(QuestType.DAILY, true);
} }
else else
{ {
@@ -90,39 +90,39 @@ public class Q00552_OlympiadVeteran extends Quest
return; return;
} }
final QuestState st = getQuestState(player, false); final QuestState qs = getQuestState(player, false);
if ((st != null) && st.isStarted()) if ((qs != null) && qs.isStarted())
{ {
int matches; int matches;
switch (type) switch (type)
{ {
case CLASSED: case CLASSED:
{ {
matches = st.getInt("classed") + 1; matches = qs.getInt("classed") + 1;
st.set("classed", String.valueOf(matches)); qs.set("classed", String.valueOf(matches));
if ((matches == 5) && !st.hasQuestItems(CLASS_BATTLE_CERTIFICATE)) if ((matches == 5) && !hasQuestItems(player, CLASS_BATTLE_CERTIFICATE))
{ {
st.giveItems(CLASS_BATTLE_CERTIFICATE, 1); giveItems(player, CLASS_BATTLE_CERTIFICATE, 1);
} }
break; break;
} }
case NON_CLASSED: case NON_CLASSED:
{ {
matches = st.getInt("nonclassed") + 1; matches = qs.getInt("nonclassed") + 1;
st.set("nonclassed", String.valueOf(matches)); qs.set("nonclassed", String.valueOf(matches));
if ((matches == 5) && !st.hasQuestItems(CLASS_FREE_BATTLE_CERTIFICATE)) if ((matches == 5) && !hasQuestItems(player, CLASS_FREE_BATTLE_CERTIFICATE))
{ {
st.giveItems(CLASS_FREE_BATTLE_CERTIFICATE, 1); giveItems(player, CLASS_FREE_BATTLE_CERTIFICATE, 1);
} }
break; break;
} }
case TEAMS: case TEAMS:
{ {
matches = st.getInt("teams") + 1; matches = qs.getInt("teams") + 1;
st.set("teams", String.valueOf(matches)); qs.set("teams", String.valueOf(matches));
if ((matches == 5) && !st.hasQuestItems(TEAM_EVENT_CERTIFICATE)) if ((matches == 5) && !hasQuestItems(player, TEAM_EVENT_CERTIFICATE))
{ {
st.giveItems(TEAM_EVENT_CERTIFICATE, 1); giveItems(player, TEAM_EVENT_CERTIFICATE, 1);
} }
break; break;
} }
@@ -137,39 +137,39 @@ public class Q00552_OlympiadVeteran extends Quest
{ {
return; return;
} }
final QuestState st = getQuestState(player, false); final QuestState qs = getQuestState(player, false);
if ((st != null) && st.isStarted()) if ((qs != null) && qs.isStarted())
{ {
int matches; int matches;
switch (type) switch (type)
{ {
case CLASSED: case CLASSED:
{ {
matches = st.getInt("classed") + 1; matches = qs.getInt("classed") + 1;
st.set("classed", String.valueOf(matches)); qs.set("classed", String.valueOf(matches));
if (matches == 5) if (matches == 5)
{ {
st.giveItems(CLASS_BATTLE_CERTIFICATE, 1); giveItems(player, CLASS_BATTLE_CERTIFICATE, 1);
} }
break; break;
} }
case NON_CLASSED: case NON_CLASSED:
{ {
matches = st.getInt("nonclassed") + 1; matches = qs.getInt("nonclassed") + 1;
st.set("nonclassed", String.valueOf(matches)); qs.set("nonclassed", String.valueOf(matches));
if (matches == 5) if (matches == 5)
{ {
st.giveItems(CLASS_FREE_BATTLE_CERTIFICATE, 1); giveItems(player, CLASS_FREE_BATTLE_CERTIFICATE, 1);
} }
break; break;
} }
case TEAMS: case TEAMS:
{ {
matches = st.getInt("teams") + 1; matches = qs.getInt("teams") + 1;
st.set("teams", String.valueOf(matches)); qs.set("teams", String.valueOf(matches));
if (matches == 5) if (matches == 5)
{ {
st.giveItems(TEAM_EVENT_CERTIFICATE, 1); giveItems(player, TEAM_EVENT_CERTIFICATE, 1);
} }
break; break;
} }
@@ -182,8 +182,8 @@ public class Q00552_OlympiadVeteran extends Quest
public String onTalk(L2Npc npc, L2PcInstance player) public String onTalk(L2Npc npc, L2PcInstance player)
{ {
String htmltext = getNoQuestMsg(player); String htmltext = getNoQuestMsg(player);
final QuestState st = getQuestState(player, true); final QuestState qs = getQuestState(player, true);
if (st == null) if (qs == null)
{ {
return htmltext; return htmltext;
} }
@@ -192,15 +192,15 @@ public class Q00552_OlympiadVeteran extends Quest
{ {
htmltext = "31688-00.htm"; htmltext = "31688-00.htm";
} }
else if (st.isCreated()) else if (qs.isCreated())
{ {
htmltext = "31688-01.htm"; htmltext = "31688-01.htm";
} }
else if (st.isCompleted()) else if (qs.isCompleted())
{ {
if (st.isNowAvailable()) if (qs.isNowAvailable())
{ {
st.setState(State.CREATED); qs.setState(State.CREATED);
htmltext = (player.getLevel() < 75) || !player.isNoble() ? "31688-00.htm" : "31688-01.htm"; htmltext = (player.getLevel() < 75) || !player.isNoble() ? "31688-00.htm" : "31688-01.htm";
} }
else else
@@ -208,15 +208,15 @@ public class Q00552_OlympiadVeteran extends Quest
htmltext = "31688-05.html"; htmltext = "31688-05.html";
} }
} }
else if (st.isStarted()) else if (qs.isStarted())
{ {
final long count = st.getQuestItemsCount(TEAM_EVENT_CERTIFICATE) + st.getQuestItemsCount(CLASS_FREE_BATTLE_CERTIFICATE) + st.getQuestItemsCount(CLASS_BATTLE_CERTIFICATE); final long count = getQuestItemsCount(player, TEAM_EVENT_CERTIFICATE) + getQuestItemsCount(player, CLASS_FREE_BATTLE_CERTIFICATE) + getQuestItemsCount(player, CLASS_BATTLE_CERTIFICATE);
if (count == 3) if (count == 3)
{ {
htmltext = "31688-04.html"; htmltext = "31688-04.html";
st.giveItems(OLY_CHEST, 4); giveItems(player, OLY_CHEST, 4);
st.exitQuest(QuestType.DAILY, true); qs.exitQuest(QuestType.DAILY, true);
} }
else else
{ {

View File

@@ -52,8 +52,8 @@ public class Q00553_OlympiadUndefeated extends Quest
@Override @Override
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
{ {
final QuestState st = getQuestState(player, false); final QuestState qs = getQuestState(player, false);
if (st == null) if (qs == null)
{ {
return getNoQuestMsg(player); return getNoQuestMsg(player);
} }
@@ -61,20 +61,20 @@ public class Q00553_OlympiadUndefeated extends Quest
if (event.equalsIgnoreCase("31688-03.html")) if (event.equalsIgnoreCase("31688-03.html"))
{ {
st.startQuest(); qs.startQuest();
} }
else if (event.equalsIgnoreCase("31688-04.html")) else if (event.equalsIgnoreCase("31688-04.html"))
{ {
final long count = st.getQuestItemsCount(WIN_CONF_2) + st.getQuestItemsCount(WIN_CONF_5); final long count = getQuestItemsCount(player, WIN_CONF_2) + getQuestItemsCount(player, WIN_CONF_5);
if (count > 0) if (count > 0)
{ {
st.giveItems(OLY_CHEST, count); giveItems(player, OLY_CHEST, count);
if (count == 2) if (count == 2)
{ {
st.giveItems(MEDAL_OF_GLORY, 3); giveItems(player, MEDAL_OF_GLORY, 3);
} }
st.exitQuest(QuestType.DAILY, true); qs.exitQuest(QuestType.DAILY, true);
} }
else else
{ {
@@ -95,32 +95,38 @@ public class Q00553_OlympiadUndefeated extends Quest
return; return;
} }
final QuestState st = getQuestState(player, false); final QuestState qs = getQuestState(player, false);
if ((st != null) && st.isStarted() && (st.isCond(1))) if ((qs != null) && qs.isStarted() && (qs.isCond(1)))
{ {
final int matches = st.getInt("undefeatable") + 1; final int matches = qs.getInt("undefeatable") + 1;
st.set("undefeatable", String.valueOf(matches)); qs.set("undefeatable", String.valueOf(matches));
switch (matches) switch (matches)
{ {
case 2: case 2:
if (!st.hasQuestItems(WIN_CONF_2)) {
if (!hasQuestItems(player, WIN_CONF_2))
{ {
st.giveItems(WIN_CONF_2, 1); giveItems(player, WIN_CONF_2, 1);
} }
break; break;
}
case 5: case 5:
if (!st.hasQuestItems(WIN_CONF_5)) {
if (!hasQuestItems(player, WIN_CONF_5))
{ {
st.giveItems(WIN_CONF_5, 1); giveItems(player, WIN_CONF_5, 1);
} }
break; break;
}
case 10: case 10:
if (!st.hasQuestItems(WIN_CONF_10)) {
if (!hasQuestItems(player, WIN_CONF_10))
{ {
st.giveItems(WIN_CONF_10, 1); giveItems(player, WIN_CONF_10, 1);
st.setCond(2); qs.setCond(2);
} }
break; break;
}
} }
} }
} }
@@ -133,13 +139,13 @@ public class Q00553_OlympiadUndefeated extends Quest
return; return;
} }
final QuestState st = getQuestState(player, false); final QuestState qs = getQuestState(player, false);
if ((st != null) && st.isStarted() && (st.isCond(1))) if ((qs != null) && qs.isStarted() && (qs.isCond(1)))
{ {
st.unset("undefeatable"); qs.unset("undefeatable");
st.takeItems(WIN_CONF_2, -1); takeItems(player, WIN_CONF_2, -1);
st.takeItems(WIN_CONF_5, -1); takeItems(player, WIN_CONF_5, -1);
st.takeItems(WIN_CONF_10, -1); takeItems(player, WIN_CONF_10, -1);
} }
} }
} }
@@ -148,8 +154,8 @@ public class Q00553_OlympiadUndefeated extends Quest
public String onTalk(L2Npc npc, L2PcInstance player) public String onTalk(L2Npc npc, L2PcInstance player)
{ {
String htmltext = getNoQuestMsg(player); String htmltext = getNoQuestMsg(player);
final QuestState st = getQuestState(player, true); final QuestState qs = getQuestState(player, true);
if (st == null) if (qs == null)
{ {
return htmltext; return htmltext;
} }
@@ -158,15 +164,15 @@ public class Q00553_OlympiadUndefeated extends Quest
{ {
htmltext = "31688-00.htm"; htmltext = "31688-00.htm";
} }
else if (st.isCreated()) else if (qs.isCreated())
{ {
htmltext = "31688-01.htm"; htmltext = "31688-01.htm";
} }
else if (st.isCompleted()) else if (qs.isCompleted())
{ {
if (st.isNowAvailable()) if (qs.isNowAvailable())
{ {
st.setState(State.CREATED); qs.setState(State.CREATED);
htmltext = (player.getLevel() < 75) || !player.isNoble() ? "31688-00.htm" : "31688-01.htm"; htmltext = (player.getLevel() < 75) || !player.isNoble() ? "31688-00.htm" : "31688-01.htm";
} }
else else
@@ -176,12 +182,12 @@ public class Q00553_OlympiadUndefeated extends Quest
} }
else else
{ {
final long count = st.getQuestItemsCount(WIN_CONF_2) + st.getQuestItemsCount(WIN_CONF_5) + st.getQuestItemsCount(WIN_CONF_10); final long count = getQuestItemsCount(player, WIN_CONF_2) + getQuestItemsCount(player, WIN_CONF_5) + getQuestItemsCount(player, WIN_CONF_10);
if ((count == 3) && st.isCond(2)) if ((count == 3) && qs.isCond(2))
{ {
st.giveItems(OLY_CHEST, 4); giveItems(player, OLY_CHEST, 4);
st.giveItems(MEDAL_OF_GLORY, 5); giveItems(player, MEDAL_OF_GLORY, 5);
st.exitQuest(QuestType.DAILY, true); qs.exitQuest(QuestType.DAILY, true);
htmltext = "31688-04.html"; htmltext = "31688-04.html";
} }
else else

View File

@@ -80,7 +80,7 @@ public final class Q00604_DaimonTheWhiteEyedPart2 extends Quest
} }
giveItems(player, ESSENCE_OF_DAIMON, 1); giveItems(player, ESSENCE_OF_DAIMON, 1);
qs.playSound(QuestSound.ITEMSOUND_QUEST_ITEMGET); playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET);
} }
} }
} }

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