Path to a Cleric
- ID
- 405
- Название
- Path to a Cleric
- start_npcs_json
- [30022]
- npc_ids_json
- [30017,30022,30030,30253,30333,30408]
- constants_json
- {"GALLINT":30017,"ZIGAUNT":30022,"VIVYAN":30030,"PRAGA":30333,"SIMPLON":30253,"LIONEL":30408,"LETTER_OF_ORDER_1":1191,"LETTER_OF_ORDER_2":1192,"LIONEL_BOOK":1193,"BOOK_OF_VIVYAN":1194,"BOOK_OF_SIMPLON":1195,"BOOK_OF_PRAGA":1196,"CERTIFICATE_OF_GALLINT":1197,"PENDANT_OF_MOTHER":1198,"NECKLACE_OF_MOTHER":1199,"LIONEL_COVENANT":1200,"MARK_OF_FATE":1201}
- Статус разбора
- metadata_only; dynamic Java conditions/rewards retained in source; unresolved starts: []
- Источник
- game/data/scripts/quests/Q00405_PathOfTheCleric/Q00405_PathOfTheCleric.java
NPC квеста
| ID | Название | Старт квеста | Уровень |
|---|---|---|---|
| 30017 | Gallint | Нет | 70 |
| 30022 | Zigaunt | Да | 70 |
| 30030 | Vivyan | Нет | 70 |
| 30253 | Simplon | Нет | 70 |
| 30333 | Praga | Нет | 80 |
| 30408 | Lionel | Нет | 70 |
Условия уровней: выражения из Java
else if (player.getLevel() < 19)
Выдача предметов, адены и опыта: выражения из Java
giveItems(player, LETTER_OF_ORDER_1, 1); giveItems(player, LETTER_OF_ORDER_2, 1); giveItems(player, MARK_OF_FATE, 1); addExpAndSp(player, 3200, 5610); giveItems(player, BOOK_OF_SIMPLON, 3); giveItems(player, NECKLACE_OF_MOTHER, 1); giveItems(player, BOOK_OF_PRAGA, 1); giveItems(player, BOOK_OF_VIVYAN, 1); giveItems(player, LIONEL_BOOK, 1); giveItems(player, LIONEL_COVENANT, 1); giveItems(player, CERTIFICATE_OF_GALLINT, 1); giveItems(player, PENDANT_OF_MOTHER, 1);
Квесты содержат динамические условия Java. Выражения выдачи включают промежуточные предметы, варианты и случайные награды; это не гарантированная награда. Константы приведены выше. Полные условия — в исходнике.
Тексты квеста
[30017-01.htm] Grand Magister Gallint: So it comes to this. I knew it would turn out badly, and I tried to stop him when he started writing that book ... Give me the book. From this moment it will be kept here forever in this place. If you show this token to Lionel, he will be relieved as well. Now, take this token of custody to Lionel.
[30017-02.htm] Grand Magister Gallint: Please take this token of custody of the book to Lionel.
[30022-01.htm] Priest Zigaunt: You will need the Mark of Faith to change profession to a Cleric. It is given to people with true faith. By chance there is a task suitable to prove your faith if you would agree to give it a try? Say you will take the task
[30022-02.htm] Priest Zigaunt: Oh. You are not a Mystic. I cannot give this errand to those who are not Mystics.
[30022-02a.htm] Priest Zigaunt: You are already a Cleric that has proven your worthiness! You do not have to show your faith again. Please spread the teachings of the gods all over the world.
[30022-03.htm] Priest Zigaunt: Thank you for your kindness, but the task is far too great to entrust to you. Gain more experience. We shall talk later when your skills have matured.
[30022-04.htm] Priest Zigaunt: I see you already have the Mark of Faith. If you meet High Priestess Levian, you can change profession.
[30022-05.htm] Priest Zigaunt: By any chance, have you heard the rumors that there is a heretical book that criticizes our religion? The book is called "Understanding of Miracles", and it was actually written by a person who used to be a priest. That is why the church wants to take care of this problem quietly. Can you retrieve the books that have been sold? Please do it undercover. The beginning of the rumor about this book was the town of Gludio. Begin your search there.
[30022-06.htm] Priest Zigaunt: Please retrieve all those improper books. The future of our religion depends on your success.
[30022-07.htm] Priest Zigaunt: You must bring a signed covenant from Lionel. Please hurry, the church wants to take care of this very quickly.
[30022-08.htm] Priest Zigaunt: Thank you for your trouble. The church will be very happy. However, we must take care of the fundamental cause of the problem ... It is the will of the church that the writer of the book must sign a covenant saying that he will not write any more subversive content and that he will not breathe a word to anyone that he was once a priest. His name is Lionel. He is supposedly living in retirement on Talking Island. Please meet Lionel and make him sign the covenant. Well then, I thank you in advance. May the light of the heavens lead you to the righteous path.
[30022-09.htm] Priest Zigaunt: This is definitely Lionel's signature. Thank you. With this, your faith has been fully proven. Here, take this token of faith. If you show that to the High Priestess Levian, she will help you to change your profession to Cleric, one who promulgates the teachings of Einhasad. I must excuse myself now, to make a report to the church. Goodbye. May the blessing of Einhasad be with you ...
[30030-01.htm] Priestess Vivyan: Ehh?! The book was forbidden by the church? I had no idea! I didn't even know and recommended it to my friends ... Ah ... Now what do I do? What to do? Will the high priests forgive me? They will no doubt give me a terrible punishment ... From cleaning floors to laundry to cooking ...! Ahhhh ...
[30030-02.htm] Priestess Vivyan: Cleaning floors, laundry, cooking ... Doing laundry, cooking and cleaning floors ... Cooking, cleaning floors and doing laundry ... Ahhhhh ...!
[30253-01.htm] Trader Simplon: Understanding of Miracles? Ah! You are speaking of the books I sold not long ago. Threatening books? I don't know ... As for me, I don't really know the contents of the book ... I just got a few to sell because they said that a lot of people wanted to read it ... The church is collecting the books? Well, if that is the case ... I will give them to you, but I bought those books with money so the church will compensate me for them, right? I bought five books in all, and I'll give you the three that were not sold. The other two books were bought by Guard Praga and Priestess Vivyan in this village. Go and ask them about the books.
[30253-02.htm] Trader Simplon: Why have you come back? Is it to find out whether I am selling threatening books? Please go away so you will not a disturb my customers! If you want to find out more about the other two books, you can go ask Guard Praga and Priestess Vivyan in this village about them.
[30333-01.htm] Guard Praga: Ah... that book. But that book was quite interesting. And I bought it for money. I can't give it to you for free. Well, how about this? Recently, I was making rounds in the Ruins of Agony when I happened into a fight with the ruin zombies. At that time, I lost a pendant that my mother left me before she died. Please find it for me. Here, this is the chain of the necklace. See if the pendant fits it, and then return them to me, please. Don't wrinkle your nose like that. A true believer like you will be protected by your strong faith. If you need direction, you can reach the Ruins of Agony by journeying west of the village.
[30333-02.htm] Guard Praga: You still haven't found my mother's pendant? I'm sorry, but until then I cannot give you the book. I'm busy, so please excuse me.
[30333-03.htm] Guard Praga: Yes! Yes, this is the pendant. I thought I had lost it forever ... thank you so much! My mother, who is with the gods, will also be pleased ... Oh yes! Here is the book you were looking for. I didn't notice it was blasphemy. Strange ... Did the church say that it was heresy? How strange ...
[30333-04.htm] Guard Praga: Thank you for finding my mother's pendant. And by the way, what did you do with that forbidden book that you took last time? Did you burn it or something?
[30408-01.htm] Lionel: What? The church designated my book as a forbidden book? This is truly too much! Have you read my book? I was disappointed with the profession of Priest, which only focused on formalities. I gave up the profession and wrote my understanding of miracles as objectively as possible, as they occur beyond the positions of Priest or Prophet. And now it is being treated like this! However... I cannot stand alone against those who hold all the power of the church... Please take pity on me and do me one favor. The church will burn all the books they have collected but I don't want the book I spent my heart and soul writing to disappear forever. Please give this last book to Gallint at Einhovant's School of Wizardry. He taught me the importance of knowledge. If he puts the book in safekeeping, it may not become known to the world, but it will be preserved forever. Please, I beg you.
[30408-02.htm] Lionel: Get out of my sight! How dare you spread false rumors that my books are forbidden!
[30408-03.htm] Lionel: Please give my book to Galint of the Einhovant School of Witchcraft and Wizardry! I will never forget your kindness. Please do not breathe a word of this to anyone!
[30408-04.htm] Lionel: Thank you so much. I will repay your kindness without fail. The covenant is here. The dogmatic High Priests will be content with this. Bah! Rascals of the church! I will pay back my debt to them someday!
[30408-05.htm] Lionel: I can't believe my academic studies are disturbed because of the dogmatic high priests ... humph!
Исходник условий и наград (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.Q00405_PathOfTheCleric;
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 Q00405_PathOfTheCleric extends Quest
{
// NPCs
private static final int GALLINT = 30017;
private static final int ZIGAUNT = 30022;
private static final int VIVYAN = 30030;
private static final int PRAGA = 30333;
private static final int SIMPLON = 30253;
private static final int LIONEL = 30408;
// Items
private static final int LETTER_OF_ORDER_1 = 1191;
private static final int LETTER_OF_ORDER_2 = 1192;
private static final int LIONEL_BOOK = 1193;
private static final int BOOK_OF_VIVYAN = 1194;
private static final int BOOK_OF_SIMPLON = 1195;
private static final int BOOK_OF_PRAGA = 1196;
private static final int CERTIFICATE_OF_GALLINT = 1197;
private static final int PENDANT_OF_MOTHER = 1198;
private static final int NECKLACE_OF_MOTHER = 1199;
private static final int LIONEL_COVENANT = 1200;
// Reward
private static final int MARK_OF_FATE = 1201;
public Q00405_PathOfTheCleric()
{
super(405, "Path to a Cleric");
registerQuestItems(LETTER_OF_ORDER_1, BOOK_OF_SIMPLON, BOOK_OF_PRAGA, BOOK_OF_VIVYAN, NECKLACE_OF_MOTHER, PENDANT_OF_MOTHER, LETTER_OF_ORDER_2, LIONEL_BOOK, CERTIFICATE_OF_GALLINT, LIONEL_COVENANT);
addStartNpc(ZIGAUNT);
addTalkId(ZIGAUNT, SIMPLON, PRAGA, VIVYAN, LIONEL, GALLINT);
addKillId(20029, 20026);
}
@Override
public String onEvent(String event, Npc npc, Player player)
{
final String htmltext = event;
final QuestState st = getQuestState(player, false);
if (st == null)
{
return htmltext;
}
if (event.equals("30022-05.htm"))
{
st.startQuest();
giveItems(player, LETTER_OF_ORDER_1, 1);
}
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.getPlayerClass() != PlayerClass.MAGE)
{
htmltext = (player.getPlayerClass() == PlayerClass.CLERIC) ? "30022-02a.htm" : "30022-02.htm";
}
else if (player.getLevel() < 19)
{
htmltext = "30022-03.htm";
}
else if (hasQuestItems(player, MARK_OF_FATE))
{
htmltext = "30022-04.htm";
}
else
{
htmltext = "30022-01.htm";
}
break;
}
case State.STARTED:
{
final int cond = st.getCond();
switch (npc.getId())
{
case ZIGAUNT:
{
if (cond == 1)
{
htmltext = "30022-06.htm";
}
else if (cond == 2)
{
htmltext = "30022-08.htm";
st.setCond(3, true);
takeItems(player, BOOK_OF_PRAGA, 1);
takeItems(player, BOOK_OF_VIVYAN, 1);
takeItems(player, BOOK_OF_SIMPLON, 3);
takeItems(player, LETTER_OF_ORDER_1, 1);
giveItems(player, LETTER_OF_ORDER_2, 1);
}
else if ((cond > 2) && (cond < 6))
{
htmltext = "30022-07.htm";
}
else if (cond == 6)
{
htmltext = "30022-09.htm";
takeItems(player, LETTER_OF_ORDER_2, 1);
takeItems(player, LIONEL_COVENANT, 1);
giveItems(player, MARK_OF_FATE, 1);
addExpAndSp(player, 3200, 5610);
player.broadcastPacket(new SocialAction(player.getObjectId(), 3));
st.exitQuest(true, true);
}
break;
}
case SIMPLON:
{
if ((cond == 1) && !hasQuestItems(player, BOOK_OF_SIMPLON))
{
htmltext = "30253-01.htm";
playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET);
giveItems(player, BOOK_OF_SIMPLON, 3);
}
else if ((cond > 1) || hasQuestItems(player, BOOK_OF_SIMPLON))
{
htmltext = "30253-02.htm";
}
break;
}
case PRAGA:
{
if (cond == 1)
{
if (!hasQuestItems(player, BOOK_OF_PRAGA) && !hasQuestItems(player, NECKLACE_OF_MOTHER) && hasQuestItems(player, BOOK_OF_SIMPLON))
{
htmltext = "30333-01.htm";
playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET);
giveItems(player, NECKLACE_OF_MOTHER, 1);
}
else if (!hasQuestItems(player, PENDANT_OF_MOTHER))
{
htmltext = "30333-02.htm";
}
else if (hasQuestItems(player, PENDANT_OF_MOTHER))
{
htmltext = "30333-03.htm";
takeItems(player, NECKLACE_OF_MOTHER, 1);
takeItems(player, PENDANT_OF_MOTHER, 1);
giveItems(player, BOOK_OF_PRAGA, 1);
if (hasQuestItems(player, BOOK_OF_VIVYAN))
{
st.setCond(2, true);
}
else
{
playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET);
}
}
}
else if ((cond > 1) || (hasQuestItems(player, BOOK_OF_PRAGA)))
{
htmltext = "30333-04.htm";
}
break;
}
case VIVYAN:
{
if ((cond == 1) && !hasQuestItems(player, BOOK_OF_VIVYAN) && hasQuestItems(player, BOOK_OF_SIMPLON))
{
htmltext = "30030-01.htm";
giveItems(player, BOOK_OF_VIVYAN, 1);
if (hasQuestItems(player, BOOK_OF_PRAGA))
{
st.setCond(2, true);
}
else
{
playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET);
}
}
else if ((cond > 1) || hasQuestItems(player, BOOK_OF_VIVYAN))
{
htmltext = "30030-02.htm";
}
break;
}
case LIONEL:
{
if (cond < 3)
{
htmltext = "30408-02.htm";
}
else if (cond == 3)
{
htmltext = "30408-01.htm";
st.setCond(4, true);
giveItems(player, LIONEL_BOOK, 1);
}
else if (cond == 4)
{
htmltext = "30408-03.htm";
}
else if (cond == 5)
{
htmltext = "30408-04.htm";
st.setCond(6, true);
takeItems(player, CERTIFICATE_OF_GALLINT, 1);
giveItems(player, LIONEL_COVENANT, 1);
}
else if (cond == 6)
{
htmltext = "30408-05.htm";
}
break;
}
case GALLINT:
{
if (cond == 4)
{
htmltext = "30017-01.htm";
st.setCond(5, true);
takeItems(player, LIONEL_BOOK, 1);
giveItems(player, CERTIFICATE_OF_GALLINT, 1);
}
else if (cond > 4)
{
htmltext = "30017-02.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.isCond(1))
{
return;
}
if (hasQuestItems(player, NECKLACE_OF_MOTHER) && !hasQuestItems(player, PENDANT_OF_MOTHER))
{
playSound(player, QuestSound.ITEMSOUND_QUEST_MIDDLE);
giveItems(player, PENDANT_OF_MOTHER, 1);
}
}
}