Lizardmen's Conspiracy
- ID
- 298
- Название
- Lizardmen's Conspiracy
- start_npcs_json
- [30333]
- npc_ids_json
- [30333,30344]
- constants_json
- {"PRAGA":30333,"ROHMER":30344,"PATROL_REPORT":7182,"WHITE_GEM":7183,"RED_GEM":7184}
- Статус разбора
- metadata_only; dynamic Java conditions/rewards retained in source; unresolved starts: []
- Источник
- game/data/scripts/quests/Q00298_LizardmensConspiracy/Q00298_LizardmensConspiracy.java
NPC квеста
Условия уровней: выражения из Java
htmltext = (player.getLevel() < 25) ? "30333-0b.htm" : "30333-0a.htm";
Выдача предметов, адены и опыта: выражения из Java
giveItems(player, PATROL_REPORT, 1); addExpAndSp(player, 0, 42000); giveItems(player, WHITE_GEM, 1); giveItems(player, WHITE_GEM, 1); giveItems(player, WHITE_GEM, 1); giveItems(player, RED_GEM, 1);
Квесты содержат динамические условия Java. Выражения выдачи включают промежуточные предметы, варианты и случайные награды; это не гарантированная награда. Константы приведены выше. Полные условия — в исходнике.
Тексты квеста
[30333-0a.htm] Guard Praga: As you may know, the Maille Lizardman stronghold is in the west part of Gludio Castle Town. 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. 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? "Yes, I'll help."
[30333-0b.htm] Guard Praga: As you may know, the Maille Lizardman stronghold is in the west part of Gludio Castle Town. During the war with Grecia, 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. 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. (This quest may only be undertaken by a character of level 25 and above.)
[30333-1.htm] Guard Praga: Very well! Take this report to Magister Rohmer in the Einhasad Temple in the village. You may find him slightly eccentric, but he'll be very happy to get the report.
[30333-2.htm] Guard Praga: Go to the Einhasad Temple near the northern entrance of the village and meet Magister Rohmer. Take the report to him. He'll give you a new assignment. His speech is somewhat peculiar, but he's the top expert in the village, so treat him with respect and don't upset him!
[30344-0.htm] Magister Rohmer: I've been waiting for this scouts' report. It seems the Maille Lizardmen are controlling Araneids with sorcery. I have a very important errand for you. Can you do it? "Of course, I came here to help."
[30344-0a.htm] Magister Rohmer: Bring me the scout's report from Guard Praga!
[30344-1.htm] Magister Rohmer: Lizardmen are using sorcery to turn arachnids into servants! To dispell it, I'll need the orbs they are using. Get shiny colored orbs from Maille Lizardman Warriors, Shamans and Matriarchs. Poison spiders and giant spiders have shiny red colored orbs. I need fifty of each. Find them in the north of the Maille Lizardman stronghold. I'm counting on you!
[30344-2.htm] Magister Rohmer: Did you get what I asked for? "I have them!"
[30344-3.htm] Magister Rohmer: I, Rohmer, thank you for your help. Now, I can weaken the power of the Maille Lizardmen's magic even further. 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. I, Rohmer, cannot compensate your efforts with wealth or materials, but I'll at least try to make your future path easier. (This quest is a repeatable quest. You can start it again through Guard Praga.)
[30344-4.htm] Magister Rohmer: That's not enough. I need 50 shiny five colored orbs and 50 shiny red colored orbs. Now go!
Исходник условий и наград (Java)
/*
* Copyright (c) 2013 L2jMobius
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be
* included in all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
* WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR
* IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*/
package quests.Q00298_LizardmensConspiracy;
import org.l2jmobius.gameserver.entity.actor.Npc;
import org.l2jmobius.gameserver.entity.actor.Player;
import org.l2jmobius.gameserver.mechanics.script.Quest;
import org.l2jmobius.gameserver.mechanics.script.QuestSound;
import org.l2jmobius.gameserver.mechanics.script.QuestState;
import org.l2jmobius.gameserver.mechanics.script.State;
public class Q00298_LizardmensConspiracy extends Quest
{
// NPCs
private static final int PRAGA = 30333;
private static final int ROHMER = 30344;
// Items
private static final int PATROL_REPORT = 7182;
private static final int WHITE_GEM = 7183;
private static final int RED_GEM = 7184;
public Q00298_LizardmensConspiracy()
{
super(298, "Lizardmen's Conspiracy");
registerQuestItems(PATROL_REPORT, WHITE_GEM, RED_GEM);
addStartNpc(PRAGA);
addTalkId(PRAGA, ROHMER);
addKillId(20926, 20927, 20922, 20923, 20924);
}
@Override
public String onEvent(String event, Npc npc, Player player)
{
String htmltext = event;
final QuestState st = getQuestState(player, false);
if (st == null)
{
return htmltext;
}
switch (event)
{
case "30333-1.htm":
{
st.startQuest();
giveItems(player, PATROL_REPORT, 1);
break;
}
case "30344-1.htm":
{
st.setCond(2, true);
takeItems(player, PATROL_REPORT, 1);
break;
}
case "30344-4.htm":
{
if (st.isCond(3))
{
htmltext = "30344-3.htm";
takeItems(player, WHITE_GEM, -1);
takeItems(player, RED_GEM, -1);
addExpAndSp(player, 0, 42000);
st.exitQuest(true, true);
}
break;
}
}
return htmltext;
}
@Override
public String onTalk(Npc npc, Player player)
{
String htmltext = getNoQuestMsg(player);
final QuestState st = getQuestState(player, true);
switch (st.getState())
{
case State.CREATED:
{
htmltext = (player.getLevel() < 25) ? "30333-0b.htm" : "30333-0a.htm";
break;
}
case State.STARTED:
{
switch (npc.getId())
{
case PRAGA:
{
htmltext = "30333-2.htm";
break;
}
case ROHMER:
{
if (st.isCond(1))
{
htmltext = (hasQuestItems(player, PATROL_REPORT)) ? "30344-0.htm" : "30344-0a.htm";
}
else
{
htmltext = "30344-2.htm";
}
break;
}
}
break;
}
}
return htmltext;
}
@Override
public void onKill(Npc npc, Player player, boolean isPet)
{
final QuestState qs = getRandomPartyMemberState(player, 2, 3, npc);
if (qs == null)
{
return;
}
final Player partyMember = qs.getPlayer();
final QuestState st = getQuestState(partyMember, false);
if (st == null)
{
return;
}
switch (npc.getId())
{
case 20922:
{
if (getRandom(100) < 40)
{
giveItems(player, WHITE_GEM, 1);
if (getQuestItemsCount(player, WHITE_GEM) < 50)
{
playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET);
}
else if (getQuestItemsCount(player, RED_GEM) >= 50)
{
st.setCond(3, true);
}
}
break;
}
case 20923:
{
if (getRandom(100) < 45)
{
giveItems(player, WHITE_GEM, 1);
if (getQuestItemsCount(player, WHITE_GEM) < 50)
{
playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET);
}
else if (getQuestItemsCount(player, RED_GEM) >= 50)
{
st.setCond(3, true);
}
}
break;
}
case 20924:
{
if (getRandom(100) < 35)
{
giveItems(player, WHITE_GEM, 1);
if (getQuestItemsCount(player, WHITE_GEM) < 50)
{
playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET);
}
else if (getQuestItemsCount(player, RED_GEM) >= 50)
{
st.setCond(3, true);
}
}
break;
}
case 20926:
case 20927:
{
if (getRandom(100) < 40)
{
giveItems(player, RED_GEM, 1);
if (getQuestItemsCount(player, RED_GEM) < 50)
{
playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET);
}
else if (getQuestItemsCount(player, WHITE_GEM) >= 50)
{
st.setCond(3, true);
}
}
break;
}
}
}
}