Addition of quest Future: Dwarves (10993).

Contributed by Stayway.
This commit is contained in:
MobiusDev
2018-06-13 21:08:46 +00:00
parent 8935cfdcc7
commit a2a5eb6158
42 changed files with 458 additions and 2 deletions

View File

@@ -18,6 +18,5 @@
10868 The Dark Side of Power
10870 Unfinished Device
10871 Death to the Pirate King!
10993 Future: Dwarves
10994 Future: Orcs
11012 Future Elves

View File

@@ -0,0 +1,4 @@
<html><body>Triskel:<br>
Lector sent you, right? So you want to choose the path of a Assassin? Excellent! It's always good to study something new.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q11018_FutureDarkElves 30416-02.html">"I can't wait!"</Button><br>
</body></html>

View File

@@ -0,0 +1,3 @@
<html><body>Triskel:<br>
You made the right decision! Tell me when you are ready to make a Class Transfer.
</body></html>

View File

@@ -0,0 +1,4 @@
<html><body>Witch Varika:<br>
Vollodos told me about you.Do you want to become a Dark Wizard?<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q11018_FutureDarkElves 30421-02.html">That's right</Button><br>
</body></html>

View File

@@ -0,0 +1,3 @@
<html><body>Witch Varika:<br>
You made the right decision! Tell me when you are ready to make a Class Transfer.
</body></html>

View File

@@ -0,0 +1,4 @@
<html><body>Collector Pippi:<br>
Priest Gerald warned me about your arrival. So, do you want to become a Scavenger?<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10993_FutureDwarves 30524-02.html"> "That's right"</Button><br>
</body></html>

View File

@@ -0,0 +1,3 @@
<html><body>Blacksmith Silvera:<br>
You made the right decision! Tell me when you are ready to make a Class Transfer.
</body></html>

View File

@@ -0,0 +1,4 @@
<html><body>Blacksmith Silvera:<br>
Priest Gerald warned me about your arrival. So, do you want to become a Artisan?<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10993_FutureDwarves 30527-02.html"> "That's right"</Button><br>
</body></html>

View File

@@ -0,0 +1,3 @@
<html><body>Blacksmith Silvera:<br>
You made the right decision! Tell me when you are ready to make a Class Transfer.
</body></html>

View File

@@ -0,0 +1,4 @@
<html><body>Head Priest of the Earth Gerald:<br>
Now I can trust you. What do you think? Would you like to take a new path?<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10993_FutureDwarves 30650-02.htm">Complete 1st Class Transfer</Button><br>
</body></html>

View File

@@ -0,0 +1,5 @@
<html><body>Head Priest of the Earth Gerald:<br>
Have you considered it well? Which Class do you choose? <br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10993_FutureDwarves f_scavenger.html"> Become a Scavenger </Button><br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10993_FutureDwarves f_artisan.html"> Become an Artisan </Button><br>
</body></html>

View File

@@ -0,0 +1,3 @@
<html><body>Head Priest of the Gerald:<br>
Haven't you set off? Follow the arrow. <br>
<font color="LEVEL">(you may check your destination in the quest dialog by pressing Alt+U.)</font>

View File

@@ -0,0 +1,3 @@
<html><body>Head Priest of the Gerald:<br>
(Only characters who are level 19 or above and who have completed the <font color="LEVEL">Loser Priest (3/3)</font> quests may undertake this quest.)
</body></html>

View File

@@ -0,0 +1,158 @@
/*
* This file is part of the L2J Mobius project.
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package quests.Q10993_FutureDwarves;
import com.l2jmobius.gameserver.enums.Race;
import com.l2jmobius.gameserver.model.actor.L2Npc;
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
import com.l2jmobius.gameserver.model.base.ClassId;
import com.l2jmobius.gameserver.model.quest.Quest;
import com.l2jmobius.gameserver.model.quest.QuestState;
import com.l2jmobius.gameserver.model.quest.State;
import com.l2jmobius.gameserver.network.NpcStringId;
import quests.Q10999_LoserPriest3.Q10999_LoserPriest3;
/**
* Future: Dwarves (10993)
* @author Stayway
*/
public class Q10993_FutureDwarves extends Quest
{
// NPCs
private static final int GERALD = 30650;
private static final int PIPPI = 30524;
private static final int SILVERA = 30527;
// Items
private static final int FIRST_CLASS_BUFF_SCROLL = 29011;
private static final int IMPROVED_SOE = 49087;
// Misc
private static final int MIN_LEVEL = 19;
public Q10993_FutureDwarves()
{
super(10993);
addStartNpc(GERALD);
addTalkId(PIPPI, GERALD, SILVERA);
addCondMinLevel(MIN_LEVEL, "no-level.html"); // Custom
addCondRace(Race.DWARF, "no-race.html"); // Custom
addCondCompletedQuest(Q10999_LoserPriest3.class.getSimpleName(), "30650-04.html");
setQuestNameNpcStringId(NpcStringId.LV_19_FUTURE_DWARVES);
}
@Override
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
{
final QuestState qs = getQuestState(player, false);
if (qs == null)
{
return null;
}
String htmltext = null;
switch (event)
{
case "30650-02.htm":
case "f_scavenger.html":
case "f_artisan.html":
{
htmltext = event;
break;
}
case "a_scavenger.html":
{
qs.startQuest();
qs.setCond(2, true);
htmltext = event;
break;
}
case "a_artisan.html": // Custom html
{
qs.startQuest();
qs.setCond(3, true);
htmltext = event;
break;
}
case "30524-02.html":
case "30527-02.html":
{
if (qs.getCond() > 1)
{
giveItems(player, FIRST_CLASS_BUFF_SCROLL, 5);
giveItems(player, IMPROVED_SOE, 1);
qs.exitQuest(false, true);
htmltext = event;
}
break;
}
}
return htmltext;
}
@Override
public String onTalk(L2Npc npc, L2PcInstance talker)
{
final QuestState qs = getQuestState(talker, true);
String htmltext = getNoQuestMsg(talker);
switch (qs.getState())
{
case State.CREATED:
{
if ((npc.getId() == GERALD))
{
htmltext = "30650-01.html";
}
break;
}
case State.STARTED:
{
if (npc.getId() == GERALD)
{
if (qs.getCond() >= 1)
{
htmltext = "30650-03.html";
}
break;
}
if ((npc.getId() == PIPPI) && (talker.getClassId() != ClassId.SCAVENGER))
{
if (qs.isCond(2))
{
htmltext = "30524-01.html";
}
break;
}
if ((npc.getId() == SILVERA) && (talker.getClassId() != ClassId.ARTISAN))
{
if (qs.isCond(3))
{
htmltext = "30527-01.html"; // Custom Html
}
break;
}
}
case State.COMPLETED:
{
htmltext = getAlreadyCompletedMsg(talker);
break;
}
}
return htmltext;
}
}

View File

@@ -0,0 +1,2 @@
<html><body> Head Priest of the Earth Gerald:<br>
Do you want to become a <font color="LEVEL">Artisan</font>? You need to talk <font color="LEVEL">Blacksmith Silvera</font>. She is at the <font color="LEVEL">Blacksmith Shop </font>. Don't waste time, go there<br>

View File

@@ -0,0 +1,2 @@
<html><body> Head Priest of the Earth Gerald:<br>
Do you want to become a <font color="LEVEL">Scavengers</font>? You need to talk <font color="LEVEL"> Pippi</font>. Pippi is in a department of the <font color="LEVEL">Bronze Key Guild</font>. Don't waste time, go there<br>

View File

@@ -0,0 +1,7 @@
<html><body>Class description - Artisan:<br>
<font color="LEVEL"> Artisans </font>are Dwarves who work in creating items and equipment. They don't like traveling and prefer to stay in their workshops.<br>
They can't continue lerning Spoil and Sweeper Skills, so they are less effective when it comes to collecting materials. However, you can earn a lot through item-making.<br>
They are not very effective in combat or during hunting, but, unlike Scavengers, they can summon battle Mechanic Golems who will be a good asset in battles.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10993_FutureDwarves a_artisan.html">Say that you have decided</Button> <br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10993_FutureDwarves 30650-02.htm">Say that you want to think about it</Button> <br>
</body></html>

View File

@@ -0,0 +1,7 @@
<html><body>Class description - Scavenger :<br>
<font color="LEVEL"> Scavengers </font>are Dwarves who travel the world looking for materials for making various items. <br>
They are able to collect various additional items and materials from monsters. Scavengers use Spoil and Sweeper Skills that they learned back in their Dwarven Fighter times.<br>
They are not really effective in combat or during hunting, but you can earn a lot with them when collecting materials. That's why players who want to pursue item collecting choose Scavengers.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10993_FutureDwarves a_scavenger.html">Say that you have decided</Button><br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10993_FutureDwarves 30650-02.htm">Say that you want to think about ir</Button><br>
</body></html>

View File

@@ -0,0 +1,4 @@
<html><body>Grocer Vollodos:<br>
You ought to gain more experience. Come back later.<br>
<font color="LEVEL">(This quest is available to characters of Level 19 or higher.)</font><br>
</body></html>

View File

@@ -0,0 +1,4 @@
<html><body>Grocer Vollodos:<br>
You are not a Dark Elf. Get the hell out!
<font color="LEVEL">(This quest is available to Dark Elfs only.)</font><br>
</body></html>

View File

@@ -147,6 +147,7 @@ import quests.Q00418_PathOfTheArtisan.Q00418_PathOfTheArtisan;
import quests.Q00662_AGameOfCards.Q00662_AGameOfCards;
import quests.Q00933_ExploringTheWestWingOfTheDungeonOfAbyss.Q00933_ExploringTheWestWingOfTheDungeonOfAbyss;
import quests.Q00935_ExploringTheEastWingOfTheDungeonOfAbyss.Q00935_ExploringTheEastWingOfTheDungeonOfAbyss;
import quests.Q10993_FutureDwarves.Q10993_FutureDwarves;
import quests.Q10995_MutualBenefit.Q10995_MutualBenefit;
import quests.Q10996_TemplesDecorations.Q10996_TemplesDecorations;
import quests.Q10997_LoserPriest1.Q10997_LoserPriest1;
@@ -313,6 +314,7 @@ public class QuestMasterHandler
Q00662_AGameOfCards.class,
Q00933_ExploringTheWestWingOfTheDungeonOfAbyss.class,
Q00935_ExploringTheEastWingOfTheDungeonOfAbyss.class,
Q10993_FutureDwarves.class,
Q10995_MutualBenefit.class,
Q10996_TemplesDecorations.class,
Q10997_LoserPriest1.class,

View File

@@ -17,7 +17,6 @@
10868 The Dark Side of Power
10870 Unfinished Device
10871 Death to the Pirate King!
10993 Future: Dwarves
10994 Future: Orcs
11012 Future Elves

View File

@@ -0,0 +1,4 @@
<html><body>Triskel:<br>
Lector sent you, right? So you want to choose the path of a Assassin? Excellent! It's always good to study something new.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q11018_FutureDarkElves 30416-02.html">"I can't wait!"</Button><br>
</body></html>

View File

@@ -0,0 +1,3 @@
<html><body>Triskel:<br>
You made the right decision! Tell me when you are ready to make a Class Transfer.
</body></html>

View File

@@ -0,0 +1,4 @@
<html><body>Witch Varika:<br>
Vollodos told me about you.Do you want to become a Dark Wizard?<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q11018_FutureDarkElves 30421-02.html">That's right</Button><br>
</body></html>

View File

@@ -0,0 +1,3 @@
<html><body>Witch Varika:<br>
You made the right decision! Tell me when you are ready to make a Class Transfer.
</body></html>

View File

@@ -0,0 +1,4 @@
<html><body>Collector Pippi:<br>
Priest Gerald warned me about your arrival. So, do you want to become a Scavenger?<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10993_FutureDwarves 30524-02.html"> "That's right"</Button><br>
</body></html>

View File

@@ -0,0 +1,3 @@
<html><body>Blacksmith Silvera:<br>
You made the right decision! Tell me when you are ready to make a Class Transfer.
</body></html>

View File

@@ -0,0 +1,4 @@
<html><body>Blacksmith Silvera:<br>
Priest Gerald warned me about your arrival. So, do you want to become a Artisan?<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10993_FutureDwarves 30527-02.html"> "That's right"</Button><br>
</body></html>

View File

@@ -0,0 +1,3 @@
<html><body>Blacksmith Silvera:<br>
You made the right decision! Tell me when you are ready to make a Class Transfer.
</body></html>

View File

@@ -0,0 +1,4 @@
<html><body>Head Priest of the Earth Gerald:<br>
Now I can trust you. What do you think? Would you like to take a new path?<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10993_FutureDwarves 30650-02.htm">Complete 1st Class Transfer</Button><br>
</body></html>

View File

@@ -0,0 +1,5 @@
<html><body>Head Priest of the Earth Gerald:<br>
Have you considered it well? Which Class do you choose? <br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10993_FutureDwarves f_scavenger.html"> Become a Scavenger </Button><br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10993_FutureDwarves f_artisan.html"> Become an Artisan </Button><br>
</body></html>

View File

@@ -0,0 +1,3 @@
<html><body>Head Priest of the Gerald:<br>
Haven't you set off? Follow the arrow. <br>
<font color="LEVEL">(you may check your destination in the quest dialog by pressing Alt+U.)</font>

View File

@@ -0,0 +1,3 @@
<html><body>Head Priest of the Gerald:<br>
(Only characters who are level 19 or above and who have completed the <font color="LEVEL">Loser Priest (3/3)</font> quests may undertake this quest.)
</body></html>

View File

@@ -0,0 +1,158 @@
/*
* This file is part of the L2J Mobius project.
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package quests.Q10993_FutureDwarves;
import com.l2jmobius.gameserver.enums.Race;
import com.l2jmobius.gameserver.model.actor.L2Npc;
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
import com.l2jmobius.gameserver.model.base.ClassId;
import com.l2jmobius.gameserver.model.quest.Quest;
import com.l2jmobius.gameserver.model.quest.QuestState;
import com.l2jmobius.gameserver.model.quest.State;
import com.l2jmobius.gameserver.network.NpcStringId;
import quests.Q10999_LoserPriest3.Q10999_LoserPriest3;
/**
* Future: Dwarves (10993)
* @author Stayway
*/
public class Q10993_FutureDwarves extends Quest
{
// NPCs
private static final int GERALD = 30650;
private static final int PIPPI = 30524;
private static final int SILVERA = 30527;
// Items
private static final int FIRST_CLASS_BUFF_SCROLL = 29011;
private static final int IMPROVED_SOE = 49087;
// Misc
private static final int MIN_LEVEL = 19;
public Q10993_FutureDwarves()
{
super(10993);
addStartNpc(GERALD);
addTalkId(PIPPI, GERALD, SILVERA);
addCondMinLevel(MIN_LEVEL, "no-level.html"); // Custom
addCondRace(Race.DWARF, "no-race.html"); // Custom
addCondCompletedQuest(Q10999_LoserPriest3.class.getSimpleName(), "30650-04.html");
setQuestNameNpcStringId(NpcStringId.LV_19_FUTURE_DWARVES);
}
@Override
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
{
final QuestState qs = getQuestState(player, false);
if (qs == null)
{
return null;
}
String htmltext = null;
switch (event)
{
case "30650-02.htm":
case "f_scavenger.html":
case "f_artisan.html":
{
htmltext = event;
break;
}
case "a_scavenger.html":
{
qs.startQuest();
qs.setCond(2, true);
htmltext = event;
break;
}
case "a_artisan.html": // Custom html
{
qs.startQuest();
qs.setCond(3, true);
htmltext = event;
break;
}
case "30524-02.html":
case "30527-02.html":
{
if (qs.getCond() > 1)
{
giveItems(player, FIRST_CLASS_BUFF_SCROLL, 5);
giveItems(player, IMPROVED_SOE, 1);
qs.exitQuest(false, true);
htmltext = event;
}
break;
}
}
return htmltext;
}
@Override
public String onTalk(L2Npc npc, L2PcInstance talker)
{
final QuestState qs = getQuestState(talker, true);
String htmltext = getNoQuestMsg(talker);
switch (qs.getState())
{
case State.CREATED:
{
if ((npc.getId() == GERALD))
{
htmltext = "30650-01.html";
}
break;
}
case State.STARTED:
{
if (npc.getId() == GERALD)
{
if (qs.getCond() >= 1)
{
htmltext = "30650-03.html";
}
break;
}
if ((npc.getId() == PIPPI) && (talker.getClassId() != ClassId.SCAVENGER))
{
if (qs.isCond(2))
{
htmltext = "30524-01.html";
}
break;
}
if ((npc.getId() == SILVERA) && (talker.getClassId() != ClassId.ARTISAN))
{
if (qs.isCond(3))
{
htmltext = "30527-01.html"; // Custom Html
}
break;
}
}
case State.COMPLETED:
{
htmltext = getAlreadyCompletedMsg(talker);
break;
}
}
return htmltext;
}
}

View File

@@ -0,0 +1,2 @@
<html><body> Head Priest of the Earth Gerald:<br>
Do you want to become a <font color="LEVEL">Artisan</font>? You need to talk <font color="LEVEL">Blacksmith Silvera</font>. She is at the <font color="LEVEL">Blacksmith Shop </font>. Don't waste time, go there<br>

View File

@@ -0,0 +1,2 @@
<html><body> Head Priest of the Earth Gerald:<br>
Do you want to become a <font color="LEVEL">Scavengers</font>? You need to talk <font color="LEVEL"> Pippi</font>. Pippi is in a department of the <font color="LEVEL">Bronze Key Guild</font>. Don't waste time, go there<br>

View File

@@ -0,0 +1,7 @@
<html><body>Class description - Artisan:<br>
<font color="LEVEL"> Artisans </font>are Dwarves who work in creating items and equipment. They don't like traveling and prefer to stay in their workshops.<br>
They can't continue lerning Spoil and Sweeper Skills, so they are less effective when it comes to collecting materials. However, you can earn a lot through item-making.<br>
They are not very effective in combat or during hunting, but, unlike Scavengers, they can summon battle Mechanic Golems who will be a good asset in battles.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10993_FutureDwarves a_artisan.html">Say that you have decided</Button> <br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10993_FutureDwarves 30650-02.htm">Say that you want to think about it</Button> <br>
</body></html>

View File

@@ -0,0 +1,7 @@
<html><body>Class description - Scavenger :<br>
<font color="LEVEL"> Scavengers </font>are Dwarves who travel the world looking for materials for making various items. <br>
They are able to collect various additional items and materials from monsters. Scavengers use Spoil and Sweeper Skills that they learned back in their Dwarven Fighter times.<br>
They are not really effective in combat or during hunting, but you can earn a lot with them when collecting materials. That's why players who want to pursue item collecting choose Scavengers.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10993_FutureDwarves a_scavenger.html">Say that you have decided</Button><br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10993_FutureDwarves 30650-02.htm">Say that you want to think about ir</Button><br>
</body></html>

View File

@@ -0,0 +1,4 @@
<html><body>Grocer Vollodos:<br>
You ought to gain more experience. Come back later.<br>
<font color="LEVEL">(This quest is available to characters of Level 19 or higher.)</font><br>
</body></html>

View File

@@ -0,0 +1,4 @@
<html><body>Grocer Vollodos:<br>
You are not a Dark Elf. Get the hell out!
<font color="LEVEL">(This quest is available to Dark Elfs only.)</font><br>
</body></html>

View File

@@ -147,6 +147,7 @@ import quests.Q00418_PathOfTheArtisan.Q00418_PathOfTheArtisan;
import quests.Q00662_AGameOfCards.Q00662_AGameOfCards;
import quests.Q00933_ExploringTheWestWingOfTheDungeonOfAbyss.Q00933_ExploringTheWestWingOfTheDungeonOfAbyss;
import quests.Q00935_ExploringTheEastWingOfTheDungeonOfAbyss.Q00935_ExploringTheEastWingOfTheDungeonOfAbyss;
import quests.Q10993_FutureDwarves.Q10993_FutureDwarves;
import quests.Q10995_MutualBenefit.Q10995_MutualBenefit;
import quests.Q10996_TemplesDecorations.Q10996_TemplesDecorations;
import quests.Q10997_LoserPriest1.Q10997_LoserPriest1;
@@ -313,6 +314,7 @@ public class QuestMasterHandler
Q00662_AGameOfCards.class,
Q00933_ExploringTheWestWingOfTheDungeonOfAbyss.class,
Q00935_ExploringTheEastWingOfTheDungeonOfAbyss.class,
Q10993_FutureDwarves.class,
Q10995_MutualBenefit.class,
Q10996_TemplesDecorations.class,
Q10997_LoserPriest1.class,