In Search of the Nest
- ID
- 109
- Название
- In Search of the Nest
- start_npcs_json
- [31553]
- npc_ids_json
- [31553,31554,32015]
- constants_json
- {"PIERCE":31553,"KAHMAN":31554,"SCOUT_CORPSE":32015,"SCOUT_MEMO":8083,"RECRUIT_BADGE":7246,"SOLDIER_BADGE":7247}
- Статус разбора
- metadata_only; dynamic Java conditions/rewards retained in source; unresolved starts: []
- Источник
- game/data/scripts/quests/Q00109_InSearchOfTheNest/Q00109_InSearchOfTheNest.java
NPC квеста
Условия уровней: выражения из Java
if ((player.getLevel() >= 66) && hasAtLeastOneQuestItem(player, RECRUIT_BADGE, SOLDIER_BADGE))
Выдача предметов, адены и опыта: выражения из Java
giveItems(player, SCOUT_MEMO, 1); giveAdena(player, 5168, true);
Квесты содержат динамические условия Java. Выражения выдачи включают промежуточные предметы, варианты и случайные награды; это не гарантированная награда. Константы приведены выше. Полные условия — в исходнике.
Тексты квеста
[31553-00.htm] Mercenary Captain Pierce: I'm glad to have you on the force! Makes me more optimistic about our chances... Anyway, I called you here to ask you a favor. I sent a group of scouts into the Swamp of Screams to investigate the ongoing conflict there, but we've lost contact with one of them. I need someone to find out what happened. Are you up to the task? "Sure, no big deal. I'll do it."
[31553-00a.htm] Mercenary Captain Pierce: What's your business here? (This quest may only be undertaken by a character of level 66 and above. A Golden Ram Badge must be worn aswell.)
[31553-01.htm] Mercenary Captain Pierce: Excellent! I hate to throw you into the fire on your first mission, but it's vital that we find out what happened to our scout! Cool your heels a minute and I'll tell you where to focus your search. We lost contact with him inside the Swamp Of Screams. If you follow the path you can't miss it. I also marked it on your map, so don't get lost! Last thing i need is another missing person.
[31553-01a.htm] Mercenary Captain Pierce: It's vital that we find out what happened to our scout! We lost contact with him inside the Swamp Of Screams. If you follow your map, you can't miss it.
[31553-02.htm] Mercenary Captain Pierce: I can tell by your looks that you found something. Well? Is my scout OK? Spit it out, soldier! What do you know? "Read this memo."
[31553-03.htm] Mercenary Captain Pierce: I see.. It is as I feared... He's dead. Well, thank you for risking your neck to track him down. We'll learn a lot from the intel he left behind. I'm sure that's what he would've wanted. I'll keep my eye out for you from now on. For now, your work here is done. Speak with Kahman over there.
[31554-01.htm] Mercenary Kahman: State your business here! We received no order. "Pierce sent me."
[31554-02.htm] Mercenary Kahman: Oh, yeah! It's you! Right, then, here you go! Don't be too disappointed if it's less than you'd like. Come back later and there'll be more work for you.
[32015-01.htm] The corpse of Pierce's Scout, who came here looking for the entrance. Search for any clues he might have left. "Search the corpse."
[32015-02.htm] (Beneath the corpse you find a memo. You should take it to mercenary Captain Pierce.)
Исходник условий и наград (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.Q00109_InSearchOfTheNest;
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.QuestState;
import org.l2jmobius.gameserver.mechanics.script.State;
public class Q00109_InSearchOfTheNest extends Quest
{
// NPCs
private static final int PIERCE = 31553;
private static final int KAHMAN = 31554;
private static final int SCOUT_CORPSE = 32015;
// Items
private static final int SCOUT_MEMO = 8083;
private static final int RECRUIT_BADGE = 7246;
private static final int SOLDIER_BADGE = 7247;
public Q00109_InSearchOfTheNest()
{
super(109, "In Search of the Nest");
registerQuestItems(SCOUT_MEMO);
addStartNpc(PIERCE);
addTalkId(PIERCE, SCOUT_CORPSE, KAHMAN);
}
@Override
public String onEvent(String event, Npc npc, Player player)
{
final String htmltext = event;
final QuestState st = getQuestState(player, false);
if (st == null)
{
return htmltext;
}
switch (event)
{
case "31553-01.htm":
{
st.startQuest();
break;
}
case "32015-02.htm":
{
st.setCond(2, true);
giveItems(player, SCOUT_MEMO, 1);
break;
}
case "31553-03.htm":
{
st.setCond(3, true);
takeItems(player, SCOUT_MEMO, 1);
break;
}
case "31554-02.htm":
{
giveAdena(player, 5168, true);
st.exitQuest(false, 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:
{
// Must worn one or other Golden Ram Badge in order to be accepted.
if ((player.getLevel() >= 66) && hasAtLeastOneQuestItem(player, RECRUIT_BADGE, SOLDIER_BADGE))
{
htmltext = "31553-00.htm";
}
else
{
htmltext = "31553-00a.htm";
}
break;
}
case State.STARTED:
{
final int cond = st.getCond();
switch (npc.getId())
{
case PIERCE:
{
if (cond == 1)
{
htmltext = "31553-01a.htm";
}
else if (cond == 2)
{
htmltext = "31553-02.htm";
}
else if (cond == 3)
{
htmltext = "31553-03.htm";
}
break;
}
case SCOUT_CORPSE:
{
if (cond == 1)
{
htmltext = "32015-01.htm";
}
else if (cond == 2)
{
htmltext = "32015-02.htm";
}
break;
}
case KAHMAN:
{
if (cond == 3)
{
htmltext = "31554-01.htm";
}
break;
}
}
break;
}
case State.COMPLETED:
{
htmltext = getAlreadyCompletedMsg(player);
break;
}
}
return htmltext;
}
}