Underground quest updates (10320 to 10327).

Contributed by gyo.
This commit is contained in:
MobiusDev
2016-01-06 09:51:52 +00:00
parent d9b3a8c78f
commit 2dfb4847ad
77 changed files with 421 additions and 262 deletions

View File

@@ -38,7 +38,7 @@ public final class Pantheon extends AbstractNpcAI
// Location // Location
private static final Location MUSEUM = new Location(-114711, 243911, -7968); private static final Location MUSEUM = new Location(-114711, 243911, -7968);
// Misc // Misc
private static final int MIN_LEVEL = 20; private static final int MIN_LEVEL = 6;
private Pantheon() private Pantheon()
{ {

View File

@@ -121,7 +121,38 @@ public final class MuseumDungeon extends AbstractInstance
{ {
return null; return null;
} }
enterInstance(player, new MDWorld(), "MuseumDungeon.xml", TEMPLATE_ID);
InstanceWorld tmpworld = InstanceManager.getInstance().getPlayerWorld(player);
if ((tmpworld == null) || !(tmpworld instanceof MDWorld))
{
tmpworld = new MDWorld();
}
final MDWorld world = (MDWorld) tmpworld;
enterInstance(player, world, "MuseumDungeon.xml", TEMPLATE_ID);
final QuestState qs = player.getQuestState(Q10327_IntruderWhoWantsTheBookOfGiants.class.getSimpleName());
if (qs.isCond(1))
{
showOnScreenMsg(player, NpcStringId.AMONG_THE_4_BOOKSHELVES_FIND_THE_ONE_CONTAINING_A_VOLUME_CALLED_THE_WAR_OF_GODS_AND_GIANTS, ExShowScreenMessage.TOP_CENTER, 10000);
}
else if (qs.isCond(2))
{
if ((world.thiefSpawns != null) && (world.thiefSpawns.get(0) != null))
{
world.thiefSpawns.get(0).deleteMe();
}
if ((world.thiefSpawns != null) && (world.thiefSpawns.get(1) != null))
{
world.thiefSpawns.get(1).deleteMe();
}
world.toyron.setIsRunning(true);
world.thiefSpawns = spawnGroup("thiefs", world.getInstanceId());
for (L2Npc thief : world.thiefSpawns)
{
((L2MonsterInstance) thief).addDamage(player, 1, null);
}
startQuestTimer("assist_player", 2000, world.toyron, player);
}
} }
return super.onAdvEvent(event, npc, player); return super.onAdvEvent(event, npc, player);
} }
@@ -140,6 +171,10 @@ public final class MuseumDungeon extends AbstractInstance
qs.setCond(2); qs.setCond(2);
giveItems(player, THE_WAR_OF_GODS_AND_GIANTS, 1); giveItems(player, THE_WAR_OF_GODS_AND_GIANTS, 1);
world.thiefSpawns = spawnGroup("thiefs", world.getInstanceId()); world.thiefSpawns = spawnGroup("thiefs", world.getInstanceId());
for (L2Npc thief : world.thiefSpawns)
{
((L2MonsterInstance) thief).addDamage(player, 1, null);
}
showOnScreenMsg(player, NpcStringId.WATCH_OUT_YOU_ARE_BEING_ATTACKED, ExShowScreenMessage.TOP_CENTER, 5000); showOnScreenMsg(player, NpcStringId.WATCH_OUT_YOU_ARE_BEING_ATTACKED, ExShowScreenMessage.TOP_CENTER, 5000);
startQuestTimer("assist_player", 2000, world.toyron, player); startQuestTimer("assist_player", 2000, world.toyron, player);
htmltext = "desk_correct.html"; htmltext = "desk_correct.html";
@@ -149,6 +184,10 @@ public final class MuseumDungeon extends AbstractInstance
htmltext = "desk_wrong.html"; htmltext = "desk_wrong.html";
} }
} }
else
{
htmltext = "desk_normal.html";
}
return htmltext; return htmltext;
} }

View File

@@ -0,0 +1,4 @@
<html><body>[Desk]:<br>
A desk normally used by Pantheon.<br>
It's so disorganized, it'll take a while to search it.
</body></html>

View File

@@ -60,8 +60,8 @@ public final class Q10320_LetsGoToTheCentralSquare extends Quest
addStartNpc(PANTHEON); addStartNpc(PANTHEON);
addTalkId(PANTHEON, THEODORE); addTalkId(PANTHEON, THEODORE);
addEnterZoneId(TALKING_ISLAND_PRESENTATION_MOVIE_ZONE); addEnterZoneId(TALKING_ISLAND_PRESENTATION_MOVIE_ZONE);
addCondMaxLevel(MAX_LEVEL, "32972-01a.html"); addCondMaxLevel(MAX_LEVEL, "32972-06.html");
addCondNotRace(Race.ERTHEIA, "32972-01b.html"); addCondNotRace(Race.ERTHEIA, "32972-07.html");
} }
@Override @Override

View File

@@ -1,4 +0,0 @@
<html><body>Theodore:<br>
Not now! Can't you see I'm busy? Come back later.<br>
(You must be level 20 or above to start this quest.)
</body></html>

View File

@@ -1,5 +1,5 @@
<html><body>Theodore:<br> <html><body>Theodore:<br>
Seekers are scholars and warriors dedicated to searching through the Ruins of Ye Sagira.<br> Seekers are scholars and warriors dedicated to searching through the Ruins of Ye Sagira.<br>
However, they recently ran into a spot of bother after the local monsters decided to get all territorial. Now, a good number of my Seekers are injured, and the work just keeps on piling up...<br> However, they recently ran into a spot of bother after the local monsters decided to get all territorial. Now, a good number of my Seekers are injured, and the work just keeps on piling up...<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10321_QualificationsOfTheSeeker 32975-03.html">"Where do I sign up? I want to be a Seeker."</Button> <Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10321_QualificationsOfTheSeeker 32975-03.htm">"Where do I sign up? I want to be a Seeker."</Button>
</body></html> </body></html>

View File

@@ -1,6 +0,0 @@
<html><body>Theodore:<br>
You what? Really? Even after what I just told you?? <br>
Well, anyone can become a seeker, but you must first get certified. <font color="LEVEL">Shannon</font> can start you on that path - head to the <font color="LEVEL">Training Grounds</font> to see her, and she'll teach you about scouts.<br>
Now get going - speed is of the essence and all that!<br>
I will briefly tell you how to get there.
</body></html>

View File

@@ -46,8 +46,8 @@ public final class Q10321_QualificationsOfTheSeeker extends Quest
super(10321, Q10321_QualificationsOfTheSeeker.class.getSimpleName(), "Qualifications Of The Seeker"); super(10321, Q10321_QualificationsOfTheSeeker.class.getSimpleName(), "Qualifications Of The Seeker");
addStartNpc(THEODORE); addStartNpc(THEODORE);
addTalkId(THEODORE, SHANNON); addTalkId(THEODORE, SHANNON);
addCondMaxLevel(MAX_LEVEL, "32975-01a.html"); addCondMaxLevel(MAX_LEVEL, "32975-06.html");
addCondCompletedQuest(Q10320_LetsGoToTheCentralSquare.class.getSimpleName(), "32975-01a.html"); addCondCompletedQuest(Q10320_LetsGoToTheCentralSquare.class.getSimpleName(), "32975-06.html");
} }
@Override @Override
@@ -62,7 +62,7 @@ public final class Q10321_QualificationsOfTheSeeker extends Quest
String htmltext = null; String htmltext = null;
switch (event) switch (event)
{ {
case "32975-03.html": case "32975-03.htm":
{ {
qs.startQuest(); qs.startQuest();
qs.setCond(2); // show arrow hack qs.setCond(2); // show arrow hack

View File

@@ -2,5 +2,5 @@
Why would I do that?<br1> Why would I do that?<br1>
Well, let me see. For starters, I'm training up the entire district, so it's kind of what I do. Second, we need all the help we can get, and third, maybe I think you might have what it takes to be someone in this place. Thought about that?<br> Well, let me see. For starters, I'm training up the entire district, so it's kind of what I do. Second, we need all the help we can get, and third, maybe I think you might have what it takes to be someone in this place. Thought about that?<br>
You know, suspicious isn't an attractive trait. Either you calm down and tell me where you need help, or you can jog on and find your own way.<br> You know, suspicious isn't an attractive trait. Either you calm down and tell me where you need help, or you can jog on and find your own way.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10322_SearchingForTheMysteriousPower 32974-03.html">"I just want to get stronger."</Button> <Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10322_SearchingForTheMysteriousPower 32974-03.htm">"I just want to get stronger."</Button>
</body></html> </body></html>

View File

@@ -1,5 +0,0 @@
<html><body>Shannon:<br>
Well, guess what? I can help. That's right - H.E.L.P.<br>
I've set up a little test for newbies - just head down the hill until you see <font color="LEVEL">Evain</font>.<br>
Go on. You'll have fun, probably.
</body></html>

View File

@@ -1,4 +1,4 @@
<html><body>Shannon:<br> <html><body>Shannon:<br>
Did you need me?<br> Did you need me?<br>
(Only characters under level 20, who have completed "Conditions of Scout" may start this quest.) (Only characters under level 20, who have completed "Conditions of Scout" may start this quest)
</body></html> </body></html>

View File

@@ -1,3 +1,3 @@
<html><body>Adventurers' Guide for Training:<br> <html><body>Training Newbie Helper:<br>
Now, go ahead and attack the scarecrow. Now, go ahead and attack the scarecrow.
</body></html> </body></html>

View File

@@ -1,3 +1,3 @@
<html><body>Evain:<br> <html><body>Evain:<br>
Stop being so slow! There's more to combat that swings and grunts! You need precision! Deftness! Agility! Stop being so slow! There's more to combat than swings and grunts! You need precision! Deftness! Agility!
</body></html> </body></html>

View File

@@ -83,8 +83,8 @@ public final class Q10322_SearchingForTheMysteriousPower extends Quest
addStartNpc(SHANNON); addStartNpc(SHANNON);
addTalkId(SHANNON, ADVENTURERS_GUIDE, EVAIN); addTalkId(SHANNON, ADVENTURERS_GUIDE, EVAIN);
addKillId(SCARECROW); addKillId(SCARECROW);
addCondMaxLevel(MAX_LEVEL, "32974-01a.html"); addCondMaxLevel(MAX_LEVEL, "32974-06.html");
addCondCompletedQuest(Q10321_QualificationsOfTheSeeker.class.getSimpleName(), "32974-01a.html"); addCondCompletedQuest(Q10321_QualificationsOfTheSeeker.class.getSimpleName(), "32974-06.html");
} }
@Override @Override
@@ -99,7 +99,7 @@ public final class Q10322_SearchingForTheMysteriousPower extends Quest
String htmltext = null; String htmltext = null;
switch (event) switch (event)
{ {
case "32974-03.html": case "32974-03.htm":
{ {
qs.startQuest(); qs.startQuest();
htmltext = event; htmltext = event;
@@ -199,6 +199,11 @@ public final class Q10322_SearchingForTheMysteriousPower extends Quest
htmltext = "32981-03.html"; htmltext = "32981-03.html";
break; break;
} }
else
{
htmltext = getNoQuestMsg(player);
break;
}
} }
else if (npc.getId() == EVAIN) else if (npc.getId() == EVAIN)
{ {

View File

@@ -1,4 +1,4 @@
<html><body>Holden:<br> <html><body>Holden:<br>
Evain sent you? That means you only had practice against a dummy. That's not enough. Wouldn't you agree that your training will only be effective if you train as if it were real combat?<br> Evain sent you? That means you only had practice against a dummy. That's not enough. Wouldn't you agree that your training will only be effective if you train as if it were real combat?<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10323_TrainLikeItsReal 33194-02.html">"Sound reasonable!"</button> <Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10323_TrainLikeItsReal 33194-02.html">"Sound reasonable."</button>
</body></html> </body></html>

View File

@@ -1,5 +1,5 @@
<html><body>Holden:<br> <html><body>Holden:<br>
That's why we made a Training Golem. It's designed to attack you, but won't be dangerous.<br> That's why we made a Training Golem. It's designed to attack you, but it won't be dangerous.<br>
Can you show me what you're capable of?<br> Can you show me what you're capable of?<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10323_TrainLikeItsReal 33194-03.html">"All right"</button> <Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10323_TrainLikeItsReal 33194-03.html">"All right."</button>
</body></html> </body></html>

View File

@@ -1,7 +1,3 @@
<html><body>Holden:<br> <html><body>Holden:<br>
Good job.<br> The real battle got your tongue? But you've got to overcome it one day. Kill the <font color=LEVEL>Training Golems</font> in front of you. Come back after you've killed plenty.<br>
Good work. But I noticed that there wasn't any light of spirits when you were fighting. Using
<font color=LEVEL>Soulshots or Spiritshots</font> will empower you weapons temporarily to deal powerful attacks<br>
Do you know how to use Soulshots?<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10323_TrainLikeItsReal 33194-05.html">"No, please tell me."</button>
</body></html> </body></html>

View File

@@ -1,7 +1,6 @@
<html><body>Holden:<br> <html><body>Holden:<br>
You don't? Then why don't you try again with these soulshot I have for you? Good job.<br>
Open your <font color="LEVEL">Inventory</font>, check for <font color=LEVEL>Soulshots or Spiritshots</font>.<br> Good work. But I noticed that there wasn't any lights of spirits when you were fighting. Using <font color=LEVEL>Soulshots</font> will empower your weapons temporarily to deal powerful attacks.<br>
Click and Drag</font> Soulshot/Spiritshot into your Shortcut Bar. Right Click the Soulshot/Spiritshot Shortcut Icon to use it automatically. Do you know how to use Soulshots?<br>
After this, the lights of the spirits will help you every time you attack.<br> <Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10323_TrainLikeItsReal 33194-07.html">"No, please tell me."</button>
Tell me when you have that done.
</body></html> </body></html>

View File

@@ -1,4 +1,6 @@
<html><body>Holden:<br> <html><body>Holden:<br>
Are you ready? Then let's check the power of Soulshots or Spiritshots by fighting one more time. The targets are the <font color=LEVEL>Training Golems</font>.<br> Good job.<br>
Come back to me after killing plenty. Good work. But I noticed that there wasn't any spirit lights when you were fighting. Using <font color=LEVEL>Spiritshots</font> will empower your weapons temporarily to deal powerful attacks.<br>
Do you know how to use Spiritshots?<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10323_TrainLikeItsReal 33194-08.html">"No, please tell me."</button>
</body></html> </body></html>

View File

@@ -1,5 +1,9 @@
<html><body>Holden:<br> <html><body>Holden:<br>
You're done. How was it? Isn't it more efficient?<br> You don't? Then why don't you try it with this Soulshot I have for you?
Make sure to use what you've learned in battle later.<br> Open your <font color="LEVEL">Inventory</font> and check for <font color="LEVEL">Soulshots</font>.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10323_TrainLikeItsReal 33194-08.html">All right</button> Also, remember that the <font color="LEVEL">grades of the weapon and the Soulshot have to be the same</font>.<br>
Then, check if the Soulshot in the Automatic Soulshot window is activated.<br>
You can activate/deactivate by clicking on the icon.<br>
It will be very handy from now on when you fight.<br>
Tell me when you have that done.
</body></html> </body></html>

View File

@@ -1,3 +1,6 @@
<html><body>Holden:<br> <html><body>Holden:<br>
You're done with me. Now you can report to <font color=LEVEL>Shannon</font> at the Basic Training Grounds. You don't? Then why don't you try it with this Spiritshot I have for you?
Open your <font color="LEVEL">Inventory</font> and look for <font color="LEVEL">Spiritshots</font>.<br>
Click and drag the Spiritshots onto the <font color="LEVEL">Shortcut</font> bar and right click the Spiritshot shortcut icon to <font color="LEVEL">use them automatically</font>.<br>
Tell me when you have that done.
</body></html> </body></html>

View File

@@ -0,0 +1,4 @@
<html><body>Holden:<br>
Are you ready? Then let's check the power of <font color=LEVEL>Soulshots</font> by fighting one more time. The targets are the <font color=LEVEL>Training Golems.</font><br>
Come back to me after killing plenty.
</body></html>

View File

@@ -0,0 +1,4 @@
<html><body>Holden:<br>
Ready? Then let's test your mettle using <font color=LEVEL>Spiritshots</font>. Target the <font color=LEVEL>Training Golems</font> and fire away.<br>
Return to me when you've had your fill.
</body></html>

View File

@@ -0,0 +1,4 @@
<html><body>Holden:<br>
Check the power of <font color=LEVEL>Soulshots</font> by fighting one more time. The targets are the <font color=LEVEL>Training Golems.</font><br>
Come back to me after killing plenty.
</body></html>

View File

@@ -0,0 +1,4 @@
<html><body>Holden:<br>
Ready? Then let's test your mettle using <font color=LEVEL>Spiritshots</font>. Target the <font color=LEVEL>Training Golems</font> and fire away.<br>
Return to me when you've had your fill.
</body></html>

View File

@@ -0,0 +1,5 @@
<html><body>Holden:<br>
You're done. How was it? Isn't it more efficient?
Make sure to use what you've learned in battle later.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10323_TrainLikeItsReal 33194-14.html">"All right."</button>
</body></html>

View File

@@ -0,0 +1,3 @@
<html><body>Holden:<br>
You're done with me. Now you can report to <font color=LEVEL>Shannon</font> at the <font color=LEVEL>Basic Training Grounds</font>.
</body></html>

View File

@@ -0,0 +1,3 @@
<html><body>Holden:<br>
I thought I told you. You're done. Now you can report to <font color=LEVEL>Shannon</font> at the <font color=LEVEL>Basic Training Grounds</font>.
</body></html>

View File

@@ -1,4 +1,4 @@
<html><body>Evain:<br> <html><body>Evain:<br>
Looks like you understand the basics behind buffs. Now it's time to get some real combat experience. Ready?<br> Looks like you understand the basics behind buffs. Now it's time to get some real combat experience. Ready?<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10323_TrainLikeItsReal 33464-02.htm">Ready!</button> <Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10323_TrainLikeItsReal 33464-02.htm">"Ready!"</button>
</body></html> </body></html>

View File

@@ -2,5 +2,5 @@
Good. After all, a dummy is an easy opponent.<br> Good. After all, a dummy is an easy opponent.<br>
We wanted to prepare something a little more challenging for you. You know, something that actually moves?<br> We wanted to prepare something a little more challenging for you. You know, something that actually moves?<br>
This training is to prepare you for battle, not to knock down straw dolls.<br> This training is to prepare you for battle, not to knock down straw dolls.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10323_TrainLikeItsReal 33464-03.html">Give me the task</button> <Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10323_TrainLikeItsReal 33464-03.htm">"Give me the task."</button>
</body></html> </body></html>

View File

@@ -1,4 +0,0 @@
<html><body>Evain:<br>
No need to hurry. Also, the mission is managed by <font color=LEVEL>Holden</font> at the <font color=LEVEL>Training Grounds Underground Facility Entrance</font>.
If you tell him that I sent you, he will give you details.
</body></html>

View File

@@ -1,4 +1,5 @@
<html><body>Evain:<br> <html><body>Evain:<br>
It's good to see you growing stronger with each passing day. Is there something you want from me?<br> Did you forget about your mission.
(This quest has already been completed) The next mission is managed by <font color=LEVEL>Holden</font> at the <font color=LEVEL>Training Grounds Underground Facility Entrance</font>.
If you tell him that I sent you, he will give you details.
</body></html> </body></html>

View File

@@ -1,4 +1,3 @@
<html><body>Evain:<br> <html><body>Evain:<br>
Why did you come here?<br> If you've defeated all the training Golems, report to <font color=LEVEL>Shannon</font> at the <font color=LEVEL>Basic Training Grounds</font>!
(Only characters under level 20, who have completed the Looking for Mysterious Power quest, may start this quest)
</body></html> </body></html>

View File

@@ -0,0 +1,4 @@
<html><body>Evain:<br>
It's good to see you growing stronger with each passing day. Is there something you want from me?<br>
(This quest has already been completed)
</body></html>

View File

@@ -0,0 +1,4 @@
<html><body>Evain:<br>
Why did you come here?<br>
(Only characters under level 20, who have completed the Looking for Mysterious Power quest, may start this quest)
</body></html>

View File

@@ -20,6 +20,7 @@ import java.util.HashSet;
import java.util.Set; import java.util.Set;
import com.l2jmobius.gameserver.enums.QuestSound; import com.l2jmobius.gameserver.enums.QuestSound;
import com.l2jmobius.gameserver.enums.Race;
import com.l2jmobius.gameserver.model.actor.L2Npc; import com.l2jmobius.gameserver.model.actor.L2Npc;
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance; import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
import com.l2jmobius.gameserver.model.holders.ItemHolder; import com.l2jmobius.gameserver.model.holders.ItemHolder;
@@ -34,7 +35,7 @@ import com.l2jmobius.gameserver.network.serverpackets.TutorialShowHtml;
import quests.Q10322_SearchingForTheMysteriousPower.Q10322_SearchingForTheMysteriousPower; import quests.Q10322_SearchingForTheMysteriousPower.Q10322_SearchingForTheMysteriousPower;
/** /**
* @author Sdw, Gladicek * @author Sdw, Gladicek, gyo
*/ */
public class Q10323_TrainLikeItsReal extends Quest public class Q10323_TrainLikeItsReal extends Quest
{ {
@@ -45,6 +46,7 @@ public class Q10323_TrainLikeItsReal extends Quest
// Mobs // Mobs
private static final int TRAINING_GOLEM = 27532; private static final int TRAINING_GOLEM = 27532;
// Misc // Misc
private static final int TRAINING_GOLEM_REQUIRED = 1;
private static final int MAX_LEVEL = 20; private static final int MAX_LEVEL = 20;
// Items // Items
private static final ItemHolder SPIRITSHOTS = new ItemHolder(2509, 500); private static final ItemHolder SPIRITSHOTS = new ItemHolder(2509, 500);
@@ -54,10 +56,10 @@ public class Q10323_TrainLikeItsReal extends Quest
{ {
super(10323, Q10323_TrainLikeItsReal.class.getSimpleName(), "Train Like It's Real"); super(10323, Q10323_TrainLikeItsReal.class.getSimpleName(), "Train Like It's Real");
addStartNpc(EVAIN); addStartNpc(EVAIN);
addTalkId(HOLDEN, EVAIN, SHANNON); addTalkId(EVAIN, HOLDEN, SHANNON);
addKillId(TRAINING_GOLEM); addKillId(TRAINING_GOLEM);
addCondMaxLevel(MAX_LEVEL, "33464-05.html"); addCondMaxLevel(MAX_LEVEL, "33464-07.html");
addCondCompletedQuest(Q10322_SearchingForTheMysteriousPower.class.getSimpleName(), "33464-05.html"); addCondCompletedQuest(Q10322_SearchingForTheMysteriousPower.class.getSimpleName(), "33464-07.html");
} }
@Override @Override
@@ -89,7 +91,7 @@ public class Q10323_TrainLikeItsReal extends Quest
showOnScreenMsg(player, NpcStringId.AUTOMATE_SOULSHOT_AS_SHOWN_IN_THE_TUTORIAL, ExShowScreenMessage.TOP_CENTER, 4500); showOnScreenMsg(player, NpcStringId.AUTOMATE_SOULSHOT_AS_SHOWN_IN_THE_TUTORIAL, ExShowScreenMessage.TOP_CENTER, 4500);
break; break;
} }
case "33464-03.html": case "33464-03.htm":
{ {
qs.startQuest(); qs.startQuest();
htmltext = event; htmltext = event;
@@ -99,37 +101,42 @@ public class Q10323_TrainLikeItsReal extends Quest
{ {
if (qs.isCond(1)) if (qs.isCond(1))
{ {
// show NpcLog dialog trick
qs.setCond(3);
qs.setCond(2, true); qs.setCond(2, true);
htmltext = event; htmltext = event;
} }
break; break;
} }
case "33194-05.html": case "33194-07.html":
{ {
if (qs.isCond(3)) if (qs.isCond(3))
{ {
qs.setMemoState(0); qs.setMemoState(0);
if (player.isMageClass())
{
giveItems(player, SPIRITSHOTS);
showOnScreenMsg(player, NpcStringId.SPIRITSHOT_HAVE_BEEN_ADDED_TO_YOUR_INVENTORY, ExShowScreenMessage.TOP_CENTER, 4500);
startQuestTimer("showscreen_spiritshot", 4500, npc, player);
player.sendPacket(new TutorialShowHtml(npc.getObjectId(), "..\\L2Text\\QT_003_bullet_01.htm", TutorialShowHtml.LARGE_WINDOW));
qs.setCond(5, true);
}
else
{
giveItems(player, SOULSHOTS); giveItems(player, SOULSHOTS);
showOnScreenMsg(player, NpcStringId.SOULSHOT_HAVE_BEEN_ADDED_TO_YOUR_INVENTORY, ExShowScreenMessage.TOP_CENTER, 4500); showOnScreenMsg(player, NpcStringId.SOULSHOT_HAVE_BEEN_ADDED_TO_YOUR_INVENTORY, ExShowScreenMessage.TOP_CENTER, 4500);
startQuestTimer("showscreen_soulshot", 4500, npc, player); startQuestTimer("showscreen_soulshot", 4500, npc, player);
player.sendPacket(new TutorialShowHtml(npc.getObjectId(), "..\\L2Text\\QT_003_bullet_01.htm", TutorialShowHtml.LARGE_WINDOW)); player.sendPacket(new TutorialShowHtml(npc.getObjectId(), "..\\L2Text\\QT_003_bullet_01.htm", TutorialShowHtml.LARGE_WINDOW));
qs.setCond(4, true); qs.setCond(4, true);
}
htmltext = event; htmltext = event;
} }
break; break;
} }
case "33194-08.html": case "33194-08.html":
{
if (qs.isCond(3))
{
qs.setMemoState(0);
giveItems(player, SPIRITSHOTS);
showOnScreenMsg(player, NpcStringId.SPIRITSHOT_HAVE_BEEN_ADDED_TO_YOUR_INVENTORY, ExShowScreenMessage.TOP_CENTER, 4500);
startQuestTimer("showscreen_spiritshot", 4500, npc, player);
player.sendPacket(new TutorialShowHtml(npc.getObjectId(), "..\\L2Text\\QT_003_bullet_01.htm", TutorialShowHtml.LARGE_WINDOW));
qs.setCond(5, true);
htmltext = event;
}
break;
}
case "33194-14.html":
{ {
if (qs.isCond(8)) if (qs.isCond(8))
{ {
@@ -164,22 +171,48 @@ public class Q10323_TrainLikeItsReal extends Quest
{ {
case State.CREATED: case State.CREATED:
{ {
if (npc.getId() == EVAIN) switch (npc.getId())
{
case EVAIN:
{ {
htmltext = "33464-01.htm"; htmltext = "33464-01.htm";
break; break;
} }
else if (npc.getId() == SHANNON) case SHANNON:
{ {
htmltext = "32974-03.html"; htmltext = "32974-03.html";
break; break;
} }
case HOLDEN:
{
htmltext = getNoQuestMsg(player);
break;
}
}
break;
} }
case State.STARTED: case State.STARTED:
{ {
if (npc.getId() == EVAIN) if (npc.getId() == EVAIN)
{ {
htmltext = "33464-03.html"; switch (qs.getCond())
{
case 1:
{
htmltext = "33464-04.html";
break;
}
case 9:
{
htmltext = "33464-05.html";
break;
}
default:
{
htmltext = getNoQuestMsg(player);
break;
}
}
break; break;
} }
else if (npc.getId() == HOLDEN) else if (npc.getId() == HOLDEN)
@@ -191,26 +224,55 @@ public class Q10323_TrainLikeItsReal extends Quest
htmltext = "33194-01.html"; htmltext = "33194-01.html";
break; break;
} }
case 3: case 2:
{ {
htmltext = "33194-04.html"; htmltext = "33194-04.html";
break; break;
} }
case 4: case 3:
{
// Orc Mystic will get Soulshots
if (!player.isMageClass() || (player.getRace() == Race.ORC))
{
htmltext = "33194-05.html";
}
else
{ {
htmltext = "33194-06.html"; htmltext = "33194-06.html";
}
break;
}
case 4:
{
htmltext = "33194-09.html";
qs.setCond(6, true); qs.setCond(6, true);
break; break;
} }
case 5: case 5:
{ {
htmltext = "33194-06.html"; htmltext = "33194-10.html";
qs.setCond(7, true); qs.setCond(7, true);
break; break;
} }
case 6:
{
htmltext = "33194-11.html";
break;
}
case 7:
{
// same text as 33194-10.html
htmltext = "33194-12.html";
break;
}
case 8: case 8:
{ {
htmltext = "33194-07.html"; htmltext = "33194-13.html";
break;
}
case 9:
{
htmltext = "33194-15.html";
break; break;
} }
} }
@@ -221,22 +283,31 @@ public class Q10323_TrainLikeItsReal extends Quest
if (qs.isCond(9)) if (qs.isCond(9))
{ {
htmltext = "32974-01.html"; htmltext = "32974-01.html";
break;
} }
break;
} }
} }
case State.COMPLETED: case State.COMPLETED:
{ {
if (npc.getId() == EVAIN) switch (npc.getId())
{ {
htmltext = "33464-04.html"; case EVAIN:
{
htmltext = "33464-06.html";
break; break;
} }
else if (npc.getId() == SHANNON) case SHANNON:
{ {
htmltext = "32974-05.html"; htmltext = "32974-05.html";
break; break;
} }
case HOLDEN:
{
htmltext = getNoQuestMsg(player);
break;
}
}
break;
} }
} }
return htmltext; return htmltext;
@@ -254,30 +325,30 @@ public class Q10323_TrainLikeItsReal extends Quest
if (qs.isCond(2)) if (qs.isCond(2))
{ {
killedGolem++; killedGolem++;
sendNpcLogList(killer);
if (killedGolem >= 4) if (killedGolem >= TRAINING_GOLEM_REQUIRED)
{ {
qs.setCond(3, true); qs.setCond(3, true);
} }
else else
{ {
qs.setMemoState(killedGolem); qs.setMemoState(killedGolem);
sendNpcLogList(killer);
playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET); playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET);
} }
} }
else if (qs.isCond(6) || qs.isCond(7)) else if (qs.isCond(6) || qs.isCond(7))
{ {
killedGolem++; killedGolem++;
sendNpcLogList(killer);
if (killedGolem >= 4) if (killedGolem >= TRAINING_GOLEM_REQUIRED)
{ {
qs.setCond(8, true); qs.setCond(8, true);
} }
else else
{ {
qs.setMemoState(killedGolem); qs.setMemoState(killedGolem);
sendNpcLogList(killer);
playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET); playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET);
} }
} }

View File

@@ -1,5 +1,5 @@
<html><body>Shannon:<br> <html><body>Shannon:<br>
You're back already? Hmm... good.<br> You're back already? Hmm... good.<br>
I hear you're strong and resilent, but are lacking somewhat in the more technical skills. Flair will bedazzle your opponents, friend.<br> I hear you're strong and resilient, but are lacking somewhat in the more technical skills. Flair will bedazzle your opponents, friend.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10324_FindingMagisterGallint 32974-02.htm">"Can you teach me?"</Button> <Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10324_FindingMagisterGallint 32974-02.htm">"Can you teach me?"</Button>
</body></html> </body></html>

View File

@@ -1,4 +0,0 @@
<html><body>Shannon:<br>
We can only take on so many tasks, friend!<br>
(Only characters below level 20 who have already completed the "Effect of the Mysterious Power" quest, may start this quest)
</body></html>

View File

@@ -1,5 +1,5 @@
<html><body>Shannon:<br> <html><body>Shannon:<br>
Can I? No, but I know who can.<br> Can I? No, but I know who can.<br>
I will introduce you to a teacher, if you're willing to learn.<br> I will introduce you to a teacher, if you're willing to learn.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10324_FindingMagisterGallint 32974-03.html">"I am!"</Button> <Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10324_FindingMagisterGallint 32974-03.htm">"I am!"</Button>
</body></html> </body></html>

View File

@@ -0,0 +1,4 @@
<html><body>Shannon:<br>
Enthusiasm! Good!<br>
You should go find <font color="LEVEL">Gallint</font> near the <font color="LEVEL">Administration Office</font> ! He'll teach you everything you need to know.
</body></html>

View File

@@ -1,3 +0,0 @@
<html><body>Shannon:<br>
Enthusiasm! Good! You should go find <font color="LEVEL">Gallint</font> near the <font color="LEVEL">Administration Office</font> ! He'll teach you everything you need to know.
</body></html>

View File

@@ -0,0 +1,4 @@
<html><body>Shannon:<br>
We can only take on so many tasks, friend!<br>
(Only characters below level 20, who have already completed the "Effect of the Mysterious Power" quest, may start this quest)
</body></html>

View File

@@ -1,4 +1,4 @@
<html><body>Gallint:<br> <html><body>Gallint:<br>
Shannon? I taught her her skills many years ago, until she left to be taught by others.<br> Shannon? I taught her her skills many years ago, until she left to be taught by others.<br>
Look, I just don't have time to talk to you about these things - we're rebuilding Talking Island Village. You should come back soon though - can teach you skills once my work is done. Look, I just don't have time to talk to you about these things - we're rebuilding Talking Island Village. You should come back soon though - I can teach you skills once my work is done.
</body></html> </body></html>

View File

@@ -42,8 +42,8 @@ public final class Q10324_FindingMagisterGallint extends Quest
super(10324, Q10324_FindingMagisterGallint.class.getSimpleName(), "Finding Magister Gallint"); super(10324, Q10324_FindingMagisterGallint.class.getSimpleName(), "Finding Magister Gallint");
addStartNpc(SHANNON); addStartNpc(SHANNON);
addTalkId(SHANNON, GALLINT); addTalkId(SHANNON, GALLINT);
addCondMaxLevel(MAX_LEVEL, "32974-01a.html"); addCondMaxLevel(MAX_LEVEL, "32974-06.html");
addCondCompletedQuest(Q10323_TrainLikeItsReal.class.getSimpleName(), "32974-01a.html"); addCondCompletedQuest(Q10323_TrainLikeItsReal.class.getSimpleName(), "32974-06.html");
} }
@Override @Override
@@ -58,7 +58,7 @@ public final class Q10324_FindingMagisterGallint extends Quest
String htmltext = null; String htmltext = null;
switch (event) switch (event)
{ {
case "32974-03.html": case "32974-03.htm":
{ {
qs.startQuest(); qs.startQuest();
htmltext = event; htmltext = event;

View File

@@ -1,5 +1,6 @@
<html><body>Prefect Herz:<br> <html><body>Prefect Herz:<br>
Welcome, warrior of flame. I am Herz, the Orc race trainer. Listen up! I'll explain the characteristics and skills of Orc race classes to you.<br> Welcome, warrior of flame. I am Herz, the Orc race trainer. Listen up! I'll explain the characteristics and skills of Orc race classes to you.<br>
<font color="LEVEL">Orc Fighters</font> have fast and good physical and Mana healings, making long battles possible.<br>Even though an <font color="LEVEL">Orc Mystic</font> uses magic, the class also has warrior abilities. We are Orcs, after all.<br> <font color="LEVEL">Orc Fighters</font> have fast and good physical and Mana healings, making long battles possible.<br>
Even though an <font color="LEVEL">Orc Mystic</font> uses magic, the class also has warrior abilities. We are Orcs, after all.<br>
When your abilities improve, and you have new skills that you can learn, the <font color="LEVEL">Skill Window will automatically</font> appear. You can check the list of skills that you have by using the shortcut keys <font color="LEVEL">ALT+K</font>. When your abilities improve, and you have new skills that you can learn, the <font color="LEVEL">Skill Window will automatically</font> appear. You can check the list of skills that you have by using the shortcut keys <font color="LEVEL">ALT+K</font>.
</body></html> </body></html>

View File

@@ -1,4 +1,4 @@
<html><body>Prefect Herz:<br> <html><body>Prefect Herz:<br>
Keep working hard<br> Keep working hard.<br>
(You have already completed this quest.) (You have already completed this quest.)
</body></html> </body></html>

View File

@@ -1,3 +1,4 @@
<html><body>Blacksmith Kincaid:<br> <html><body>Blacksmith Kincaid:<br>
The explanation's over. Hurry back to Gallint! Don't forget what you've learned.<br>
(You've already completed this quest.)
</body></html> </body></html>

View File

@@ -1,4 +1,4 @@
<html><body>Gallint:<br> <html><body>Gallint:<br>
Books are food for your mind. Do not let your mind go hungry<br> Books are food for your mind. Do not let your mind go hungry.<br>
(You already completed this quest.) (You already completed this quest.)
</body></html> </body></html>

View File

@@ -1,3 +1,3 @@
<html><body>Gallint:<br> <html><body>Gallint:<br>
<font color="LEVEL">Talbot!</font> Go and find them - they should be in front of the <font color="LEVEL">Administration Office</font>. <font color="LEVEL">%MASTER%!</font> Go and find them - they should be in front of the <font color="LEVEL">Administration Office</font>.
</body></html> </body></html>

View File

@@ -1,3 +1,4 @@
<html><body>Gallint:<br> <html><body>Gallint:<br>
<font color="LEVEL">Cidnet!</font> Go and find them... they should be in front of the <font color="LEVEL">Administration Office</font>. My entire life, I've been paired with academia. But if there's anything, in all that time, that I now know, it is that I know nothing.<br>
(Only characters below level 20 who have completed the Looking for Sorcecer Gallint quest, can start this quest.)
</body></html> </body></html>

View File

@@ -1,3 +0,0 @@
<html><body>Gallint:<br>
<font color="LEVEL">Black!</font> Go and find them... they should be in front of the <font color="LEVEL">Administration Office</font>.
</body></html>

View File

@@ -1,3 +0,0 @@
<html><body>Gallint:<br>
<font color="LEVEL">Herz!</font> Go and find them... they should be in front of the <font color="LEVEL">Administration Office</font>.
</body></html>

View File

@@ -1,3 +0,0 @@
<html><body>Gallint:<br>
<font color="LEVEL">Kincaid!</font> Go and find them... they should be in front of the <font color="LEVEL">Administration Office</font>.
</body></html>

View File

@@ -1,3 +0,0 @@
<html><body>Gallint:<br>
<font color="LEVEL">Xonia!</font> Go and find them... they should be in front of the <font color="LEVEL">Administration Office</font>.
</body></html>

View File

@@ -1,4 +0,0 @@
<html><body>Gallint:<br>
My entire life, I've been paired with academia. But if there's anything, in all that time I now know, it is that I know nothing.<br>
(Only characters below level 20 who have completed the Looking for Sorcecer Gallint quest, can start this quest.)
</body></html>

View File

@@ -28,18 +28,24 @@ import quests.Q10324_FindingMagisterGallint.Q10324_FindingMagisterGallint;
/** /**
* Searching For New Power (10325) * Searching For New Power (10325)
* @author Gladicek, Neanrakyr * @author Gladicek, Neanrakyr, gyo
*/ */
public class Q10325_SearchingForNewPower extends Quest public class Q10325_SearchingForNewPower extends Quest
{ {
// NPCs // NPCs
private static final int GALLINT = 32980; private static final int GALLINT = 32980;
private static final int TALBOT = 32156; private static final int TALBOT = 32156;
private static final int CIDNET = 32148; private static final int CINDET = 32148;
private static final int BLACK = 32161; private static final int BLACK = 32161;
private static final int HERTZ = 32151; private static final int HERZ = 32151;
private static final int KINCAID = 32159; private static final int KINCAID = 32159;
private static final int XONIA = 32144; private static final int XONIA = 32144;
private static final String Talbot = "Talbot";
private static final String Cindet = "Cindet";
private static final String Black = "Black";
private static final String Herz = "Herz";
private static final String Kincaid = "Kincaid";
private static final String Xonia = "Xonia";
// Items // Items
private static final ItemHolder SPIRITSHOTS = new ItemHolder(2509, 1000); private static final ItemHolder SPIRITSHOTS = new ItemHolder(2509, 1000);
private static final ItemHolder SOULSHOTS = new ItemHolder(1835, 1000); private static final ItemHolder SOULSHOTS = new ItemHolder(1835, 1000);
@@ -50,9 +56,9 @@ public class Q10325_SearchingForNewPower extends Quest
{ {
super(10325, Q10325_SearchingForNewPower.class.getSimpleName(), "Searching For New Power"); super(10325, Q10325_SearchingForNewPower.class.getSimpleName(), "Searching For New Power");
addStartNpc(GALLINT); addStartNpc(GALLINT);
addTalkId(GALLINT, TALBOT, CIDNET, BLACK, HERTZ, KINCAID, XONIA); addTalkId(GALLINT, TALBOT, CINDET, BLACK, HERZ, KINCAID, XONIA);
addCondMaxLevel(MAX_LEVEL, "32980-12.html"); addCondMaxLevel(MAX_LEVEL, "32980-07.html");
addCondCompletedQuest(Q10324_FindingMagisterGallint.class.getSimpleName(), "32980-12.html"); addCondCompletedQuest(Q10324_FindingMagisterGallint.class.getSimpleName(), "32980-07.htm");
} }
@Override @Override
@@ -68,53 +74,44 @@ public class Q10325_SearchingForNewPower extends Quest
if (event.equals("check_race")) if (event.equals("check_race"))
{ {
qs.startQuest();
qs.setMemoState(1);
htmltext = getHtm(player.getHtmlPrefix(), "32980-06.html");
switch (player.getRace()) switch (player.getRace())
{ {
case HUMAN: case HUMAN:
{ {
qs.startQuest(); htmltext = htmltext.replace("%MASTER%", Talbot);
qs.setMemoState(1);
htmltext = "32980-06.html";
qs.setCond(2); qs.setCond(2);
break; break;
} }
case ELF: case ELF:
{ {
qs.startQuest(); htmltext = htmltext.replace("%MASTER%", Cindet);
qs.setMemoState(1);
htmltext = "32980-07.html";
qs.setCond(3); qs.setCond(3);
break; break;
} }
case DARK_ELF: case DARK_ELF:
{ {
qs.startQuest(); htmltext = htmltext.replace("%MASTER%", Black);
qs.setMemoState(1);
htmltext = "32980-08.html";
qs.setCond(4); qs.setCond(4);
break; break;
} }
case ORC: case ORC:
{ {
qs.startQuest(); htmltext = htmltext.replace("%MASTER%", Herz);
qs.setMemoState(1);
htmltext = "32980-09.html";
qs.setCond(5); qs.setCond(5);
break; break;
} }
case DWARF: case DWARF:
{ {
qs.startQuest(); htmltext = htmltext.replace("%MASTER%", Kincaid);
qs.setMemoState(1);
htmltext = "32980-10.html";
qs.setCond(6); qs.setCond(6);
break; break;
} }
case KAMAEL: case KAMAEL:
{ {
qs.startQuest(); htmltext = htmltext.replace("%MASTER%", Xonia);
qs.setMemoState(1);
htmltext = "32980-11.html";
qs.setCond(7); qs.setCond(7);
break; break;
} }
@@ -131,7 +128,7 @@ public class Q10325_SearchingForNewPower extends Quest
public String onTalk(L2Npc npc, L2PcInstance player) public String onTalk(L2Npc npc, L2PcInstance player)
{ {
final QuestState qs = getQuestState(player, true); final QuestState qs = getQuestState(player, true);
String htmltext = null; String htmltext = getNoQuestMsg(player);
switch (qs.getState()) switch (qs.getState())
{ {
@@ -145,6 +142,7 @@ public class Q10325_SearchingForNewPower extends Quest
} }
case State.STARTED: case State.STARTED:
{ {
int cond = qs.getCond();
switch (npc.getId()) switch (npc.getId())
{ {
case GALLINT: case GALLINT:
@@ -175,96 +173,120 @@ public class Q10325_SearchingForNewPower extends Quest
{ {
if (player.getRace() == Race.HUMAN) if (player.getRace() == Race.HUMAN)
{ {
if ((qs.isCond(2))) if (qs.isCond(2))
{ {
htmltext = "32156-01.html"; htmltext = "32156-01.html";
qs.setCond(8); qs.setCond(8);
break;
} }
else if (qs.isCond(8))
{
htmltext = "32156-02.html"; htmltext = "32156-02.html";
break;
} }
}
else if ((cond > 1) && (cond < 8))
{
htmltext = "32156-04.html"; htmltext = "32156-04.html";
}
break; break;
} }
case CIDNET: case CINDET:
{ {
if (player.getRace() == Race.ELF) if (player.getRace() == Race.ELF)
{ {
if ((qs.isCond(3))) if (qs.isCond(3))
{ {
htmltext = "32148-01.html"; htmltext = "32148-01.html";
qs.setCond(8); qs.setCond(8);
break;
} }
else if (qs.isCond(8))
{
htmltext = "32148-02.html"; htmltext = "32148-02.html";
break;
} }
}
else if ((cond > 1) && (cond < 8))
{
htmltext = "32148-04.html"; htmltext = "32148-04.html";
}
break; break;
} }
case BLACK: case BLACK:
{ {
if (player.getRace() == Race.DARK_ELF) if (player.getRace() == Race.DARK_ELF)
{ {
if ((qs.isCond(4))) if (qs.isCond(4))
{ {
htmltext = "32161-01.html"; htmltext = "32161-01.html";
qs.setCond(8); qs.setCond(8);
break;
} }
else if (qs.isCond(8))
{
htmltext = "32161-02.html"; htmltext = "32161-02.html";
break;
} }
}
else if ((cond > 1) && (cond < 8))
{
htmltext = "32161-04.html"; htmltext = "32161-04.html";
}
break; break;
} }
case HERTZ: case HERZ:
{ {
if (player.getRace() == Race.ORC) if (player.getRace() == Race.ORC)
{ {
if ((qs.isCond(5))) if (qs.isCond(5))
{ {
htmltext = "32151-01.html"; htmltext = "32151-01.html";
qs.setCond(8); qs.setCond(8);
break;
} }
else if (qs.isCond(8))
{
htmltext = "32151-02.html"; htmltext = "32151-02.html";
break;
} }
}
else if ((cond > 1) && (cond < 8))
{
htmltext = "32151-04.html"; htmltext = "32151-04.html";
}
break; break;
} }
case KINCAID: case KINCAID:
{ {
if (player.getRace() == Race.DWARF) if (player.getRace() == Race.DWARF)
{ {
if ((qs.isCond(6))) if (qs.isCond(6))
{ {
htmltext = "32159-01.html"; htmltext = "32159-01.html";
qs.setCond(8); qs.setCond(8);
break;
} }
else if (qs.isCond(8))
{
htmltext = "32159-02.html"; htmltext = "32159-02.html";
break;
} }
}
else if ((cond > 1) && (cond < 8))
{
htmltext = "32159-04.html"; htmltext = "32159-04.html";
}
break; break;
} }
case XONIA: case XONIA:
{ {
if (player.getRace() == Race.KAMAEL) if (player.getRace() == Race.KAMAEL)
{ {
if ((qs.isCond(7))) if (qs.isCond(7))
{ {
htmltext = "32144-01.html"; htmltext = "32144-01.html";
qs.setCond(8); qs.setCond(8);
break;
} }
else if (qs.isCond(8))
{
htmltext = "32144-02.html"; htmltext = "32144-02.html";
break;
} }
}
else if ((cond > 1) && (cond < 8))
{
htmltext = "32144-04.html"; htmltext = "32144-04.html";
}
break; break;
} }
} }
@@ -280,9 +302,9 @@ public class Q10325_SearchingForNewPower extends Quest
break; break;
} }
case TALBOT: case TALBOT:
case CIDNET: case CINDET:
case BLACK: case BLACK:
case HERTZ: case HERZ:
case KINCAID: case KINCAID:
case XONIA: case XONIA:
{ {

View File

@@ -1,5 +1,5 @@
<html><body>Pantheon:<br> <html><body>Pantheon:<br>
Hmm? You came Gallint instead? Injured by falling book... How is he? He could not move away from the shock of the fall of the Island, but still continued to work... Even don `t know what to say... just restless... Hmm...<br> Huh? You came instead of Gallint?<br>
Right. What Gallint asked me to tell me?<br> Is he okay? I heard about his little accident... He was overworked, the poor, stupid fool.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10326_RespectYourElders 32972-02.html">"To say that the Ruins Esagira began to notice Suspicious Types."</button> <Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10326_RespectYourElders 32972-02.html">"He wants you to know that strange people are showing up in Ye Sagira."</button>
</body></html> </body></html>

View File

@@ -1,4 +1,4 @@
<html><body>Pantheon:<br> <html><body>Pantheon:<br>
Suspicious Types... Now I remember that in recent times have also seen in the Museum of strange personalities. It seemed to me that they are looking for material on the Giants... Maybe they're one of those bands that were seen in the Ruins?<br> Hmm... we had the same thing happen here in the museum. We think they were looking for anything related to the Giants, and tried to steal <font color="LEVEL">The War of Gods and Giants</font> , an ancient book that was discovered in Ye Sagira.<br1>
They tried to steal a book called <font color="LEVEL">War of the Gods and the Giants</font>. In this ancient manuscript contains information in the power of the Giants, the origin of their powers, monsters era Giants and the like. I am afraid that now, after the fall of the Island of Giants, this information can be used for evil purposes. It is necessary to rearrange the book elsewhere. It has many stories about the powers of the Giants, how that power can be learned, and about others species from their time. With the recent devastation, perhaps...
</body></html> </body></html>

View File

@@ -1,4 +1,5 @@
<html><body>Gallint:<br> <html><body>Gallint:<br>
Ah-ah! My back... Something I overworked these documents... Ah... I wanted to give something... How am I so...<br> My god. My back! I can't even move. I worked too hard organizing... documents.<br1>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10326_RespectYourElders 32980-02.htm">"Ask describe the problem in detail"</button> Ahh.. I have something to tell you... But my body is...
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10326_RespectYourElders 32980-02.htm">"Are... you okay?"</button>
</body></html> </body></html>

View File

@@ -1,6 +1,6 @@
<html><body>Gallint:<br> <html><body>Gallint:<br>
You know... Today I long for the first time, brought order to the documents. There were so many that had to move folders using magic.<br> NO I'M NOT OKAY! OW! Don't make me shout!<br>
But these manuscripts was so much dust that I started sneezing. Distracted, and documents that are carried through the air, dropped over. Now sore lower back.<br> I was organizing the... documents in our old storage rooms, lifting up whole tomes with my magic. But... ow ow ow... okay... but they'd not been moved for years, and had quite a collection of dust covering them. The dust was getting thrown up everywhere, then I... I sneezed, and everything came crashing down around me. Around me, and on me.<br>
For three days had passed on his feet I stood up, but moving all Yeshe hard. It was necessary to convey something of the Pantheon. Phew.<br> And I had something important to tell Pantheon... Sigh...
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10326_RespectYourElders 32980-03.html">"Offer Help"</button> <Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10326_RespectYourElders 32980-03.htm">"Well, I can pass on a message."</button>
</body></html> </body></html>

View File

@@ -0,0 +1,4 @@
<html><body>Gallint:<br>
Ah yes! Yes, you can...<br>
Well then... please go into the <font color="LEVEL">museum</font> and tell <font color="LEVEL">Pantheon</font> that <font color="LEVEL">"there were suspicious people... OW... caught in Ye Sagira"</font> . You can leave out the 'ow' part.
</body></html>

View File

@@ -1,3 +0,0 @@
<html><body>Gallint:<br>
You are so kind. <font color="LEVEL">Pantheon</font> <font color="LEVEL">is located at the Museum</font>. Tell him: <font color="LEVEL">"In Esagire caught suspicious characters"</font>. And pass. I beg you.
</body></html>

View File

@@ -1,4 +1,3 @@
<html><body>Gallint:<br> <html><body>Gallint:<br>
Come back... laster! Too much... pain, and you can't help Argh!<br> Please go into the <font color="LEVEL">museum</font> and tell <font color="LEVEL">Pantheon</font> that <font color="LEVEL">"there were suspicious people caught in Sagira"</font>.
(Only characters level 20 or above may take on this quest)
</body></html> </body></html>

View File

@@ -1,4 +1,4 @@
<html><body>Gallint:<br> <html><body>Gallint:<br>
Come back... laster! Too much... pain, and you can't help Argh!<br> Come back... laster! Too much... pain, and you can't help Argh!<br>
(Only characters under level 20 who have completed the Looking for New Power quest may take on this quest) (Only characters level 20 or above may take on this quest)
</body></html> </body></html>

View File

@@ -0,0 +1,4 @@
<html><body>Gallint:<br>
Come back... laster! Too much... pain, and you can't help Argh!<br>
(Only characters under level 20 who have completed the Looking for New Power quest may take on this quest)
</body></html>

View File

@@ -63,8 +63,8 @@ public class Q10326_RespectYourElders extends Quest
addTalkId(GALLINT, PANTHEON); addTalkId(GALLINT, PANTHEON);
addSpawnId(HANDERMONKEY); addSpawnId(HANDERMONKEY);
addMoveFinishedId(HANDERMONKEY); addMoveFinishedId(HANDERMONKEY);
addCondMaxLevel(MAX_LEVEL, "32980-04.html"); addCondMaxLevel(MAX_LEVEL, "32980-05.html");
addCondCompletedQuest(Q10325_SearchingForNewPower.class.getSimpleName(), "32980-05.html"); addCondCompletedQuest(Q10325_SearchingForNewPower.class.getSimpleName(), "32980-06.htm");
} }
@Override @Override
@@ -79,7 +79,7 @@ public class Q10326_RespectYourElders extends Quest
String htmltext = null; String htmltext = null;
switch (event) switch (event)
{ {
case "32980-03.html": case "32980-03.htm":
{ {
qs.startQuest(); qs.startQuest();
htmltext = event; htmltext = event;
@@ -193,21 +193,17 @@ public class Q10326_RespectYourElders extends Quest
{ {
case State.CREATED: case State.CREATED:
{ {
if (npc.getId() == GALLINT) htmltext = npc.getId() == GALLINT ? "32980-01.htm" : getNoQuestMsg(player);
{
htmltext = "32980-01.htm";
break;
}
break; break;
} }
case State.STARTED: case State.STARTED:
{ {
htmltext = npc.getId() == GALLINT ? "32980-03.html" : "32972-01.html"; htmltext = npc.getId() == GALLINT ? "32980-04.html" : "32972-01.html";
break; break;
} }
case State.COMPLETED: case State.COMPLETED:
{ {
htmltext = npc.getId() == GALLINT ? "32980-04.html" : "32972-03.html"; htmltext = npc.getId() == GALLINT ? "32980-05.html" : "32972-03.html";
break; break;
} }
} }

View File

@@ -1,5 +1,5 @@
<html><body>Pantheon:<br> <html><body>Pantheon:<br>
We think they were looking for anything related to the Giants,and tried to steal The War of Gods and Giants, an ancient book that was discovered in Ye Sagira.<br> We think they were looking for anything related to the Giants,and tried to steal The War of Gods and Giants, an ancient book that was discovered in Ye Sagira.<br>
It has many stories about the powers of the Giants, how that power can be learned, and about others species from their time. Now that the island has crashed, perhaps we should think about safeguarding the book...<br> It has many stories about the powers of the Giants, how that power can be learned, and about others species from their time. Now that the island has crashed, perhaps we should think about safeguarding the book...<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10327_IntruderWhoWantsTheBookOfGiants 32972-03.html">"I'd like to help."</Button> <Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10327_IntruderWhoWantsTheBookOfGiants 32972-03.htm">"I'd like to help."</Button>
</body></html> </body></html>

View File

@@ -1,6 +0,0 @@
<html><body>Pantheon:<br>
Thank you!<br1>
When you get to the museum, you should see a number of desks - <font color="LEVEL">one of them</font> has <font color="LEVEL">The War of Giants and Gods</font> on it. Find it, and bring it to me.<br>
Would you like to go to the museum?<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Quest MuseumDungeon enter_instance">"Yes."</Button>
</body></html>

View File

@@ -1,5 +1,4 @@
<html><head><body>Pantheon:<br> <html><body>Pantheon:<br>
You've brought the book? Good! It must have been difficult to find it amongst all those others!<br> I just saw suspicious intruders entering the Museum! I fear for the rare and valuable articles inside the Museum. Please hurry into the Museum and deal with the intruders!<br>
I hope you didn't get hurt either - Gallint may be a fool, but plenty have hurt themselves moving books around before him.<br> <Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Quest MuseumDungeon enter_instance">"Sure. I am going in."</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10327_IntruderWhoWantsTheBookOfGiants 32972-06.html">"I had to fight someone!"</Button>
</body></html> </body></html>

View File

@@ -1,6 +1,5 @@
<html><body>Pantheon:<br> <html><head><body>Pantheon:<br>
What? The thieves are getting more brash by the day!<br> You've brought the book? Good! It must have been difficult to find it amongst all those others!<br>
Hmm... So, I wonder if the books related to Giants... are also related to Embryo. It's just speculation, but something worth considering.<br> I hope you didn't get hurt either - Gallint may be a fool, but plenty have hurt themselves moving books around before him.<br>
Now, I must apologize for placing you in harm's way. Please accept these Earrings - accessories such as these help protect you against magic!<br> <Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10327_IntruderWhoWantsTheBookOfGiants 32972-07.html">"I had to fight someone!"</Button>
Remember: you can wear up to two <font color="LEVEL">earrings</font> at a time. Purchase more from the <font color="LEVEL">General Merchant</font> if you wish.
</body></html> </body></html>

View File

@@ -1,4 +1,6 @@
<html><body>Pantheon:<br> <html><body>Pantheon:<br>
I'm still looking into things, friend. I'll let you know when I find anything.<br> 'What? The thieves are getting more brash by the day!<br>
(You have already completed this quest.) Hmm... So, I wonder if the books related to Giants... are also related to Embryo. It's just speculation, but something worth considering.<br>
Now, I must apologize for placing you in harm's way. Please accept these Earrings - accessories such as these help protect you against magic!<br>
Remember: you can wear up to two <font color="LEVEL">earrings</font> at a time. Purchase more from the <font color="LEVEL">General Merchant</font> if you wish.
</body></html> </body></html>

View File

@@ -0,0 +1,4 @@
<html><body>Pantheon:<br>
I'm still looking into things, friend. I'll let you know when I find anything.<br>
(You have already completed this quest.)
</body></html>

View File

@@ -0,0 +1,4 @@
<html><body>Pantheon:<br>
This mission can't be given to just anyone!<br>
(Only characters below 20, who've completed the "Let's Respect Elders" quest, may start this quest)
</body></html>

View File

@@ -46,8 +46,8 @@ public class Q10327_IntruderWhoWantsTheBookOfGiants extends Quest
addStartNpc(PANTHEON); addStartNpc(PANTHEON);
addTalkId(PANTHEON); addTalkId(PANTHEON);
registerQuestItems(THE_WAR_OF_GODS_AND_GIANTS); registerQuestItems(THE_WAR_OF_GODS_AND_GIANTS);
addCondMaxLevel(MAX_LEVEL, "no_level.html"); addCondMaxLevel(MAX_LEVEL, "32972-09.htm");
addCondCompletedQuest(Q10326_RespectYourElders.class.getSimpleName(), "no_level.html"); addCondCompletedQuest(Q10326_RespectYourElders.class.getSimpleName(), "32972-09.htm");
} }
@Override @Override
@@ -67,13 +67,13 @@ public class Q10327_IntruderWhoWantsTheBookOfGiants extends Quest
htmltext = event; htmltext = event;
break; break;
} }
case "32972-03.html": case "32972-03.htm":
{ {
qs.startQuest(); qs.startQuest();
htmltext = event; htmltext = event;
break; break;
} }
case "32972-06.html": case "32972-07.html":
{ {
if (qs.isCond(3)) if (qs.isCond(3))
{ {
@@ -82,6 +82,7 @@ public class Q10327_IntruderWhoWantsTheBookOfGiants extends Quest
addExpAndSp(player, 7800, 5); addExpAndSp(player, 7800, 5);
showOnScreenMsg(player, NpcStringId.ACCESSORIES_HAVE_BEEN_ADDED_TO_YOUR_INVENTORY, ExShowScreenMessage.TOP_CENTER, 5000); showOnScreenMsg(player, NpcStringId.ACCESSORIES_HAVE_BEEN_ADDED_TO_YOUR_INVENTORY, ExShowScreenMessage.TOP_CENTER, 5000);
qs.exitQuest(false, true); qs.exitQuest(false, true);
htmltext = event;
} }
break; break;
} }
@@ -104,19 +105,29 @@ public class Q10327_IntruderWhoWantsTheBookOfGiants extends Quest
} }
case State.STARTED: case State.STARTED:
{ {
if (qs.isCond(3)) switch (qs.getCond())
{ {
htmltext = "32972-05.html"; case 1:
}
else
{ {
htmltext = "32972-04.html"; htmltext = "32972-04.html";
break;
}
case 2:
{
htmltext = "32972-05.html";
break;
}
case 3:
{
htmltext = "32972-06.html";
break;
}
} }
break; break;
} }
case State.COMPLETED: case State.COMPLETED:
{ {
htmltext = "32972-07.html"; htmltext = "32972-08.html";
break; break;
} }
} }

View File

@@ -1,4 +0,0 @@
<html><body>Pantheon:<br>
This mission can't be give to just anyone!<br>
(Only characters below 20, who have completed the "Respect Your Elders" quest, may start this quest.)
</body></html>