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
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
{
final QuestState st = getQuestState(player, true);
if (st == null)
final QuestState qs = getQuestState(player, true);
if (qs == null)
{
return null;
}
@@ -88,8 +88,8 @@ public final class AwakeningMaster extends AbstractNpcAI
{
case "awakening":
{
final QuestState st2 = 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())
final QuestState qs2 = player.getQuestState(Q10338_SeizeYourDestiny.class.getSimpleName());
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())
{

View File

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

View File

@@ -85,8 +85,8 @@ final class Pantheon extends AbstractNpcAI
@Override
public String onFirstTalk(L2Npc npc, L2PcInstance player)
{
final QuestState st = player.getQuestState(Q10320_LetsGoToTheCentralSquare.class.getSimpleName());
if (st == null)
final QuestState qs = player.getQuestState(Q10320_LetsGoToTheCentralSquare.class.getSimpleName());
if (qs == null)
{
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)
{
String htmltext = "";
final QuestState st = getQuestState(player, false);
final QuestState qs = getQuestState(player, false);
if (hasQuestItems(player, VACUALITE_FLOATING_STONE))
{
player.teleToLocation(ENTER_HALL_OF_FLAMES);
st.set("allowEnter", "1");
qs.set("allowEnter", "1");
}
else
{
@@ -85,7 +85,7 @@ final class GrandBossTeleporters extends AbstractNpcAI
public String onTalk(L2Npc npc, L2PcInstance player)
{
String htmltext = "";
final QuestState st = getQuestState(player, true);
final QuestState qs = getQuestState(player, true);
switch (npc.getId())
{
@@ -101,9 +101,9 @@ final class GrandBossTeleporters extends AbstractNpcAI
{
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);
if (zone != null)

View File

@@ -54,12 +54,12 @@ final class Tunatun extends AbstractNpcAI
return "31537-01.html";
}
final QuestState st = player.getQuestState(Q00020_BringUpWithLove.class.getSimpleName());
if ((st == null) && (player.getLevel() < MIN_LEVEL))
final QuestState qs = player.getQuestState(Q00020_BringUpWithLove.class.getSimpleName());
if ((qs == null) && (player.getLevel() < MIN_LEVEL))
{
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);
return "31537-03.html";

View File

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

View File

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

View File

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

View File

@@ -621,11 +621,11 @@ abstract class Chamber extends AbstractInstance
public String onTalk(L2Npc npc, L2PcInstance player)
{
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)

View File

@@ -1771,10 +1771,10 @@ public final class CrystalCaverns extends AbstractInstance
public String onTalk(L2Npc npc, L2PcInstance player)
{
final int npcId = npc.getId();
QuestState st = getQuestState(player, false);
if (st == null)
QuestState qs = getQuestState(player, false);
if (qs == null)
{
st = newQuestState(player);
qs = newQuestState(player);
}
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)
{
final String htmltext = getNoQuestMsg(player);
QuestState st = player.getQuestState(MonasteryOfSilence2.class.getSimpleName());
final QuestState qs = player.getQuestState(Q10294_SevenSignsToTheMonasteryOfSilence.class.getSimpleName());
final QuestState qs1 = player.getQuestState(Q10295_SevenSignsSolinasTomb.class.getSimpleName());
if (st == null)
QuestState qs = player.getQuestState(MonasteryOfSilence2.class.getSimpleName());
final QuestState qs1 = player.getQuestState(Q10294_SevenSignsToTheMonasteryOfSilence.class.getSimpleName());
final QuestState qs2 = player.getQuestState(Q10295_SevenSignsSolinasTomb.class.getSimpleName());
if (qs == null)
{
st = newQuestState(player);
qs = newQuestState(player);
}
if ("check_follow".equals(event))
{
@@ -308,7 +308,7 @@ public class MonasteryOfSilence2 extends AbstractNpcAI
npc.getAI().stopFollow();
npc.setIsRunning(true);
npc.getAI().startFollow(player);
if ((qs != null) && (qs.getCond() == 2))
if ((qs1 != null) && (qs1.getCond() == 2))
{
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));
}
}
if ((qs != null) && (qs.getCond() == 3))
if ((qs1 != null) && (qs1.getCond() == 3))
{
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));
}
}
if ((qs1 != null) && (qs1.getCond() == 1))
if ((qs2 != null) && (qs2.getCond() == 1))
{
if (getRandom(5) < 1)
{
@@ -366,9 +366,9 @@ public class MonasteryOfSilence2 extends AbstractNpcAI
{
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());
}
else
@@ -379,9 +379,9 @@ public class MonasteryOfSilence2 extends AbstractNpcAI
}
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());
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());
if (tmpworld instanceof NornilsWorld)
{
@@ -492,8 +492,8 @@ public final class NornilsGarden extends AbstractInstance
public final String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
{
String htmltext = event;
final QuestState st = getQuestState(player, false);
if (st == null)
final QuestState qs = getQuestState(player, false);
if (qs == null)
{
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"))
{
st.unset("correct");
qs.unset("correct");
}
else if (Util.isDigit(event))
{
int correct = st.getInt("correct");
int correct = qs.getInt("correct");
correct++;
st.set("correct", String.valueOf(correct));
qs.set("correct", String.valueOf(correct));
htmltext = npc.getId() + "-0" + String.valueOf(correct + 2) + ".html";
}
else if (event.equalsIgnoreCase("check"))
{
final int correct = st.getInt("correct");
final int correct = qs.getInt("correct");
if ((npc.getId() == 32260) && (correct == 3))
{
openDoor(st, player, 16200014);
openDoor(qs, player, 16200014);
}
else if ((npc.getId() == 32261) && (correct == 3))
{
openDoor(st, player, 16200015);
openDoor(qs, player, 16200015);
}
else if ((npc.getId() == 32262) && (correct == 4))
{
openDoor(st, player, 16200016);
openDoor(qs, player, 16200016);
}
else
{
@@ -592,8 +592,8 @@ public final class NornilsGarden extends AbstractInstance
@Override
public final String onKill(L2Npc npc, L2PcInstance player, boolean isSummon)
{
final QuestState st = getQuestState(player, false);
if (st == null)
final QuestState qs = getQuestState(player, false);
if (qs == null)
{
return null;
}

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -46,8 +46,8 @@ public class Q00020_BringUpWithLove extends Quest
@Override
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
{
final QuestState st = getQuestState(player, false);
if (st == null)
final QuestState qs = getQuestState(player, false);
if (qs == null)
{
return null;
}
@@ -71,17 +71,17 @@ public class Q00020_BringUpWithLove extends Quest
}
case "31537-11.html":
{
st.startQuest();
qs.startQuest();
htmltext = event;
break;
}
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);
st.takeItems(INNOCENCE_JEWEL, -1);
st.exitQuest(false, true);
giveItems(player, WATER_CRYSTAL, 1);
takeItems(player, INNOCENCE_JEWEL, -1);
qs.exitQuest(false, true);
htmltext = event;
}
break;
@@ -93,14 +93,14 @@ public class Q00020_BringUpWithLove extends Quest
@Override
public String onTalk(L2Npc npc, L2PcInstance player)
{
final QuestState st = getQuestState(player, true);
final QuestState qs = getQuestState(player, true);
String htmltext = getNoQuestMsg(player);
if (st == null)
if (qs == null)
{
return htmltext;
}
switch (st.getState())
switch (qs.getState())
{
case State.COMPLETED:
{
@@ -108,10 +108,13 @@ public class Q00020_BringUpWithLove extends Quest
break;
}
case State.CREATED:
{
htmltext = player.getLevel() >= MIN_LEVEL ? "31537-01.htm" : "31537-13.html";
break;
}
case State.STARTED:
switch (st.getCond())
{
switch (qs.getCond())
{
case 1:
{
@@ -120,22 +123,23 @@ public class Q00020_BringUpWithLove extends Quest
}
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;
}
}
return htmltext;
}
public static void checkJewelOfInnocence(L2PcInstance player)
{
final QuestState st = player.getQuestState(Q00020_BringUpWithLove.class.getSimpleName());
if ((st != null) && st.isCond(1) && !st.hasQuestItems(INNOCENCE_JEWEL) && (getRandom(100) < 5))
final QuestState qs = player.getQuestState(Q00020_BringUpWithLove.class.getSimpleName());
if ((qs != null) && qs.isCond(1) && !hasQuestItems(player, INNOCENCE_JEWEL) && (getRandom(100) < 5))
{
st.giveItems(INNOCENCE_JEWEL, 1);
st.setCond(2, true);
giveItems(player, INNOCENCE_JEWEL, 1);
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)
{
String htmltext = null;
final QuestState st = getQuestState(player, false);
if (st == null)
final QuestState qs = getQuestState(player, false);
if (qs == null)
{
return htmltext;
}
@@ -74,33 +74,41 @@ public final class Q00026_TiredOfWaiting extends Quest
case "31045-07.html":
case "31045-08.html":
case "31045-09.html":
{
htmltext = event;
break;
}
case "30655-04.html":
if (st.isCreated())
{
if (qs.isCreated())
{
st.giveItems(DELIVERY_BOX, 1);
st.startQuest();
giveItems(player, DELIVERY_BOX, 1);
qs.startQuest();
htmltext = event;
}
break;
}
case "31045-04.html":
if (st.isStarted())
{
if (qs.isStarted())
{
st.takeItems(DELIVERY_BOX, -1);
takeItems(player, DELIVERY_BOX, -1);
htmltext = event;
}
break;
}
case "31045-10.html":
case "31045-11.html":
case "31045-12.html":
if (st.isStarted())
{
if (qs.isStarted())
{
st.giveItems(REWARDS.get(event), 1);
st.exitQuest(false, true);
giveItems(player, REWARDS.get(event), 1);
qs.exitQuest(false, true);
htmltext = event;
}
break;
}
}
return htmltext;
}
@@ -109,8 +117,8 @@ public final class Q00026_TiredOfWaiting extends Quest
public String onTalk(L2Npc npc, L2PcInstance player)
{
String htmltext = getNoQuestMsg(player);
final QuestState st = getQuestState(player, true);
if (st == null)
final QuestState qs = getQuestState(player, true);
if (qs == null)
{
return htmltext;
}
@@ -118,11 +126,12 @@ public final class Q00026_TiredOfWaiting extends Quest
switch (npc.getId())
{
case ISAEL_SILVERSHADOW:
if (st.isCreated())
{
if (qs.isCreated())
{
htmltext = ((player.getLevel() >= 80) ? "30655-01.htm" : "30655-00.html");
}
else if (st.isStarted())
else if (qs.isStarted())
{
htmltext = "30655-07.html";
}
@@ -131,12 +140,15 @@ public final class Q00026_TiredOfWaiting extends Quest
htmltext = "30655-08.html";
}
break;
}
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;
}
}
return htmltext;
}

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -46,8 +46,8 @@ public class Q00119_LastImperialPrince extends Quest
@Override
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
{
final QuestState st = getQuestState(player, false);
if (st == null)
final QuestState qs = getQuestState(player, false);
if (qs == null)
{
return null;
}
@@ -64,31 +64,31 @@ public class Q00119_LastImperialPrince extends Quest
}
case "31453-04.html":
{
st.startQuest();
qs.startQuest();
htmltext = event;
break;
}
case "31453-11.html":
{
if (st.isCond(2))
if (qs.isCond(2))
{
st.giveAdena(150292, true);
st.addExpAndSp(902439, 90067);
st.exitQuest(false, true);
giveAdena(player, 150292, true);
addExpAndSp(player, 902439, 90067);
qs.exitQuest(false, true);
htmltext = event;
}
break;
}
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;
}
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;
}
break;
@@ -100,14 +100,14 @@ public class Q00119_LastImperialPrince extends Quest
@Override
public String onTalk(L2Npc npc, L2PcInstance player)
{
final QuestState st = getQuestState(player, true);
final QuestState qs = getQuestState(player, true);
String htmltext = getNoQuestMsg(player);
if (st == null)
if (qs == null)
{
return htmltext;
}
switch (st.getState())
switch (qs.getState())
{
case State.COMPLETED:
{
@@ -119,37 +119,37 @@ public class Q00119_LastImperialPrince extends Quest
}
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;
}
case State.STARTED:
{
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";
}
else
{
htmltext = "31453-08.html";
st.exitQuest(true);
qs.exitQuest(true);
}
}
else if (st.isCond(2))
else if (qs.isCond(2))
{
htmltext = "31453-09.html";
}
}
else if (npc.getId() == DEVORIN)
{
if (st.isCond(1))
if (qs.isCond(1))
{
htmltext = "32009-01.html";
}
else if (st.isCond(2))
else if (qs.isCond(2))
{
htmltext = "32009-05.html";
}

View File

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

View File

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

View File

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

View File

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

View File

@@ -57,8 +57,8 @@ public class Q00126_TheNameOfEvil2 extends Quest
@Override
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
{
final QuestState st = getQuestState(player, false);
if (st == null)
final QuestState qs = getQuestState(player, false);
if (qs == null)
{
return getNoQuestMsg(player);
}
@@ -66,266 +66,266 @@ public class Q00126_TheNameOfEvil2 extends Quest
switch (event)
{
case "32115-1.html":
st.startQuest();
qs.startQuest();
break;
case "32115-1b.html":
if (st.isCond(1))
if (qs.isCond(1))
{
st.setCond(2, true);
qs.setCond(2, true);
}
break;
case "32119-3.html":
if (st.isCond(2))
if (qs.isCond(2))
{
st.setCond(3, true);
qs.setCond(3, true);
}
break;
case "32119-4.html":
if (st.isCond(3))
if (qs.isCond(3))
{
st.setCond(4, true);
qs.setCond(4, true);
}
break;
case "32119-4a.html":
case "32119-5b.html":
st.playSound(QuestSound.ETCSOUND_ELROKI_SONG_1ST);
playSound(player, QuestSound.ETCSOUND_ELROKI_SONG_1ST);
break;
case "32119-5.html":
if (st.isCond(4))
if (qs.isCond(4))
{
st.setCond(5, true);
qs.setCond(5, true);
}
break;
case "32120-3.html":
if (st.isCond(5))
if (qs.isCond(5))
{
st.setCond(6, true);
qs.setCond(6, true);
}
break;
case "32120-4.html":
if (st.isCond(6))
if (qs.isCond(6))
{
st.setCond(7, true);
qs.setCond(7, true);
}
break;
case "32120-4a.html":
case "32120-5b.html":
st.playSound(QuestSound.ETCSOUND_ELROKI_SONG_2ND);
playSound(player, QuestSound.ETCSOUND_ELROKI_SONG_2ND);
break;
case "32120-5.html":
if (st.isCond(7))
if (qs.isCond(7))
{
st.setCond(8, true);
qs.setCond(8, true);
}
break;
case "32121-3.html":
if (st.isCond(8))
if (qs.isCond(8))
{
st.setCond(9, true);
qs.setCond(9, true);
}
break;
case "32121-4.html":
if (st.isCond(9))
if (qs.isCond(9))
{
st.setCond(10, true);
qs.setCond(10, true);
}
break;
case "32121-4a.html":
case "32121-5b.html":
st.playSound(QuestSound.ETCSOUND_ELROKI_SONG_3RD);
playSound(player, QuestSound.ETCSOUND_ELROKI_SONG_3RD);
break;
case "32121-5.html":
if (st.isCond(10))
if (qs.isCond(10))
{
st.giveItems(GAZKH_FRAGMENT, 1);
st.setCond(11, true);
giveItems(player, GAZKH_FRAGMENT, 1);
qs.setCond(11, true);
}
break;
case "32122-2a.html":
npc.broadcastPacket(new MagicSkillUse(npc, player, 5089, 1, 1000, 0));
break;
case "32122-2d.html":
st.takeItems(GAZKH_FRAGMENT, -1);
takeItems(player, GAZKH_FRAGMENT, -1);
break;
case "32122-3.html":
if (st.isCond(12))
if (qs.isCond(12))
{
st.setCond(13, true);
qs.setCond(13, true);
}
break;
case "32122-4.html":
if (st.isCond(13))
if (qs.isCond(13))
{
st.setCond(14, true);
qs.setCond(14, true);
}
break;
case "DO_One":
st.set("DO", "1");
qs.set("DO", "1");
event = "32122-4d.html";
break;
case "MI_One":
st.set("MI", "1");
qs.set("MI", "1");
event = "32122-4f.html";
break;
case "FA_One":
st.set("FA", "1");
qs.set("FA", "1");
event = "32122-4h.html";
break;
case "SOL_One":
st.set("SOL", "1");
qs.set("SOL", "1");
event = "32122-4j.html";
break;
case "FA2_One":
st.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))
qs.set("FA2", "1");
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";
st.setCond(15, true);
qs.setCond(15, true);
}
else
{
event = "32122-4m.html";
}
st.unset("DO");
st.unset("MI");
st.unset("FA");
st.unset("SOL");
st.unset("FA2");
qs.unset("DO");
qs.unset("MI");
qs.unset("FA");
qs.unset("SOL");
qs.unset("FA2");
break;
case "32122-4m.html":
st.unset("DO");
st.unset("MI");
st.unset("FA");
st.unset("SOL");
st.unset("FA2");
qs.unset("DO");
qs.unset("MI");
qs.unset("FA");
qs.unset("SOL");
qs.unset("FA2");
break;
case "FA_Two":
st.set("FA", "1");
qs.set("FA", "1");
event = "32122-5a.html";
break;
case "SOL_Two":
st.set("SOL", "1");
qs.set("SOL", "1");
event = "32122-5c.html";
break;
case "TI_Two":
st.set("TI", "1");
qs.set("TI", "1");
event = "32122-5e.html";
break;
case "SOL2_Two":
st.set("SOL2", "1");
qs.set("SOL2", "1");
event = "32122-5g.html";
break;
case "FA2_Two":
st.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))
qs.set("FA2", "1");
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";
st.setCond(16, true);
qs.setCond(16, true);
}
else
{
event = "32122-5i.html";
}
st.unset("FA");
st.unset("SOL");
st.unset("TI");
st.unset("SOL2");
st.unset("FA2");
qs.unset("FA");
qs.unset("SOL");
qs.unset("TI");
qs.unset("SOL2");
qs.unset("FA2");
break;
case "32122-5i.html":
st.unset("FA");
st.unset("SOL");
st.unset("TI");
st.unset("SOL2");
st.unset("FA2");
qs.unset("FA");
qs.unset("SOL");
qs.unset("TI");
qs.unset("SOL2");
qs.unset("FA2");
break;
case "SOL_Three":
st.set("SOL", "1");
qs.set("SOL", "1");
event = "32122-6a.html";
break;
case "FA_Three":
st.set("FA", "1");
qs.set("FA", "1");
event = "32122-6c.html";
break;
case "MI_Three":
st.set("MI", "1");
qs.set("MI", "1");
event = "32122-6e.html";
break;
case "FA2_Three":
st.set("FA2", "1");
qs.set("FA2", "1");
event = "32122-6g.html";
break;
case "MI2_Three":
st.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))
qs.set("MI2", "1");
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";
st.setCond(17, true);
qs.setCond(17, true);
}
else
{
event = "32122-6i.html";
}
st.unset("SOL");
st.unset("FA");
st.unset("MI");
st.unset("FA2");
st.unset("MI2");
qs.unset("SOL");
qs.unset("FA");
qs.unset("MI");
qs.unset("FA2");
qs.unset("MI2");
break;
case "32122-6i.html":
st.unset("SOL");
st.unset("FA");
st.unset("MI");
st.unset("FA2");
st.unset("MI2");
qs.unset("SOL");
qs.unset("FA");
qs.unset("MI");
qs.unset("FA2");
qs.unset("MI2");
break;
case "32122-7.html":
st.giveItems(BONE_POWDER, 1);
st.playSound(QuestSound.ETCSOUND_ELROKI_SONG_FULL);
giveItems(player, BONE_POWDER, 1);
playSound(player, QuestSound.ETCSOUND_ELROKI_SONG_FULL);
npc.broadcastPacket(new MagicSkillUse(npc, player, 5089, 1, 1000, 0));
break;
case "32122-8.html":
if (st.isCond(17))
if (qs.isCond(17))
{
st.setCond(18, true);
qs.setCond(18, true);
}
break;
case "32109-2.html":
if (st.isCond(18))
if (qs.isCond(18))
{
st.setCond(19, true);
qs.setCond(19, true);
}
break;
case "32109-3.html":
if (st.isCond(19))
if (qs.isCond(19))
{
st.takeItems(BONE_POWDER, -1);
st.setCond(20, true);
takeItems(player, BONE_POWDER, -1);
qs.setCond(20, true);
}
break;
case "32115-4.html":
if (st.isCond(20))
if (qs.isCond(20))
{
st.setCond(21, true);
qs.setCond(21, true);
}
break;
case "32115-5.html":
if (st.isCond(21))
if (qs.isCond(21))
{
st.setCond(22, true);
qs.setCond(22, true);
}
break;
case "32114-2.html":
if (st.isCond(22))
if (qs.isCond(22))
{
st.setCond(23, true);
qs.setCond(23, true);
}
break;
case "32114-3.html":
st.rewardItems(ENCHANT_WEAPON_A, 1);
st.giveAdena(460483, true);
st.addExpAndSp(1015973, 102802);
st.exitQuest(false, true);
rewardItems(player, ENCHANT_WEAPON_A, 1);
giveAdena(player, 460483, true);
addExpAndSp(player, 1015973, 102802);
qs.exitQuest(false, true);
break;
}
return event;
@@ -335,8 +335,8 @@ public class Q00126_TheNameOfEvil2 extends Quest
public String onTalk(L2Npc npc, L2PcInstance player)
{
String htmltext = getNoQuestMsg(player);
QuestState st = getQuestState(player, true);
if (st == null)
QuestState qs = getQuestState(player, true);
if (qs == null)
{
return htmltext;
}
@@ -344,7 +344,7 @@ public class Q00126_TheNameOfEvil2 extends Quest
switch (npc.getId())
{
case ASAMAH:
switch (st.getState())
switch (qs.getState())
{
case State.CREATED:
if (player.getLevel() < 77)
@@ -353,12 +353,12 @@ public class Q00126_TheNameOfEvil2 extends Quest
}
else
{
st = player.getQuestState(Q00125_TheNameOfEvil1.class.getSimpleName());
htmltext = ((st != null) && st.isCompleted()) ? "32115-0a.htm" : "32115-0b.htm";
qs = player.getQuestState(Q00125_TheNameOfEvil1.class.getSimpleName());
htmltext = ((qs != null) && qs.isCompleted()) ? "32115-0a.htm" : "32115-0b.htm";
}
break;
case State.STARTED:
switch (st.getCond())
switch (qs.getCond())
{
case 1:
htmltext = "32115-1d.html";
@@ -402,9 +402,9 @@ public class Q00126_TheNameOfEvil2 extends Quest
}
break;
case ULU_KAIMU:
if (st.isStarted())
if (qs.isStarted())
{
switch (st.getCond())
switch (qs.getCond())
{
case 1:
htmltext = "32119-1.html";
@@ -426,9 +426,9 @@ public class Q00126_TheNameOfEvil2 extends Quest
}
break;
case BALU_KAIMU:
if (st.isStarted())
if (qs.isStarted())
{
switch (st.getCond())
switch (qs.getCond())
{
case 1:
case 2:
@@ -453,9 +453,9 @@ public class Q00126_TheNameOfEvil2 extends Quest
}
break;
case CHUTA_KAIMU:
if (st.isStarted())
if (qs.isStarted())
{
switch (st.getCond())
switch (qs.getCond())
{
case 1:
case 2:
@@ -483,9 +483,9 @@ public class Q00126_TheNameOfEvil2 extends Quest
}
break;
case WARRIORS_GRAVE:
if (st.isStarted())
if (qs.isStarted())
{
switch (st.getCond())
switch (qs.getCond())
{
case 1:
case 2:
@@ -501,7 +501,7 @@ public class Q00126_TheNameOfEvil2 extends Quest
break;
case 11:
htmltext = "32122-2.html";
st.setCond(12, true);
qs.setCond(12, true);
break;
case 12:
htmltext = "32122-2l.html";
@@ -511,30 +511,30 @@ public class Q00126_TheNameOfEvil2 extends Quest
break;
case 14:
htmltext = "32122-4.html";
st.unset("DO");
st.unset("MI");
st.unset("FA");
st.unset("SOL");
st.unset("FA2");
qs.unset("DO");
qs.unset("MI");
qs.unset("FA");
qs.unset("SOL");
qs.unset("FA2");
break;
case 15:
htmltext = "32122-5.html";
st.unset("FA");
st.unset("SOL");
st.unset("TI");
st.unset("SOL2");
st.unset("FA2");
qs.unset("FA");
qs.unset("SOL");
qs.unset("TI");
qs.unset("SOL2");
qs.unset("FA2");
break;
case 16:
htmltext = "32122-6.html";
st.unset("SOL");
st.unset("FA");
st.unset("MI");
st.unset("FA2");
st.unset("MI2");
qs.unset("SOL");
qs.unset("FA");
qs.unset("MI");
qs.unset("FA2");
qs.unset("MI2");
break;
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;
case 18:
htmltext = "32122-8.html";
@@ -546,9 +546,9 @@ public class Q00126_TheNameOfEvil2 extends Quest
}
break;
case SHILENS_STONE_STATUE:
if (st.isStarted())
if (qs.isStarted())
{
switch (st.getCond())
switch (qs.getCond())
{
case 1:
case 2:
@@ -570,7 +570,7 @@ public class Q00126_TheNameOfEvil2 extends Quest
htmltext = "32109-1a.html";
break;
case 18:
if (st.hasQuestItems(BONE_POWDER))
if (hasQuestItems(player, BONE_POWDER))
{
htmltext = "32109-1.html";
}
@@ -588,13 +588,13 @@ public class Q00126_TheNameOfEvil2 extends Quest
}
break;
case MUSHIKA:
if (st.isStarted())
if (qs.isStarted())
{
if (st.getCond() < 22)
if (qs.getCond() < 22)
{
htmltext = "32114-4.html";
}
else if (st.isCond(22))
else if (qs.isCond(22))
{
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)
{
String htmltext = null;
final QuestState st = getQuestState(player, false);
if (st == null)
final QuestState qs = getQuestState(player, false);
if (qs == null)
{
return getNoQuestMsg(player);
}
@@ -106,18 +106,18 @@ public final class Q00128_PailakaSongOfIceAndFire extends Quest
}
case "32497-03.htm":
{
if (!st.isStarted())
if (!qs.isStarted())
{
st.startQuest();
qs.startQuest();
htmltext = event;
}
break;
}
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, BOOK1, 1);
htmltext = event;
@@ -126,9 +126,9 @@ public final class Q00128_PailakaSongOfIceAndFire extends Quest
}
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, WATER_ESSENCE, -1);
takeItems(player, BOOK2, -1);
@@ -140,9 +140,9 @@ public final class Q00128_PailakaSongOfIceAndFire extends Quest
}
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, BOOK5, -1);
takeItems(player, FIRE_ESSENCE, -1);
@@ -154,7 +154,7 @@ public final class Q00128_PailakaSongOfIceAndFire extends Quest
}
case "32510-02.htm":
{
st.exitQuest(false, true);
qs.exitQuest(false, true);
final Instance inst = InstanceManager.getInstance().getInstance(npc.getInstanceId());
inst.setDuration(EXIT_TIME * 60000);
@@ -181,8 +181,8 @@ public final class Q00128_PailakaSongOfIceAndFire extends Quest
public final String onTalk(L2Npc npc, L2PcInstance player)
{
String htmltext = getNoQuestMsg(player);
final QuestState st = getQuestState(player, true);
if (st == null)
final QuestState qs = getQuestState(player, true);
if (qs == null)
{
return htmltext;
}
@@ -191,7 +191,7 @@ public final class Q00128_PailakaSongOfIceAndFire extends Quest
{
case ADLER1:
{
switch (st.getState())
switch (qs.getState())
{
case State.CREATED:
{
@@ -211,7 +211,7 @@ public final class Q00128_PailakaSongOfIceAndFire extends Quest
}
case State.STARTED:
{
if (st.getCond() > 1)
if (qs.getCond() > 1)
{
htmltext = "32497-00.htm";
}
@@ -236,7 +236,7 @@ public final class Q00128_PailakaSongOfIceAndFire extends Quest
}
case SINAI:
{
if (st.getCond() > 1)
if (qs.getCond() > 1)
{
htmltext = "32500-00.htm";
}
@@ -248,7 +248,7 @@ public final class Q00128_PailakaSongOfIceAndFire extends Quest
}
case INSPECTOR:
{
switch (st.getCond())
switch (qs.getCond())
{
case 1:
{
@@ -286,11 +286,11 @@ public final class Q00128_PailakaSongOfIceAndFire extends Quest
}
case ADLER2:
{
if (st.isCompleted())
if (qs.isCompleted())
{
htmltext = "32510-00.htm";
}
else if (st.isCond(9))
else if (qs.isCond(9))
{
htmltext = "32510-01.htm";
}
@@ -303,16 +303,16 @@ public final class Q00128_PailakaSongOfIceAndFire extends Quest
@Override
public final String onKill(L2Npc npc, L2PcInstance player, boolean isSummon)
{
final QuestState st = getQuestState(player, false);
if ((st != null) && st.isStarted())
final QuestState qs = getQuestState(player, false);
if ((qs != null) && qs.isStarted())
{
switch (npc.getId())
{
case HILLAS:
{
if (st.isCond(2))
if (qs.isCond(2))
{
st.setCond(3);
qs.setCond(3);
playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET);
takeItems(player, BOOK1, -1);
giveItems(player, BOOK2, 1);
@@ -323,9 +323,9 @@ public final class Q00128_PailakaSongOfIceAndFire extends Quest
}
case PAPION:
{
if (st.isCond(4))
if (qs.isCond(4))
{
st.setCond(5);
qs.setCond(5);
takeItems(player, BOOK3, -1);
giveItems(player, BOOK4, 1);
playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET);
@@ -335,9 +335,9 @@ public final class Q00128_PailakaSongOfIceAndFire extends Quest
}
case KINSUS:
{
if (st.isCond(5))
if (qs.isCond(5))
{
st.setCond(6);
qs.setCond(6);
playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET);
takeItems(player, BOOK4, -1);
giveItems(player, BOOK5, 1);
@@ -348,9 +348,9 @@ public final class Q00128_PailakaSongOfIceAndFire extends Quest
}
case GARGOS:
{
if (st.isCond(7))
if (qs.isCond(7))
{
st.setCond(8);
qs.setCond(8);
playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET);
takeItems(player, BOOK6, -1);
giveItems(player, BOOK7, 1);
@@ -360,9 +360,9 @@ public final class Q00128_PailakaSongOfIceAndFire extends Quest
}
case ADIANTUM:
{
if (st.isCond(8))
if (qs.isCond(8))
{
st.setCond(9);
qs.setCond(9);
playSound(player, QuestSound.ITEMSOUND_QUEST_MIDDLE);
takeItems(player, BOOK7, -1);
addSpawn(ADLER2, -53297, 185027, -4617, 33486, false, 0, false, npc.getInstanceId());

View File

@@ -74,8 +74,8 @@ public class Q00134_TempleMissionary extends Quest
@Override
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
{
final QuestState st = getQuestState(player, false);
if (st == null)
final QuestState qs = getQuestState(player, false);
if (qs == null)
{
return null;
}
@@ -86,33 +86,47 @@ public class Q00134_TempleMissionary extends Quest
case "30067-05.html":
case "30067-09.html":
case "31418-07.html":
{
break;
}
case "30067-03.htm":
st.startQuest();
{
qs.startQuest();
break;
}
case "30067-06.html":
st.setCond(2, true);
{
qs.setCond(2, true);
break;
}
case "31418-03.html":
st.setCond(3, true);
{
qs.setCond(3, true);
break;
}
case "31418-08.html":
st.setCond(5, true);
st.giveItems(ROUKES_REPOT, 1);
st.unset("talk");
{
qs.setCond(5, true);
giveItems(player, ROUKES_REPOT, 1);
qs.unset("talk");
break;
}
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)
{
st.addExpAndSp(30000, 2000);
addExpAndSp(player, 30000, 2000);
}
st.exitQuest(false, true);
qs.exitQuest(false, true);
break;
}
default:
{
htmltext = null;
break;
}
}
return htmltext;
}
@@ -125,24 +139,24 @@ public class Q00134_TempleMissionary extends Quest
{
return super.onKill(npc, player, isSummon);
}
final QuestState st = getQuestState(member, false);
final QuestState qs = getQuestState(member, false);
if (npc.getId() == CRUMA_MARSHLANDS_TRAITOR)
{
st.giveItems(GIANTS_TECHNOLOGY_REPORT, 1);
if (st.getQuestItemsCount(GIANTS_TECHNOLOGY_REPORT) >= REPORT_COUNT)
giveItems(player, GIANTS_TECHNOLOGY_REPORT, 1);
if (getQuestItemsCount(player, GIANTS_TECHNOLOGY_REPORT) >= REPORT_COUNT)
{
st.setCond(4, true);
qs.setCond(4, true);
}
else
{
st.playSound(QuestSound.ITEMSOUND_QUEST_ITEMGET);
playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET);
}
}
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)
{
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()))
{
st.giveItems(GIANTS_EXPERIMENTAL_TOOL_FRAGMENT, 1);
st.playSound(QuestSound.ITEMSOUND_QUEST_ITEMGET);
giveItems(player, GIANTS_EXPERIMENTAL_TOOL_FRAGMENT, 1);
playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET);
}
}
return super.onKill(npc, player, isSummon);
@@ -161,8 +175,8 @@ public class Q00134_TempleMissionary extends Quest
public String onTalk(L2Npc npc, L2PcInstance player)
{
String htmltext = getNoQuestMsg(player);
final QuestState st = getQuestState(player, true);
if (st == null)
final QuestState qs = getQuestState(player, true);
if (qs == null)
{
return htmltext;
}
@@ -170,85 +184,111 @@ public class Q00134_TempleMissionary extends Quest
switch (npc.getId())
{
case GLYVKA:
switch (st.getState())
{
switch (qs.getState())
{
case State.CREATED:
{
htmltext = (player.getLevel() >= MIN_LEVEL) ? "30067-01.htm" : "30067-02.htm";
break;
}
case State.STARTED:
switch (st.getCond())
{
switch (qs.getCond())
{
case 1:
{
htmltext = "30067-04.html";
break;
}
case 2:
case 3:
case 4:
{
htmltext = "30067-07.html";
break;
}
case 5:
if (st.isSet("talk"))
{
if (qs.isSet("talk"))
{
htmltext = "30067-09.html";
}
else
{
st.takeItems(ROUKES_REPOT, -1);
st.set("talk", "1");
takeItems(player, ROUKES_REPOT, -1);
qs.set("talk", "1");
htmltext = "30067-08.html";
}
break;
}
}
break;
}
case State.COMPLETED:
{
htmltext = getAlreadyCompletedMsg(player);
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;
}
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;
}

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -66,8 +66,8 @@ public class Q00141_ShadowFoxPart3 extends Quest
@Override
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
{
final QuestState st = getQuestState(player, false);
if (st == null)
final QuestState qs = getQuestState(player, false);
if (qs == null)
{
return null;
}
@@ -85,27 +85,38 @@ public class Q00141_ShadowFoxPart3 extends Quest
case "30894-17.html":
case "30894-19.html":
case "30894-20.html":
{
break;
}
case "30894-03.htm":
st.startQuest();
{
qs.startQuest();
break;
}
case "30894-06.html":
st.setCond(2, true);
{
qs.setCond(2, true);
break;
}
case "30894-15.html":
st.set("talk", "2");
{
qs.set("talk", "2");
break;
}
case "30894-18.html":
st.setCond(4, true);
st.unset("talk");
{
qs.setCond(4, true);
qs.unset("talk");
break;
}
case "30894-21.html":
st.giveAdena(88888, true);
{
giveAdena(player, 88888, true);
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());
if (q != null)
@@ -113,9 +124,12 @@ public class Q00141_ShadowFoxPart3 extends Quest
q.newQuestState(player).setState(State.STARTED);
}
break;
}
default:
{
htmltext = null;
break;
}
}
return htmltext;
}
@@ -128,17 +142,17 @@ public class Q00141_ShadowFoxPart3 extends Quest
{
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())))
{
st.giveItems(PREDECESSORS_REPORT, 1);
if (st.getQuestItemsCount(PREDECESSORS_REPORT) >= REPORT_COUNT)
giveItems(member, PREDECESSORS_REPORT, 1);
if (getQuestItemsCount(member, PREDECESSORS_REPORT) >= REPORT_COUNT)
{
st.setCond(3, true);
qs.setCond(3, true);
}
else
{
st.playSound(QuestSound.ITEMSOUND_QUEST_ITEMGET);
playSound(member, QuestSound.ITEMSOUND_QUEST_ITEMGET);
}
}
return super.onKill(npc, player, isSummon);
@@ -148,51 +162,65 @@ public class Q00141_ShadowFoxPart3 extends Quest
public String onTalk(L2Npc npc, L2PcInstance player)
{
String htmltext = getNoQuestMsg(player);
final QuestState st = getQuestState(player, true);
if (st == null)
final QuestState qs = getQuestState(player, true);
if (qs == null)
{
return htmltext;
}
switch (st.getState())
switch (qs.getState())
{
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;
}
case State.STARTED:
switch (st.getCond())
{
switch (qs.getCond())
{
case 1:
{
htmltext = "30894-04.html";
break;
}
case 2:
{
htmltext = "30894-07.html";
break;
}
case 3:
if (st.getInt("talk") == 1)
{
if (qs.getInt("talk") == 1)
{
htmltext = "30894-09.html";
}
else if (st.getInt("talk") == 2)
else if (qs.getInt("talk") == 2)
{
htmltext = "30894-16.html";
}
else
{
htmltext = "30894-08.html";
st.takeItems(PREDECESSORS_REPORT, -1);
st.set("talk", "1");
takeItems(player, PREDECESSORS_REPORT, -1);
qs.set("talk", "1");
}
break;
}
case 4:
{
htmltext = "30894-19.html";
break;
}
}
break;
}
case State.COMPLETED:
{
htmltext = getAlreadyCompletedMsg(player);
break;
}
}
return htmltext;
}

View File

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

View File

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

View File

@@ -25,8 +25,8 @@ import java.util.Map;
import com.l2jmobius.gameserver.ai.CtrlEvent;
import com.l2jmobius.gameserver.ai.CtrlIntention;
import com.l2jmobius.gameserver.datatables.SkillData;
import com.l2jmobius.gameserver.enums.QuestSound;
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.L2Npc;
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 EXIT_TIME = 5;
private static final int INSTANCE_ID = 45;
static final int[] TELEPORT =
{
125757,
-40928,
-3736
};
static final Location TELEPORT = new Location(125757, -40928, -3736);
// @formatter:off
// NO EXIT ZONES
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(200008, new int[]{110127, -41562, -2332});
}
// Npcs
private static final int KETRA_ORC_SHAMAN = 32499;
private static final int KETRA_ORC_SUPPORTER = 32502;
private static final int KETRA_ORC_SUPPORTER2 = 32512;
private static final int KETRA_ORC_INTELIGENCE_OFFICER = 32509;
// Wall Mobs
private static final int VARKA_SILENOS_RECRUIT = 18635;
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 PROPHET_GUARD = 18657;
private static final int VARKAS_PROPHET = 18659;
// Extra Wall Silenos
private static final int VARKA_SILENOS_MEDIUM = 18644;
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 VARKA_HEAD_MAGUS = 18656;
private static final int VARKA_SILENOS_GREAT_SEER = 18652;
// Normal Mobs
private static final int ANTYLOPE_1 = 18637;
private static final int ANTYLOPE_2 = 18643;
private static final int ANTYLOPE_3 = 18651;
private static final int FLAVA = 18647;
// Boss
private static final int LATANA = 18660;
// Items
private static final int SPEAR = 13052;
private static final int ENCHSPEAR = 13053;
private static final int LASTSPEAR = 13054;
private static final int STAGE1 = 13056;
private static final int STAGE2 = 13057;
private static final int SHIELD_POTION = 13032;
private static final int HEAL_POTION = 13033;
// Rewards
private static final int PSHIRT = 13296;
private static final int SCROLL_OF_ESCAPE = 736;
private static int buff_counter = 5;
// Arrays
private static final int[] NPCS =
{
@@ -138,7 +122,6 @@ public class Q00144_PailakaInjuredDragon extends Quest
KETRA_ORC_INTELIGENCE_OFFICER,
KETRA_ORC_SUPPORTER2
};
private static final int[] WALL_MONSTERS =
{
// 1st Row Mobs
@@ -154,7 +137,6 @@ public class Q00144_PailakaInjuredDragon extends Quest
VARKA_SILENOS_HEAD_GUARD,
PROPHET_GUARD,
VARKAS_PROPHET,
// 2nd Row Mobs
DISCIPLE_OF_PROPHET,
VARKA_HEAD_MAGUS,
@@ -165,7 +147,6 @@ public class Q00144_PailakaInjuredDragon extends Quest
VARKA_SILENOS_MEDIUM,
VARKA_SILENOS_PRIEST
};
private static final int[] OTHER_MONSTERS =
{
ANTYLOPE_1,
@@ -173,7 +154,6 @@ public class Q00144_PailakaInjuredDragon extends Quest
ANTYLOPE_3,
FLAVA
};
private static final int[] ITEMS =
{
SPEAR,
@@ -184,7 +164,6 @@ public class Q00144_PailakaInjuredDragon extends Quest
SHIELD_POTION,
HEAL_POTION
};
private static final int[][] BUFFS =
{
{4357,2}, // Haste Lv2
@@ -200,20 +179,17 @@ public class Q00144_PailakaInjuredDragon extends Quest
{4354,4}, // Vampiric Rage Lv4
{4347,6} // Blessed Body Lv6
};
private static final ArrayList<PailakaDrop> DROPLIST = new ArrayList<>();
static
{
DROPLIST.add(new PailakaDrop(HEAL_POTION, 80));
DROPLIST.add(new PailakaDrop(SHIELD_POTION, 30));
}
private static final int[][] HP_HERBS_DROPLIST =
{
// itemId, count, chance
{ 8601, 1, 40 }, { 8600, 1, 70 }
};
private static final int[][] MP_HERBS_DROPLIST =
{
// itemId, count, chance
@@ -275,65 +251,59 @@ public class Q00144_PailakaInjuredDragon extends Quest
{
if (cond == 0)
{
qs.set("cond", "1");
qs.setState(State.STARTED);
qs.playSound(QuestSound.ITEMSOUND_QUEST_ACCEPT);
qs.startQuest();
}
}
else if (event.equals("32499-04.html"))
{
if (cond == 1)
if (qs.isCond(1))
{
qs.set("cond", "2");
qs.playSound(QuestSound.ITEMSOUND_QUEST_ACCEPT);
qs.setCond(2, true);
}
}
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.playSound(QuestSound.ITEMSOUND_QUEST_ITEMGET);
qs.giveItems(SPEAR, 1);
qs.setCond(3, true);
giveItems(player, SPEAR, 1);
}
}
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";
}
if (qs.hasQuestItems(SPEAR) && !qs.hasQuestItems(STAGE1))
if (hasQuestItems(player, SPEAR) && !hasQuestItems(player, STAGE1))
{
return "32509-01.html";
}
if (qs.hasQuestItems(SPEAR) && qs.hasQuestItems(STAGE1))
if (hasQuestItems(player, SPEAR) && hasQuestItems(player, STAGE1))
{
qs.takeItems(SPEAR, -1);
qs.takeItems(STAGE1, -1);
qs.giveItems(ENCHSPEAR, 1);
qs.playSound(QuestSound.ITEMSOUND_QUEST_ITEMGET);
takeItems(player, SPEAR, -1);
takeItems(player, STAGE1, -1);
giveItems(player, ENCHSPEAR, 1);
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";
}
if (qs.hasQuestItems(ENCHSPEAR) && !qs.hasQuestItems(STAGE2))
if (hasQuestItems(player, ENCHSPEAR) && !hasQuestItems(player, STAGE2))
{
return "32509-01.html";
}
if (qs.hasQuestItems(ENCHSPEAR) && qs.hasQuestItems(STAGE2))
if (hasQuestItems(player, ENCHSPEAR) && hasQuestItems(player, STAGE2))
{
qs.takeItems(ENCHSPEAR, -1);
qs.takeItems(STAGE2, -1);
qs.giveItems(LASTSPEAR, 1);
qs.playSound(QuestSound.ITEMSOUND_QUEST_ITEMGET);
takeItems(player, ENCHSPEAR, -1);
takeItems(player, STAGE2, -1);
giveItems(player, LASTSPEAR, 1);
// Spawns Latana.
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";
}
}
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";
}
if (!qs.hasQuestItems(LASTSPEAR))
if (!hasQuestItems(player, LASTSPEAR))
{
return "32509-07.html";
}
@@ -363,10 +333,6 @@ public class Q00144_PailakaInjuredDragon extends Quest
}
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());
inst.setDuration(EXIT_TIME * 60000);
inst.setEmptyDestroyTime(0);
@@ -374,10 +340,12 @@ public class Q00144_PailakaInjuredDragon extends Quest
if (inst.containsPlayer(player.getObjectId()))
{
player.setVitalityPoints(20000, true);
qs.addExpAndSp(28000000, 2850000);
qs.giveItems(SCROLL_OF_ESCAPE, 1);
qs.giveItems(PSHIRT, 1);
addExpAndSp(player, 28000000, 2850000);
giveItems(player, SCROLL_OF_ESCAPE, 1);
giveItems(player, PSHIRT, 1);
}
qs.exitQuest(false, true);
}
else if (event.startsWith("buff"))
{
@@ -428,9 +396,11 @@ public class Q00144_PailakaInjuredDragon extends Quest
switch (npc.getId())
{
case KETRA_ORC_SHAMAN:
{
switch (qs.getState())
{
case State.CREATED:
{
if (player.getLevel() < MIN_LEVEL)
{
return "32499-no.html";
@@ -440,7 +410,9 @@ public class Q00144_PailakaInjuredDragon extends Quest
return "32499-over.html";
}
return "32499-00.htm";
}
case State.STARTED:
{
if (player.getLevel() < MIN_LEVEL)
{
return "32499-no.html";
@@ -457,20 +429,32 @@ public class Q00144_PailakaInjuredDragon extends Quest
{
return "32499-09.html";
}
}
case State.COMPLETED:
{
return "32499-completed.html";
}
default:
{
return "32499-no.html";
}
}
// break;
}
case KETRA_ORC_SUPPORTER:
{
if (cond > 2)
{
return "32502-04.html";
}
return "32502-00.html";
}
case KETRA_ORC_INTELIGENCE_OFFICER:
{
return "32509-00.html";
}
case KETRA_ORC_SUPPORTER2:
{
if (qs.getState() == State.COMPLETED)
{
return "32512-03.html";
@@ -479,6 +463,8 @@ public class Q00144_PailakaInjuredDragon extends Quest
{
return "32512-01.html";
}
break;
}
}
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
// 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())
{
case VARKA_SILENOS_FOOTMAN:
case VARKA_SILENOS_RECRUIT:
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);
qs.playSound(QuestSound.ITEMSOUND_QUEST_ITEMGET);
giveItems(player, STAGE1, 1);
}
// Spawns Mage Type silenos behind the one that was killed.
@@ -515,10 +499,9 @@ public class Q00144_PailakaInjuredDragon extends Quest
break;
case VARKA_SILENOS_WARRIOR:
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);
qs.playSound(QuestSound.ITEMSOUND_QUEST_ITEMGET);
giveItems(player, STAGE1, 1);
}
// Spawns Mage Type silenos behind the one that was killed.
@@ -529,10 +512,9 @@ public class Q00144_PailakaInjuredDragon extends Quest
break;
case VARKA_ELITE_GUARD:
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);
qs.playSound(QuestSound.ITEMSOUND_QUEST_ITEMGET);
giveItems(player, STAGE1, 1);
}
// Spawns Mage Type silenos behind the one that was killed.
@@ -544,10 +526,9 @@ public class Q00144_PailakaInjuredDragon extends Quest
case VARKAS_COMMANDER:
case VARKA_SILENOS_OFFICER:
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);
qs.playSound(QuestSound.ITEMSOUND_QUEST_ITEMGET);
giveItems(player, STAGE1, 1);
}
// 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_GENERAL:
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);
qs.playSound(QuestSound.ITEMSOUND_QUEST_ITEMGET);
giveItems(player, STAGE2, 1);
}
// Spawns Mage Type silenos behind the one that was killed.
@@ -573,10 +553,9 @@ public class Q00144_PailakaInjuredDragon extends Quest
break;
case VARKAS_PROPHET:
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);
qs.playSound(QuestSound.ITEMSOUND_QUEST_ITEMGET);
giveItems(player, STAGE2, 1);
}
// Spawns Mage Type silenos behind the one that was killed.
@@ -587,10 +566,9 @@ public class Q00144_PailakaInjuredDragon extends Quest
break;
case VARKA_SILENOS_HEAD_GUARD:
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);
qs.playSound(QuestSound.ITEMSOUND_QUEST_ITEMGET);
giveItems(player, STAGE2, 1);
}
// Spawns Mage Type silenos behind the one that was killed.
@@ -601,10 +579,9 @@ public class Q00144_PailakaInjuredDragon extends Quest
break;
case PROPHET_GUARD:
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);
qs.playSound(QuestSound.ITEMSOUND_QUEST_ITEMGET);
giveItems(player, STAGE2, 1);
}
// Spawns Mage Type silenos behind the one that was killed.
@@ -614,8 +591,7 @@ public class Q00144_PailakaInjuredDragon extends Quest
checkIfLastInWall(npc);
break;
case LATANA:
qs.set("cond", "4");
qs.playSound(QuestSound.ITEMSOUND_QUEST_MIDDLE);
qs.setCond(4, true);
// Spawns Ketra Orc Supporter.
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
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
{
final QuestState st = getQuestState(player, false);
if (st == null)
final QuestState qs = getQuestState(player, false);
if (qs == null)
{
return getNoQuestMsg(player);
}
if (event.equalsIgnoreCase("31554-03.htm"))
{
st.startQuest();
qs.startQuest();
}
return event;
}
@@ -68,11 +68,11 @@ public class Q00146_TheZeroHour extends Quest
final L2PcInstance partyMember = getRandomPartyMember(killer, 1);
if (partyMember != null)
{
final QuestState st = getQuestState(partyMember, false);
if (!st.hasQuestItems(FANG))
final QuestState qs = getQuestState(partyMember, false);
if (!hasQuestItems(partyMember, FANG))
{
st.giveItems(FANG, 1);
st.setCond(2, true);
giveItems(partyMember, FANG, 1);
qs.setCond(2, true);
}
}
return super.onKill(npc, killer, isSummon);
@@ -82,15 +82,16 @@ public class Q00146_TheZeroHour extends Quest
public String onTalk(L2Npc npc, L2PcInstance player)
{
String htmltext = getNoQuestMsg(player);
final QuestState st = getQuestState(player, true);
if (st == null)
final QuestState qs = getQuestState(player, true);
if (qs == null)
{
return htmltext;
}
switch (st.getState())
switch (qs.getState())
{
case State.CREATED:
{
if (player.getLevel() < 81)
{
htmltext = "31554-02.htm";
@@ -108,22 +109,27 @@ public class Q00146_TheZeroHour extends Quest
}
}
break;
}
case State.STARTED:
if (st.isCond(1))
{
if (qs.isCond(1))
{
htmltext = "31554-06.html";
}
else
{
st.giveItems(KAHMANS_SUPPLY_BOX, 1);
st.addExpAndSp(154616, 12500);
st.exitQuest(false, true);
giveItems(player, KAHMANS_SUPPLY_BOX, 1);
addExpAndSp(player, 154616, 12500);
qs.exitQuest(false, true);
htmltext = "31554-05.html";
}
break;
}
case State.COMPLETED:
{
htmltext = "31554-01b.htm";
break;
}
}
return htmltext;
}

View File

@@ -366,7 +366,7 @@ public class Q00177_SplitDestiny extends Quest
{
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);
}
break;

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -69,8 +69,8 @@ public final class Q00196_SevenSignsSealOfTheEmperor extends Quest
return super.onAdvEvent(event, npc, player);
}
final QuestState st = getQuestState(player, false);
if (st == null)
final QuestState qs = getQuestState(player, false);
if (qs == null)
{
return null;
}
@@ -87,13 +87,13 @@ public final class Q00196_SevenSignsSealOfTheEmperor extends Quest
}
case "30969-05.html":
{
st.startQuest();
qs.startQuest();
htmltext = event;
break;
}
case "ssq_mammon":
{
if (st.isCond(1))
if (qs.isCond(1))
{
if (!isBusy)
{
@@ -113,7 +113,7 @@ public final class Q00196_SevenSignsSealOfTheEmperor extends Quest
}
case "30969-13.html":
{
if (st.isCond(5))
if (qs.isCond(5))
{
htmltext = event;
}
@@ -121,9 +121,9 @@ public final class Q00196_SevenSignsSealOfTheEmperor extends Quest
}
case "30969-14.html":
{
if (st.isCond(5))
if (qs.isCond(5))
{
st.setCond(6, true);
qs.setCond(6, true);
htmltext = event;
}
break;
@@ -132,7 +132,7 @@ public final class Q00196_SevenSignsSealOfTheEmperor extends Quest
case "32584-03.html":
case "32584-04.html":
{
if (st.isCond(1))
if (qs.isCond(1))
{
htmltext = event;
}
@@ -140,9 +140,9 @@ public final class Q00196_SevenSignsSealOfTheEmperor extends Quest
}
case "32584-05.html":
{
if (st.isCond(1))
if (qs.isCond(1))
{
st.setCond(2, true);
qs.setCond(2, true);
htmltext = event;
cancelQuestTimers("DESPAWN");
npc.deleteMe();
@@ -155,7 +155,7 @@ public final class Q00196_SevenSignsSealOfTheEmperor extends Quest
case "32586-04.html":
case "32586-06.html":
{
if (st.isCond(3))
if (qs.isCond(3))
{
htmltext = event;
}
@@ -163,11 +163,11 @@ public final class Q00196_SevenSignsSealOfTheEmperor extends Quest
}
case "32586-07.html":
{
if (st.isCond(3))
if (qs.isCond(3))
{
giveItems(player, ELMOREDEN_HOLY_WATER, 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_HOLY_WATER_OF_EINHASAD_OPEN_THE_DOOR_POSSESSED_BY_THE_CURSE_OF_FLAMES);
htmltext = event;
@@ -178,7 +178,7 @@ public final class Q00196_SevenSignsSealOfTheEmperor extends Quest
case "32586-12.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;
}
@@ -186,22 +186,22 @@ public final class Q00196_SevenSignsSealOfTheEmperor extends Quest
}
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);
st.setCond(5, true);
qs.setCond(5, true);
htmltext = event;
}
break;
}
case "finish":
{
if (st.isCond(6))
if (qs.isCond(6))
{
if (player.getLevel() >= MIN_LEVEL)
{
addExpAndSp(player, 52518015, 5817677);
st.exitQuest(false, true);
qs.exitQuest(false, true);
htmltext = "32593-02.html";
}
else
@@ -213,7 +213,7 @@ public final class Q00196_SevenSignsSealOfTheEmperor extends Quest
}
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);
htmltext = event;
@@ -233,9 +233,9 @@ public final class Q00196_SevenSignsSealOfTheEmperor extends Quest
@Override
public String onTalk(L2Npc npc, L2PcInstance player)
{
QuestState st = getQuestState(player, true);
QuestState qs = getQuestState(player, true);
String htmltext = getNoQuestMsg(player);
switch (st.getState())
switch (qs.getState())
{
case State.COMPLETED:
{
@@ -246,8 +246,8 @@ public final class Q00196_SevenSignsSealOfTheEmperor extends Quest
{
if (npc.getId() == IASON_HEINE)
{
st = player.getQuestState(Q00195_SevenSignsSecretRitualOfThePriests.class.getSimpleName());
htmltext = ((player.getLevel() >= MIN_LEVEL) && (st != null) && (st.isCompleted())) ? "30969-01.htm" : "30969-08.html";
qs = player.getQuestState(Q00195_SevenSignsSecretRitualOfThePriests.class.getSimpleName());
htmltext = ((player.getLevel() >= MIN_LEVEL) && (qs != null) && (qs.isCompleted())) ? "30969-01.htm" : "30969-08.html";
}
break;
}
@@ -257,7 +257,7 @@ public final class Q00196_SevenSignsSealOfTheEmperor extends Quest
{
case IASON_HEINE:
{
switch (st.getCond())
switch (qs.getCond())
{
case 1:
{
@@ -266,7 +266,7 @@ public final class Q00196_SevenSignsSealOfTheEmperor extends Quest
}
case 2:
{
st.setCond(3, true);
qs.setCond(3, true);
npc.setScriptValue(0);
htmltext = "30969-10.html";
break;
@@ -292,7 +292,7 @@ public final class Q00196_SevenSignsSealOfTheEmperor extends Quest
}
case MERCHANT_OF_MAMMON:
{
if (st.isCond(1))
if (qs.isCond(1))
{
if (npc.isScriptValue(0))
{
@@ -304,7 +304,7 @@ public final class Q00196_SevenSignsSealOfTheEmperor extends Quest
}
case SHUNAIMAN:
{
switch (st.getCond())
switch (qs.getCond())
{
case 3:
{
@@ -348,7 +348,7 @@ public final class Q00196_SevenSignsSealOfTheEmperor extends Quest
}
case WOOD:
{
if (st.isCond(6))
if (qs.isCond(6))
{
htmltext = "32593-01.html";
}
@@ -356,7 +356,7 @@ public final class Q00196_SevenSignsSealOfTheEmperor extends Quest
}
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";
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);
}
final QuestState st = getQuestState(player, false);
if (st == null)
final QuestState qs = getQuestState(player, false);
if (qs == null)
{
return null;
}
@@ -89,13 +89,13 @@ public final class Q00197_SevenSignsTheSacredBookOfSeal extends Quest
}
case "32593-04.html":
{
st.startQuest();
qs.startQuest();
htmltext = event;
break;
}
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;
}
@@ -103,12 +103,12 @@ public final class Q00197_SevenSignsTheSacredBookOfSeal extends Quest
}
case "32593-09.html":
{
if (st.isCond(6))
if (qs.isCond(6))
{
if (player.getLevel() >= MIN_LEVEL)
{
st.addExpAndSp(52518015, 5817677);
st.exitQuest(false, true);
addExpAndSp(player, 52518015, 5817677);
qs.exitQuest(false, true);
htmltext = event;
}
else
@@ -121,7 +121,7 @@ public final class Q00197_SevenSignsTheSacredBookOfSeal extends Quest
case "30857-02.html":
case "30857-03.html":
{
if (st.isCond(1))
if (qs.isCond(1))
{
htmltext = event;
}
@@ -129,16 +129,16 @@ public final class Q00197_SevenSignsTheSacredBookOfSeal extends Quest
}
case "30857-04.html":
{
if (st.isCond(1))
if (qs.isCond(1))
{
st.setCond(2, true);
qs.setCond(2, true);
htmltext = event;
}
break;
}
case "32594-02.html":
{
if (st.isCond(2))
if (qs.isCond(2))
{
htmltext = event;
}
@@ -146,9 +146,9 @@ public final class Q00197_SevenSignsTheSacredBookOfSeal extends Quest
}
case "32594-03.html":
{
if (st.isCond(2))
if (qs.isCond(2))
{
st.setCond(3, true);
qs.setCond(3, true);
htmltext = event;
}
break;
@@ -156,7 +156,7 @@ public final class Q00197_SevenSignsTheSacredBookOfSeal extends Quest
case "32595-02.html":
case "32595-03.html":
{
if (st.isCond(3))
if (qs.isCond(3))
{
htmltext = event;
}
@@ -164,7 +164,7 @@ public final class Q00197_SevenSignsTheSacredBookOfSeal extends Quest
}
case "32595-04.html":
{
if (st.isCond(3))
if (qs.isCond(3))
{
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()));
@@ -179,7 +179,7 @@ public final class Q00197_SevenSignsTheSacredBookOfSeal extends Quest
case "32595-07.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;
}
@@ -187,9 +187,9 @@ public final class Q00197_SevenSignsTheSacredBookOfSeal extends Quest
}
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;
}
break;
@@ -197,7 +197,7 @@ public final class Q00197_SevenSignsTheSacredBookOfSeal extends Quest
case "32596-02.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;
}
@@ -205,10 +205,10 @@ public final class Q00197_SevenSignsTheSacredBookOfSeal extends Quest
}
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);
st.setCond(6, true);
giveItems(player, MYSTERIOUS_HAND_WRITTEN_TEXT, 1);
qs.setCond(6, true);
htmltext = event;
}
break;
@@ -226,12 +226,12 @@ public final class Q00197_SevenSignsTheSacredBookOfSeal extends Quest
return null;
}
final QuestState st = getQuestState(partyMember, false);
final QuestState qs = getQuestState(partyMember, false);
if (npc.isInsideRadius(partyMember, 1500, true, false))
{
st.giveItems(SCULPTURE_OF_DOUBT, 1);
st.playSound(QuestSound.ITEMSOUND_QUEST_FINISH);
st.setCond(4);
giveItems(player, SCULPTURE_OF_DOUBT, 1);
playSound(player, QuestSound.ITEMSOUND_QUEST_FINISH);
qs.setCond(4);
}
isBusy = false;
@@ -243,9 +243,9 @@ public final class Q00197_SevenSignsTheSacredBookOfSeal extends Quest
@Override
public String onTalk(L2Npc npc, L2PcInstance player)
{
QuestState st = getQuestState(player, true);
QuestState qs = getQuestState(player, true);
String htmltext = getNoQuestMsg(player);
switch (st.getState())
switch (qs.getState())
{
case State.COMPLETED:
{
@@ -256,8 +256,8 @@ public final class Q00197_SevenSignsTheSacredBookOfSeal extends Quest
{
if (npc.getId() == WOOD)
{
st = player.getQuestState(Q00196_SevenSignsSealOfTheEmperor.class.getSimpleName());
htmltext = ((player.getLevel() >= MIN_LEVEL) && (st != null) && (st.isCompleted())) ? "32593-01.htm" : "32593-05.html";
qs = player.getQuestState(Q00196_SevenSignsSealOfTheEmperor.class.getSimpleName());
htmltext = ((player.getLevel() >= MIN_LEVEL) && (qs != null) && (qs.isCompleted())) ? "32593-01.htm" : "32593-05.html";
}
break;
}
@@ -267,13 +267,13 @@ public final class Q00197_SevenSignsTheSacredBookOfSeal extends Quest
{
case WOOD:
{
if ((st.getCond() > 0) && (st.getCond() < 6))
if ((qs.getCond() > 0) && (qs.getCond() < 6))
{
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";
}
@@ -282,11 +282,11 @@ public final class Q00197_SevenSignsTheSacredBookOfSeal extends Quest
}
case ORVEN:
{
if (st.isCond(1))
if (qs.isCond(1))
{
htmltext = "30857-01.html";
}
else if (st.getCond() >= 2)
else if (qs.getCond() >= 2)
{
htmltext = "30857-05.html";
}
@@ -294,11 +294,11 @@ public final class Q00197_SevenSignsTheSacredBookOfSeal extends Quest
}
case LEOPARD:
{
if (st.isCond(2))
if (qs.isCond(2))
{
htmltext = "32594-01.html";
}
else if (st.getCond() >= 3)
else if (qs.getCond() >= 3)
{
htmltext = "32594-04.html";
}
@@ -306,7 +306,7 @@ public final class Q00197_SevenSignsTheSacredBookOfSeal extends Quest
}
case LAWRENCE:
{
if (st.isCond(3))
if (qs.isCond(3))
{
if (isBusy)
{
@@ -317,16 +317,16 @@ public final class Q00197_SevenSignsTheSacredBookOfSeal extends Quest
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";
}
}
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";
}
@@ -335,16 +335,16 @@ public final class Q00197_SevenSignsTheSacredBookOfSeal extends Quest
}
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";
}
}
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";
}

View File

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

View File

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

View File

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

View File

@@ -61,8 +61,8 @@ public class Q00239_WontYouJoinUs extends Quest
@Override
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
{
final QuestState st = getQuestState(player, false);
if (st == null)
final QuestState qs = getQuestState(player, false);
if (qs == null)
{
return null;
}
@@ -71,19 +71,25 @@ public class Q00239_WontYouJoinUs extends Quest
switch (event)
{
case "32643-02.htm":
{
htmltext = event;
break;
}
case "32643-03.html":
st.startQuest();
{
qs.startQuest();
htmltext = event;
break;
}
case "32643-07.html":
if (st.isCond(2))
{
if (qs.isCond(2))
{
st.setCond(3, true);
qs.setCond(3, true);
htmltext = event;
}
break;
}
}
return htmltext;
}
@@ -96,18 +102,18 @@ public class Q00239_WontYouJoinUs extends Quest
final L2PcInstance partyMember = getRandomPartyMember(killer, 1);
if (partyMember != null)
{
final QuestState st = getQuestState(partyMember, false);
if (st.getQuestItemsCount(DESTROYED_MACHINE_PIECE) < DESTROYED_MACHINE_PIECE_NEEDED)
final QuestState qs = getQuestState(partyMember, false);
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
{
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);
if ((partyMember != null) && (getRandom(100) < CHANCE_FOR_FRAGMENT))
{
final QuestState st = getQuestState(partyMember, false);
if (st.getQuestItemsCount(ENCHANTED_GOLEM_FRAGMENT) < ENCHANTED_GOLEM_FRAGMENT_NEEDED)
final QuestState qs = getQuestState(partyMember, false);
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
{
st.playSound(QuestSound.ITEMSOUND_QUEST_ITEMGET);
playSound(partyMember, QuestSound.ITEMSOUND_QUEST_ITEMGET);
}
}
}
@@ -135,28 +141,31 @@ public class Q00239_WontYouJoinUs extends Quest
}
@Override
public String onTalk(L2Npc npc, L2PcInstance talker)
public String onTalk(L2Npc npc, L2PcInstance player)
{
String htmltext = getNoQuestMsg(talker);
final QuestState st = getQuestState(talker, true);
if (st == null)
String htmltext = getNoQuestMsg(player);
final QuestState qs = getQuestState(player, true);
if (qs == null)
{
return htmltext;
}
switch (st.getState())
switch (qs.getState())
{
case State.COMPLETED:
{
htmltext = "32643-11.html";
break;
}
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())
{
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";
}
@@ -165,34 +174,45 @@ public class Q00239_WontYouJoinUs extends Quest
htmltext = "32643-00.html";
}
break;
}
case State.STARTED:
switch (st.getCond())
{
switch (qs.getCond())
{
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;
}
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";
st.takeItems(DESTROYED_MACHINE_PIECE, -1);
takeItems(player, DESTROYED_MACHINE_PIECE, -1);
}
break;
}
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;
}
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";
st.giveAdena(283346, true);
st.takeItems(SUPPORT_CERTIFICATE, 1);
st.addExpAndSp(1319736, 103553);
st.exitQuest(false, true);
giveAdena(player, 283346, true);
takeItems(player, SUPPORT_CERTIFICATE, 1);
addExpAndSp(player, 1319736, 103553);
qs.exitQuest(false, true);
}
break;
}
}
break;
}
}
return htmltext;
}

View File

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

View File

@@ -99,54 +99,19 @@ public class Q00254_LegendaryTales extends Quest
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
public String onAdvEvent(String event, L2Npc npc, L2PcInstance 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;
}
switch (event)
{
case "30754-05.html":
st.startQuest();
case "30754-02.html":
case "30754-03.html":
case "30754-04.htm":
@@ -154,29 +119,49 @@ public class Q00254_LegendaryTales extends Quest
case "30754-15.html":
case "30754-20.html":
case "30754-21.html":
{
htmltext = event;
break;
}
case "30754-05.html":
{
qs.startQuest();
}
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;
}
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;
}
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;
}
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;
}
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;
}
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;
}
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;
}
case "13467": // Vesper Thrower
case "13466": // Vesper Singer
case "13465": // Vesper Caster
@@ -188,13 +173,54 @@ public class Q00254_LegendaryTales extends Quest
case "13460": // Vesper Sharper
case "13461": // Vesper Fighter
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";
rewardItems(player, Integer.parseInt(event), 1);
st.exitQuest(false, true);
qs.exitQuest(false, true);
}
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;
}
@@ -219,25 +245,25 @@ public class Q00254_LegendaryTales extends Quest
@Override
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());
if (!checkMask(st, boss))
if (!checkMask(qs, boss))
{
st.set("raids", raids | boss.getMask());
st.giveItems(LARGE_DRAGON_SKULL, 1);
qs.set("raids", raids | boss.getMask());
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
{
st.setCond(2, true);
qs.setCond(2, true);
}
}
}

View File

@@ -62,20 +62,20 @@ public class Q00270_TheOneWhoEndsSilence extends Quest
@Override
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
{
final QuestState st = getQuestState(player, false);
if (st == null)
final QuestState qs = getQuestState(player, false);
if (qs == null)
{
return null;
}
String htmltext = null;
final long ragsCount = st.getQuestItemsCount(TATTERED_MONK_CLOTHES);
final long ragsCount = getQuestItemsCount(player, TATTERED_MONK_CLOTHES);
switch (event)
{
case "32757-02.htm":
{
final QuestState qs = player.getQuestState(Q10288_SecretMission.class.getSimpleName());
if ((player.getLevel() >= MIN_LEVEL) && (qs != null) && qs.isCompleted())
final QuestState qst = player.getQuestState(Q10288_SecretMission.class.getSimpleName());
if ((player.getLevel() >= MIN_LEVEL) && (qst != null) && qst.isCompleted())
{
htmltext = event;
}
@@ -83,17 +83,17 @@ public class Q00270_TheOneWhoEndsSilence extends Quest
}
case "32757-04.html":
{
final QuestState qs = player.getQuestState(Q10288_SecretMission.class.getSimpleName());
if ((player.getLevel() >= MIN_LEVEL) && (qs != null) && qs.isCompleted())
final QuestState qst = player.getQuestState(Q10288_SecretMission.class.getSimpleName());
if ((player.getLevel() >= MIN_LEVEL) && (qst != null) && qst.isCompleted())
{
st.startQuest();
qs.startQuest();
htmltext = event;
}
break;
}
case "32757-08.html":
{
if (st.isCond(1))
if (qs.isCond(1))
{
if (ragsCount == 0)
{
@@ -118,20 +118,20 @@ public class Q00270_TheOneWhoEndsSilence extends Quest
{
if (getRandom(1000) < 438)
{
st.giveItems(10373 + getRandom(9), 1);
giveItems(player, 10373 + getRandom(9), 1);
}
else
{
st.giveItems(10397 + getRandom(9), 1);
giveItems(player, 10397 + getRandom(9), 1);
}
}
else
{
rewardScroll(st, 1);
rewardScroll(player, 1);
}
st.takeItems(TATTERED_MONK_CLOTHES, 100);
st.playSound(QuestSound.ITEMSOUND_QUEST_MIDDLE);
takeItems(player, TATTERED_MONK_CLOTHES, 100);
playSound(player, QuestSound.ITEMSOUND_QUEST_MIDDLE);
htmltext = "32757-09.html";
}
else
@@ -146,16 +146,16 @@ public class Q00270_TheOneWhoEndsSilence extends Quest
{
if (getRandom(1000) < 549)
{
st.giveItems(10373 + getRandom(9), 1);
giveItems(player, 10373 + getRandom(9), 1);
}
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);
st.playSound(QuestSound.ITEMSOUND_QUEST_MIDDLE);
takeItems(player, TATTERED_MONK_CLOTHES, 200);
playSound(player, QuestSound.ITEMSOUND_QUEST_MIDDLE);
htmltext = "32757-09.html";
}
else
@@ -168,12 +168,12 @@ public class Q00270_TheOneWhoEndsSilence extends Quest
{
if (ragsCount >= 300)
{
st.giveItems(10373 + getRandom(9), 1);
st.giveItems(10397 + getRandom(9), 1);
rewardScroll(st, 3);
giveItems(player, 10373 + getRandom(9), 1);
giveItems(player, 10397 + getRandom(9), 1);
rewardScroll(player, 3);
st.takeItems(TATTERED_MONK_CLOTHES, 300);
st.playSound(QuestSound.ITEMSOUND_QUEST_MIDDLE);
takeItems(player, TATTERED_MONK_CLOTHES, 300);
playSound(player, QuestSound.ITEMSOUND_QUEST_MIDDLE);
htmltext = "32757-09.html";
}
else
@@ -186,28 +186,28 @@ public class Q00270_TheOneWhoEndsSilence extends Quest
{
if (ragsCount >= 400)
{
st.giveItems(10373 + getRandom(9), 1);
st.giveItems(10397 + getRandom(9), 1);
rewardScroll(st, 3);
giveItems(player, 10373 + getRandom(9), 1);
giveItems(player, 10397 + getRandom(9), 1);
rewardScroll(player, 3);
if (getRandom(10) < 5)
{
if (getRandom(1000) < 438)
{
st.giveItems(10373 + getRandom(9), 1);
giveItems(player, 10373 + getRandom(9), 1);
}
else
{
st.giveItems(10397 + getRandom(9), 1);
giveItems(player, 10397 + getRandom(9), 1);
}
}
else
{
rewardScroll(st, 1);
rewardScroll(player, 1);
}
st.takeItems(TATTERED_MONK_CLOTHES, 400);
st.playSound(QuestSound.ITEMSOUND_QUEST_MIDDLE);
takeItems(player, TATTERED_MONK_CLOTHES, 400);
playSound(player, QuestSound.ITEMSOUND_QUEST_MIDDLE);
htmltext = "32757-09.html";
}
else
@@ -220,22 +220,22 @@ public class Q00270_TheOneWhoEndsSilence extends Quest
{
if (ragsCount >= 500)
{
st.giveItems(10373 + getRandom(9), 1);
st.giveItems(10397 + getRandom(9), 1);
rewardScroll(st, 3);
giveItems(player, 10373 + getRandom(9), 1);
giveItems(player, 10397 + getRandom(9), 1);
rewardScroll(player, 3);
if (getRandom(1000) < 549)
{
st.giveItems(10373 + getRandom(9), 1);
giveItems(player, 10373 + getRandom(9), 1);
}
else
{
st.giveItems(10397 + getRandom(9), 1);
giveItems(player, 10397 + getRandom(9), 1);
}
rewardScroll(st, 2);
st.takeItems(TATTERED_MONK_CLOTHES, 500);
st.playSound(QuestSound.ITEMSOUND_QUEST_MIDDLE);
rewardScroll(player, 2);
takeItems(player, TATTERED_MONK_CLOTHES, 500);
playSound(player, QuestSound.ITEMSOUND_QUEST_MIDDLE);
htmltext = "32757-09.html";
}
else
@@ -246,7 +246,7 @@ public class Q00270_TheOneWhoEndsSilence extends Quest
}
case "exit1":
{
if (st.isCond(1))
if (qs.isCond(1))
{
if (ragsCount >= 1)
{
@@ -254,7 +254,7 @@ public class Q00270_TheOneWhoEndsSilence extends Quest
}
else
{
st.exitQuest(true, true);
qs.exitQuest(true, true);
htmltext = "32757-13.html";
}
}
@@ -262,9 +262,9 @@ public class Q00270_TheOneWhoEndsSilence extends Quest
}
case "exit2":
{
if (st.isCond(1))
if (qs.isCond(1))
{
st.exitQuest(true, true);
qs.exitQuest(true, true);
htmltext = "32757-13.html";
}
break;
@@ -335,41 +335,46 @@ public class Q00270_TheOneWhoEndsSilence extends Quest
@Override
public String onTalk(L2Npc npc, L2PcInstance player)
{
final QuestState st = getQuestState(player, true);
final QuestState qs = getQuestState(player, true);
String htmltext = getNoQuestMsg(player);
if (st == null)
if (qs == null)
{
return htmltext;
}
switch (st.getState())
switch (qs.getState())
{
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;
}
case State.STARTED:
if (st.isCond(1))
{
if (qs.isCond(1))
{
htmltext = "32757-05.html";
}
break;
}
}
return htmltext;
}
/**
* Wrapper for this repetitive reward.
* @param qs the player's quest state.
* @param player the player.
* @param type the type.
*/
private void rewardScroll(QuestState qs, int type)
private void rewardScroll(L2PcInstance player, int type)
{
int chance;
int scrollId = 5593;
switch (type)
{
case 1:
{
chance = getRandom(100);
if (chance < 1)
{
@@ -388,7 +393,9 @@ public class Q00270_TheOneWhoEndsSilence extends Quest
scrollId = 9898;
}
break;
}
case 2:
{
chance = getRandom(100);
if (chance < 20)
{
@@ -407,7 +414,9 @@ public class Q00270_TheOneWhoEndsSilence extends Quest
scrollId = 9898;
}
break;
}
case 3:
{
chance = getRandom(1000);
if (chance < 242)
{
@@ -426,8 +435,9 @@ public class Q00270_TheOneWhoEndsSilence extends Quest
scrollId = 9898;
}
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);
if (count > 0)
{
final QuestState qs = player.getQuestState(Q00270_TheOneWhoEndsSilence.class.getSimpleName());
qs.giveItems(TATTERED_MONK_CLOTHES, count);
qs.playSound(QuestSound.ITEMSOUND_QUEST_ITEMGET);
giveItems(player, TATTERED_MONK_CLOTHES, count);
playSound(player, 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)
{
String htmltext = event;
final QuestState st = getQuestState(player, false);
if (st == null)
final QuestState qs = getQuestState(player, false);
if (qs == null)
{
return htmltext;
}
@@ -68,7 +68,7 @@ public class Q00278_HomeSecurity extends Quest
}
case "31537-04.htm":
{
st.startQuest();
qs.startQuest();
break;
}
case "31537-07.html":
@@ -77,58 +77,58 @@ public class Q00278_HomeSecurity extends Quest
if (i0 < 10)
{
st.giveItems(960, 1);
giveItems(player, 960, 1);
}
else if (i0 < 19)
{
st.giveItems(960, 2);
giveItems(player, 960, 2);
}
else if (i0 < 27)
{
st.giveItems(960, 3);
giveItems(player, 960, 3);
}
else if (i0 < 34)
{
st.giveItems(960, 4);
giveItems(player, 960, 4);
}
else if (i0 < 40)
{
st.giveItems(960, 5);
giveItems(player, 960, 5);
}
else if (i0 < 45)
{
st.giveItems(960, 6);
giveItems(player, 960, 6);
}
else if (i0 < 49)
{
st.giveItems(960, 7);
giveItems(player, 960, 7);
}
else if (i0 < 52)
{
st.giveItems(960, 8);
giveItems(player, 960, 8);
}
else if (i0 < 54)
{
st.giveItems(960, 9);
giveItems(player, 960, 9);
}
else if (i0 < 55)
{
st.giveItems(960, 10);
giveItems(player, 960, 10);
}
else if (i0 < 75)
{
st.giveItems(9553, 1);
giveItems(player, 9553, 1);
}
else if (i0 < 90)
{
st.giveItems(9553, 2);
giveItems(player, 9553, 2);
}
else
{
st.giveItems(959, 1);
giveItems(player, 959, 1);
}
st.exitQuest(true, true);
qs.exitQuest(true, true);
htmltext = "31537-07.html";
break;
}
@@ -139,26 +139,26 @@ public class Q00278_HomeSecurity extends Quest
@Override
public String onKill(L2Npc npc, L2PcInstance player, boolean isSummon)
{
final QuestState st = getRandomPartyMemberState(player, 1, 3, npc);
if (st != null)
final QuestState qs = getRandomPartyMemberState(player, 1, 3, npc);
if (qs != null)
{
switch (npc.getId())
{
case 18905: // Farm Ravager (Crazy)
{
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;
}
case 18906: // Farm Bandit
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;
}
@@ -171,23 +171,23 @@ public class Q00278_HomeSecurity extends Quest
public String onTalk(L2Npc npc, L2PcInstance player)
{
String htmltext = getNoQuestMsg(player);
final QuestState st = getQuestState(player, true);
if (st == null)
final QuestState qs = getQuestState(player, true);
if (qs == null)
{
return htmltext;
}
if (st.isCreated())
if (qs.isCreated())
{
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";
}
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";
}

View File

@@ -68,22 +68,22 @@ public final class Q00279_TargetOfOpportunity extends Quest
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
{
final String htmltext = event;
final QuestState st = getQuestState(player, false);
if ((st == null) || (player.getLevel() < 82))
final QuestState qs = getQuestState(player, false);
if ((qs == null) || (player.getLevel() < 82))
{
return getNoQuestMsg(player);
}
if (event.equalsIgnoreCase("32302-05.html"))
if (event.equals("32302-05.html"))
{
st.startQuest();
st.set("progress", "1");
qs.startQuest();
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);
st.giveItems(SEAL_BREAKERS[1], 1);
st.exitQuest(true, true);
giveItems(player, SEAL_BREAKERS[0], 1);
giveItems(player, SEAL_BREAKERS[1], 1);
qs.exitQuest(true, true);
}
return htmltext;
}
@@ -98,19 +98,19 @@ public final class Q00279_TargetOfOpportunity extends Quest
return null;
}
final QuestState st = getQuestState(pl, false);
final QuestState qs = getQuestState(pl, false);
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);
if (haveAllExceptThis(st, idx))
giveItems(player, SEAL_COMPONENTS[idx], 1);
if (haveAllExceptThis(player, idx))
{
st.setCond(2, true);
qs.setCond(2, true);
}
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)
{
String htmltext = getNoQuestMsg(player);
final QuestState st = getQuestState(player, true);
if (st == null)
final QuestState qs = getQuestState(player, true);
if (qs == null)
{
return htmltext;
}
if (st.getState() == State.CREATED)
if (qs.getState() == State.CREATED)
{
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;
}
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++)
{
@@ -147,7 +147,7 @@ public final class Q00279_TargetOfOpportunity extends Quest
continue;
}
if (!st.hasQuestItems(SEAL_COMPONENTS[i]))
if (!hasQuestItems(player, SEAL_COMPONENTS[i]))
{
return false;
}

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -150,26 +150,26 @@ public class Q00350_EnhanceYourWeapon extends Quest
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
{
final String htmltext = event;
final QuestState st = getQuestState(player, false);
final QuestState qs = getQuestState(player, false);
if (event.endsWith("-04.htm"))
{
st.startQuest();
qs.startQuest();
}
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"))
{
st.giveItems(GREEN_SOUL_CRYSTAL0_ID, 1);
giveItems(player, GREEN_SOUL_CRYSTAL0_ID, 1);
}
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"))
{
st.exitQuest(true);
qs.exitQuest(true);
}
return htmltext;
}
@@ -218,36 +218,36 @@ public class Q00350_EnhanceYourWeapon extends Quest
public String onTalk(L2Npc npc, L2PcInstance player)
{
String htmltext = getNoQuestMsg(player);
final QuestState st = getQuestState(player, true);
if (st == null)
final QuestState qs = getQuestState(player, true);
if (qs == null)
{
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";
}
else if (check(st))
else if (check(player))
{
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";
}
return htmltext;
}
private static boolean check(QuestState st)
private static boolean check(L2PcInstance player)
{
for (int i = 4629; i < 4665; i++)
{
if (st.hasQuestItems(i))
if (hasQuestItems(player, i))
{
return true;
}
@@ -290,8 +290,8 @@ public class Q00350_EnhanceYourWeapon extends Quest
private static SoulCrystal getSCForPlayer(L2PcInstance player)
{
final QuestState st = player.getQuestState(Q00350_EnhanceYourWeapon.class.getSimpleName());
if ((st == null) || !st.isStarted())
final QuestState qs = player.getQuestState(Q00350_EnhanceYourWeapon.class.getSimpleName());
if ((qs == null) || !qs.isStarted())
{
return null;
}
@@ -447,6 +447,7 @@ public class Q00350_EnhanceYourWeapon extends Quest
switch (mainlvlInfo.getAbsorbCrystalType())
{
case PARTY_ONE_RANDOM:
{
// 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
// 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);
}
break;
}
case PARTY_RANDOM:
{
if (killer.getParty() != null)
{
final List<L2PcInstance> luckyParty = new ArrayList<>();
@@ -479,7 +482,9 @@ public class Q00350_EnhanceYourWeapon extends Quest
levelCrystal(killer, players.get(killer), mob);
}
break;
}
case FULL_PARTY:
{
if (killer.getParty() != null)
{
for (L2PcInstance pl : killer.getParty().getMembers())
@@ -492,9 +497,12 @@ public class Q00350_EnhanceYourWeapon extends Quest
levelCrystal(killer, players.get(killer), mob);
}
break;
}
case LAST_HIT:
{
levelCrystal(killer, players.get(killer), mob);
break;
}
}
}

View File

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

View File

@@ -195,11 +195,11 @@ public final class Q00371_ShrieksOfGhosts extends Quest
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())
{
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);
}

View File

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

View File

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

View File

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

View File

@@ -57,9 +57,9 @@ public class Q00450_GraveRobberRescue extends Quest
@Override
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;
}
@@ -70,18 +70,26 @@ public class Q00450_GraveRobberRescue extends Quest
case "32650-04.htm":
case "32650-05.htm":
case "32650-06.html":
{
break;
}
case "32650-07.htm":
st.startQuest();
{
qs.startQuest();
break;
}
case "despawn":
{
npc.setBusy(false);
npc.deleteMe();
htmltext = null;
break;
}
default:
{
htmltext = null;
break;
}
}
return htmltext;
}
@@ -90,42 +98,49 @@ public class Q00450_GraveRobberRescue extends Quest
public String onTalk(L2Npc npc, L2PcInstance 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;
}
if (npc.getId() == KANEMIKA)
{
switch (st.getState())
switch (qs.getState())
{
case State.COMPLETED:
if (!st.isNowAvailable())
{
if (!qs.isNowAvailable())
{
htmltext = "32650-03.html";
break;
}
st.setState(State.CREATED);
qs.setState(State.CREATED);
// fallthrou
}
case State.CREATED:
{
htmltext = (player.getLevel() >= MIN_LEVEL) ? "32650-01.htm" : "32650-02.htm";
break;
}
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
{
st.giveAdena(65000, true); // Glory days reward: 6 886 980 exp, 8 116 410 sp, 371 400 Adena
st.exitQuest(QuestType.DAILY, true);
giveAdena(player, 65000, true); // Glory days reward: 6 886 980 exp, 8 116 410 sp, 371 400 Adena
qs.exitQuest(QuestType.DAILY, true);
htmltext = "32650-10.html";
}
break;
}
}
}
else if (st.isCond(1))
else if (qs.isCond(1))
{
if (npc.isBusy())
{
@@ -134,16 +149,16 @@ public class Q00450_GraveRobberRescue extends Quest
if (getRandom(100) < 66)
{
st.giveItems(EVIDENCE_OF_MIGRATION, 1);
st.playSound(QuestSound.ITEMSOUND_QUEST_ITEMGET);
giveItems(player, EVIDENCE_OF_MIGRATION, 1);
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.setBusy(true);
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";
}

View File

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

View File

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

View File

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

View File

@@ -73,18 +73,18 @@ public class Q00455_WingsOfSand extends Quest
@Override
public void actionForEachPlayer(L2PcInstance player, L2Npc npc, boolean isSummon)
{
final QuestState st = getQuestState(player, false);
if ((st != null) && Util.checkIfInRange(1500, npc, player, false) && (getRandom(1000) < CHANCE))
final QuestState qs = getQuestState(player, false);
if ((qs != null) && Util.checkIfInRange(1500, npc, player, false) && (getRandom(1000) < CHANCE))
{
st.giveItems(LARGE_BABY_DRAGON, 1);
st.playSound(QuestSound.ITEMSOUND_QUEST_ITEMGET);
if (st.getQuestItemsCount(LARGE_BABY_DRAGON) == 1)
giveItems(player, LARGE_BABY_DRAGON, 1);
playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET);
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
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
{
final QuestState st = getQuestState(player, false);
if (st == null)
final QuestState qs = getQuestState(player, false);
if (qs == null)
{
return null;
}
@@ -112,7 +112,7 @@ public class Q00455_WingsOfSand extends Quest
}
case "32864-05.htm":
{
st.startQuest();
qs.startQuest();
htmltext = event;
break;
}
@@ -131,14 +131,14 @@ public class Q00455_WingsOfSand extends Quest
@Override
public String onTalk(L2Npc npc, L2PcInstance player)
{
final QuestState st = getQuestState(player, true);
if (st == null)
final QuestState qs = getQuestState(player, true);
if (qs == null)
{
return getNoQuestMsg(player);
}
String htmltext = getNoQuestMsg(player);
switch (st.getState())
switch (qs.getState())
{
case State.CREATED:
{
@@ -150,7 +150,7 @@ public class Q00455_WingsOfSand extends Quest
}
case State.STARTED:
{
switch (st.getCond())
switch (qs.getCond())
{
case 1:
{
@@ -159,13 +159,13 @@ public class Q00455_WingsOfSand extends Quest
}
case 2:
{
giveItems(st);
giveItems(qs);
htmltext = "32864-07.html";
break;
}
case 3:
{
giveItems(st);
giveItems(qs);
htmltext = "32864-07.html";
break;
}
@@ -174,13 +174,13 @@ public class Q00455_WingsOfSand extends Quest
}
case State.COMPLETED:
{
if (!st.isNowAvailable())
if (!qs.isNowAvailable())
{
htmltext = "32864-08.html";
}
else
{
st.setState(State.CREATED);
qs.setState(State.CREATED);
if (player.getLevel() >= MIN_LEVEL)
{
htmltext = "32864-01.htm";
@@ -194,53 +194,54 @@ public class Q00455_WingsOfSand extends Quest
/**
* 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 parts;
for (int i = 1; i <= (st.getCond() - 1); i++)
for (int i = 1; i <= (qs.getCond() - 1); i++)
{
chance = getRandom(1000);
parts = getRandom(1, 2);
if (chance < 50)
{
st.giveItems(getRandom(15815, 15825), 1); // Weapon Recipes
giveItems(player, getRandom(15815, 15825), 1); // Weapon Recipes
}
else if (chance < 100)
{
st.giveItems(getRandom(15792, 15808), parts); // Armor Recipes
giveItems(player, getRandom(15792, 15808), parts); // Armor Recipes
}
else if (chance < 150)
{
st.giveItems(getRandom(15809, 15811), parts); // Jewelry Recipes
giveItems(player, getRandom(15809, 15811), parts); // Jewelry Recipes
}
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)
{
st.giveItems(getRandom(15634, 15644), parts); // Weapon Parts
giveItems(player, getRandom(15634, 15644), parts); // Weapon Parts
}
else if (chance < 750)
{
st.giveItems(getRandom(15769, 15771), parts); // Jewelry Parts
giveItems(player, getRandom(15769, 15771), parts); // Jewelry Parts
}
else if (chance < 900)
{
st.giveItems(getRandom(9552, 9557), 1); // Crystals
giveItems(player, getRandom(9552, 9557), 1); // Crystals
}
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
{
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
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
{
final QuestState st = getQuestState(player, false);
if (st == null)
final QuestState qs = getQuestState(player, false);
if (qs == null)
{
return getNoQuestMsg(player);
}
@@ -79,7 +79,7 @@ public final class Q00457_LostAndFound extends Quest
case "32759-06.html":
{
npc.setScriptValue(0);
st.startQuest();
qs.startQuest();
npc.setTarget(player);
npc.setWalking();
npc.getAI().setIntention(CtrlIntention.AI_INTENTION_FOLLOW, player);
@@ -108,7 +108,7 @@ public final class Q00457_LostAndFound extends Quest
case "TIME_LIMIT":
{
startQuestTimer("STOP", 2000, npc, player);
st.exitQuest(QuestType.DAILY);
qs.exitQuest(QuestType.DAILY);
break;
}
case "CHECK":
@@ -119,7 +119,7 @@ public final class Q00457_LostAndFound extends Quest
if (distance > 5000)
{
startQuestTimer("STOP", 2000, npc, player);
st.exitQuest(QuestType.DAILY);
qs.exitQuest(QuestType.DAILY);
}
else if (npc.isScriptValue(0))
{
@@ -134,7 +134,7 @@ public final class Q00457_LostAndFound extends Quest
else if (npc.isScriptValue(2))
{
startQuestTimer("STOP", 2000, npc, player);
st.exitQuest(QuestType.DAILY);
qs.exitQuest(QuestType.DAILY);
}
}
for (L2Spawn escortSpawn : _escortCheckers)
@@ -147,8 +147,8 @@ public final class Q00457_LostAndFound extends Quest
cancelQuestTimer("CHECK", npc, player);
npc.broadcastPacket(new CreatureSay(npc.getObjectId(), ChatType.NPC_GENERAL, npc.getName(), NpcStringId.AH_FRESH_AIR));
broadcastNpcSay(npc, player, NpcStringId.AH_FRESH_AIR, false);
st.giveItems(PACKAGED_BOOK, 1);
st.exitQuest(QuestType.DAILY, true);
giveItems(player, PACKAGED_BOOK, 1);
qs.exitQuest(QuestType.DAILY, true);
break;
}
}
@@ -192,9 +192,9 @@ public final class Q00457_LostAndFound extends Quest
@Override
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);
}
@@ -205,13 +205,13 @@ public final class Q00457_LostAndFound extends Quest
public String onTalk(L2Npc npc, L2PcInstance player)
{
String htmltext = getNoQuestMsg(player);
QuestState st = getQuestState(player, true);
if (st == null)
QuestState qs = getQuestState(player, true);
if (qs == null)
{
st = newQuestState(player);
qs = newQuestState(player);
}
switch (st.getState())
switch (qs.getState())
{
case State.CREATED:
{
@@ -220,9 +220,9 @@ public final class Q00457_LostAndFound extends Quest
}
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";
}
else

View File

@@ -86,8 +86,8 @@ public class Q00458_PerfectForm extends Quest
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
{
final String noQuest = getNoQuestMsg(player);
final QuestState st = getQuestState(player, false);
if (st == null)
final QuestState qs = getQuestState(player, false);
if (qs == null)
{
return noQuest;
}
@@ -99,12 +99,15 @@ public class Q00458_PerfectForm extends Quest
switch (event)
{
case "32768-10.htm":
st.startQuest();
{
qs.startQuest();
break;
}
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)
{
htmltext = "32768-14a.html";
@@ -125,10 +128,12 @@ public class Q00458_PerfectForm extends Quest
htmltext = noQuest;
}
break;
}
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)
{
htmltext = "32768-15a.html";
@@ -149,10 +154,12 @@ public class Q00458_PerfectForm extends Quest
htmltext = noQuest;
}
break;
}
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)
{
htmltext = "32768-16a.html";
@@ -173,35 +180,38 @@ public class Q00458_PerfectForm extends Quest
htmltext = noQuest;
}
break;
}
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)
{
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)
{
final int rnd = getRandom(ICARUS_WEAPON_PIECES.length);
st.rewardItems(ICARUS_WEAPON_PIECES[rnd], 5);
rewardItems(player, ICARUS_WEAPON_PIECES[rnd], 5);
}
else
{
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
st.giveItems(15482, 10); // Golden Spice Crate
st.giveItems(15483, 10); // Crystal Spice Crate
giveItems(player, 15482, 10); // Golden Spice Crate
giveItems(player, 15483, 10); // Crystal Spice Crate
}
st.exitQuest(QuestType.DAILY, true);
qs.exitQuest(QuestType.DAILY, true);
}
else
{
htmltext = noQuest;
}
break;
}
}
if (overHitHtml)
@@ -215,8 +225,8 @@ public class Q00458_PerfectForm extends Quest
@Override
public String onKill(L2Npc npc, L2PcInstance player, boolean isSummon)
{
final QuestState st = getQuestState(player, false);
if ((st != null) && st.isCond(1))
final QuestState qs = getQuestState(player, false);
if ((qs != null) && qs.isCond(1))
{
int npcId = npc.getId();
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 int currentValue = st.getInt(variable);
final int currentValue = qs.getInt(variable);
if (currentValue < 10)
{
st.set(variable, String.valueOf(currentValue + 1)); // IncreaseNPCLogByID
qs.set(variable, String.valueOf(currentValue + 1)); // IncreaseNPCLogByID
final L2Attackable mob = (L2Attackable) npc;
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();
// L2Attackable#calculateOverhitExp() way of calculating overhit % seems illogical
final double overhitPercentage = (maxHp + mob.getOverhitDamage()) / maxHp;
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;
st.set("overhitsConsecutive", String.valueOf(overhitsConsecutive)); // memoStateEx 3
final int overhitsConsecutive = qs.getInt("overhitsConsecutive") + 1;
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)); }
*/
@@ -250,28 +260,28 @@ public class Q00458_PerfectForm extends Quest
else
{
// 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
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));
}
else
{
st.playSound(QuestSound.ITEMSOUND_QUEST_ITEMGET);
playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET);
}
final ExQuestNpcLogList log = new ExQuestNpcLogList(getId());
log.addNpc(18879, st.getInt("18879"));
log.addNpc(18886, st.getInt("18886"));
log.addNpc(18893, st.getInt("18893"));
log.addNpc(18900, st.getInt("18900"));
log.addNpc(18879, qs.getInt("18879"));
log.addNpc(18886, qs.getInt("18886"));
log.addNpc(18893, qs.getInt("18893"));
log.addNpc(18900, qs.getInt("18900"));
player.sendPacket(log);
}
@@ -283,30 +293,36 @@ public class Q00458_PerfectForm extends Quest
public String onTalk(L2Npc npc, L2PcInstance player)
{
String htmltext = getNoQuestMsg(player);
final QuestState st = getQuestState(player, true);
if (st == null)
final QuestState qs = getQuestState(player, true);
if (qs == null)
{
return htmltext;
}
switch (st.getState())
switch (qs.getState())
{
case State.COMPLETED:
if (!st.isNowAvailable())
{
if (!qs.isNowAvailable())
{
htmltext = "32768-18.htm";
break;
}
st.setState(State.CREATED);
qs.setState(State.CREATED);
//$FALL-THROUGH$
}
case State.CREATED:
{
htmltext = (player.getLevel() > 81) ? "32768-01.htm" : "32768-00.htm";
break;
}
case State.STARTED:
switch (st.getCond())
{
switch (qs.getCond())
{
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";
}
@@ -315,11 +331,15 @@ public class Q00458_PerfectForm extends Quest
htmltext = "32768-12.html";
}
break;
}
case 2:
{
htmltext = "32768-13.html";
break;
}
}
break;
}
}
return htmltext;
}

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -206,8 +206,8 @@ public final class Q00511_AwlUnderFoot extends Quest
}
for (L2PcInstance partyMember : party.getMembers())
{
final QuestState st = getQuestState(partyMember, false);
if ((st == null) || (st.getInt("cond") < 1))
final QuestState qs = getQuestState(partyMember, false);
if ((qs == null) || (qs.getCond() < 1))
{
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;
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 (st.isCond(0))
if (qs.isCond(0))
{
st.startQuest();
qs.startQuest();
}
}
else if (event.equalsIgnoreCase("FortressWarden-15.htm"))
{
st.exitQuest(true, true);
qs.exitQuest(true, true);
}
return htmltext;
}
@@ -407,23 +407,23 @@ public final class Q00511_AwlUnderFoot extends Quest
public String onTalk(L2Npc npc, L2PcInstance 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);
if (ret != null)
{
return ret;
}
else if (st != null)
else if (qs != null)
{
final int npcId = npc.getId();
int cond = 0;
if (st.getState() == State.CREATED)
if (qs.getState() == State.CREATED)
{
st.set("cond", "0");
qs.set("cond", "0");
}
else
{
cond = st.getInt("cond");
cond = qs.getCond();
}
if (_fortDungeons.containsKey(npcId) && (cond == 0))
{
@@ -434,17 +434,17 @@ public final class Q00511_AwlUnderFoot extends Quest
else
{
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))
{
htmltext = "FortressWarden-14.htm";
st.takeItems(DL_MARK, -1);
st.rewardItems(KNIGHT_EPALUETTE, count);
takeItems(player, DL_MARK, -1);
rewardItems(player, KNIGHT_EPALUETTE, count);
}
else if ((cond == 1) && (count == 0))
{
@@ -457,11 +457,11 @@ public final class Q00511_AwlUnderFoot extends Quest
private void rewardPlayer(L2PcInstance player)
{
final QuestState st = getQuestState(player, false);
if (st.isCond(1))
final QuestState qs = getQuestState(player, false);
if (qs.isCond(1))
{
st.giveItems(DL_MARK, 140);
st.playSound(QuestSound.ITEMSOUND_QUEST_ITEMGET);
giveItems(player, DL_MARK, 140);
playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET);
}
}

View File

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

View File

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

View File

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

View File

@@ -80,7 +80,7 @@ public final class Q00604_DaimonTheWhiteEyedPart2 extends Quest
}
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