Various quest improvements.

Contributed by Stayway.
This commit is contained in:
MobiusDev
2018-05-16 19:33:45 +00:00
parent 49470fa7da
commit a139893389
6 changed files with 84 additions and 60 deletions

View File

@@ -52,8 +52,8 @@ public class Q11001_TombsOfAncestors extends Quest
private static final int ORC = 20130; private static final int ORC = 20130;
private static final int ORC_SOLDIER = 20131; private static final int ORC_SOLDIER = 20131;
private static final int ORC_ARCHER = 20006; private static final int ORC_ARCHER = 20006;
private static final int ORC_WARRIOR = 20386; private static final int ORC_WARRIOR = 20093;
private static final int WEREWOLVES = 20387; private static final int WEREWOLVES = 20132;
// Misc // Misc
private static final int MIN_LVL = 2; private static final int MIN_LVL = 2;
private static final int MAX_LVL = 20; private static final int MAX_LVL = 20;
@@ -197,14 +197,17 @@ public class Q11001_TombsOfAncestors extends Quest
case WOLF: case WOLF:
case ELDER_WOLF: case ELDER_WOLF:
{ {
if (qs.isCond(2)) if (qs.isCond(2) && (getQuestItemsCount(killer, WOLF_PELT) < 10))
{ {
giveItems(killer, WOLF_PELT, 1); if (getRandom(100) < 93)
playSound(killer, QuestSound.ITEMSOUND_QUEST_MIDDLE);
if (getQuestItemsCount(killer, WOLF_PELT) >= 10)
{ {
showOnScreenMsg(killer, NpcStringId.YOU_HAVE_KILLED_ENOUGH_WOLVES_N_GO_HUNTING_AND_KILL_ORCS, ExShowScreenMessage.TOP_CENTER, 10000); giveItems(killer, WOLF_PELT, 1);
qs.setCond(3); playSound(killer, QuestSound.ITEMSOUND_QUEST_MIDDLE);
if (getQuestItemsCount(killer, WOLF_PELT) >= 10)
{
showOnScreenMsg(killer, NpcStringId.YOU_HAVE_KILLED_ENOUGH_WOLVES_N_GO_HUNTING_AND_KILL_ORCS, ExShowScreenMessage.TOP_CENTER, 10000);
qs.setCond(3);
}
} }
} }
break; break;
@@ -213,42 +216,51 @@ public class Q11001_TombsOfAncestors extends Quest
case ORC_SOLDIER: case ORC_SOLDIER:
case ORC_ARCHER: case ORC_ARCHER:
{ {
if (qs.isCond(3)) if (qs.isCond(3) && (getQuestItemsCount(killer, ORC_AMULET) < 10))
{ {
giveItems(killer, ORC_AMULET, 1); if (getRandom(100) < 93)
playSound(killer, QuestSound.ITEMSOUND_QUEST_MIDDLE);
if (getQuestItemsCount(killer, ORC_AMULET) >= 10)
{ {
showOnScreenMsg(killer, NpcStringId.YOU_HAVE_KILLED_ENOUGH_ORCS_NGO_HUNTING_AND_KILL_ORC_WARRIORS_AND_WEREWOLVES, ExShowScreenMessage.TOP_CENTER, 10000); giveItems(killer, ORC_AMULET, 1);
qs.setCond(4); playSound(killer, QuestSound.ITEMSOUND_QUEST_MIDDLE);
if (getQuestItemsCount(killer, ORC_AMULET) >= 10)
{
showOnScreenMsg(killer, NpcStringId.YOU_HAVE_KILLED_ENOUGH_ORCS_NGO_HUNTING_AND_KILL_ORC_WARRIORS_AND_WEREWOLVES, ExShowScreenMessage.TOP_CENTER, 10000);
qs.setCond(4);
}
} }
} }
break; break;
} }
case ORC_WARRIOR: case ORC_WARRIOR:
{ {
if (qs.isCond(4)) if (qs.isCond(4) && (getQuestItemsCount(killer, BROKEN_SWORD) < 10))
{ {
giveItems(killer, BROKEN_SWORD, 1); if (getRandom(100) < 89)
playSound(killer, QuestSound.ITEMSOUND_QUEST_MIDDLE);
if ((getQuestItemsCount(killer, BROKEN_SWORD) >= 10) && (getQuestItemsCount(killer, WEREWOLFS_FANG) >= 10))
{ {
showOnScreenMsg(killer, NpcStringId.YOU_FULFILLED_ALL_ALTRAN_S_REQUESTS_N_RETURN_TO_ALTRAN, ExShowScreenMessage.TOP_CENTER, 10000); giveItems(killer, BROKEN_SWORD, 1);
qs.setCond(5); playSound(killer, QuestSound.ITEMSOUND_QUEST_MIDDLE);
if ((getQuestItemsCount(killer, BROKEN_SWORD) >= 10) && (getQuestItemsCount(killer, WEREWOLFS_FANG) >= 10))
{
showOnScreenMsg(killer, NpcStringId.YOU_FULFILLED_ALL_ALTRAN_S_REQUESTS_N_RETURN_TO_ALTRAN, ExShowScreenMessage.TOP_CENTER, 10000);
qs.setCond(5);
}
} }
} }
break; break;
} }
case WEREWOLVES: case WEREWOLVES:
{ {
if (qs.isCond(4)) if (qs.isCond(4) && (getQuestItemsCount(killer, WEREWOLFS_FANG) < 10))
{ {
giveItems(killer, WEREWOLFS_FANG, 1); if (getRandom(100) < 100)
playSound(killer, QuestSound.ITEMSOUND_QUEST_MIDDLE);
if ((getQuestItemsCount(killer, WEREWOLFS_FANG) >= 10) && (getQuestItemsCount(killer, BROKEN_SWORD) >= 10))
{ {
showOnScreenMsg(killer, NpcStringId.YOU_FULFILLED_ALL_ALTRAN_S_REQUESTS_N_RETURN_TO_ALTRAN, ExShowScreenMessage.TOP_CENTER, 10000); giveItems(killer, WEREWOLFS_FANG, 1);
qs.setCond(5); playSound(killer, QuestSound.ITEMSOUND_QUEST_MIDDLE);
if ((getQuestItemsCount(killer, WEREWOLFS_FANG) >= 10) && (getQuestItemsCount(killer, BROKEN_SWORD) >= 10))
{
showOnScreenMsg(killer, NpcStringId.YOU_FULFILLED_ALL_ALTRAN_S_REQUESTS_N_RETURN_TO_ALTRAN, ExShowScreenMessage.TOP_CENTER, 10000);
qs.setCond(5);
}
} }
} }
break; break;

View File

@@ -208,8 +208,8 @@ public class Q11002_HelpWithTempleRestoration extends Quest
qs.setCond(3); qs.setCond(3);
} }
} }
break;
} }
break;
} }
case WEREWOLF_HUMTER: case WEREWOLF_HUMTER:
case WEREWOLF_CHIEFTAIN: case WEREWOLF_CHIEFTAIN:
@@ -226,8 +226,8 @@ public class Q11002_HelpWithTempleRestoration extends Quest
qs.setCond(4); qs.setCond(4);
} }
} }
break;
} }
break;
} }
case CRASHER: case CRASHER:
case STONE_GOLEM: case STONE_GOLEM:
@@ -244,8 +244,8 @@ public class Q11002_HelpWithTempleRestoration extends Quest
qs.setCond(5); qs.setCond(5);
} }
} }
break;
} }
break;
} }
} }
} }

View File

@@ -1,5 +1,5 @@
<html><body>Weapon Merchant Lector:<br> <html><body>Weapon Merchant Lector:<br>
Oh! Have you chnaged your mind?<br> Oh! Have you changed your mind?<br>
With just a bit more of your help I could make a real masterpiece here.<br> With just a bit more of your help I could make a real masterpiece here.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q11004_PerfectLeatherArmor2 30001-02.htm">"Okay, I will help you."</Button><br> <Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q11004_PerfectLeatherArmor2 30001-02.htm">"Okay, I will help you."</Button><br>
</body></html> </body></html>

View File

@@ -52,8 +52,8 @@ public class Q11001_TombsOfAncestors extends Quest
private static final int ORC = 20130; private static final int ORC = 20130;
private static final int ORC_SOLDIER = 20131; private static final int ORC_SOLDIER = 20131;
private static final int ORC_ARCHER = 20006; private static final int ORC_ARCHER = 20006;
private static final int ORC_WARRIOR = 20386; private static final int ORC_WARRIOR = 20093;
private static final int WEREWOLVES = 20387; private static final int WEREWOLVES = 20132;
// Misc // Misc
private static final int MIN_LVL = 2; private static final int MIN_LVL = 2;
private static final int MAX_LVL = 20; private static final int MAX_LVL = 20;
@@ -197,14 +197,17 @@ public class Q11001_TombsOfAncestors extends Quest
case WOLF: case WOLF:
case ELDER_WOLF: case ELDER_WOLF:
{ {
if (qs.isCond(2)) if (qs.isCond(2) && (getQuestItemsCount(killer, WOLF_PELT) < 10))
{ {
giveItems(killer, WOLF_PELT, 1); if (getRandom(100) < 93)
playSound(killer, QuestSound.ITEMSOUND_QUEST_MIDDLE);
if (getQuestItemsCount(killer, WOLF_PELT) >= 10)
{ {
showOnScreenMsg(killer, NpcStringId.YOU_HAVE_KILLED_ENOUGH_WOLVES_N_GO_HUNTING_AND_KILL_ORCS, ExShowScreenMessage.TOP_CENTER, 10000); giveItems(killer, WOLF_PELT, 1);
qs.setCond(3); playSound(killer, QuestSound.ITEMSOUND_QUEST_MIDDLE);
if (getQuestItemsCount(killer, WOLF_PELT) >= 10)
{
showOnScreenMsg(killer, NpcStringId.YOU_HAVE_KILLED_ENOUGH_WOLVES_N_GO_HUNTING_AND_KILL_ORCS, ExShowScreenMessage.TOP_CENTER, 10000);
qs.setCond(3);
}
} }
} }
break; break;
@@ -213,42 +216,51 @@ public class Q11001_TombsOfAncestors extends Quest
case ORC_SOLDIER: case ORC_SOLDIER:
case ORC_ARCHER: case ORC_ARCHER:
{ {
if (qs.isCond(3)) if (qs.isCond(3) && (getQuestItemsCount(killer, ORC_AMULET) < 10))
{ {
giveItems(killer, ORC_AMULET, 1); if (getRandom(100) < 93)
playSound(killer, QuestSound.ITEMSOUND_QUEST_MIDDLE);
if (getQuestItemsCount(killer, ORC_AMULET) >= 10)
{ {
showOnScreenMsg(killer, NpcStringId.YOU_HAVE_KILLED_ENOUGH_ORCS_NGO_HUNTING_AND_KILL_ORC_WARRIORS_AND_WEREWOLVES, ExShowScreenMessage.TOP_CENTER, 10000); giveItems(killer, ORC_AMULET, 1);
qs.setCond(4); playSound(killer, QuestSound.ITEMSOUND_QUEST_MIDDLE);
if (getQuestItemsCount(killer, ORC_AMULET) >= 10)
{
showOnScreenMsg(killer, NpcStringId.YOU_HAVE_KILLED_ENOUGH_ORCS_NGO_HUNTING_AND_KILL_ORC_WARRIORS_AND_WEREWOLVES, ExShowScreenMessage.TOP_CENTER, 10000);
qs.setCond(4);
}
} }
} }
break; break;
} }
case ORC_WARRIOR: case ORC_WARRIOR:
{ {
if (qs.isCond(4)) if (qs.isCond(4) && (getQuestItemsCount(killer, BROKEN_SWORD) < 10))
{ {
giveItems(killer, BROKEN_SWORD, 1); if (getRandom(100) < 89)
playSound(killer, QuestSound.ITEMSOUND_QUEST_MIDDLE);
if ((getQuestItemsCount(killer, BROKEN_SWORD) >= 10) && (getQuestItemsCount(killer, WEREWOLFS_FANG) >= 10))
{ {
showOnScreenMsg(killer, NpcStringId.YOU_FULFILLED_ALL_ALTRAN_S_REQUESTS_N_RETURN_TO_ALTRAN, ExShowScreenMessage.TOP_CENTER, 10000); giveItems(killer, BROKEN_SWORD, 1);
qs.setCond(5); playSound(killer, QuestSound.ITEMSOUND_QUEST_MIDDLE);
if ((getQuestItemsCount(killer, BROKEN_SWORD) >= 10) && (getQuestItemsCount(killer, WEREWOLFS_FANG) >= 10))
{
showOnScreenMsg(killer, NpcStringId.YOU_FULFILLED_ALL_ALTRAN_S_REQUESTS_N_RETURN_TO_ALTRAN, ExShowScreenMessage.TOP_CENTER, 10000);
qs.setCond(5);
}
} }
} }
break; break;
} }
case WEREWOLVES: case WEREWOLVES:
{ {
if (qs.isCond(4)) if (qs.isCond(4) && (getQuestItemsCount(killer, WEREWOLFS_FANG) < 10))
{ {
giveItems(killer, WEREWOLFS_FANG, 1); if (getRandom(100) < 100)
playSound(killer, QuestSound.ITEMSOUND_QUEST_MIDDLE);
if ((getQuestItemsCount(killer, WEREWOLFS_FANG) >= 10) && (getQuestItemsCount(killer, BROKEN_SWORD) >= 10))
{ {
showOnScreenMsg(killer, NpcStringId.YOU_FULFILLED_ALL_ALTRAN_S_REQUESTS_N_RETURN_TO_ALTRAN, ExShowScreenMessage.TOP_CENTER, 10000); giveItems(killer, WEREWOLFS_FANG, 1);
qs.setCond(5); playSound(killer, QuestSound.ITEMSOUND_QUEST_MIDDLE);
if ((getQuestItemsCount(killer, WEREWOLFS_FANG) >= 10) && (getQuestItemsCount(killer, BROKEN_SWORD) >= 10))
{
showOnScreenMsg(killer, NpcStringId.YOU_FULFILLED_ALL_ALTRAN_S_REQUESTS_N_RETURN_TO_ALTRAN, ExShowScreenMessage.TOP_CENTER, 10000);
qs.setCond(5);
}
} }
} }
break; break;

View File

@@ -208,8 +208,8 @@ public class Q11002_HelpWithTempleRestoration extends Quest
qs.setCond(3); qs.setCond(3);
} }
} }
break;
} }
break;
} }
case WEREWOLF_HUMTER: case WEREWOLF_HUMTER:
case WEREWOLF_CHIEFTAIN: case WEREWOLF_CHIEFTAIN:
@@ -226,8 +226,8 @@ public class Q11002_HelpWithTempleRestoration extends Quest
qs.setCond(4); qs.setCond(4);
} }
} }
break;
} }
break;
} }
case CRASHER: case CRASHER:
case STONE_GOLEM: case STONE_GOLEM:
@@ -244,8 +244,8 @@ public class Q11002_HelpWithTempleRestoration extends Quest
qs.setCond(5); qs.setCond(5);
} }
} }
break;
} }
break;
} }
} }
} }

View File

@@ -1,5 +1,5 @@
<html><body>Weapon Merchant Lector:<br> <html><body>Weapon Merchant Lector:<br>
Oh! Have you chnaged your mind?<br> Oh! Have you changed your mind?<br>
With just a bit more of your help I could make a real masterpiece here.<br> With just a bit more of your help I could make a real masterpiece here.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q11004_PerfectLeatherArmor2 30001-02.htm">"Okay, I will help you."</Button><br> <Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q11004_PerfectLeatherArmor2 30001-02.htm">"Okay, I will help you."</Button><br>
</body></html> </body></html>