Quest Lizardmen's Conspiracy (298).

Contributed by gigilo1968.
This commit is contained in:
MobiusDev 2016-02-13 14:48:25 +00:00
parent 6b57017bd4
commit 1f60ad6abb
13 changed files with 221 additions and 0 deletions

View File

@ -0,0 +1,6 @@
<html><body>Guard Praga:<br>
As you may know, the <font color="LEVEL">Maille Lizardman stronghold</font> is in the west part of the Town of Gludio.<br>
During the war with Gracia, they infiltrated our land through a gap in our security, and our guards have been unable to drive them out since. An interesting report about them has recently surfaced, and Magister Rohmer is investigating the matter.<br>
He's hopeful that this new intelligence will allow us to destroy the Lizardman forces soon. He's looking for someone to help him with this mission, and I think that you would be perfect for the job! What do you think? Will you help us?<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00298_LizardmensConspiracy 30333-03.htm">"Yes, I'll help."</button>
</body></html>

View File

@ -0,0 +1,6 @@
<html><body>Guard Praga:<br>
As you may know, the <font color="LEVEL">Maille Lizardman stronghold</font> is in the west part of the Town of Gludio.<br>
During the war with Gracia, they infiltrated our land through a gap in our security, and our guards have been unable to drive them out since. An interesting report about them has recently surfaced, and Magister Rohmer is investigating the matter.<br>
He's hopeful that this new intelligence will allow us to destroy the Lizardman forces soon. He's looking for someone to help him with this mission.<br>
(Only a character of level 25 or above may undertake this quest.)
</body></html>

View File

@ -0,0 +1,4 @@
<html><body>Guard Praga:<br>
Very well!<br>
Take this <font color="LEVEL">report</font> to <font color="LEVEL">Magister Rohmer</font> in the Einhasad Temple in the village. You may find him slightly eccentric, but he'll be very happy to get the report.
</body></html>

View File

@ -0,0 +1,4 @@
<html><body>Guard Praga:<br>
Go to the <font color="LEVEL">Einhasad Temple near the northern entrance of the village</font> and meet <font color="LEVEL">Magister Rohmer</font>. Take the <font color="LEVEL">report</font> to him. He'll give you a new assignment.<br>
His speech is somewhat peculiar, but he's the top expert in the village, so treat him with respect and don't upset him!
</body></html>

View File

@ -0,0 +1,5 @@
<html><body>Magister Rohmer:<br>
It seems like I've been waiting forever for the <font color="LEVEL">Patrol's Report</font>! Hmm... I've heard that the Maille Lizardmen have control of Araneid!<br>
Will you help me? This is no ordinary mission! In fact, it's too dangerous for me to do it myself... Are you up for a real challenge?<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00298_LizardmensConspiracy 30344-04.html">"That's what I'm here for!" </button>
</body></html>

View File

@ -0,0 +1,3 @@
<html><body>Magister Rohmer:<br>
That's not enough. I need 50 <font color="LEVEL">shiny five colored orbs</font> and 50 <font color="LEVEL">shiny red colored orbs</font>. Now go!
</body></html>

View File

@ -0,0 +1,4 @@
<html><body>Magister Rohmer:<br>
Did you get what I asked for?<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00298_LizardmensConspiracy 30344-06.html">"I have them!"</button>
</body></html>

View File

@ -0,0 +1,4 @@
<html><body>Magister Rohmer:<br>
Lizardmen are using sorcery to turn arachnids into servants! To dispell it, I'll need the orbs they are using.<br>
Get <font color="LEVEL">shiny colored orbs</font> from <font color="LEVEL">Maille Lizardman Warriors, Shamans and Matriarchs</font>. <font color="LEVEL">Poison Araneid and King of the Araneid</font> have <font color="LEVEL">shiny red colored orbs</font>. I need fifty of each. Find them in the <font color="LEVEL">north of the Maille Lizardman stronghold</font>. I'm counting on you!
</body></html>

View File

@ -0,0 +1,3 @@
<html><body>Magister Rohmer:<br>
Bring me the <font color="LEVEL">scout's report</font> from <font color="LEVEL">Guard Praga</font>!
</body></html>

View File

@ -0,0 +1,6 @@
<html><body>Magister Rohmer:<br>
I, Rohmer, thank you for your help. Now, I can weaken the power of the Maille Lizardmen's magic even further.<br>
But the fight is not over yet. The Maille Lizardmen outnumber us and have countless shamans. They will endlessly try to strengthen and recover their magic. To prevent this, we must continuously offset this magic. I hope that you can help us again in the future.<br>
I, Rohmer, cannot compensate your efforts with wealth or materials, but I'll at least try to make your future path easier.<br>
(This quest is a repeatable quest. You can start it again through Guard Praga.)
</body></html>

View File

@ -0,0 +1,3 @@
<html><body>Magister Rohmer:<br>
Rohmer says that this amount is not going to help us that much. You must collect <font color="LEVEL">50 shiny five-colored beads</font> and <font color="LEVEL">50 shiny red beads</font> and come back.
</body></html>

View File

@ -0,0 +1,171 @@
/*
* 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.Q00298_LizardmensConspiracy;
import java.util.HashMap;
import java.util.Map;
import com.l2jmobius.gameserver.model.actor.L2Npc;
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
import com.l2jmobius.gameserver.model.holders.ItemChanceHolder;
import com.l2jmobius.gameserver.model.quest.Quest;
import com.l2jmobius.gameserver.model.quest.QuestState;
/**
* Lizardmen's Conspiracy (298)
* @author xban1x
*/
public final class Q00298_LizardmensConspiracy extends Quest
{
// NPCs
private static final int GUARD_PRAGA = 30333;
private static final int MAGISTER_ROHMER = 30344;
// Items
private static final int PATROLS_REPORT = 7182;
private static final int SHINING_GEM = 7183;
private static final int SHINING_RED_GEM = 7184;
// Monsters
private static final Map<Integer, ItemChanceHolder> MONSTERS = new HashMap<>();
static
{
MONSTERS.put(20922, new ItemChanceHolder(SHINING_GEM, 0.49, 1)); // Maille Lizardman Warrio
MONSTERS.put(20923, new ItemChanceHolder(SHINING_GEM, 0.70, 1)); // Maille Lizardman Shaman
MONSTERS.put(20924, new ItemChanceHolder(SHINING_GEM, 0.75, 1)); // Maille Lizardman Matriarch
MONSTERS.put(20926, new ItemChanceHolder(SHINING_RED_GEM, 0.54, 1)); // Giant Araneid
MONSTERS.put(20927, new ItemChanceHolder(SHINING_RED_GEM, 0.64, 1)); // King Araneid
}
// Reward
private static final int SP_REWARD = 10;
// Misc
private static final int MIN_LVL = 25;
public Q00298_LizardmensConspiracy()
{
super(298, Q00298_LizardmensConspiracy.class.getSimpleName(), "Lizardmen's Conspiracy");
addStartNpc(GUARD_PRAGA);
addTalkId(GUARD_PRAGA, MAGISTER_ROHMER);
addKillId(MONSTERS.keySet());
registerQuestItems(PATROLS_REPORT, SHINING_GEM, SHINING_RED_GEM);
}
@Override
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
{
final QuestState qs = getQuestState(player, false);
String htmltext = null;
if (qs == null)
{
return htmltext;
}
switch (event)
{
case "30333-03.htm":
{
if (qs.isCreated())
{
qs.startQuest();
giveItems(player, PATROLS_REPORT, 1);
htmltext = event;
}
break;
}
case "30344-04.html":
{
if (qs.isCond(1) && hasQuestItems(player, PATROLS_REPORT))
{
takeItems(player, PATROLS_REPORT, -1);
qs.setCond(2, true);
htmltext = event;
}
break;
}
case "30344-06.html":
{
if (qs.isCond(3))
{
addExpAndSp(player, 0, SP_REWARD);
qs.exitQuest(true, true);
htmltext = event;
}
else
{
htmltext = "30344-07.html";
}
break;
}
}
return htmltext;
}
@Override
public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
{
final QuestState qs = getRandomPartyMemberState(killer, 2, 3, npc);
if (qs != null)
{
final ItemChanceHolder item = MONSTERS.get(npc.getId());
if (giveItemRandomly(qs.getPlayer(), npc, item.getId(), item.getCount(), 50, item.getChance(), true) //
&& (getQuestItemsCount(qs.getPlayer(), SHINING_GEM) >= 50) //
&& (getQuestItemsCount(qs.getPlayer(), SHINING_RED_GEM) >= 50))
{
qs.setCond(3, true);
}
}
return super.onKill(npc, killer, isSummon);
}
@Override
public String onTalk(L2Npc npc, L2PcInstance talker)
{
final QuestState qs = getQuestState(talker, true);
String htmltext = getNoQuestMsg(talker);
if (qs.isCreated() && (npc.getId() == GUARD_PRAGA))
{
htmltext = (talker.getLevel() >= MIN_LVL) ? "30333-01.htm" : "30333-02.htm";
}
else if (qs.isStarted())
{
if ((npc.getId() == GUARD_PRAGA) && hasQuestItems(talker, PATROLS_REPORT))
{
htmltext = "30333-04.html";
}
else if (npc.getId() == MAGISTER_ROHMER)
{
switch (qs.getCond())
{
case 1:
{
htmltext = "30344-01.html";
break;
}
case 2:
{
htmltext = "30344-02.html";
break;
}
case 3:
{
htmltext = "30344-03.html";
break;
}
}
}
}
return htmltext;
}
}

View File

@ -97,6 +97,7 @@ import quests.Q00255_Tutorial.Q00255_Tutorial;
import quests.Q00270_TheOneWhoEndsSilence.Q00270_TheOneWhoEndsSilence;
import quests.Q00278_HomeSecurity.Q00278_HomeSecurity;
import quests.Q00279_TargetOfOpportunity.Q00279_TargetOfOpportunity;
import quests.Q00298_LizardmensConspiracy.Q00298_LizardmensConspiracy;
import quests.Q00300_HuntingLetoLizardman.Q00300_HuntingLetoLizardman;
import quests.Q00307_ControlDeviceOfTheGiants.Q00307_ControlDeviceOfTheGiants;
import quests.Q00310_OnlyWhatRemains.Q00310_OnlyWhatRemains;
@ -370,6 +371,7 @@ final class QuestMasterHandler
Q00270_TheOneWhoEndsSilence.class,
Q00278_HomeSecurity.class,
Q00279_TargetOfOpportunity.class,
Q00298_LizardmensConspiracy.class,
Q00300_HuntingLetoLizardman.class,
Q00307_ControlDeviceOfTheGiants.class,
Q00310_OnlyWhatRemains.class,