ZURSULUS L2

Path to a Shillien Oracle

ID
413
Название
Path to a Shillien Oracle
start_npcs_json
[30330]
npc_ids_json
[30330,30375,30377]
constants_json
{"SIDRA":30330,"ADONIUS":30375,"TALBOT":30377,"SIDRA_LETTER":1262,"BLANK_SHEET":1263,"BLOODY_RUNE":1264,"GARMIEL_BOOK":1265,"PRAYER_OF_ADONIUS":1266,"PENITENT_MARK":1267,"ASHEN_BONES":1268,"ANDARIEL_BOOK":1269,"ORB_OF_ABYSS":1270}
Статус разбора
metadata_only; dynamic Java conditions/rewards retained in source; unresolved starts: []
Источник
game/data/scripts/quests/Q00413_PathOfTheShillienOracle/Q00413_PathOfTheShillienOracle.java

NPC квеста

IDНазваниеСтарт квестаУровень
30330SidraДа70
30375AdoniusНет70
30377TalbotНет70

Условия уровней: выражения из Java

else if (player.getLevel() < 19)

Выдача предметов, адены и опыта: выражения из Java

giveItems(player, SIDRA_LETTER, 1);
giveItems(player, BLANK_SHEET, 5);
giveItems(player, PENITENT_MARK, 1);
giveItems(player, ORB_OF_ABYSS, 1);
addExpAndSp(player, 3200, 3120);
giveItems(player, GARMIEL_BOOK, 1);
giveItems(player, PRAYER_OF_ADONIUS, 1);
giveItems(player, ANDARIEL_BOOK, 1);
giveItems(player, BLOODY_RUNE, 1);
giveItems(player, ASHEN_BONES, 1);

Квесты содержат динамические условия Java. Выражения выдачи включают промежуточные предметы, варианты и случайные награды; это не гарантированная награда. Константы приведены выше. Полные условия — в исходнике.

Тексты квеста

[30330-01.htm] Magister Sidra: The Priests of Humans or Elves only look to the gods of light, and so their understanding is imperfect. The magic they use is only half and incomplete. However, the Shillien Oracles, the combat celebrants of the Dark Elves, understand both light and dark and command power from both. Not only do they cure and assist soldiers with the power of light, but they also curse enemies and steal vitality with the power of darkness. There is a ritual required when becoming a Shillien Oracle, to gain the knowledge of eternal darkness. Say you want to become a Shillien Oracle [30330-02.htm] Magister Sidra: I am a Sorceress who has taught countless magicians, and I can feel the magic power of those who stand before me. The power I sense from you seems to be less than that needed to become a Shillien Oracle. Train a little more and return to me when your understanding of magic becomes deeper. [30330-02a.htm] Magister Sidra: You are the Shillien Oracle, who has gained all the knowledge of that office. You do not need another ritual. [30330-03.htm] Magister Sidra: The customary right to perform the ritual of becoming a Shillien Oracle are only given to Dark Mystics. I cannot give you this opportunity. [30330-04.htm] Magister Sidra: The "Orb of Abyss" that you carry is a token that shows you have completed all requirements and are eligible to become a Shillien Oracle. Take the orb to a grand master of the Dark Elven Guild and he will give you help in obtaining the enlightenment regarding the truth between light and darkness and thereby becoming a Shillien Oracle. If you go to Grand Master Tobias just over there, you can change your profession immediately. [30330-05.htm] Magister Sidra: Good. You have sufficient experience and skill to take the test. Above all, I feel your thirst for enlightenment and power. To step into the ranks of the Shillien Oracle, you must pass two customary tasks. This will be an opportunity to prove that you have the courage not to fear darkness and the will not to turn your eyes from the light. Ask about the two tests [30330-06.htm] Magister Sidra: Before you become a Shillien Oracle that seeks the truth of all light and darkness, you must find the fragments of song that Gran Kain and Einhasad sang in the beginning. You must find two documents that have the song verses of creation written in ancient runes -- one is Garmiel's Book and the other is Andariel's Book. Meet Magister Talbot in Gludin to learn about Garmiel's Book. Show him this letter and he will welcome you since it is I who sent you. Ask about the songs sung by Gods [30330-06a.htm] Magister Sidra: In the beginning, Einhasad and Gran Kain sang the song of creation and created the world. The songs of light sung by Einhasad and poems of darkness recited by Gran Kain formed a beautiful harmony to create all life in the universe. Afterwards, they taught the songs they had sung to the earthly races that worshipped them, to enable them to control light and darkness. However, the giants were too greedy and desired the gods' wisdom. When they challenged their authority, Einhasad and Gran Kain punished the giants and the thousand songs that the giants were taught were broken into runes. Later, magicians began to collect the ancient runes and rearrange them into spells, but their power is very weak and insignificant compared to that of the ancient ancestors who could sing the songs of creation learned directly from the gods. Return [30330-06b.htm] Magister Sidra: Before you become a Shillien Oracle that seeks the truth of all light and darkness, you must find the fragments of song that Gran Kain and Einhasad sang in the beginning. You must find two documents that have the song verses of creation written in ancient runes -- one is Garmiel's Book and the other is Andariel's Book. Meet Magister Talbot in Gludin to learn about Garmiel's Book. Show him this letter and he will welcome you since it is I who sent you. Ask about the songs sung by Gods [30330-07.htm] Magister Sidra: Meet with Magister Talbot and ask about Garmiel's Book. You can find him in the Dark Elven guild of the village of Gludin, located on the west coast. Show him my letter and he will greet you with pleasure. [30330-08.htm] Magister Sidra: As Talbot taught you, collect the runes and complete Garmiel's book. [30330-09.htm] Magister Sidra: The second level of the test is to find Andariel's Book, which contains the song phrases of creation sung by Einhasad. [30330-10.htm] Magister Sidra: The two documents you hold in your hands contain parts of the song of creation sung by the Gods in the beginning. I trust that you discovered the power of the precious phrases and the truth of authority as you read them one by one. Now I am giving you the Orb of Abyss. With this, you have earned the qualification to become a Shillien Oracle. Take the Orb of Abyss and go to a Grand Master to request a change of occupation. If you speak to Grand Master Tobias over there, you can change profession right now. [30375-01.htm] Priest Adonius: This place is the holy hall where we serve Einhasad, god of light. Why have you, a member of the race of darkness, set foot in this place? Say you have decided to walk the path of light [30375-02.htm] Priest Adonius: There have been Dark Elves that have said the same thing before. We priests showed them compassion and taught them the path of light, but we found out that they were false seekers of truth with their eye on the power of white magic. I can no longer trust the words of your kind. Show him the Prayer of Adonius [30375-03.htm] Priest Adonius: Why this is the prayer book that I wrote ... You have this too? This was published in the form of a book of poems with prayers I made to Einhasad when I was young. It became known among the younger generation through rumors, and now it is a book beloved by many people. It is embarrassing to be saying so myself, but many people were moved after reading my book and have come to the temple to follow the path of light. When I think that my humble writings have played a part in spreading the will of Einhasad in the world, I can only be joyful. And now those like you, who follow evil doctrines, are impressed by my book ... Ask about Andariel's Book [30375-04.htm] Priest Adonius: Unlike your gods, who hide truth within darkness, Einhasad is a benevolent god. We priests have been permitted a portion of the songs of light, written in Andariel's Book. If you have decided to repent your wicked past and follow the creed of the light, I will give you a copy of the ancient book. Atonement is not that easy. If you go east of here to the Ruins of Despair, there are many undead that cannot rest in death. To destroy these undead, you must send the good spirits still trapped inside them into the arms of Einhasad. If you bring back ten Ashen Bones that can be obtained by killing the skeletons or zombies in the Ruins of Despair, you will finish your atonement ritual. [30375-05.htm] Priest Adonius: It is not easy for you to abandon the path of evil, since you have followed it for so long. If you are ready, go to the Ruins of Despair and kill the departed souls that are trapped in the form of skeletons, and bring back ten of their bone pieces. This is the atonement ritual given unto you ... I do hope you are able to abandon the dark and accept the truth of light. [30375-06.htm] Priest Adonius: Your atonement ritual is not complete until you gather ten Ashen Bones. Although it is difficult, you must endure. As it is a ritual in which you repent the dark activities of the past and accept the light of Einhasad into your soul, you must face it with a solemn heart. [30375-07.htm] Priest Adonius: Welcome, child of the light. The bone pieces of the departed souls that you have brought back will be given a proper funeral. This completes your atonement. Now you are ready to follow the path of light. Take this. It is Andariel's book, the book you were looking for. It is a very precious book that contains parts of the song of creation sung by Einhasad, the god of light. May you always meditate on the creed of light within. [30375-08.htm] Priest Adonius: Welcome, child of the light. Are you meditating upon the truth of Einhasad within Andariel's Book? [30377-01.htm] Magister Talbot: Welcome, my friend. You want to walk the path of the Shillien Oracle? The magic of a Dark Wizard that commands fire and wind is very spectacular, but the magic power of the Shillien Oracle, which commands the more fundamental power of the universe of light and darkness, is a valuable asset to our race. I hope you successfully complete the trial of seeking truth. Garmiel's Book, which you search for, does not exist in this world. However, there is a way to find it. Ask how to find Garmiel's Book [30377-02.htm] Magister Talbot: Have you ever heard of the demon dark succubus? They were servants that lived in the ancient palace of darkness and waited on Gran Kain. They were made in the image of a Goddess and are like angels of beauty and wisdom. However, they were jealous of the power of the Gods and secretly eavesdropped on the songs Gran Kain sung in his palace, and wrote them down to use that power as their own. When Gran Kain discovered this, he was furious and cast away the servants, saying, 'I will not steal back the secrets that you have overheard. However, to know the secrets, you will have to spill blood.' The documents that the dark succubi made of the Gods' songs disappeared, but instead, when they died, their blood formed runes to write out the lyrics of the songs that they had overheard at the palace of Gran Kain. If you wish to complete Garmiel's book, you must collect the runes made by the blood of the dark succubus. There are many dark succubi at the Spider Nest to the west of the Altar of Rites in the northern region. Kill them and find the Bloody Runes. Take these five blank sheets. If you put the scroll sheet near the blood, the blood will soak in and form runes. If you bring five Bloody Runes, I will put the runes together to make you Garmiel's book. [30377-03.htm] Magister Talbot: Why are you still here? You must away to the Altar of Rites! You will find the dark succubi in the Giant Nest. Destroy them and bring back five Bloody Runes. May Gran Kain protect you! [30377-04.htm] Magister Talbot: This is not enough. You must have five Bloody Runes in order to complete Garmiel's book. [30377-05.htm] Magister Talbot: May Shilen's blessing be with all those who search for the truth of darkness... I see you have brought back all five Bloody Runes. I will combine these and write out Garmiel's Book for you. It is only a small section of the song of darkness that Gran Kain sang in the beginning, but more will be revealed as your proficiency develops. Now take this. It is the completed Garmiel's Book. Read its passages as you rest during your journey, and adapt the truth within as your own. Now you must complete a second task in order to become a Shillien Oracle. You must find Andariel's Book, which contains parts of the song of creation sung by the God of Light in the beginning. Take this book to Priest Adonius in the temple of Einhasad. He will receive you cordially when you say, 'I have read your book and, being deeply moved, I have repented of my sins and decided to accept the light.' [30377-06.htm] Magister Talbot: Along with Garmiel's Book, which I wrote for you, you must find Andariel's Book, which contains the truth of light, if you wish to become a Shillien Oracle. [30377-07.htm] Magister Talbot: I see you have found Andariel's Book. Did the lofty priests of Einhasad fall for it when you spoke of the books they had written? They are hypocrites, who forget that the vanity and arrogance that they say are sins are within themselves. Now take Garmiel's Book and Andariel's Book to Magister Sidra of the village of Castle Gludio. Then she will give you the Orb of Abyss, which is the token you need to change profession to Shillien Oracle.
Исходник условий и наград (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.Q00413_PathOfTheShillienOracle;

import org.l2jmobius.gameserver.entity.actor.Npc;
import org.l2jmobius.gameserver.entity.actor.Player;
import org.l2jmobius.gameserver.entity.actor.enums.player.PlayerClass;
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;
import org.l2jmobius.gameserver.network.serverpackets.SocialAction;

public class Q00413_PathOfTheShillienOracle extends Quest
{
	// NPCs
	private static final int SIDRA = 30330;
	private static final int ADONIUS = 30375;
	private static final int TALBOT = 30377;
	
	// Items
	private static final int SIDRA_LETTER = 1262;
	private static final int BLANK_SHEET = 1263;
	private static final int BLOODY_RUNE = 1264;
	private static final int GARMIEL_BOOK = 1265;
	private static final int PRAYER_OF_ADONIUS = 1266;
	private static final int PENITENT_MARK = 1267;
	private static final int ASHEN_BONES = 1268;
	private static final int ANDARIEL_BOOK = 1269;
	private static final int ORB_OF_ABYSS = 1270;
	
	public Q00413_PathOfTheShillienOracle()
	{
		super(413, "Path to a Shillien Oracle");
		registerQuestItems(SIDRA_LETTER, BLANK_SHEET, BLOODY_RUNE, GARMIEL_BOOK, PRAYER_OF_ADONIUS, PENITENT_MARK, ASHEN_BONES, ANDARIEL_BOOK);
		addStartNpc(SIDRA);
		addTalkId(SIDRA, ADONIUS, TALBOT);
		addKillId(20776, 20457, 20458, 20514, 20515);
	}
	
	@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 "30330-05.htm":
			{
				if (player.getPlayerClass() != PlayerClass.DARK_MAGE)
				{
					htmltext = (player.getPlayerClass() == PlayerClass.SHILLIEN_ORACLE) ? "30330-02a.htm" : "30330-03.htm";
				}
				else if (player.getLevel() < 19)
				{
					htmltext = "30330-02.htm";
				}
				else if (hasQuestItems(player, ORB_OF_ABYSS))
				{
					htmltext = "30330-04.htm";
				}
				break;
			}
			case "30330-06.htm":
			{
				st.startQuest();
				giveItems(player, SIDRA_LETTER, 1);
				break;
			}
			case "30377-02.htm":
			{
				st.setCond(2, true);
				takeItems(player, SIDRA_LETTER, 1);
				giveItems(player, BLANK_SHEET, 5);
				break;
			}
			case "30375-04.htm":
			{
				st.setCond(5, true);
				takeItems(player, PRAYER_OF_ADONIUS, 1);
				giveItems(player, PENITENT_MARK, 1);
				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:
			{
				htmltext = "30330-01.htm";
				break;
			}
			case State.STARTED:
			{
				final int cond = st.getCond();
				switch (npc.getId())
				{
					case SIDRA:
					{
						if (cond == 1)
						{
							htmltext = "30330-07.htm";
						}
						else if ((cond > 1) && (cond < 4))
						{
							htmltext = "30330-08.htm";
						}
						else if ((cond > 3) && (cond < 7))
						{
							htmltext = "30330-09.htm";
						}
						else if (cond == 7)
						{
							htmltext = "30330-10.htm";
							takeItems(player, ANDARIEL_BOOK, 1);
							takeItems(player, GARMIEL_BOOK, 1);
							giveItems(player, ORB_OF_ABYSS, 1);
							addExpAndSp(player, 3200, 3120);
							player.broadcastPacket(new SocialAction(player.getObjectId(), 3));
							st.exitQuest(true, true);
						}
						break;
					}
					case TALBOT:
					{
						if (cond == 1)
						{
							htmltext = "30377-01.htm";
						}
						else if (cond == 2)
						{
							htmltext = (hasQuestItems(player, BLOODY_RUNE)) ? "30377-04.htm" : "30377-03.htm";
						}
						else if (cond == 3)
						{
							htmltext = "30377-05.htm";
							st.setCond(4, true);
							takeItems(player, BLOODY_RUNE, -1);
							giveItems(player, GARMIEL_BOOK, 1);
							giveItems(player, PRAYER_OF_ADONIUS, 1);
						}
						else if ((cond > 3) && (cond < 7))
						{
							htmltext = "30377-06.htm";
						}
						else if (cond == 7)
						{
							htmltext = "30377-07.htm";
						}
						break;
					}
					case ADONIUS:
					{
						if (cond == 4)
						{
							htmltext = "30375-01.htm";
						}
						else if (cond == 5)
						{
							htmltext = (hasQuestItems(player, ASHEN_BONES)) ? "30375-05.htm" : "30375-06.htm";
						}
						else if (cond == 6)
						{
							htmltext = "30375-07.htm";
							st.setCond(7, true);
							takeItems(player, ASHEN_BONES, -1);
							takeItems(player, PENITENT_MARK, -1);
							giveItems(player, ANDARIEL_BOOK, 1);
						}
						else if (cond == 7)
						{
							htmltext = "30375-08.htm";
						}
						break;
					}
				}
				break;
			}
		}
		
		return htmltext;
	}
	
	@Override
	public void onKill(Npc npc, Player player, boolean isPet)
	{
		final QuestState st = getQuestState(player, false);
		if ((st == null) || !st.isStarted())
		{
			return;
		}
		
		if (npc.getId() == 20776)
		{
			if (st.isCond(2))
			{
				if (getQuestItemsCount(player, BLOODY_RUNE) < 5)
				{
					takeItems(player, BLANK_SHEET, 1);
					giveItems(player, BLOODY_RUNE, 1);
					
					if (getQuestItemsCount(player, BLOODY_RUNE) >= 5)
					{
						st.setCond(3, true);
					}
					else
					{
						playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET);
					}
				}
			}
		}
		else if (st.isCond(5))
		{
			if (getQuestItemsCount(player, ASHEN_BONES) < 10)
			{
				giveItems(player, ASHEN_BONES, 1);
				
				if (getQuestItemsCount(player, ASHEN_BONES) >= 10)
				{
					st.setCond(6, true);
				}
				else
				{
					playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET);
				}
			}
		}
	}
}