Once More In the Arms of the Mother Tree
- ID
- 46
- Название
- Once More In the Arms of the Mother Tree
- start_npcs_json
- [30097]
- npc_ids_json
- [30090,30094,30097,30116]
- constants_json
- {"GALLADUCCI":30097,"GENTLER":30094,"SANDRA":30090,"DUSTIN":30116,"ORDER_DOCUMENT_1":7563,"ORDER_DOCUMENT_2":7564,"ORDER_DOCUMENT_3":7565,"MAGIC_SWORD_HILT":7568,"GEMSTONE_POWDER":7567,"PURIFIED_MAGIC_NECKLACE":7566,"MARK_OF_TRAVELER":7570,"SCROLL_OF_ESCAPE_SPECIAL":7555}
- Статус разбора
- metadata_only; dynamic Java conditions/rewards retained in source; unresolved starts: []
- Источник
- game/data/scripts/quests/Q00046_OnceMoreInTheArmsOfTheMotherTree/Q00046_OnceMoreInTheArmsOfTheMotherTree.java
NPC квеста
Условия уровней: выражения из Java
if ((player.getRace() == Race.ELF) && (player.getLevel() >= 3))
Выдача предметов, адены и опыта: выражения из Java
giveItems(player, ORDER_DOCUMENT_1, 1); giveItems(player, MAGIC_SWORD_HILT, 1); giveItems(player, ORDER_DOCUMENT_2, 1); giveItems(player, GEMSTONE_POWDER, 1); giveItems(player, ORDER_DOCUMENT_3, 1); giveItems(player, PURIFIED_MAGIC_NECKLACE, 1); rewardItems(player, SCROLL_OF_ESCAPE_SPECIAL, 1);
Квесты содержат динамические условия Java. Выражения выдачи включают промежуточные предметы, варианты и случайные награды; это не гарантированная награда. Константы приведены выше. Полные условия — в исходнике.
Тексты квеста
[30090-01.htm] Jeweler Sandra: You're from the country aren't you? Gludio Territory was once beautiful, but it's dangerous to travel nowadays. I have the earrings, you want to see? Beautiful and practical. "Here's the order form."
[30090-02.htm] Jeweler Sandra: I have prepared everything for you. It's mostly the magicians of the Ivory Tower at Oren Castle that are ordering the Gemstone Powder, so it's quite expensive. Watch out for pickpockets in the crowds! Deliver it to Trader Galladucci quickly.
[30090-03.htm] Jeweler Sandra: Gemstone Powder is expensive, so please deliver it to Galladucci at the boutique store quickly. Don't get distracted!
[30094-01.htm] Magic Trader Gentler: You came from the boutique shop. Mr. Galladucci's order is ready. It was very hard for me to find. Do you have the order document? "Here it is."
[30094-02.htm] Magic Trader Gentler: Everything is in order. Check it well, and be careful transporting this! Mr. Galladucci is very particular about the quality of his products. Please take this Magic Sword Hilt to Mr. Galladucci at his boutique shop.
[30094-03.htm] Magic Trader Gentler: Hurry now bring the item to Mr. Galladucci is very particular about the quality of his products. Please take the Magic Sword Hilt to Mr. Galladucci at his boutique shop.
[30097-01.htm] Trader Galladucci: Welcome. We only carry specialty items. I'm sorry, but I can't help you. (This quest may only be undertaken by a character who possesses the Mark of Traveler and who has completed A Trip Begins quest.)
[30097-01a.htm] Trader Galladucci: Welcome. We only carry specialty items. I'm sorry, but I can't help you. (This quest may only be undertaken by an Elven character of level 3 and above.)
[30097-02.htm] Trader Galladucci: You have the Mark of Traveler. What can I do for you? I don't work for free, I need something in return. Will you help me? "I'll help if I can."
[30097-03.htm] Trader Galladucci: I like the sense of adventure in Elves. My errand is easy. Bring this order document to Magic Trader Gentler at the magic store and bring the item to me.
[30097-04.htm] Trader Galladucci: Take my order document to Magic Trader Gentler at the magic store. Hurry!
[30097-05.htm] Trader Galladucci: Did you check the Magic Sword Hilt? If it has a single scratch, my reputation will be ruined! "Here's the sword hilt."
[30097-06.htm] Trader Galladucci: It's in good shape. Now take this order document to Jeweler Sandra at her store. It's very valuable, so be careful!
[30097-07.htm] Trader Galladucci: Head to Jeweler Sandra at her store and remember her return item is very valuable!
[30097-08.htm] Trader Galladucci: Keep up the good work! Please give it to me. "Here's the Gemstone Powder."
[30097-09.htm] Trader Galladucci: Gemstone Powder is very valuable. The Ivory Tower of Oren orders a lot. One last task. Deliver this order document to Priest Dustin at the Einhasad Temple. Be courteous and respectful, he holds a high position. My reputation and business are at stake!
[30097-10.htm] Trader Galladucci: Go give that order document to Priest Dustin at the Einhasad Temple. Be courteous and respectful, he holds a high position. My reputation and business are at stake!
[30097-11.htm] Trader Galladucci: Thanks, I'm indebted to you. Giran is a big town with a booming trade. You'll meet all types of people, so mind your manners! Now that you've seen it what do you think? "It's great, but I miss my hometown."
[30097-12.htm] Trader Galladucci: Homesick, huh? The roads around Giran are dangerous, be careful on your way home. You can use the Scroll of Escape to return if you choose. Just know that since it's a specialty item, you can use it only once!
[30116-01.htm] Priest Dustin: This place is sacred, where people of faith come to worship. Please keep a respectful silence here. Why are you here, my child? "I brought this order from Mr. Galladucci."
[30116-02.htm] Priest Dustin: Ah, you're from the boutique shop! Excellent timing, I just finished Mr. Galladucci's order! That curse was very powerful, and I had to ask several priests to help me remove it! I can't believe he was able to hold onto that thing the way it was! Well, now it's been completely purified and made safe. Here it is! Please deliver this necklace to Mr. Galladucci at the boutique shop. May the tranquility of Einhasad be with you always!
[30116-03.htm] Priest Dustin: Please deliver the necklace to Mr. Galladucci at the boutique shop. Make haste!
Исходник условий и наград (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.Q00046_OnceMoreInTheArmsOfTheMotherTree;
import org.l2jmobius.gameserver.entity.actor.Npc;
import org.l2jmobius.gameserver.entity.actor.Player;
import org.l2jmobius.gameserver.entity.actor.enums.creature.Race;
import org.l2jmobius.gameserver.mechanics.script.Quest;
import org.l2jmobius.gameserver.mechanics.script.QuestState;
import org.l2jmobius.gameserver.mechanics.script.State;
public class Q00046_OnceMoreInTheArmsOfTheMotherTree extends Quest
{
// NPCs
private static final int GALLADUCCI = 30097;
private static final int GENTLER = 30094;
private static final int SANDRA = 30090;
private static final int DUSTIN = 30116;
// Items
private static final int ORDER_DOCUMENT_1 = 7563;
private static final int ORDER_DOCUMENT_2 = 7564;
private static final int ORDER_DOCUMENT_3 = 7565;
private static final int MAGIC_SWORD_HILT = 7568;
private static final int GEMSTONE_POWDER = 7567;
private static final int PURIFIED_MAGIC_NECKLACE = 7566;
private static final int MARK_OF_TRAVELER = 7570;
private static final int SCROLL_OF_ESCAPE_SPECIAL = 7555;
public Q00046_OnceMoreInTheArmsOfTheMotherTree()
{
super(46, "Once More In the Arms of the Mother Tree");
registerQuestItems(ORDER_DOCUMENT_1, ORDER_DOCUMENT_2, ORDER_DOCUMENT_3, MAGIC_SWORD_HILT, GEMSTONE_POWDER, PURIFIED_MAGIC_NECKLACE);
addStartNpc(GALLADUCCI);
addTalkId(GALLADUCCI, GENTLER, SANDRA, DUSTIN);
}
@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 "30097-03.htm":
{
st.startQuest();
giveItems(player, ORDER_DOCUMENT_1, 1);
break;
}
case "30094-02.htm":
{
st.setCond(2, true);
takeItems(player, ORDER_DOCUMENT_1, 1);
giveItems(player, MAGIC_SWORD_HILT, 1);
break;
}
case "30097-06.htm":
{
st.setCond(3, true);
takeItems(player, MAGIC_SWORD_HILT, 1);
giveItems(player, ORDER_DOCUMENT_2, 1);
break;
}
case "30090-02.htm":
{
st.setCond(4, true);
takeItems(player, ORDER_DOCUMENT_2, 1);
giveItems(player, GEMSTONE_POWDER, 1);
break;
}
case "30097-09.htm":
{
st.setCond(5, true);
takeItems(player, GEMSTONE_POWDER, 1);
giveItems(player, ORDER_DOCUMENT_3, 1);
break;
}
case "30116-02.htm":
{
st.setCond(6, true);
takeItems(player, ORDER_DOCUMENT_3, 1);
giveItems(player, PURIFIED_MAGIC_NECKLACE, 1);
break;
}
case "30097-12.htm":
{
takeItems(player, MARK_OF_TRAVELER, -1);
takeItems(player, PURIFIED_MAGIC_NECKLACE, 1);
rewardItems(player, SCROLL_OF_ESCAPE_SPECIAL, 1);
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:
{
if ((player.getRace() == Race.ELF) && (player.getLevel() >= 3))
{
if (hasQuestItems(player, MARK_OF_TRAVELER))
{
htmltext = "30097-02.htm";
}
else
{
htmltext = "30097-01.htm";
}
}
else
{
htmltext = "30097-01a.htm";
}
break;
}
case State.STARTED:
{
final int cond = st.getCond();
switch (npc.getId())
{
case GALLADUCCI:
{
if (cond == 1)
{
htmltext = "30097-04.htm";
}
else if (cond == 2)
{
htmltext = "30097-05.htm";
}
else if (cond == 3)
{
htmltext = "30097-07.htm";
}
else if (cond == 4)
{
htmltext = "30097-08.htm";
}
else if (cond == 5)
{
htmltext = "30097-10.htm";
}
else if (cond == 6)
{
htmltext = "30097-11.htm";
}
break;
}
case GENTLER:
{
if (cond == 1)
{
htmltext = "30094-01.htm";
}
else if (cond > 1)
{
htmltext = "30094-03.htm";
}
break;
}
case SANDRA:
{
if (cond == 3)
{
htmltext = "30090-01.htm";
}
else if (cond > 3)
{
htmltext = "30090-03.htm";
}
break;
}
case DUSTIN:
{
if (cond == 5)
{
htmltext = "30116-01.htm";
}
else if (cond == 6)
{
htmltext = "30116-03.htm";
}
break;
}
}
break;
}
case State.COMPLETED:
{
htmltext = getAlreadyCompletedMsg(player);
break;
}
}
return htmltext;
}
}