Parcel Delivery
- ID
- 13
- Название
- Parcel Delivery
- start_npcs_json
- [31274]
- npc_ids_json
- [31274,31539]
- constants_json
- {"FUNDIN":31274,"VULCAN":31539,"PACKAGE":7263}
- Статус разбора
- metadata_only; dynamic Java conditions/rewards retained in source; unresolved starts: []
- Источник
- game/data/scripts/quests/Q00013_ParcelDelivery/Q00013_ParcelDelivery.java
NPC квеста
Условия уровней: выражения из Java
htmltext = (player.getLevel() < 74) ? "31274-1.htm" : "31274-0.htm";
Выдача предметов, адены и опыта: выражения из Java
giveItems(player, PACKAGE, 1); giveAdena(player, 82656, true);
Квесты содержат динамические условия Java. Выражения выдачи включают промежуточные предметы, варианты и случайные награды; это не гарантированная награда. Константы приведены выше. Полные условия — в исходнике.
Тексты квеста
[31274-0.htm] Mineral Trader Fundin: I have an urgent delivery to the Gods' Cauldron area! Would you deliver it for me? "Sure!"
[31274-1.htm] Mineral Trader Fundin: My delivery to the Gods' Cauldron area is too important for a novice! (This quest may only be undertaken by a character of level 74 and above.)
[31274-2.htm] Mineral Trader Fundin: Take this to Flame Blacksmith Vulcan in the lower level of Gods' Cauldron. He'll reward you for it, he's been waiting.
[31539-0.htm] Flame Blacksmith Vulcan: Did Fundin send you? A little late, but at least you didn't break it. Let me have it. "Here."
[31539-1.htm] Flame Blacksmith Vulcan: It's all here, thanks. Here's a token of my thanks.
Исходник условий и наград (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.Q00013_ParcelDelivery;
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 Q00013_ParcelDelivery extends Quest
{
// NPCs
private static final int FUNDIN = 31274;
private static final int VULCAN = 31539;
// Item
private static final int PACKAGE = 7263;
public Q00013_ParcelDelivery()
{
super(13, "Parcel Delivery");
registerQuestItems(PACKAGE);
addStartNpc(FUNDIN);
addTalkId(FUNDIN, VULCAN);
}
@Override
public String onEvent(String event, Npc npc, Player player)
{
String htmltext = event;
final QuestState st = getQuestState(player, false);
if (st == null)
{
return htmltext;
}
if (event.equals("31274-2.htm"))
{
st.startQuest();
giveItems(player, PACKAGE, 1);
}
else if (event.equals("31539-1.htm"))
{
takeItems(player, PACKAGE, 1);
giveAdena(player, 82656, true);
st.exitQuest(false, true);
}
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() < 74) ? "31274-1.htm" : "31274-0.htm";
break;
}
case State.STARTED:
{
switch (npc.getId())
{
case FUNDIN:
{
htmltext = "31274-2.htm";
break;
}
case VULCAN:
{
htmltext = "31539-0.htm";
break;
}
}
break;
}
case State.COMPLETED:
{
htmltext = getAlreadyCompletedMsg(player);
break;
}
}
return htmltext;
}
}