Covert Business
- ID
- 294
- Название
- Covert Business
- start_npcs_json
- [30534]
- npc_ids_json
- []
- constants_json
- {"BAT_FANG":1491,"RING_OF_RACCOON":1508}
- Статус разбора
- metadata_only; dynamic Java conditions/rewards retained in source; unresolved starts: []
- Источник
- game/data/scripts/quests/Q00294_CovertBusiness/Q00294_CovertBusiness.java
NPC квеста
Записей нет.
Условия уровней: выражения из Java
else if (player.getLevel() < 10)
Выдача предметов, адены и опыта: выражения из Java
giveItems(player, RING_OF_RACCOON, 1); giveAdena(player, 2400, true); addExpAndSp(player, 0, 600); giveItems(player, BAT_FANG, count);
Квесты содержат динамические условия Java. Выражения выдачи включают промежуточные предметы, варианты и случайные награды; это не гарантированная награда. Константы приведены выше. Полные условия — в исходнике.
Тексты квеста
[30534-00.htm] Elder Keef: You want work? It's true that we are overloaded at the moment, but according to guild rules, I cannot entrust any work to an outsider. I am sorry. (This quest may only be undertaken by a Dwarven character.)
[30534-01.htm] Elder Keef: As you know, the Bronze Key Guild travels the continent collecting rare materials. We received a request, and I'm looking for a person with the right qualification to manage the assignment. I'm in urgent need of a person, but I can't give this job to just anybody in off the street ... It's hard to find reliable help these days. Do you have any friends for this job? Someone diligent, and responsible, and that can keep a secret. (This quest may only be undertaken by a character of level 10 and above.)
[30534-02.htm] Elder Keef: As you know, the Bronze Key Guild travels the continent collecting rare materials. We received a request, and I'm looking for a person with the right qualifications to manage the assignment. I'm in urgent need of a person, but I can't give this job to just anybody in off the street ... It's hard to find reliable help these days. But it seems like I can trust you. I am a good judge of character. I can tell what a person is like at a single glance. Let me see your eyes ... You do your work in silence no matter what others may think about it ... You seem to be that kind of person ... What do you think? Am I right? I want to give you a task. How does that sound? You want to give it a try? Say you will take the task
[30534-03.htm] Elder Keef: Your job is to collect Bat Fangs. While wandering west of the Mine Field, you will often see blade bats and barbed bats. You will hunt them and bring me their fangs. You need to collect exactly 100 fangs. I don't know what such an odd material is used for, but all we need to do is find the items that our clients want. Our guild members should be able to bring anything, even dragon scales, to our clients. That's our belief. There's one thing I don't really like about this quest ... the client is Hardin, who has been branded as a black magician by the Humans. Things could become complicated if anyone finds out that our Guild is dealing with such a notorious person ... I hope you won't talk to anyone else about this. Do you understand what I'm saying?
[30534-04.htm] Elder Keef: I don't want you to come back here until the quest is complete. It is not good for us to be seen together. Come back when you have 100 Bat Fangs!
[30534-05.htm] Elder Keef: You've done well, my friend. You have brought me 100 Bat Fangs. Magnificent! I can send these to Hardin's Academy by this week's wagon. I will give you this ring for your work on behalf of the Bronze Key Guild. This token signifies that our Guild trusts you. Actually, I had a cup of tea with Hardin few days ago. Contrary to the rumors, he was a well-mannered, pleasant person. Having a business relationship with such a person is actually investing in the future. We never know when we'll be put into a tight spot, just like when we were attacked by Orcs before ... We need to have few solid allies as a simple precaution, don't you think?
[30534-06.htm] Elder Keef: You've done well, my friend. You have brought me 100 Bat Fangs. Magnificent! I can send these to Hardin's Academy by this week's wagon. As promised, I will reward you for your hard work. This should be enough, no? Our guild's rule is to give appropriate rewards to those who have worked for us. Actually, I had a cup of tea with Hardin few days ago. Contrary to the rumors, he was a well-mannered, pleasant person. Having a business relationship with such a person is actually investing in the future. We never know when we'll be put into a tight spot, just like when we were attacked by Orcs before ... We need to have few solid allies as a simple precaution, don't you think?
Исходник условий и наград (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.Q00294_CovertBusiness;
import org.l2jmobius.gameserver.entity.actor.Npc;
import org.l2jmobius.gameserver.entity.actor.Player;
import org.l2jmobius.gameserver.entity.actor.enums.creature.Race;
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 Q00294_CovertBusiness extends Quest
{
// Item
private static final int BAT_FANG = 1491;
// Reward
private static final int RING_OF_RACCOON = 1508;
public Q00294_CovertBusiness()
{
super(294, "Covert Business");
registerQuestItems(BAT_FANG);
addStartNpc(30534); // Keef
addTalkId(30534);
addKillId(20370, 20480); // Barded Bat, Blade Bat
}
@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("30534-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:
{
if (player.getRace() != Race.DWARF)
{
htmltext = "30534-00.htm";
}
else if (player.getLevel() < 10)
{
htmltext = "30534-01.htm";
}
else
{
htmltext = "30534-02.htm";
}
break;
}
case State.STARTED:
{
if (st.isCond(1))
{
htmltext = "30534-04.htm";
}
else
{
takeItems(player, BAT_FANG, -1);
if (!hasQuestItems(player, RING_OF_RACCOON))
{
htmltext = "30534-05.htm";
giveItems(player, RING_OF_RACCOON, 1);
}
else
{
htmltext = "30534-06.htm";
giveAdena(player, 2400, true);
}
addExpAndSp(player, 0, 600);
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;
}
int count = 1;
final int chance = getRandom(10);
final boolean isBarded = (npc.getId() == 20370);
if (chance < 3)
{
count++;
}
else if (chance < ((isBarded) ? 5 : 6))
{
count += 2;
}
else if (isBarded && (chance < 7))
{
count += 3;
}
giveItems(player, BAT_FANG, count);
if (getQuestItemsCount(player, BAT_FANG) < 100)
{
playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET);
}
else
{
st.setCond(2, true);
}
}
}