Skip to content

Instantly share code, notes, and snippets.

@VlLight
Last active December 29, 2015 04:59
Show Gist options
  • Save VlLight/7618930 to your computer and use it in GitHub Desktop.
Save VlLight/7618930 to your computer and use it in GitHub Desktop.
Q00327_RecoverTheFarmland
Index: dist/game/data/scripts/quests/Q00327_RecoverTheFarmland/Q00327_RecoverTheFarmland.java
===================================================================
--- dist/game/data/scripts/quests/Q00327_RecoverTheFarmland/Q00327_RecoverTheFarmland.java (revision 10044)
+++ dist/game/data/scripts/quests/Q00327_RecoverTheFarmland/Q00327_RecoverTheFarmland.java (working copy)
@@ -35,7 +35,7 @@
public final class Q00327_RecoverTheFarmland extends Quest
{
- // NPC
+ // NPCs
private static final int IRIS = 30034;
private static final int ASHA = 30313;
private static final int NESTLE = 30314;
@@ -49,7 +49,7 @@
private static final int TUREK_ORK_SENTINEL = 20500;
private static final int TUREK_ORK_SHAMAN = 20501;
- // Item
+ // Items
private static final int TUREK_DOG_TAG = 1846;
private static final int TUREK_MEDALLION = 1847;
private static final int LEIKANS_LETTER = 5012;
@@ -110,186 +110,187 @@
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
{
final QuestState st = getQuestState(player, false);
- if (st != null)
+ if (st == null)
{
- switch(event)
- {
- case "30382-03.htm" :
- st.startQuest();
- giveItems(player, LEIKANS_LETTER, 1);
- st.setCond(2);
- break;
- case "30597-03.htm" :
- st.startQuest();
- break;
- case "30597-06.html" :
- st.exitQuest(true, true);
- break;
- case "30034-03.html" :
- case "30034-04.html" :
- case "30034-05.html" :
- case "30034-06.html" :
- final ItemHolder item = FRAGMENTS_REWARD_DATA.get(event);
- if (!hasQuestItems(player, item.getId()))
+ return null;
+ }
+
+ switch(event)
+ {
+ case "30382-03.htm" :
+ st.startQuest();
+ giveItems(player, LEIKANS_LETTER, 1);
+ st.setCond(2);
+ break;
+ case "30597-03.htm" :
+ st.startQuest();
+ break;
+ case "30597-06.html" :
+ st.exitQuest(true, true);
+ break;
+ case "30034-03.html" :
+ case "30034-04.html" :
+ case "30034-05.html" :
+ case "30034-06.html" :
+ final ItemHolder item = FRAGMENTS_REWARD_DATA.get(event);
+ if (!hasQuestItems(player, item.getId()))
+ {
+ event = "30034-02.html";
+ }
+ else
+ {
+ addExpAndSp(player, getQuestItemsCount(player, item.getId()) * item.getCount(), 0);
+ takeItems(player, item.getId(), -1);
+ playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET);
+ }
+ break;
+ case "30034-07.html" :
+ boolean rewarded = false;
+ for (ItemHolder it : FULL_REWARD_DATA)
+ {
+ if (hasQuestItems(player, it.getId()))
{
- event = "30034-02.html";
+ addExpAndSp(player, getQuestItemsCount(player, it.getId()) * it.getCount(), 0);
+ takeItems(player, it.getId(), -1);
+ playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET);
+ rewarded = true;
}
- else
+ }
+ if (!rewarded)
+ {
+ event = "30034-02.html";
+ }
+ break;
+ case "30313-03.html" :
+ if (getQuestItemsCount(player, CLAY_URN_FRAGMENT) < 5)
+ {
+ event = "30313-02.html";
+ }
+ else
+ {
+ takeItems(player, CLAY_URN_FRAGMENT, 5);
+ if (getRandom(6) < 5)
{
- addExpAndSp(player, getQuestItemsCount(player, item.getId()) * item.getCount(), 0);
- takeItems(player, item.getId(), -1);
- st.playSound(QuestSound.ITEMSOUND_QUEST_ITEMGET);
+ giveItems(player, ANCIENT_CLAY_URN, 1);
}
- break;
- case "30034-07.html" :
- boolean rewarded = false;
- for (ItemHolder it : FULL_REWARD_DATA)
- {
- if (hasQuestItems(player, it.getId()))
- {
- addExpAndSp(player, getQuestItemsCount(player, it.getId()) * it.getCount(), 0);
- takeItems(player, it.getId(), -1);
- st.playSound(QuestSound.ITEMSOUND_QUEST_ITEMGET);
- rewarded = true;
- }
- }
- if (!rewarded)
- {
- event = "30034-02.html";
- }
- break;
- case "30313-03.html" :
- if (getQuestItemsCount(player, CLAY_URN_FRAGMENT) < 5)
- {
- event = "30313-02.html";
- }
else
{
- takeItems(player, CLAY_URN_FRAGMENT, 5);
- if (getRandom(6) < 5)
- {
- giveItems(player, ANCIENT_CLAY_URN, 1);
- }
- else
- {
- event = "30313-10.html";
- }
+ event = "30313-10.html";
}
- break;
- case "30313-05.html" :
- if (getQuestItemsCount(player, BRASS_TRINKET_PIECE) < 5)
+ }
+ break;
+ case "30313-05.html" :
+ if (getQuestItemsCount(player, BRASS_TRINKET_PIECE) < 5)
+ {
+ event = "30313-04.html";
+ }
+ else
+ {
+ takeItems(player, BRASS_TRINKET_PIECE, 5);
+ if (getRandom(7) < 6)
{
- event = "30313-04.html";
+ giveItems(player, ANCIENT_BRASS_TIARA, 1);
}
else
{
- takeItems(player, BRASS_TRINKET_PIECE, 5);
- if (getRandom(7) < 6)
- {
- giveItems(player, ANCIENT_BRASS_TIARA, 1);
- }
- else
- {
- event = "30313-10.html";
- }
+ event = "30313-10.html";
}
- break;
- case "30313-07.html" :
- if (getQuestItemsCount(player, BRONZE_MIRROR_PIECE) < 5)
+ }
+ break;
+ case "30313-07.html" :
+ if (getQuestItemsCount(player, BRONZE_MIRROR_PIECE) < 5)
+ {
+ event = "30313-06.html";
+ }
+ else
+ {
+ takeItems(player, BRONZE_MIRROR_PIECE, 5);
+ if (getRandom(7) < 6)
{
- event = "30313-06.html";
+ giveItems(player, ANCIENT_BRONZE_MIRROR, 1);
}
else
{
- takeItems(player, BRONZE_MIRROR_PIECE, 5);
- if (getRandom(7) < 6)
- {
- giveItems(player, ANCIENT_BRONZE_MIRROR, 1);
- }
- else
- {
- event = "30313-10.html";
- }
+ event = "30313-10.html";
}
- break;
- case "30313-09.html" :
- if (getQuestItemsCount(player, JADE_NECKLACE_BEAD) < 5)
+ }
+ break;
+ case "30313-09.html" :
+ if (getQuestItemsCount(player, JADE_NECKLACE_BEAD) < 5)
+ {
+ event = "30313-08.html";
+ }
+ else
+ {
+ takeItems(player, JADE_NECKLACE_BEAD, 5);
+ if (getRandom(8) < 7)
{
- event = "30313-08.html";
+ giveItems(player, ANCIENT_JADE_NECKLACE, 1);
}
else
{
- takeItems(player, JADE_NECKLACE_BEAD, 5);
- if (getRandom(8) < 7)
- {
- giveItems(player, ANCIENT_JADE_NECKLACE, 1);
- }
- else
- {
- event = "30313-10.html";
- }
+ event = "30313-10.html";
}
- break;
- case "30314-03.html" :
- if (!hasQuestItems(player, ANCIENT_CLAY_URN))
+ }
+ break;
+ case "30314-03.html" :
+ if (!hasQuestItems(player, ANCIENT_CLAY_URN))
+ {
+ event = "30314-07.html";
+ }
+ else
+ {
+ rewardItems(player, SOULSHOT_D, getRandom(70, 110));
+ takeItems(player, ANCIENT_CLAY_URN, 1);
+ }
+ break;
+ case "30314-04.html" :
+ if (!hasQuestItems(player, ANCIENT_BRASS_TIARA))
+ {
+ event = "30314-07.html";
+ }
+ else
+ {
+ final int rnd = getRandom(100);
+ if (rnd < 40)
{
- event = "30314-07.html";
+ rewardItems(player, HEALING_POTION, 1);
}
- else
+ else if (rnd < 84)
{
- rewardItems(player, SOULSHOT_D, getRandom(70, 110));
- takeItems(player, ANCIENT_CLAY_URN, 1);
+ rewardItems(player, QUICK_STEP_POTION, 1);
}
- break;
- case "30314-04.html" :
- if (!hasQuestItems(player, ANCIENT_BRASS_TIARA))
- {
- event = "30314-07.html";
- }
else
{
- final int rnd = getRandom(100);
- if (rnd < 40)
- {
- rewardItems(player, HEALING_POTION, 1);
- }
- else if (rnd < 84)
- {
- rewardItems(player, QUICK_STEP_POTION, 1);
- }
- else
- {
- rewardItems(player, SWIFT_ATTACK_POTION, 1);
- }
- takeItems(player, ANCIENT_BRASS_TIARA, 1);
+ rewardItems(player, SWIFT_ATTACK_POTION, 1);
}
- break;
- case "30314-05.html" :
- if (!hasQuestItems(player, ANCIENT_BRONZE_MIRROR))
- {
- event = "30314-07.html";
- }
- else
- {
- rewardItems(player, (getRandom(100) < 59) ? SCROLL_OF_ESCAPE : SCROLL_OF_RESURRECTION, 1);
- takeItems(player, ANCIENT_BRONZE_MIRROR, 1);
- }
- break;
- case "30314-06.html" :
- if (!hasQuestItems(player, ANCIENT_JADE_NECKLACE))
- {
- event = "30314-07.html";
- }
- else
- {
- rewardItems(player, SPIRITSHOT_D, getRandom(50, 90));
- takeItems(player, ANCIENT_JADE_NECKLACE, 1);
- }
- }
-
- return event;
+ takeItems(player, ANCIENT_BRASS_TIARA, 1);
+ }
+ break;
+ case "30314-05.html" :
+ if (!hasQuestItems(player, ANCIENT_BRONZE_MIRROR))
+ {
+ event = "30314-07.html";
+ }
+ else
+ {
+ rewardItems(player, (getRandom(100) < 59) ? SCROLL_OF_ESCAPE : SCROLL_OF_RESURRECTION, 1);
+ takeItems(player, ANCIENT_BRONZE_MIRROR, 1);
+ }
+ break;
+ case "30314-06.html" :
+ if (!hasQuestItems(player, ANCIENT_JADE_NECKLACE))
+ {
+ event = "30314-07.html";
+ }
+ else
+ {
+ rewardItems(player, SPIRITSHOT_D, getRandom(50, 90));
+ takeItems(player, ANCIENT_JADE_NECKLACE, 1);
+ }
}
- return null;
+
+ return event;
}
@Override
@@ -320,56 +321,42 @@
{
final QuestState st = getQuestState(player, true);
String html = getNoQuestMsg(player);
-
- if (st.isCreated())
+
+ switch(npc.getId())
{
- switch(npc.getId())
- {
- case LEIKAN:
+ case LEIKAN:
+ if (st.isCreated())
+ {
html = ((player.getLevel() >= MIN_LVL) ? "30382-02.htm" : "30382-01.htm");
- break;
- case PIOTUR:
+ }
+ else if (st.isStarted())
+ {
+ if (hasQuestItems(player, LEIKANS_LETTER))
+ {
+ html = "30382-04.html";
+ }
+ else
+ {
+ html = "30382-05.html";
+ st.setCond(5, true);
+ }
+ }
+ break;
+ case PIOTUR:
+ if (st.isCreated())
+ {
html = ((player.getLevel() >= MIN_LVL) ? "30597-02.htm" : "30597-01.htm");
- break;
- }
- }
- else if (st.isStarted())
- {
- if (npc.getId() == IRIS)
- {
- html = "30034-01.html";
- }
- else if (npc.getId() == ASHA)
- {
- html = "30313-01.html";
- }
- else if (npc.getId() == NESTLE)
- {
- html = "30314-01.html";
- }
- else if (hasQuestItems(player, LEIKANS_LETTER))
- {
- switch(npc.getId())
+ }
+ else if (st.isStarted())
{
- case LEIKAN:
- html = "30382-04.html";
- break;
- case PIOTUR:
+ if (hasQuestItems(player, LEIKANS_LETTER))
+ {
html = "30597-03a.htm";
takeItems(player, LEIKANS_LETTER, -1);
st.setCond(3, true);
- break;
- }
- }
- else
- {
- switch(npc.getId())
- {
- case LEIKAN:
- html = "30382-05.html";
- st.setCond(5, true);
- break;
- case PIOTUR:
+ }
+ else
+ {
if (!hasQuestItems(player, TUREK_DOG_TAG) && !hasQuestItems(player, TUREK_MEDALLION))
{
html = "30597-04.html";
@@ -385,9 +372,27 @@
takeItems(player, TUREK_MEDALLION, -1);
st.setCond(4, true);
}
- break;
+ }
}
- }
+ break;
+ case IRIS:
+ if (st.isStarted())
+ {
+ html = "30034-01.html";
+ }
+ break;
+ case ASHA:
+ if (st.isStarted())
+ {
+ html = "30313-01.html";
+ }
+ break;
+ case NESTLE:
+ if (st.isStarted())
+ {
+ html = "30314-01.html";
+ }
+ break;
}
return html;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment