Letters of Love
- ID
- 1
- Название
- Letters of Love
- start_npcs_json
- [30048]
- npc_ids_json
- [30006,30033,30048]
- constants_json
- {"DARIN":30048,"ROXXY":30006,"BAULRO":30033,"DARIN_LETTER":687,"ROXXY_KERCHIEF":688,"DARIN_RECEIPT":1079,"BAULRO_POTION":1080,"NECKLACE":906}
- Статус разбора
- metadata_only; dynamic Java conditions/rewards retained in source; unresolved starts: []
- Источник
- game/data/scripts/quests/Q00001_LettersOfLove/Q00001_LettersOfLove.java
NPC квеста
Условия уровней: выражения из Java
htmltext = (player.getLevel() < 2) ? "30048-01.htm" : "30048-02.htm";
Выдача предметов, адены и опыта: выражения из Java
giveItems(player, DARIN_LETTER, 1); giveItems(player, DARIN_RECEIPT, 1); giveItems(player, NECKLACE, 1); giveItems(player, ROXXY_KERCHIEF, 1); giveItems(player, BAULRO_POTION, 1);
Квесты содержат динамические условия Java. Выражения выдачи включают промежуточные предметы, варианты и случайные награды; это не гарантированная награда. Константы приведены выше. Полные условия — в исходнике.
Тексты квеста
[30006-01.htm] Roxxy: Oh my, a letter for me...? From Darin... Yes, of course I know him. I thought he had feelings for me and, actually, I like him too. I think he is a very fine person. Of course, there is that trifling matter of him being so timid... I've been waiting for him to come and talk to me, but I guess he couldn't go through with it after all, and had to ask you. Ha... well, that's okay, I don't mind. Here, please give Darin my handkerchief. And please deliver my message to our shy Darin that I will accept his affections with all my heart.
[30006-02.htm] Roxxy: I see you haven't left yet. Isn't Darin anxiously waiting for you to return? Please deliver my message to him right away, and don't make him wait. I'd like to see his happy face as soon as possible. I'm sure he will gather enough courage together once he knows my feelings, don't you think?
[30006-03.htm] Roxxy: Have you given Darin my handkerchief? What did he say? I thought he would rush right over and ask permission to court me... He is so timid! Of course, that is part of what makes him so attractive... For some reason, it brings out my maternal side.
[30033-01.htm] Sorcerer Baulro: Huh? Darin's receipt? Ah, the magic potion. Darin is a fine lad, but he is too shy for his own good. It's good to hear that he's finally made up his mind to go and talk to Roxxy. Please deliver this to Darin now. Actually... don't tell him, but the contents of this bottle is plain water from the well in front of the temple. The talk about magic potions that have been handed down from generation to generation... well, those are stories that I made up to encourage Darin. This potion is no different from plain old water. I would appreciate it if you don't tell and just give this magic potion to Darin.
[30033-02.htm] Sorcerer Baulro: Now, go and give Darin the potion that I have given you. I'm sure he is anxiously waiting for you to return.
[30048-01.htm] Darin: Do you know what is more dangerous than a Knight's Sword or a Mystic's spell? It is love. It comes unexpectedly and swallows a man's soul, and never lets go. This thing called "love" which once I'd only heard about in ballads or gossip, yes, that is what makes me so happy and agonized these days. Do you understand what I'm saying? How could you? You undoubtedly have larger ambitions than that. But remember... someday, when you least expect it, an aching love may find its way into your heart. (This quest may only be undertaken by a character of level 2 and above.)
[30048-02.htm] Darin: Do you know what is more dangerous than a knight's sword or a magician's spell? It is love. It comes unexpectedly and swallows a man's entire soul, and never releases it. This thing called love is what makes me so happy and agonized these days. I have no motivation or appetite... I'm so disappointed in myself. Ask who Darin's love is
[30048-03.htm] Darin: The woman who has stolen my heart and taught me what it feels like to fall in love is Roxxy. Do you know her? She's our village Gatekeeper. Say that you do not know her Say that you know Roxxy
[30048-04.htm] Darin: What, you don't know her? How could you not know her? The fairest maiden in all of Talking Island... Plus, she is highly trained in magic and has studied at the Ivory Tower in Oren. She is also a member of the Gatekeepers Guild which manages the magic portals that connect the various villages together. Such an accomplished lady... Would she even give me a chance? I often think of going and confessing my love to her, but... I just don't have the courage to do it. I mean, what if she refuses? It would kill me. It's been a week since I wrote a letter confessing my affections for her, but it still sits in my pocket... Could you do me a favor? My letter... Would you deliver it to Roxxy? Say you will do the favor
[30048-05.htm] Darin: Ah, so you do know her. It's hard to find such a beauty as Roxxy, isn't it? A woman like her... Would she even give me a chance? I often think of going and confessing my love to her, but I just don't have the courage to do it. I mean, what if she refuses? It would kill me. It's been a week since I wrote a letter confessing my affections for her, but it still sits in my pocket, without being delivered... Could you do me a favor? My letter... Would you deliver it to Roxxy? Say you will do the favor
[30048-06.htm] Darin: Thank you! Thank you so much. Do you know where the Temple of Einhasad is in the village? Go to the well in front of the temple, and you will see Roxxy ... Please... give her this letter. Thank you!
[30048-07.htm] Darin: You haven't been able to meet Roxxy yet? I am so nervous and anxious, waiting for her reply... I beg of you, please hurry. Please deliver my letter to Roxxy.
[30048-08.htm] Darin: Roxxy's kerchief! She likes me! It seems like a dream... Thank you! This is all thanks to you! Before the sun sets today... I must ask her permission to court her. I need to go and buy flowers, get dressed... But there's no time. I should hurry. Oh, and I'm really sorry, but would you do me one more favor? A while ago, I had a talk with Baulro from the temple regarding Roxxy, and he promised that he would create a magic potion for me that makes the user more eloquent, saying that it would be helpful when courting a woman. Something about being able to capture the person's heart through witty talk? It was a bit expensive, but I bought it thinking that I would need it to talk with Roxxy. Please take this receipt to Baulro and tell him my situation, and he will give you the potion.
[30048-09.htm] Darin: Your eyes are like the moonlight... Ah! You haven't gotten the potion from Baulro yet? I'm writing a poem to recite to Roxxy when I ask her permission to court her. I have to hurry before the sun sets...
[30048-10.htm] Darin: Ah, is this the potion? Thank you. I have finished the poem to recite to Roxxy, and bought roses too. Now that I have the potion that Baulro has made, all that is left is for me to do is to go and talk to Roxxy. For some reason, I have a feeling that things will all go well. This is all thanks to your help. Take this as a token of gratitude. Though it's not much... Please do not decline, just take my gift.
Исходник условий и наград (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.Q00001_LettersOfLove;
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.QuestState;
import org.l2jmobius.gameserver.mechanics.script.State;
public class Q00001_LettersOfLove extends Quest
{
// NPCs
private static final int DARIN = 30048;
private static final int ROXXY = 30006;
private static final int BAULRO = 30033;
// Items
private static final int DARIN_LETTER = 687;
private static final int ROXXY_KERCHIEF = 688;
private static final int DARIN_RECEIPT = 1079;
private static final int BAULRO_POTION = 1080;
// Reward
private static final int NECKLACE = 906;
public Q00001_LettersOfLove()
{
super(1, "Letters of Love");
registerQuestItems(DARIN_LETTER, ROXXY_KERCHIEF, DARIN_RECEIPT, BAULRO_POTION);
addStartNpc(DARIN);
addTalkId(DARIN, ROXXY, BAULRO);
}
@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("30048-06.htm"))
{
st.startQuest();
giveItems(player, DARIN_LETTER, 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:
{
htmltext = (player.getLevel() < 2) ? "30048-01.htm" : "30048-02.htm";
break;
}
case State.STARTED:
{
final int cond = st.getCond();
switch (npc.getId())
{
case DARIN:
{
if (cond == 1)
{
htmltext = "30048-07.htm";
}
else if (cond == 2)
{
htmltext = "30048-08.htm";
st.setCond(3, true);
takeItems(player, ROXXY_KERCHIEF, 1);
giveItems(player, DARIN_RECEIPT, 1);
}
else if (cond == 3)
{
htmltext = "30048-09.htm";
}
else if (cond == 4)
{
htmltext = "30048-10.htm";
takeItems(player, BAULRO_POTION, 1);
giveItems(player, NECKLACE, 1);
st.exitQuest(false, true);
}
break;
}
case ROXXY:
{
if (cond == 1)
{
htmltext = "30006-01.htm";
st.setCond(2, true);
takeItems(player, DARIN_LETTER, 1);
giveItems(player, ROXXY_KERCHIEF, 1);
}
else if (cond == 2)
{
htmltext = "30006-02.htm";
}
else if (cond > 2)
{
htmltext = "30006-03.htm";
}
break;
}
case BAULRO:
{
if (cond == 3)
{
htmltext = "30033-01.htm";
st.setCond(4, true);
takeItems(player, DARIN_RECEIPT, 1);
giveItems(player, BAULRO_POTION, 1);
}
else if (cond == 4)
{
htmltext = "30033-02.htm";
}
break;
}
}
break;
}
case State.COMPLETED:
{
htmltext = getAlreadyCompletedMsg(player);
break;
}
}
return htmltext;
}
}