Bones Tell the Future
- ID
- 320
- Название
- Bones Tell the Future
- start_npcs_json
- [30359]
- npc_ids_json
- []
- constants_json
- {"BONE_FRAGMENT":809}
- Статус разбора
- metadata_only; dynamic Java conditions/rewards retained in source; unresolved starts: []
- Источник
- game/data/scripts/quests/Q00320_BonesTellTheFuture/Q00320_BonesTellTheFuture.java
NPC квеста
Записей нет.
Условия уровней: выражения из Java
else if (player.getLevel() < 10)
Выдача предметов, адены и опыта: выражения из Java
giveAdena(player, 8470, true); giveItems(player, BONE_FRAGMENT, 1);
Квесты содержат динамические условия Java. Выражения выдачи включают промежуточные предметы, варианты и случайные награды; это не гарантированная награда. Константы приведены выше. Полные условия — в исходнике.
Тексты квеста
[30359-00.htm] Tetrarch Kaitar: Shilen is the holy mother who created us Dark Elves from water. However, to foreign races like yourself, Shilen is only a fearful being that brings death. There is not a chance that an outsider who does not understand the truth hidden within the darkness of the abyss will assist me properly in what I do. (This quest may only be undertaken by a Dark Elven character.)
[30359-02.htm] Tetrarch Kaitar: For the past 300 years, I have lived to fulfill the will of Gran Kain and Shilen. As a reward for my devotion, goddess Shilen gave me the ability to see into the future. Once a month, I perform spells to foresee the dangers or disasters that will affect my race and forecast the direction in which the Temple of Darkness must proceed. However, the spells are not that simple. The preparation process is complicated and I need many different materials. Sooner or later, I will tell you to collect the materials I need for the spells, so be prepared. (This quest may only be undertaken by a character of level 10 and above.)
[30359-03.htm] Tetrarch Kaitar: I am a member of the Tetrarch council, but at the same time I am an Abyssal Celebrant. For the past 300 years, I have lived to fulfill the will of Gran Kain and Shilen. The goddess Shilen controls death and fate and sometimes lets us steal a glance at the future through death. The goddess taught me how to read the future by throwing bones of the dead and examining the shape they make when they fall on the ground. Once a month, I perform spells to foresee the dangers or disasters that will affect my race, and forecast the direction in which the Temple of Darkness must proceed. In days like these, when enemies that threaten our race are all around, it is my bounden duty to see whether there are any disasters or dangers in the future for my race. Every time I make my predictions, I need new bone pieces. The older the bones are, the stronger the power of death that lies within them, so I can see the future more clearly. I would ask you to collect the bone pieces needed for my spell. Well, are you interested? Say you will take the task
[30359-04.htm] Tetrarch Kaitar: If you follow the road to the southwest section of the village, you will come to the abandoned School of Dark Arts. It was built a long time ago, for the greatest sorcerers of our race to study black magic. There, we developed a way to undo the curse on our race which made sunlight scorch our skin, and we also began studying spells to unseal our Hierarch. However, when we were at war with the Elves of Light, we abandoned the school for strategic reasons. We destroyed all the research materials so our magical results would not fall into the hands of our enemy. However, the few brothers who could not escape and were surrounded by the enemies put an end to their own lives and rose as the undead to fight the enemy until the end. The brothers who were sacrificed then still wander along the corridors of the Institute as skeleton spirits. I would like you to bring me their bone pieces. The bones of those who died in a war that was rampant with slaughter and death have especially strong black magic powers. I do not need many. Just find me ten.
[30359-05.htm] Tetrarch Kaitar: You agreed to get me ten bone pieces of the skeleton hunters from the School of Dark Arts, did you not? You know the way to the School of Dark Arts, do you not? Follow the coastline and go to the southwest and you will be able to find it.
[30359-06.htm] Tetrarch Kaitar: You have collected all 10 bone pieces. Well done! Within these bone pieces that you have collected are the final breaths of the brothers that were sacrificed at the hands of the enemy 100 years ago. Can you feel it? The beautiful smell of death? Here is the compensation that I promised. Now, may the peace of the darkness and the shelter of the abyss be with you.
Исходник условий и наград (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.Q00320_BonesTellTheFuture;
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.QuestSound;
import org.l2jmobius.gameserver.mechanics.script.QuestState;
import org.l2jmobius.gameserver.mechanics.script.State;
public class Q00320_BonesTellTheFuture extends Quest
{
// Item
private static final int BONE_FRAGMENT = 809;
public Q00320_BonesTellTheFuture()
{
super(320, "Bones Tell the Future");
registerQuestItems(BONE_FRAGMENT);
addStartNpc(30359); // Kaitar
addTalkId(30359);
addKillId(20517, 20518);
}
@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("30359-04.htm"))
{
st.startQuest();
}
return event;
}
@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.DARK_ELF)
{
htmltext = "30359-00.htm";
}
else if (player.getLevel() < 10)
{
htmltext = "30359-02.htm";
}
else
{
htmltext = "30359-03.htm";
}
break;
}
case State.STARTED:
{
if (st.isCond(1))
{
htmltext = "30359-05.htm";
}
else
{
htmltext = "30359-06.htm";
takeItems(player, BONE_FRAGMENT, -1);
giveAdena(player, 8470, true);
st.exitQuest(true, true);
}
break;
}
}
return htmltext;
}
@Override
public void onKill(Npc npc, Player player, boolean isPet)
{
final QuestState st = getQuestState(player, false);
if ((st == null) || !st.isCond(1))
{
return;
}
if (getRandom(100) < (npc.getId() == 20517 ? 18 : 20))
{
giveItems(player, BONE_FRAGMENT, 1);
if (getQuestItemsCount(player, BONE_FRAGMENT) < 10)
{
playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET);
}
else
{
st.setCond(2, true);
}
}
}
}