Dreaming of the Skies
- ID
- 295
- Название
- Dreaming of the Skies
- start_npcs_json
- [30536]
- npc_ids_json
- []
- constants_json
- {"FLOATING_STONE":1492,"RING_OF_FIREFLY":1509}
- Статус разбора
- metadata_only; dynamic Java conditions/rewards retained in source; unresolved starts: []
- Источник
- game/data/scripts/quests/Q00295_DreamingOfTheSkies/Q00295_DreamingOfTheSkies.java
NPC квеста
Записей нет.
Условия уровней: выражения из Java
htmltext = (player.getLevel() < 11) ? "30536-01.htm" : "30536-02.htm";
Выдача предметов, адены и опыта: выражения из Java
giveItems(player, RING_OF_FIREFLY, 1); giveAdena(player, 2400, true); addExpAndSp(player, 0, 500); giveItems(player, FLOATING_STONE, getRandom(100) > 25 ? 1 : 2);
Квесты содержат динамические условия Java. Выражения выдачи включают промежуточные предметы, варианты и случайные награды; это не гарантированная награда. Константы приведены выше. Полные условия — в исходнике.
Тексты квеста
[30536-01.htm] Elder Arin: Have you ever traveled by airship? It is the ultimate transportation, and we of the Black Anvil Guild created it with our combined technology. The sight of the airships flying high in the sky makes people sigh with admiration. But they say that the flying mechanisms of the giants of ere were greater in size than those of today, faster than the wyverns, and could even fly higher than the clouds. My dream is to restore the forgotten flying technology of the giants. I wonder what our land looks like from the sky, through the clouds ... Doesn't imagining that just make you happy? I am very busy with my guild business, but I try to study the Floating Stones, the basic element of flight, whenever I get the chance. Floating stones are a peculiar metal that have the characteristic of hovering in the air, and I believe that the key to unlocking the secret of the giants of ere lies in finding a method to control the Floating Stone's powers. But I always run short of study materials, so I often ask apprentices like you to collect Floating Stones. (This quest may only be undertaken by a character of level 11 and above.)
[30536-02.htm] Elder Arin: Have you ever traveled by airship? It is the ultimate transportation, and we of the Black Anvil Guild created it with our combined technology. The sight of the airships flying high in the sky makes people sigh with admiration. But they say that the flying mechanisms of the giants of ere were greater in size than those of today, faster than the wyverns, and could even fly higher than the clouds. My dream is to restore the forgotten flying technology of the giants. I wonder what our land looks like from the sky, through the clouds ... Doesn't imagining that just make you happy? I am very busy with my guild business, but I try to study the Floating Stones, the basic element of flight, whenever I get the chance. Floating stones are a peculiar metal that have the characteristic of hovering in the air, and I believe that the key to unlocking the secret of the giants of ere lies in finding a method to control the Floating Stones' powers. But I always run short of study materials, so I often ask apprentices like you to collect Floating Stones. What do you think? Will you help me? Say you will help
[30536-03.htm] Elder Arin: Floating stones are not as hard to find as you think. Have you seen creatures such as monster eyes and magical weavers? They can fly through the air because they have Floating Stones in their bodies. Maybe the scholars were correct when they said monster eyes were artificial creatures created by the giants of ere. Anyway, there are many Magical Weavers in the Spine Mine Field, so you should hunt them and collect Floating Stones. If you collect and bring fifty Floating Stones, I will reward you.
[30536-04.htm] Elder Arin: Welcome back! How is the collecting job going? As I told you before, you can obtain the Floating Stones by hunting the Magical Weavers. Gather fifty of them and I will reward you.
[30536-05.htm] Elder Arin: Welcome, young apprentice! Do you have the fifty Floating Stones that I asked you to collect? Ah, right! You certainly have fifty of them! Thank you for your trouble. I will pay you as promised. This should be enough. I will give you this ring as a reward for working with us, the Black Anvil Guild. This token signifies that our guild trusts you. Now I can have some time to concentrate on my study. I don't know what will happen when the material runs short again, but once the ultimate airship is ready I will call you and give you a ride. So come visit me from time to time, and help me collect research materials.
[30536-06.htm] Elder Arin: Welcome, young apprentice! Do you have the fifty Floating Stones that I asked you to collect? Ah, right! You certainly have fifty of them! Thank you for your trouble. I will pay you as promised. This should be enough. Now I can have some time to concentrate on my study. I don't know what will happen when the material runs short again, but once the ultimate airship is ready I will call you and give you a ride. So come visit me from time to time, and help me collect research materials.
Исходник условий и наград (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.Q00295_DreamingOfTheSkies;
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 Q00295_DreamingOfTheSkies extends Quest
{
// Item
private static final int FLOATING_STONE = 1492;
// Reward
private static final int RING_OF_FIREFLY = 1509;
public Q00295_DreamingOfTheSkies()
{
super(295, "Dreaming of the Skies");
registerQuestItems(FLOATING_STONE);
addStartNpc(30536); // Arin
addTalkId(30536);
addKillId(20153); // Magical Weaver
}
@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("30536-03.htm"))
{
st.startQuest();
}
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() < 11) ? "30536-01.htm" : "30536-02.htm";
break;
}
case State.STARTED:
{
if (st.isCond(1))
{
htmltext = "30536-04.htm";
}
else
{
takeItems(player, FLOATING_STONE, -1);
if (!hasQuestItems(player, RING_OF_FIREFLY))
{
htmltext = "30536-05.htm";
giveItems(player, RING_OF_FIREFLY, 1);
}
else
{
htmltext = "30536-06.htm";
giveAdena(player, 2400, true);
}
addExpAndSp(player, 0, 500);
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;
}
giveItems(player, FLOATING_STONE, getRandom(100) > 25 ? 1 : 2);
if (getQuestItemsCount(player, FLOATING_STONE) < 50)
{
playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET);
}
else
{
st.setCond(2, true);
}
}
}