This commit is contained in:
mobius
2015-01-01 20:02:50 +00:00
parent eeae660458
commit a6a3718849
17894 changed files with 2818932 additions and 0 deletions

View File

@ -0,0 +1,6 @@
<html><body>Guard Rath:<br>
The population of lizardmen on the north side of Oren is mysteriously growing. This must be related to the increase in the power of evil since the release of Antharas. There have been wild rumors of ghastly ceremonies held in the forest at night! The lizardmen are most likely under the direct control of Shilen, and these rituals no doubt strengthen the power of Antharas.....<br>
In the midst of all this turmoil, the guild has asked me to make the roads safe for trade! No doubt they feel that their village is threatened.<br>
But this is Oren Territory, and there will be problems if we send regular troops in... The captain has ordered me to mobilize mercenaries to stabilize the area. Will you join us?<br>
<a action="bypass -h Quest Q00300_HuntingLetoLizardman 30126-03.htm">"I'll do it."</a>
</body></html>

View File

@ -0,0 +1,6 @@
<html><body>Guard Rath:<br>
The population of lizardmen north of Oren is mysteriously growing. This must be related to the increase in the power of evil since the release of Antharas. There have been wild rumors of ghastly ceremonies held in the forest at night! The lizardmen are most likely under the direct control of Shilen, and these rituals no doubt strengthen the power of Antharas.....<br>
In the midst of all this turmoil, the guild has asked me to make the roads safe for trade! No doubt they feel that their village is threatened.<br>
But this is Oren Territory, and there will be problems if we send regular troops in... The captain has ordered me to mobilize mercenaries to stabilize the area, but I'm afraid you're not up to the job.<br>
(This quest may only be undertaken by characters of level 34 or above.)
</body></html>

View File

@ -0,0 +1,5 @@
<html><body>Guard Rath:<br>
Destroy the lizardmen and take their bracelets as proof of your victory.<br>
Kill the <font color="LEVEL">Leto Lizardmen, Leto Lizardman Archers, Leto Lizardman Soldiers, Leto Lizardman Overlords', Leto Lizardman Warriors</font> and so on. Don't attack their shaman! It might cause them to stop the ritual before our investigation is complete. The ritual must not end until our investigation is complete!<br>
The guild had already sent me a reward for 60 bracelets. I'll give it to you as soon as you earn it.
</body></html>

View File

@ -0,0 +1,3 @@
<html><body>Guard Rath:<br>
Please try harder! You must get rid of those filthy lizardmen who threaten trade between Aden and Oren.
</body></html>

View File

@ -0,0 +1,4 @@
<html><body>Guard Rath:<br>
You're finished? Good work, but we're not done with those vile creatures yet! I'm sure the plains will be swarming with lizardmen again in a few short weeks. Now, let me count those bracelets.<br>
<a action="bypass -h Quest Q00300_HuntingLetoLizardman 30126-06.html">"They're all there!"</a>
</body></html>

View File

@ -0,0 +1,3 @@
<html><body>Guard Rath:<br>
Feel free to come back and help us anytime! The life of a mercenary may not pay well, but it has its rewards! Please accept this token of our appreciation.
</body></html>

View File

@ -0,0 +1,3 @@
<html><body>Guard Rath:<br>
I don't think so! You haven't brought enough! Bring 60 if you want a reward!
</body></html>

View File

@ -0,0 +1,184 @@
/*
* Copyright (C) 2004-2014 L2J DataPack
*
* This file is part of L2J DataPack.
*
* L2J DataPack is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* L2J DataPack is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package quests.Q00300_HuntingLetoLizardman;
import java.util.HashMap;
import java.util.Map;
import com.l2jserver.gameserver.enums.QuestSound;
import com.l2jserver.gameserver.model.actor.L2Npc;
import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
import com.l2jserver.gameserver.model.holders.ItemHolder;
import com.l2jserver.gameserver.model.itemcontainer.Inventory;
import com.l2jserver.gameserver.model.quest.Quest;
import com.l2jserver.gameserver.model.quest.QuestState;
import com.l2jserver.gameserver.model.quest.State;
/**
* Hunting Leto Lizardman (300)
* @author ivantotov
*/
public final class Q00300_HuntingLetoLizardman extends Quest
{
// NPCs
private static final int RATH = 30126;
// Items
private static final int BRACELET_OF_LIZARDMAN = 7139;
private static final ItemHolder REWARD_ADENA = new ItemHolder(Inventory.ADENA_ID, 30000);
private static final ItemHolder REWARD_ANIMAL_BONE = new ItemHolder(1872, 50);
private static final ItemHolder REWARD_ANIMAL_SKIN = new ItemHolder(1867, 50);
// Misc
private static final int MIN_LEVEL = 34;
private static final int REQUIRED_BRACELET_COUNT = 60;
// Monsters
private static final Map<Integer, Integer> MOBS_SAC = new HashMap<>();
static
{
MOBS_SAC.put(20577, 360); // Leto Lizardman
MOBS_SAC.put(20578, 390); // Leto Lizardman Archer
MOBS_SAC.put(20579, 410); // Leto Lizardman Soldier
MOBS_SAC.put(20580, 790); // Leto Lizardman Warrior
MOBS_SAC.put(20582, 890); // Leto Lizardman Overlord
}
public Q00300_HuntingLetoLizardman()
{
super(300, Q00300_HuntingLetoLizardman.class.getSimpleName(), "Hunting Leto Lizardman");
addStartNpc(RATH);
addTalkId(RATH);
addKillId(MOBS_SAC.keySet());
registerQuestItems(BRACELET_OF_LIZARDMAN);
}
@Override
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
{
final QuestState st = getQuestState(player, false);
if (st == null)
{
return null;
}
String htmltext = null;
switch (event)
{
case "30126-03.htm":
{
if (st.isCreated())
{
st.startQuest();
htmltext = event;
}
break;
}
case "30126-06.html":
{
if (st.getQuestItemsCount(BRACELET_OF_LIZARDMAN) >= REQUIRED_BRACELET_COUNT)
{
st.takeItems(BRACELET_OF_LIZARDMAN, -1);
int rand = getRandom(1000);
if (rand < 500)
{
giveItems(player, REWARD_ADENA);
}
else if (rand < 750)
{
giveItems(player, REWARD_ANIMAL_SKIN);
}
else if (rand < 1000)
{
giveItems(player, REWARD_ANIMAL_BONE);
}
st.exitQuest(true, true);
htmltext = event;
}
else
{
htmltext = "30126-07.html";
}
break;
}
}
return htmltext;
}
@Override
public String onKill(L2Npc npc, L2PcInstance player, boolean isSummon)
{
final L2PcInstance partyMember = getRandomPartyMember(player, 1);
if (partyMember != null)
{
final QuestState st = getQuestState(partyMember, false);
if (st.isCond(1) && (getRandom(1000) < MOBS_SAC.get(npc.getId())))
{
st.giveItems(BRACELET_OF_LIZARDMAN, 1);
if (st.getQuestItemsCount(BRACELET_OF_LIZARDMAN) == REQUIRED_BRACELET_COUNT)
{
st.setCond(2, true);
}
else
{
st.playSound(QuestSound.ITEMSOUND_QUEST_ITEMGET);
}
}
}
return super.onKill(npc, player, isSummon);
}
@Override
public String onTalk(L2Npc npc, L2PcInstance player)
{
String htmltext = getNoQuestMsg(player);
final QuestState st = getQuestState(player, true);
if (st == null)
{
return htmltext;
}
switch (st.getState())
{
case State.CREATED:
{
htmltext = (player.getLevel() >= MIN_LEVEL) ? "30126-01.htm" : "30126-02.htm";
break;
}
case State.STARTED:
{
switch (st.getCond())
{
case 1:
{
htmltext = "30126-04.html";
break;
}
case 2:
{
if (st.getQuestItemsCount(BRACELET_OF_LIZARDMAN) >= REQUIRED_BRACELET_COUNT)
{
htmltext = "30126-05.html";
}
break;
}
}
break;
}
}
return htmltext;
}
}