Possessor of a Precious Soul - 4
- ID
- 247
- Название
- Possessor of a Precious Soul - 4
- start_npcs_json
- [31740]
- npc_ids_json
- [31740,31745]
- constants_json
- {"CARADINE":31740,"LADY_OF_THE_LAKE":31745,"CARADINE_LETTER":7679,"NOBLESS_TIARA":7694}
- Статус разбора
- metadata_only; dynamic Java conditions/rewards retained in source; unresolved starts: []
- Источник
- game/data/scripts/quests/Q00247_PossessorOfAPreciousSoul4/Q00247_PossessorOfAPreciousSoul4.java
NPC квеста
Условия уровней: выражения из Java
htmltext = (!player.isSubClassActive() || (player.getLevel() < 75)) ? "31740-02.htm" : "31740-01.htm"; htmltext = (player.getLevel() < 75) ? "31745-06.htm" : "31745-01.htm";
Выдача предметов, адены и опыта: выражения из Java
giveItems(player, NOBLESS_TIARA, 1); addExpAndSp(player, 93836, 0);
Квесты содержат динамические условия Java. Выражения выдачи включают промежуточные предметы, варианты и случайные награды; это не гарантированная награда. Константы приведены выше. Полные условия — в исходнике.
Тексты квеста
[31740-01.htm] Caradine: Thank you for coming. I asked you here because the time has come for you to meet her. Isn't that what you wanted? Prepare to have all your questions answered and your horizons broadened! Are you ready to change your life? "Yes, I am!"
[31740-02.htm] Caradine: Soon, you'll meet him. All your questions will be answered and a world of new possibilities will be opened to you. You're not quite ready yet. (This quest may only be undertaken by a sub-classed character of level 75 and above who has completed Possessor of a Precious Soul - 3 quest.)
[31740-03.htm] Caradine: You must meet her alone. My only role is to open the way for you. Don't be frightened! She just wants to talk to you. What she'll say, I don't know, but you need to listen! Now, close your eyes and relax. "I'm ready."
[31740-04.htm] Caradine: My master wants to meet you. Are you ready? Close your eyes... "I'm ready."
[31740-05.htm] Caradine: A new era dawns! May the blessings of starlight be with you...
[31740-06.htm] Caradine: You haven't met her yet, have you? She's waiting! Go to her! Now, close your eyes... "I'm ready."
[31745-01.htm] Lady of the Lake: Finally I meet the one who bears a holy soul. I've been waiting. "I've been waiting to meet you, too."
[31745-02.htm] Lady of the Lake: Your path has been difficult, but your journey is not over yet. You must fulfill your destiny. I came here to find a new future, but my mother's wishes kept me from it. I can't help you much either. I will answer the question that you've had on your mind. "Who are you and why are you here?"
[31745-03.htm] Lady of the Lake: Don't you know who I am? My mother lost everything that she loved, and her grief over the betrayal was overpowering. I am the child who holds hope and faith in the future. Some call me the Goddess of Water, but that title really belongs to my sister. My name is Eva. I will give my trust to a mortal over my own siblings, if they recite with conviction, and believe in that new future. Can you do that? "I will with my entire body and soul."
[31745-04.htm] Lady of the Lake: The world is a battleground, where everyone fights for themselves. Can you allow your love for Humans to blossom even in this sad state? "Of course. As you wish."
[31745-05.htm] Lady of the Lake: You and I will open a new future for this world with infinite possibilities! May you be eternally blessed.
[31745-06.htm] Lady of the Lake: You may have holy intentions, but you haven't reached the level of awakening yet to have a truly holy soul. I shall wait for your return. (Only characters level 75 or above may transfer to Noblesse class.)
Исходник условий и наград (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.Q00247_PossessorOfAPreciousSoul4;
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;
import org.l2jmobius.gameserver.network.serverpackets.SocialAction;
public class Q00247_PossessorOfAPreciousSoul4 extends Quest
{
// NPCs
private static final int CARADINE = 31740;
private static final int LADY_OF_THE_LAKE = 31745;
// Items
private static final int CARADINE_LETTER = 7679;
private static final int NOBLESS_TIARA = 7694;
public Q00247_PossessorOfAPreciousSoul4()
{
super(247, "Possessor of a Precious Soul - 4");
addStartNpc(CARADINE);
addTalkId(CARADINE, LADY_OF_THE_LAKE);
}
@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 "31740-03.htm":
{
st.startQuest();
takeItems(player, CARADINE_LETTER, 1);
break;
}
case "TELEPORT":
{
st.setCond(2);
player.teleToLocation(143209, 43968, -3038);
break;
}
case "31745-05.htm":
{
player.setNoble(true);
giveItems(player, NOBLESS_TIARA, 1);
addExpAndSp(player, 93836, 0);
player.broadcastPacket(new SocialAction(player.getObjectId(), 3));
st.exitQuest(false, true);
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:
{
if (hasQuestItems(player, CARADINE_LETTER))
{
htmltext = (!player.isSubClassActive() || (player.getLevel() < 75)) ? "31740-02.htm" : "31740-01.htm";
}
break;
}
case State.STARTED:
{
if (!player.isSubClassActive())
{
break;
}
final int cond = st.getCond();
switch (npc.getId())
{
case CARADINE:
{
if (cond == 1)
{
htmltext = "31740-04.htm";
}
else if (cond == 2)
{
htmltext = "31740-06.htm";
}
break;
}
case LADY_OF_THE_LAKE:
{
if (cond == 2)
{
htmltext = (player.getLevel() < 75) ? "31745-06.htm" : "31745-01.htm";
}
break;
}
}
break;
}
case State.COMPLETED:
{
htmltext = getAlreadyCompletedMsg(player);
break;
}
}
return htmltext;
}
}