This commit is contained in:
5
trunk/dist/game/data/scripts/quests/Q00619_RelicsOfTheOldEmpire/31538-01.htm
vendored
Normal file
5
trunk/dist/game/data/scripts/quests/Q00619_RelicsOfTheOldEmpire/31538-01.htm
vendored
Normal file
@@ -0,0 +1,5 @@
|
||||
<html><body>Ghost of Adventurer:<br>
|
||||
I came here in search of treasure to reverse my losses... And was killed before I even laid eyes on any! It's so unfair! I must get some treasure! Of course, they say that all the good treasure has already been stolen by graverobbers!<br>
|
||||
Hmmm... I remember overhearing some gossip that a group of aristocrats were slaugtered at this sepulcher by evil creatures. I don't mean any disrespect, but if you hunt the evil creatures, you might recover some accessories or jewelry carried by the aristocrats! If you find any would you bring them to me?<br>
|
||||
<a action="bypass -h Quest Q00619_RelicsOfTheOldEmpire 31538-02.htm">"I'll do it."</a>
|
||||
</body></html>
|
||||
4
trunk/dist/game/data/scripts/quests/Q00619_RelicsOfTheOldEmpire/31538-02.htm
vendored
Normal file
4
trunk/dist/game/data/scripts/quests/Q00619_RelicsOfTheOldEmpire/31538-02.htm
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
<html><body>Ghost of Adventurer:<br>
|
||||
Please, do this for me! Hunt the <font color="LEVEL">monsters in the Imperial Tomb</font>. Bring me <font color="LEVEL">1000</font> relics and I'll give you some scraps of paper I've collected. Many people really like my scraps of paper. I'm not sure, but I think they're some sort of weapon recipes...<br>
|
||||
While you're doing this, you may find a <font color="LEVEL">sepulcher pass</font> that was carried by one of the aristocrats. Ask the nameless ghost near the Four Sepulchers, he will tell you what it's for.
|
||||
</body></html>
|
||||
5
trunk/dist/game/data/scripts/quests/Q00619_RelicsOfTheOldEmpire/31538-03.html
vendored
Normal file
5
trunk/dist/game/data/scripts/quests/Q00619_RelicsOfTheOldEmpire/31538-03.html
vendored
Normal file
@@ -0,0 +1,5 @@
|
||||
<html><body>Ghost of Adventurer:<br>
|
||||
I came here in search of treasure to reverse my losses... And was killed before I even laid eyes on any! It's so unfair! I must get some treasure! Of course, they say that all the good treasure has already been stolen by graverobbers!<br>
|
||||
Hmmm... I remember overhearing some gossip that a group of aristocrats were slaugtered at this sepulcher by evil creatures. Perhaps the treasure from those slain aristocrats might still be there... But this is far too dangerous of a mission for you to take on...<br>
|
||||
(This quest may only be undertaken by a character of level 74 or above.)
|
||||
</body></html>
|
||||
6
trunk/dist/game/data/scripts/quests/Q00619_RelicsOfTheOldEmpire/31538-04.html
vendored
Normal file
6
trunk/dist/game/data/scripts/quests/Q00619_RelicsOfTheOldEmpire/31538-04.html
vendored
Normal file
@@ -0,0 +1,6 @@
|
||||
<html><body>Ghost of Adventurer:<br>
|
||||
Great! You brought 1000 relics! Do you want to trade them for a piece of paper?<br>
|
||||
Did you find a <font color="LEVEL">sepulcher pass</font>? Ask the <font color="LEVEL">nameless ghost near the Four Sepulchers</font>, he'll tell you what it's for.<br>
|
||||
<a action="bypass -h Quest Q00619_RelicsOfTheOldEmpire 31538-05.html">"I don't want to trade now."</a><br>
|
||||
<a action="bypass -h Quest Q00619_RelicsOfTheOldEmpire 31538-06.html">"I want to trade the relics for a piece of paper."</a>
|
||||
</body></html>
|
||||
3
trunk/dist/game/data/scripts/quests/Q00619_RelicsOfTheOldEmpire/31538-05.html
vendored
Normal file
3
trunk/dist/game/data/scripts/quests/Q00619_RelicsOfTheOldEmpire/31538-05.html
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
<html><body>Ghost of Adventurer:<br>
|
||||
Thank you for continuing to search for relics. Hunt the <font color="LEVEL">monsters in the Imperial Tomb</font>, you should be able to find more.
|
||||
</body></html>
|
||||
3
trunk/dist/game/data/scripts/quests/Q00619_RelicsOfTheOldEmpire/31538-06.html
vendored
Normal file
3
trunk/dist/game/data/scripts/quests/Q00619_RelicsOfTheOldEmpire/31538-06.html
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
<html><body>Ghost of Adventurer:<br>
|
||||
Here you go! Oh, you like it? I prefer the relics! Bring some more and I'll give you more scraps of paper.
|
||||
</body></html>
|
||||
6
trunk/dist/game/data/scripts/quests/Q00619_RelicsOfTheOldEmpire/31538-07.html
vendored
Normal file
6
trunk/dist/game/data/scripts/quests/Q00619_RelicsOfTheOldEmpire/31538-07.html
vendored
Normal file
@@ -0,0 +1,6 @@
|
||||
<html><body>Ghost of Adventurer:<br>
|
||||
You don't have 1000 relics yet? Hunt the <font color="LEVEL">monsters in the Imperial Tomb</font>, you should be able to obtain them. Keep trying! Collect <font color="LEVEL">1000 </font> relics and bring them to me, I'll give you a very nice piece of paper, supposedly a recipe for some sort of weapon.<br>
|
||||
Ah, I see that you have the <font color="LEVEL">sepulcher pass</font>! Ask the <font color="LEVEL">nameless ghost near the Four Sepulchers</font>, he'll tell you what it's for.<br>
|
||||
<a action="bypass -h Quest Q00619_RelicsOfTheOldEmpire 31538-05.html">"I'll continue collecting relics."</a><br>
|
||||
<a action="bypass -h Quest Q00619_RelicsOfTheOldEmpire 31538-08.html">"I want to stop collecting relics."</a>
|
||||
</body></html>
|
||||
3
trunk/dist/game/data/scripts/quests/Q00619_RelicsOfTheOldEmpire/31538-08.html
vendored
Normal file
3
trunk/dist/game/data/scripts/quests/Q00619_RelicsOfTheOldEmpire/31538-08.html
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
<html><body>Ghost of Adventurer:<br>
|
||||
A quitter, eh? Goodbye.
|
||||
</body></html>
|
||||
326
trunk/dist/game/data/scripts/quests/Q00619_RelicsOfTheOldEmpire/Q00619_RelicsOfTheOldEmpire.java
vendored
Normal file
326
trunk/dist/game/data/scripts/quests/Q00619_RelicsOfTheOldEmpire/Q00619_RelicsOfTheOldEmpire.java
vendored
Normal file
@@ -0,0 +1,326 @@
|
||||
/*
|
||||
* 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.Q00619_RelicsOfTheOldEmpire;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
import com.l2jserver.gameserver.model.actor.L2Npc;
|
||||
import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
|
||||
import com.l2jserver.gameserver.model.quest.Quest;
|
||||
import com.l2jserver.gameserver.model.quest.QuestState;
|
||||
import com.l2jserver.gameserver.util.Util;
|
||||
|
||||
/**
|
||||
* Relics of the Old Empire (619)
|
||||
* @author Adry_85, jurchiks
|
||||
*/
|
||||
public final class Q00619_RelicsOfTheOldEmpire extends Quest
|
||||
{
|
||||
private static final class DropInfo
|
||||
{
|
||||
public final double _dropChance;
|
||||
public final int _doubleItemChance;
|
||||
public final boolean _dropEntrancePass;
|
||||
|
||||
public DropInfo(double dropChance, int doubleItemChance, boolean dropEntrancePass)
|
||||
{
|
||||
_dropChance = dropChance;
|
||||
_doubleItemChance = doubleItemChance;
|
||||
_dropEntrancePass = dropEntrancePass;
|
||||
}
|
||||
|
||||
public double getDropChance()
|
||||
{
|
||||
return _dropChance;
|
||||
}
|
||||
|
||||
public int getDoubleItemChance()
|
||||
{
|
||||
return _doubleItemChance;
|
||||
}
|
||||
|
||||
public boolean getDropEntrancePass()
|
||||
{
|
||||
return _dropEntrancePass;
|
||||
}
|
||||
}
|
||||
|
||||
// NPC
|
||||
private static final int GHOST_OF_ADVENTURER = 31538;
|
||||
// Items
|
||||
private static final int ENTRANCE_PASS_TO_THE_SEPULCHER = 7075;
|
||||
private static final int BROKEN_RELIC_PART = 7254;
|
||||
// Misc
|
||||
private static final int MIN_LEVEL = 75;
|
||||
private static final int REQUIRED_RELIC_COUNT = 1000;
|
||||
// Reward
|
||||
private static final int[] RECIPES =
|
||||
{
|
||||
6881, // Recipe: Forgotten Blade (60%)
|
||||
6883, // Recipe: Basalt Battlehammer (60%)
|
||||
6885, // Recipe: Imperial Staff (60%)
|
||||
6887, // Recipe: Angel Slayer (60%)
|
||||
6891, // Recipe: Dragon Hunter Axe (60%)
|
||||
6893, // Recipe: Saint Spear (60%)
|
||||
6895, // Recipe: Demon Splinter (60%)
|
||||
6897, // Recipe: Heavens Divider (60%)
|
||||
6899, // Recipe: Arcana Mace (60%)
|
||||
7580, // Recipe: Draconic Bow (60%)
|
||||
};
|
||||
// Mobs
|
||||
private static final Map<Integer, DropInfo> MOBS = new HashMap<>();
|
||||
static
|
||||
{
|
||||
MOBS.put(21396, new DropInfo(0.51, 0, true)); // carrion_scarab
|
||||
MOBS.put(21397, new DropInfo(0.50, 0, true)); // carrion_scarab_a
|
||||
MOBS.put(21398, new DropInfo(0.95, 0, true)); // soldier_scarab
|
||||
MOBS.put(21399, new DropInfo(0.84, 0, true)); // soldier_scarab_a
|
||||
MOBS.put(21400, new DropInfo(0.76, 0, true)); // hexa_beetle
|
||||
MOBS.put(21401, new DropInfo(0.67, 0, true)); // hexa_beetle_a
|
||||
MOBS.put(21402, new DropInfo(0.69, 0, true)); // katraxith
|
||||
MOBS.put(21403, new DropInfo(0.80, 0, true)); // katraxith_a
|
||||
MOBS.put(21404, new DropInfo(0.90, 0, true)); // tera_beetle
|
||||
MOBS.put(21405, new DropInfo(0.64, 0, true)); // tera_beetle_a
|
||||
MOBS.put(21406, new DropInfo(0.87, 0, true)); // imperial_knight
|
||||
MOBS.put(21407, new DropInfo(0.56, 0, true)); // imperial_knight_a
|
||||
MOBS.put(21408, new DropInfo(0.82, 0, true)); // imperial_guard
|
||||
MOBS.put(21409, new DropInfo(0.92, 0, true)); // imperial_guard_a
|
||||
MOBS.put(21410, new DropInfo(0.81, 0, true)); // guardian_scarab
|
||||
MOBS.put(21411, new DropInfo(0.66, 0, true)); // guardian_scarab_a
|
||||
MOBS.put(21412, new DropInfo(1.00, 6, true)); // ustralith
|
||||
MOBS.put(21413, new DropInfo(0.81, 0, true)); // ustralith_a
|
||||
MOBS.put(21414, new DropInfo(0.79, 0, true)); // imperial_assassin
|
||||
MOBS.put(21415, new DropInfo(0.80, 0, true)); // imperial_assassin_a
|
||||
MOBS.put(21416, new DropInfo(0.82, 0, true)); // imperial_warlord
|
||||
MOBS.put(21417, new DropInfo(1.00, 27, true)); // imperial_warlord_a
|
||||
MOBS.put(21418, new DropInfo(0.66, 0, true)); // imperial_highguard
|
||||
MOBS.put(21419, new DropInfo(0.67, 0, true)); // imperial_highguard_a
|
||||
MOBS.put(21420, new DropInfo(0.82, 0, true)); // ashuras
|
||||
MOBS.put(21421, new DropInfo(0.77, 0, true)); // ashuras_a
|
||||
MOBS.put(21422, new DropInfo(0.88, 0, true)); // imperial_dancer
|
||||
MOBS.put(21423, new DropInfo(0.94, 0, true)); // imperial_dancer_a
|
||||
MOBS.put(21424, new DropInfo(1.00, 19, true)); // ashikenas
|
||||
MOBS.put(21425, new DropInfo(1.00, 21, true)); // ashikenas_a
|
||||
MOBS.put(21426, new DropInfo(1.00, 8, true)); // abraxian
|
||||
MOBS.put(21427, new DropInfo(0.74, 0, true)); // abraxian_a
|
||||
MOBS.put(21428, new DropInfo(0.76, 0, true)); // hasturan
|
||||
MOBS.put(21429, new DropInfo(0.80, 0, true)); // hasturan_a
|
||||
MOBS.put(21430, new DropInfo(1.00, 10, true)); // ahrimanes
|
||||
MOBS.put(21431, new DropInfo(0.94, 0, true)); // ahrimanes_a
|
||||
MOBS.put(21432, new DropInfo(1.00, 34, true)); // chakram_beetle
|
||||
MOBS.put(21433, new DropInfo(1.00, 34, true)); // jamadhr_beetle
|
||||
MOBS.put(21434, new DropInfo(1.00, 90, true)); // priest_of_blood
|
||||
MOBS.put(21435, new DropInfo(1.00, 60, true)); // sacrifice_guide
|
||||
MOBS.put(21436, new DropInfo(1.00, 66, true)); // sacrifice_bearer
|
||||
MOBS.put(21437, new DropInfo(0.69, 0, true)); // sacrifice_scarab
|
||||
MOBS.put(21798, new DropInfo(0.33, 0, true)); // guard_skeleton_2d
|
||||
MOBS.put(21799, new DropInfo(0.61, 0, true)); // guard_skeleton_3d
|
||||
MOBS.put(21800, new DropInfo(0.31, 0, true)); // guard_undead
|
||||
MOBS.put(18120, new DropInfo(1.00, 28, false)); // r11_roomboss_strong
|
||||
MOBS.put(18121, new DropInfo(1.00, 21, false)); // r11_roomboss_weak
|
||||
MOBS.put(18122, new DropInfo(0.93, 0, false)); // r11_roomboss_teleport
|
||||
MOBS.put(18123, new DropInfo(1.00, 28, false)); // r12_roomboss_strong
|
||||
MOBS.put(18124, new DropInfo(1.00, 21, false)); // r12_roomboss_weak
|
||||
MOBS.put(18125, new DropInfo(0.93, 0, false)); // r12_roomboss_teleport
|
||||
MOBS.put(18126, new DropInfo(1.00, 28, false)); // r13_roomboss_strong
|
||||
MOBS.put(18127, new DropInfo(1.00, 21, false)); // r13_roomboss_weak
|
||||
MOBS.put(18128, new DropInfo(0.93, 0, false)); // r13_roomboss_teleport
|
||||
MOBS.put(18129, new DropInfo(1.00, 28, false)); // r14_roomboss_strong
|
||||
MOBS.put(18130, new DropInfo(1.00, 21, false)); // r14_roomboss_weak
|
||||
MOBS.put(18131, new DropInfo(0.93, 0, false)); // r14_roomboss_teleport
|
||||
MOBS.put(18132, new DropInfo(1.00, 30, false)); // r1_beatle_healer
|
||||
MOBS.put(18133, new DropInfo(1.00, 20, false)); // r1_scorpion_warrior
|
||||
MOBS.put(18134, new DropInfo(0.90, 0, false)); // r1_warrior_longatk1_h
|
||||
MOBS.put(18135, new DropInfo(1.00, 20, false)); // r1_warrior_longatk2
|
||||
MOBS.put(18136, new DropInfo(1.00, 20, false)); // r1_warrior_selfbuff
|
||||
MOBS.put(18137, new DropInfo(0.89, 0, false)); // r1_wizard_h
|
||||
MOBS.put(18138, new DropInfo(1.00, 19, false)); // r1_wizard_clanbuff
|
||||
MOBS.put(18139, new DropInfo(1.00, 17, false)); // r1_wizard_debuff
|
||||
MOBS.put(18140, new DropInfo(1.00, 19, false)); // r1_wizard_selfbuff
|
||||
MOBS.put(18141, new DropInfo(0.76, 0, false)); // r21_scarab_roombosss
|
||||
MOBS.put(18142, new DropInfo(0.76, 0, false)); // r22_scarab_roombosss
|
||||
MOBS.put(18143, new DropInfo(0.76, 0, false)); // r23_scarab_roombosss
|
||||
MOBS.put(18144, new DropInfo(0.76, 0, false)); // r24_scarab_roombosss
|
||||
MOBS.put(18145, new DropInfo(0.65, 0, false)); // r2_wizard_clanbuff
|
||||
MOBS.put(18146, new DropInfo(0.66, 0, false)); // r2_warrior_longatk2
|
||||
MOBS.put(18147, new DropInfo(0.62, 0, false)); // r2_wizard
|
||||
MOBS.put(18148, new DropInfo(0.72, 0, false)); // r2_warrior
|
||||
MOBS.put(18149, new DropInfo(0.63, 0, false)); // r2_bomb
|
||||
MOBS.put(18166, new DropInfo(0.92, 0, false)); // r3_warrior
|
||||
MOBS.put(18167, new DropInfo(0.92, 0, false)); // r3_warrior_longatk1_h
|
||||
MOBS.put(18168, new DropInfo(0.93, 0, false)); // r3_warrior_longatk2
|
||||
MOBS.put(18169, new DropInfo(0.90, 0, false)); // r3_warrior_selfbuff
|
||||
MOBS.put(18170, new DropInfo(0.90, 0, false)); // r3_wizard_h
|
||||
MOBS.put(18171, new DropInfo(0.94, 0, false)); // r3_wizard_clanbuff
|
||||
MOBS.put(18172, new DropInfo(0.89, 0, false)); // r3_wizard_selfbuff
|
||||
MOBS.put(18173, new DropInfo(0.99, 0, false)); // r41_roomboss_strong
|
||||
MOBS.put(18174, new DropInfo(1.00, 22, false)); // r41_roomboss_weak
|
||||
MOBS.put(18175, new DropInfo(0.93, 0, false)); // r41_roomboss_teleport
|
||||
MOBS.put(18176, new DropInfo(0.99, 0, false)); // r42_roomboss_strong
|
||||
MOBS.put(18177, new DropInfo(1.00, 22, false)); // r42_roomboss_weak
|
||||
MOBS.put(18178, new DropInfo(0.93, 0, false)); // r42_roomboss_teleport
|
||||
MOBS.put(18179, new DropInfo(0.99, 0, false)); // r43_roomboss_strong
|
||||
MOBS.put(18180, new DropInfo(1.00, 22, false)); // r43_roomboss_weak
|
||||
MOBS.put(18181, new DropInfo(0.93, 0, false)); // r43_roomboss_teleport
|
||||
MOBS.put(18183, new DropInfo(1.00, 22, false)); // r44_roomboss_weak
|
||||
MOBS.put(18183, new DropInfo(0.99, 0, false)); // r44_roomboss_strong
|
||||
MOBS.put(18184, new DropInfo(0.93, 0, false)); // r44_roomboss_teleport
|
||||
MOBS.put(18185, new DropInfo(1.00, 23, false)); // r4_healer_srddmagic
|
||||
MOBS.put(18186, new DropInfo(1.00, 24, false)); // r4_hearler_srdebuff
|
||||
MOBS.put(18187, new DropInfo(1.00, 20, false)); // r4_warrior
|
||||
MOBS.put(18188, new DropInfo(0.90, 0, false)); // r4_warrior_longatk1_h
|
||||
MOBS.put(18189, new DropInfo(1.00, 20, false)); // r4_warrior_longatk2
|
||||
MOBS.put(18190, new DropInfo(1.00, 20, false)); // r4_warrior_selfbuff
|
||||
MOBS.put(18191, new DropInfo(0.89, 0, false)); // r4_wizard_h
|
||||
MOBS.put(18192, new DropInfo(1.00, 19, false)); // r4_wizard_clanbuff
|
||||
MOBS.put(18193, new DropInfo(1.00, 17, false)); // r4_wizard_debuff
|
||||
MOBS.put(18194, new DropInfo(1.00, 19, false)); // r4_wizard_selfbuff
|
||||
MOBS.put(18195, new DropInfo(0.91, 0, false)); // r4_bomb
|
||||
MOBS.put(18220, new DropInfo(1.00, 24, false)); // r5_healer1
|
||||
MOBS.put(18221, new DropInfo(1.00, 27, false)); // r5_healer2
|
||||
MOBS.put(18222, new DropInfo(1.00, 21, false)); // r5_warrior
|
||||
MOBS.put(18223, new DropInfo(0.90, 0, false)); // r5_warrior_longatk1_h
|
||||
MOBS.put(18224, new DropInfo(1.00, 22, false)); // r5_warrior_longatk2
|
||||
MOBS.put(18225, new DropInfo(1.00, 21, false)); // r5_warrior_sbuff
|
||||
MOBS.put(18226, new DropInfo(0.89, 0, false)); // r5_wizard_h
|
||||
MOBS.put(18227, new DropInfo(1.00, 53, false)); // r5_wizard_clanbuff
|
||||
MOBS.put(18228, new DropInfo(1.00, 15, false)); // r5_wizard_debuff
|
||||
MOBS.put(18229, new DropInfo(1.00, 19, false)); // r5_wizard_slefbuff
|
||||
MOBS.put(18230, new DropInfo(0.49, 0, false)); // r5_bomb
|
||||
}
|
||||
|
||||
// @formatter:off
|
||||
private static final int[] ARCHON_OF_HALISHA =
|
||||
{
|
||||
18212, 18213, 18214, 18215, 18216, 18217, 18218, 18219
|
||||
};
|
||||
// @formatter:on
|
||||
|
||||
public Q00619_RelicsOfTheOldEmpire()
|
||||
{
|
||||
super(619, Q00619_RelicsOfTheOldEmpire.class.getSimpleName(), "Relics of the Old Empire");
|
||||
addStartNpc(GHOST_OF_ADVENTURER);
|
||||
addTalkId(GHOST_OF_ADVENTURER);
|
||||
addKillId(MOBS.keySet());
|
||||
addKillId(ARCHON_OF_HALISHA);
|
||||
registerQuestItems(BROKEN_RELIC_PART);
|
||||
}
|
||||
|
||||
@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 "31538-02.htm":
|
||||
{
|
||||
st.startQuest();
|
||||
htmltext = event;
|
||||
break;
|
||||
}
|
||||
case "31538-05.html":
|
||||
{
|
||||
htmltext = event;
|
||||
break;
|
||||
}
|
||||
case "31538-06.html":
|
||||
{
|
||||
if (st.getQuestItemsCount(BROKEN_RELIC_PART) >= REQUIRED_RELIC_COUNT)
|
||||
{
|
||||
st.rewardItems(RECIPES[getRandom(RECIPES.length)], 1);
|
||||
st.takeItems(BROKEN_RELIC_PART, REQUIRED_RELIC_COUNT);
|
||||
htmltext = event;
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "31538-08.html":
|
||||
{
|
||||
st.exitQuest(true, true);
|
||||
htmltext = event;
|
||||
break;
|
||||
}
|
||||
}
|
||||
return htmltext;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onKill(L2Npc npc, L2PcInstance player, boolean isSummon)
|
||||
{
|
||||
final QuestState st = getRandomPartyMemberState(player, -1, 3, npc);
|
||||
if (st != null)
|
||||
{
|
||||
int npcId = npc.getId();
|
||||
if (Util.contains(ARCHON_OF_HALISHA, npcId))
|
||||
{
|
||||
final int itemCount = ((getRandom(100) < 79) ? 4 : 3);
|
||||
st.giveItemRandomly(npc, BROKEN_RELIC_PART, itemCount, 0, 1.0, true);
|
||||
}
|
||||
else
|
||||
{
|
||||
final DropInfo info = MOBS.get(npcId);
|
||||
final int itemCount;
|
||||
|
||||
if (info.getDoubleItemChance() > 0)
|
||||
{
|
||||
itemCount = ((getRandom(100) < info.getDoubleItemChance()) ? 2 : 1);
|
||||
}
|
||||
else
|
||||
{
|
||||
itemCount = 1;
|
||||
}
|
||||
|
||||
st.giveItemRandomly(npc, BROKEN_RELIC_PART, itemCount, 0, info.getDropChance(), true);
|
||||
|
||||
if (info.getDropEntrancePass())
|
||||
{
|
||||
st.giveItemRandomly(npc, ENTRANCE_PASS_TO_THE_SEPULCHER, 1, 0, 1.0 / 30, false);
|
||||
}
|
||||
}
|
||||
}
|
||||
return super.onKill(npc, player, isSummon);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onTalk(L2Npc npc, L2PcInstance player)
|
||||
{
|
||||
final QuestState st = getQuestState(player, true);
|
||||
String htmltext = getNoQuestMsg(player);
|
||||
if (st == null)
|
||||
{
|
||||
return htmltext;
|
||||
}
|
||||
|
||||
if (st.isCreated())
|
||||
{
|
||||
htmltext = ((player.getLevel() >= MIN_LEVEL) ? "31538-01.htm" : "31538-03.html");
|
||||
}
|
||||
else if (st.isStarted())
|
||||
{
|
||||
htmltext = ((getQuestItemsCount(player, BROKEN_RELIC_PART) >= REQUIRED_RELIC_COUNT) ? "31538-04.html" : "31538-07.html");
|
||||
}
|
||||
return htmltext;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user