|
@@ -17,6 +17,7 @@ package quests.Q10272_LightFragment;
|
|
|
import com.l2jserver.Config;
|
|
|
import com.l2jserver.gameserver.model.actor.L2Npc;
|
|
|
import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
|
|
|
+import com.l2jserver.gameserver.model.itemcontainer.PcInventory;
|
|
|
import com.l2jserver.gameserver.model.quest.Quest;
|
|
|
import com.l2jserver.gameserver.model.quest.QuestState;
|
|
|
import com.l2jserver.gameserver.model.quest.State;
|
|
@@ -47,22 +48,35 @@ public class Q10272_LightFragment extends Quest
|
|
|
public String onTalk(L2Npc npc, L2PcInstance player)
|
|
|
{
|
|
|
String htmltext = getNoQuestMsg(player);
|
|
|
- QuestState st = player.getQuestState(qn);
|
|
|
+ final QuestState st = player.getQuestState(qn);
|
|
|
if (st == null)
|
|
|
+ {
|
|
|
return htmltext;
|
|
|
+ }
|
|
|
|
|
|
+ final int npcId = npc.getNpcId();
|
|
|
+ final int cond = st.getInt("cond");
|
|
|
if (npc.getNpcId() == ORBYU)
|
|
|
{
|
|
|
switch (st.getState())
|
|
|
{
|
|
|
case State.CREATED:
|
|
|
- QuestState _prev = player.getQuestState("10271_TheEnvelopingDarkness");
|
|
|
- if ((_prev != null) && _prev.isCompleted() && (player.getLevel() >= 75))
|
|
|
- htmltext = "32560-01.htm";
|
|
|
- else
|
|
|
- htmltext = "32560-02.htm";
|
|
|
- if (player.getLevel() <= 75)
|
|
|
+ if (player.getLevel() < 75)
|
|
|
+ {
|
|
|
htmltext = "32560-03.htm";
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ final QuestState _prev = player.getQuestState("10271_TheEnvelopingDarkness");
|
|
|
+ if ((_prev != null) && _prev.isCompleted())
|
|
|
+ {
|
|
|
+ htmltext = "32560-01.htm";
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ htmltext = "32560-02.htm";
|
|
|
+ }
|
|
|
+ }
|
|
|
break;
|
|
|
case State.STARTED:
|
|
|
htmltext = "32560-06.htm";
|
|
@@ -77,123 +91,119 @@ public class Q10272_LightFragment extends Quest
|
|
|
htmltext = "32560-06.htm";
|
|
|
}
|
|
|
}
|
|
|
- else if (npc.getNpcId() == ARTIUS)
|
|
|
+ else if (npcId == ARTIUS)
|
|
|
{
|
|
|
if (st.isCompleted())
|
|
|
{
|
|
|
htmltext = "32559-19.htm";
|
|
|
}
|
|
|
- if (st.getInt("cond") == 1)
|
|
|
- {
|
|
|
- htmltext = "32559-01.htm";
|
|
|
- }
|
|
|
- if (st.getInt("cond") == 2)
|
|
|
- {
|
|
|
- htmltext = "32559-04.htm";
|
|
|
- }
|
|
|
- if (st.getInt("cond") == 3)
|
|
|
- {
|
|
|
- htmltext = "32559-08.htm";
|
|
|
- }
|
|
|
- else if (st.getInt("cond") == 4)
|
|
|
- {
|
|
|
- htmltext = "32559-10.htm";
|
|
|
- }
|
|
|
- else if (st.getInt("cond") == 5)
|
|
|
- {
|
|
|
- if (st.getQuestItemsCount(FRAGMENT_POWDER) >= 100)
|
|
|
- {
|
|
|
- htmltext = "32559-15.htm";
|
|
|
- st.set("cond", "6");
|
|
|
- }
|
|
|
- else if (st.hasQuestItems(FRAGMENT_POWDER))
|
|
|
- {
|
|
|
- htmltext = "32559-14.htm";
|
|
|
- }
|
|
|
- else if (!st.hasQuestItems(FRAGMENT_POWDER))
|
|
|
- {
|
|
|
- htmltext = "32559-13.htm";
|
|
|
- }
|
|
|
- }
|
|
|
- else if (st.getInt("cond") == 6)
|
|
|
+ else
|
|
|
{
|
|
|
- if (st.getQuestItemsCount(LIGHT_FRAGMENT_POWDER) < 100)
|
|
|
- htmltext = "32559-16.htm";
|
|
|
- else
|
|
|
+ switch (cond)
|
|
|
{
|
|
|
- st.set("cond", "7");
|
|
|
- st.playSound("ItemSound.quest_middle");
|
|
|
- htmltext = "32559-17.htm";
|
|
|
+ case 1:
|
|
|
+ htmltext = "32559-01.htm";
|
|
|
+ break;
|
|
|
+ case 2:
|
|
|
+ htmltext = "32559-04.htm";
|
|
|
+ break;
|
|
|
+ case 3:
|
|
|
+ htmltext = "32559-08.htm";
|
|
|
+ break;
|
|
|
+ case 4:
|
|
|
+ htmltext = "32559-10.htm";
|
|
|
+ break;
|
|
|
+ case 5:
|
|
|
+ if (st.getQuestItemsCount(FRAGMENT_POWDER) >= 100)
|
|
|
+ {
|
|
|
+ htmltext = "32559-15.htm";
|
|
|
+ st.set("cond", "6");
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ htmltext = st.hasQuestItems(FRAGMENT_POWDER) ? "32559-14.htm" : "32559-13.htm";
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 6:
|
|
|
+ if (st.getQuestItemsCount(LIGHT_FRAGMENT_POWDER) < 100)
|
|
|
+ {
|
|
|
+ htmltext = "32559-16.htm";
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ st.set("cond", "7");
|
|
|
+ st.playSound("ItemSound.quest_middle");
|
|
|
+ htmltext = "32559-17.htm";
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 7:
|
|
|
+ // TODO Nothing here?
|
|
|
+ break;
|
|
|
+ case 8:
|
|
|
+ st.giveAdena(556980, false);
|
|
|
+ st.addExpAndSp(1009016, 91363);
|
|
|
+ st.playSound("ItemSound.quest_finish");
|
|
|
+ st.exitQuest(false);
|
|
|
+ htmltext = "32559-18.htm";
|
|
|
+ break;
|
|
|
}
|
|
|
}
|
|
|
- else if (st.getInt("cond") == 8)
|
|
|
- {
|
|
|
- st.unset("cond");
|
|
|
- st.giveItems(57, 556980);
|
|
|
- st.addExpAndSp(1009016, 91363);
|
|
|
- st.playSound("ItemSound.quest_finish");
|
|
|
- st.setState(State.COMPLETED);
|
|
|
- st.exitQuest(false);
|
|
|
- htmltext = "32559-18.htm";
|
|
|
- }
|
|
|
}
|
|
|
- else if (npc.getNpcId() == GINBY)
|
|
|
+ else if (npcId == GINBY)
|
|
|
{
|
|
|
- if (st.getInt("cond") == 1)
|
|
|
- {
|
|
|
- htmltext = "32566-02.htm";
|
|
|
- }
|
|
|
- else if (st.getInt("cond") == 2)
|
|
|
- {
|
|
|
- htmltext = "32566-02.htm";
|
|
|
- }
|
|
|
- else if (st.getInt("cond") == 3)
|
|
|
- {
|
|
|
- htmltext = "32566-01.htm";
|
|
|
- }
|
|
|
- else if (st.getInt("cond") == 4)
|
|
|
+ switch (cond)
|
|
|
{
|
|
|
- htmltext = "32566-09.htm";
|
|
|
- }
|
|
|
- else if (st.getInt("cond") == 5)
|
|
|
- {
|
|
|
- htmltext = "32566-10.htm";
|
|
|
- }
|
|
|
- else if (st.getInt("cond") == 6)
|
|
|
- {
|
|
|
- htmltext = "32566-10.htm";
|
|
|
+ case 1:
|
|
|
+ case 2:
|
|
|
+ htmltext = "32566-02.htm";
|
|
|
+ break;
|
|
|
+ case 3:
|
|
|
+ htmltext = "32566-01.htm";
|
|
|
+ break;
|
|
|
+ case 4:
|
|
|
+ htmltext = "32566-09.htm";
|
|
|
+ break;
|
|
|
+ case 5:
|
|
|
+ htmltext = "32566-10.htm";
|
|
|
+ break;
|
|
|
+ case 6:
|
|
|
+ htmltext = "32566-10.htm";
|
|
|
+ break;
|
|
|
}
|
|
|
-
|
|
|
}
|
|
|
- else if (npc.getNpcId() == LELRIKIA)
|
|
|
+ else if (npcId == LELRIKIA)
|
|
|
{
|
|
|
- if (st.getInt("cond") == 3)
|
|
|
+ switch (cond)
|
|
|
{
|
|
|
- htmltext = "32567-01.htm";
|
|
|
- }
|
|
|
- else if (st.getInt("cond") == 4)
|
|
|
- {
|
|
|
- htmltext = "32567-05.htm";
|
|
|
+ case 3:
|
|
|
+ htmltext = "32567-01.htm";
|
|
|
+ break;
|
|
|
+ case 4:
|
|
|
+ htmltext = "32567-05.htm";
|
|
|
+ break;
|
|
|
}
|
|
|
}
|
|
|
- else if (npc.getNpcId() == LEKON)
|
|
|
+ else if (npcId == LEKON)
|
|
|
{
|
|
|
- if (st.getInt("cond") == 7)
|
|
|
- {
|
|
|
- htmltext = "32557-01.htm";
|
|
|
-
|
|
|
- if (st.getInt("wait") == 1)
|
|
|
- {
|
|
|
- st.giveItems(LIGHT_FRAGMENT, 1);;
|
|
|
- st.set("cond", "8");
|
|
|
- st.unset("wait");
|
|
|
- st.playSound("ItemSound.quest_middle");
|
|
|
- htmltext = "32557-05.htm";
|
|
|
- }
|
|
|
- }
|
|
|
- else if (st.getInt("cond") == 8)
|
|
|
+ switch (cond)
|
|
|
{
|
|
|
- htmltext = "32557-06.htm";
|
|
|
+ case 7:
|
|
|
+ if (st.getInt("wait") == 1)
|
|
|
+ {
|
|
|
+ st.giveItems(LIGHT_FRAGMENT, 1);;
|
|
|
+ st.set("cond", "8");
|
|
|
+ st.unset("wait");
|
|
|
+ st.playSound("ItemSound.quest_middle");
|
|
|
+ htmltext = "32557-05.htm";
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ htmltext = "32557-01.htm";
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 8:
|
|
|
+ htmltext = "32557-06.htm";
|
|
|
+ break;
|
|
|
}
|
|
|
}
|
|
|
return htmltext;
|
|
@@ -203,10 +213,11 @@ public class Q10272_LightFragment extends Quest
|
|
|
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
|
|
|
{
|
|
|
String htmltext = event;
|
|
|
- QuestState st = player.getQuestState(qn);
|
|
|
-
|
|
|
+ final QuestState st = player.getQuestState(qn);
|
|
|
if (st == null)
|
|
|
+ {
|
|
|
return htmltext;
|
|
|
+ }
|
|
|
|
|
|
if (event.equalsIgnoreCase("32560-06.htm"))
|
|
|
{
|
|
@@ -224,11 +235,15 @@ public class Q10272_LightFragment extends Quest
|
|
|
}
|
|
|
else if (event.equalsIgnoreCase("pay"))
|
|
|
{
|
|
|
- if (st.getQuestItemsCount(57) >= 10000)
|
|
|
- st.takeItems(57, 10000);
|
|
|
- htmltext = "32566-05.htm";
|
|
|
- if (st.getQuestItemsCount(57) < 10000)
|
|
|
+ if (st.getQuestItemsCount(PcInventory.ADENA_ID) >= 10000)
|
|
|
+ {
|
|
|
+ st.giveAdena(10000, false);
|
|
|
+ htmltext = "32566-05.htm";
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
htmltext = "32566-04a.htm";
|
|
|
+ }
|
|
|
}
|
|
|
else if (event.equalsIgnoreCase("32567-04.htm"))
|
|
|
{
|
|
@@ -247,7 +262,9 @@ public class Q10272_LightFragment extends Quest
|
|
|
st.set("wait", "1");
|
|
|
}
|
|
|
else
|
|
|
+ {
|
|
|
htmltext = "32557-04.htm";
|
|
|
+ }
|
|
|
}
|
|
|
return htmltext;
|
|
|
}
|
|
@@ -265,15 +282,19 @@ public class Q10272_LightFragment extends Quest
|
|
|
int numItems = chance / 100;
|
|
|
chance = chance % 100;
|
|
|
if (st.getRandom(100) < chance)
|
|
|
+ {
|
|
|
numItems++;
|
|
|
+ }
|
|
|
if (numItems > 0)
|
|
|
{
|
|
|
- if (count + numItems >= 100)
|
|
|
+ if ((count + numItems) >= 100)
|
|
|
{
|
|
|
numItems = 100 - (int) count;
|
|
|
}
|
|
|
else
|
|
|
+ {
|
|
|
st.playSound("ItemSound.quest_itemget");
|
|
|
+ }
|
|
|
st.giveItems(FRAGMENT_POWDER, numItems);
|
|
|
}
|
|
|
}
|
|
@@ -284,16 +305,11 @@ public class Q10272_LightFragment extends Quest
|
|
|
public Q10272_LightFragment(int questId, String name, String descr)
|
|
|
{
|
|
|
super(questId, name, descr);
|
|
|
+
|
|
|
addStartNpc(ORBYU);
|
|
|
- addTalkId(ORBYU);
|
|
|
- addTalkId(ARTIUS);
|
|
|
- addTalkId(GINBY);
|
|
|
- addTalkId(LELRIKIA);
|
|
|
- addTalkId(LEKON);
|
|
|
- for (int i : Monsters)
|
|
|
- {
|
|
|
- addKillId(i);
|
|
|
- }
|
|
|
+ addTalkId(ORBYU, ARTIUS, GINBY, LELRIKIA, LEKON);
|
|
|
+ addKillId(Monsters);
|
|
|
+
|
|
|
questItemIds = new int[]
|
|
|
{
|
|
|
FRAGMENT_POWDER, LIGHT_FRAGMENT_POWDER,
|