Code improvements.
This commit is contained in:
@@ -117,20 +117,16 @@ public class Q00035_FindGlitteringJewelry extends Quest
|
||||
public String onKill(L2Npc npc, L2PcInstance player, boolean isSummon)
|
||||
{
|
||||
final L2PcInstance member = getRandomPartyMember(player, 2);
|
||||
if (member != null)
|
||||
if ((member != null) && getRandomBoolean())
|
||||
{
|
||||
final QuestState qs = getQuestState(member, false);
|
||||
if (getRandomBoolean())
|
||||
giveItems(player, ROUGH_JEWEL, 1);
|
||||
if (getQuestItemsCount(player, ROUGH_JEWEL) >= JEWEL_COUNT)
|
||||
{
|
||||
giveItems(player, ROUGH_JEWEL, 1);
|
||||
if (getQuestItemsCount(player, ROUGH_JEWEL) >= JEWEL_COUNT)
|
||||
{
|
||||
qs.setCond(3, true);
|
||||
}
|
||||
else
|
||||
{
|
||||
playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET);
|
||||
}
|
||||
getQuestState(member, false).setCond(3, true);
|
||||
}
|
||||
else
|
||||
{
|
||||
playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET);
|
||||
}
|
||||
}
|
||||
return super.onKill(npc, player, isSummon);
|
||||
|
||||
@@ -107,20 +107,16 @@ public class Q00036_MakeASewingKit extends Quest
|
||||
public String onKill(L2Npc npc, L2PcInstance player, boolean isSummon)
|
||||
{
|
||||
final L2PcInstance member = getRandomPartyMember(player, 1);
|
||||
if (member != null)
|
||||
if ((member != null) && getRandomBoolean())
|
||||
{
|
||||
final QuestState qs = getQuestState(member, false);
|
||||
if (getRandomBoolean())
|
||||
giveItems(player, ENCHANTED_IRON, 1);
|
||||
if (getQuestItemsCount(player, ENCHANTED_IRON) >= IRON_COUNT)
|
||||
{
|
||||
giveItems(player, ENCHANTED_IRON, 1);
|
||||
if (getQuestItemsCount(player, ENCHANTED_IRON) >= IRON_COUNT)
|
||||
{
|
||||
qs.setCond(2, true);
|
||||
}
|
||||
else
|
||||
{
|
||||
playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET);
|
||||
}
|
||||
getQuestState(member, false).setCond(2, true);
|
||||
}
|
||||
else
|
||||
{
|
||||
playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET);
|
||||
}
|
||||
}
|
||||
return super.onKill(npc, player, isSummon);
|
||||
|
||||
@@ -194,12 +194,9 @@ public final class Q00039_RedEyedInvaders extends Quest
|
||||
case MALE_LIZARDMAN:
|
||||
{
|
||||
final QuestState qs = getRandomPartyMemberState(killer, 2, 3, npc);
|
||||
if ((qs != null) && giveItemRandomly(qs.getPlayer(), npc, LIZ_NECKLACE_A.getId(), 1, LIZ_NECKLACE_A.getCount(), 0.5, true))
|
||||
if ((qs != null) && giveItemRandomly(qs.getPlayer(), npc, LIZ_NECKLACE_A.getId(), 1, LIZ_NECKLACE_A.getCount(), 0.5, true) && hasItem(qs.getPlayer(), LIZ_NECKLACE_B))
|
||||
{
|
||||
if (hasItem(qs.getPlayer(), LIZ_NECKLACE_B))
|
||||
{
|
||||
qs.setCond(3);
|
||||
}
|
||||
qs.setCond(3);
|
||||
}
|
||||
break;
|
||||
}
|
||||
@@ -208,23 +205,17 @@ public final class Q00039_RedEyedInvaders extends Quest
|
||||
if (getRandomBoolean())
|
||||
{
|
||||
final QuestState qs = getRandomPartyMemberState(killer, 2, 3, npc);
|
||||
if ((qs != null) && giveItemRandomly(qs.getPlayer(), npc, LIZ_NECKLACE_A.getId(), 1, LIZ_NECKLACE_A.getCount(), 0.5, true))
|
||||
if ((qs != null) && giveItemRandomly(qs.getPlayer(), npc, LIZ_NECKLACE_A.getId(), 1, LIZ_NECKLACE_A.getCount(), 0.5, true) && hasItem(qs.getPlayer(), LIZ_NECKLACE_B))
|
||||
{
|
||||
if (hasItem(qs.getPlayer(), LIZ_NECKLACE_B))
|
||||
{
|
||||
qs.setCond(3);
|
||||
}
|
||||
qs.setCond(3);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
final QuestState qs = getRandomPartyMemberState(killer, 4, 3, npc);
|
||||
if ((qs != null) && giveItemRandomly(qs.getPlayer(), npc, LIZ_PERFUME.getId(), 1, LIZ_PERFUME.getCount(), 0.25, true))
|
||||
if ((qs != null) && giveItemRandomly(qs.getPlayer(), npc, LIZ_PERFUME.getId(), 1, LIZ_PERFUME.getCount(), 0.25, true) && hasItem(qs.getPlayer(), LIZ_GEM))
|
||||
{
|
||||
if (hasItem(qs.getPlayer(), LIZ_GEM))
|
||||
{
|
||||
qs.setCond(5);
|
||||
}
|
||||
qs.setCond(5);
|
||||
}
|
||||
}
|
||||
break;
|
||||
@@ -234,23 +225,17 @@ public final class Q00039_RedEyedInvaders extends Quest
|
||||
if (getRandomBoolean())
|
||||
{
|
||||
final QuestState qs = getRandomPartyMemberState(killer, 2, 3, npc);
|
||||
if ((qs != null) && giveItemRandomly(qs.getPlayer(), npc, LIZ_NECKLACE_B.getId(), 1, LIZ_NECKLACE_B.getCount(), 0.5, true))
|
||||
if ((qs != null) && giveItemRandomly(qs.getPlayer(), npc, LIZ_NECKLACE_B.getId(), 1, LIZ_NECKLACE_B.getCount(), 0.5, true) && hasItem(qs.getPlayer(), LIZ_NECKLACE_A))
|
||||
{
|
||||
if (hasItem(qs.getPlayer(), LIZ_NECKLACE_A))
|
||||
{
|
||||
qs.setCond(3);
|
||||
}
|
||||
qs.setCond(3);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
final QuestState qs = getRandomPartyMemberState(killer, 4, 3, npc);
|
||||
if ((qs != null) && giveItemRandomly(qs.getPlayer(), npc, LIZ_PERFUME.getId(), 1, LIZ_PERFUME.getCount(), 0.3, true))
|
||||
if ((qs != null) && giveItemRandomly(qs.getPlayer(), npc, LIZ_PERFUME.getId(), 1, LIZ_PERFUME.getCount(), 0.3, true) && hasItem(qs.getPlayer(), LIZ_GEM))
|
||||
{
|
||||
if (hasItem(qs.getPlayer(), LIZ_GEM))
|
||||
{
|
||||
qs.setCond(5);
|
||||
}
|
||||
qs.setCond(5);
|
||||
}
|
||||
}
|
||||
break;
|
||||
@@ -258,12 +243,9 @@ public final class Q00039_RedEyedInvaders extends Quest
|
||||
case GIANT_ARANE:
|
||||
{
|
||||
final QuestState qs = getRandomPartyMemberState(killer, 4, 3, npc);
|
||||
if ((qs != null) && giveItemRandomly(qs.getPlayer(), npc, LIZ_GEM.getId(), 1, LIZ_GEM.getCount(), 0.3, true))
|
||||
if ((qs != null) && giveItemRandomly(qs.getPlayer(), npc, LIZ_GEM.getId(), 1, LIZ_GEM.getCount(), 0.3, true) && hasItem(qs.getPlayer(), LIZ_PERFUME))
|
||||
{
|
||||
if (hasItem(qs.getPlayer(), LIZ_PERFUME))
|
||||
{
|
||||
qs.setCond(5);
|
||||
}
|
||||
qs.setCond(5);
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -168,8 +168,7 @@ public final class Q00061_LawEnforcement extends Quest
|
||||
{
|
||||
if (player.getClassId() == ClassId.INSPECTOR)
|
||||
{
|
||||
final String html = getHtm(player.getHtmlPrefix(), "32222-01.htm");
|
||||
return html.replace("%name%", player.getName());
|
||||
return getHtm(player.getHtmlPrefix(), "32222-01.htm").replace("%name%", player.getName());
|
||||
}
|
||||
htmltext = "32222-04.htm";
|
||||
}
|
||||
@@ -221,10 +220,9 @@ public final class Q00061_LawEnforcement extends Quest
|
||||
{
|
||||
if (qs.isMemoState(4))
|
||||
{
|
||||
final String html = getHtm(player.getHtmlPrefix(), "32469-01.html");
|
||||
return html.replace("%name%", player.getName());
|
||||
return getHtm(player.getHtmlPrefix(), "32469-01.html").replace("%name%", player.getName());
|
||||
}
|
||||
else if (qs.isMemoState(5))
|
||||
if (qs.isMemoState(5))
|
||||
{
|
||||
htmltext = "32469-02.html";
|
||||
}
|
||||
|
||||
@@ -223,22 +223,13 @@ public final class Q00111_ElrokianHuntersProof extends Quest
|
||||
final ItemChanceHolder item = MOBS_DROP_CHANCES.get(npc.getId());
|
||||
if (item.getCount() == qs.getMemoState())
|
||||
{
|
||||
if (qs.isCond(4))
|
||||
if (qs.isCond(4) && (giveItemRandomly(qs.getPlayer(), npc, item.getId(), 1, 50, item.getChance(), true)))
|
||||
{
|
||||
if (giveItemRandomly(qs.getPlayer(), npc, item.getId(), 1, 50, item.getChance(), true))
|
||||
{
|
||||
qs.setCond(5);
|
||||
}
|
||||
qs.setCond(5);
|
||||
}
|
||||
else if (qs.isCond(10))
|
||||
else if (qs.isCond(10) && giveItemRandomly(qs.getPlayer(), npc, item.getId(), 1, 10, item.getChance(), true) && (getQuestItemsCount(qs.getPlayer(), ORNITHOMINUS_CLAW) >= 10) && (getQuestItemsCount(qs.getPlayer(), DEINONYCHUS_BONE) >= 10) && (getQuestItemsCount(qs.getPlayer(), PACHYCEPHALOSAURUS_SKIN) >= 10))
|
||||
{
|
||||
if (giveItemRandomly(qs.getPlayer(), npc, item.getId(), 1, 10, item.getChance(), true) //
|
||||
&& (getQuestItemsCount(qs.getPlayer(), ORNITHOMINUS_CLAW) >= 10) //
|
||||
&& (getQuestItemsCount(qs.getPlayer(), DEINONYCHUS_BONE) >= 10) //
|
||||
&& (getQuestItemsCount(qs.getPlayer(), PACHYCEPHALOSAURUS_SKIN) >= 10))
|
||||
{
|
||||
qs.setCond(11);
|
||||
}
|
||||
qs.setCond(11);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -333,14 +333,7 @@ public final class Q00117_TheOceanOfDistantStars extends Quest
|
||||
}
|
||||
case 7:
|
||||
{
|
||||
if (hasQuestItems(player, BOOK_OF_GREY_STAR))
|
||||
{
|
||||
htmltext = "32052-06.html";
|
||||
}
|
||||
else
|
||||
{
|
||||
htmltext = "32052-08.html";
|
||||
}
|
||||
htmltext = hasQuestItems(player, BOOK_OF_GREY_STAR) ? "32052-06.html" : "32052-08.html";
|
||||
break;
|
||||
}
|
||||
case 8:
|
||||
|
||||
@@ -619,14 +619,7 @@ public final class Q00120_PavelsLastResearch extends Quest
|
||||
{
|
||||
if (qs.isMemoState(10))
|
||||
{
|
||||
if (qs.isMemoStateEx(0, 10101))
|
||||
{
|
||||
html = "32042-13.html";
|
||||
}
|
||||
else
|
||||
{
|
||||
html = "32042-09.html";
|
||||
}
|
||||
html = qs.isMemoStateEx(0, 10101) ? "32042-13.html" : "32042-09.html";
|
||||
}
|
||||
break;
|
||||
}
|
||||
@@ -792,14 +785,7 @@ public final class Q00120_PavelsLastResearch extends Quest
|
||||
{
|
||||
if (qs.isMemoState(18))
|
||||
{
|
||||
if (qs.isMemoStateEx(0, 1111))
|
||||
{
|
||||
html = "32043-12.html";
|
||||
}
|
||||
else
|
||||
{
|
||||
html = "32043-11.html";
|
||||
}
|
||||
html = qs.isMemoStateEx(0, 1111) ? "32043-12.html" : "32043-11.html";
|
||||
}
|
||||
break;
|
||||
}
|
||||
@@ -824,14 +810,7 @@ public final class Q00120_PavelsLastResearch extends Quest
|
||||
{
|
||||
if (qs.isMemoState(18))
|
||||
{
|
||||
if (qs.getMemoStateEx(0) < 1000)
|
||||
{
|
||||
html = "32043-15.html";
|
||||
}
|
||||
else
|
||||
{
|
||||
html = "32043-18.html";
|
||||
}
|
||||
html = qs.getMemoStateEx(0) < 1000 ? "32043-15.html" : "32043-18.html";
|
||||
}
|
||||
break;
|
||||
}
|
||||
@@ -1023,14 +1002,7 @@ public final class Q00120_PavelsLastResearch extends Quest
|
||||
{
|
||||
if (qs.isMemoState(21))
|
||||
{
|
||||
if ((qs.getMemoStateEx(0) % 100) == 11)
|
||||
{
|
||||
html = "32044-10.html";
|
||||
}
|
||||
else
|
||||
{
|
||||
html = "32044-09.html";
|
||||
}
|
||||
html = (qs.getMemoStateEx(0) % 100) == 11 ? "32044-10.html" : "32044-09.html";
|
||||
}
|
||||
break;
|
||||
}
|
||||
@@ -1066,14 +1038,7 @@ public final class Q00120_PavelsLastResearch extends Quest
|
||||
{
|
||||
if (qs.isMemoState(21))
|
||||
{
|
||||
if ((qs.getMemoStateEx(0) / 100) == 1)
|
||||
{
|
||||
html = "32044-15.html";
|
||||
}
|
||||
else
|
||||
{
|
||||
html = "32044-14.html";
|
||||
}
|
||||
html = (qs.getMemoStateEx(0) / 100) == 1 ? "32044-15.html" : "32044-14.html";
|
||||
}
|
||||
break;
|
||||
}
|
||||
@@ -1164,14 +1129,7 @@ public final class Q00120_PavelsLastResearch extends Quest
|
||||
{
|
||||
if (qs.isCreated())
|
||||
{
|
||||
if (checkQ114(player))
|
||||
{
|
||||
html = "32046-01.htm";
|
||||
}
|
||||
else
|
||||
{
|
||||
html = "32046-02.htm";
|
||||
}
|
||||
html = checkQ114(player) ? "32046-01.htm" : "32046-02.htm";
|
||||
}
|
||||
else if (qs.isStarted())
|
||||
{
|
||||
@@ -1366,14 +1324,7 @@ public final class Q00120_PavelsLastResearch extends Quest
|
||||
}
|
||||
case 5:
|
||||
{
|
||||
if (qs.getMemoStateEx(0) > 0)
|
||||
{
|
||||
html = "32041-07.html";
|
||||
}
|
||||
else
|
||||
{
|
||||
html = "32041-08.html";
|
||||
}
|
||||
html = qs.getMemoStateEx(0) > 0 ? "32041-07.html" : "32041-08.html";
|
||||
break;
|
||||
}
|
||||
case 6:
|
||||
@@ -1440,14 +1391,7 @@ public final class Q00120_PavelsLastResearch extends Quest
|
||||
}
|
||||
case 10:
|
||||
{
|
||||
if (qs.isMemoStateEx(0, 10101))
|
||||
{
|
||||
html = "32042-13.html";
|
||||
}
|
||||
else
|
||||
{
|
||||
html = "32042-09.html";
|
||||
}
|
||||
html = qs.isMemoStateEx(0, 10101) ? "32042-13.html" : "32042-09.html";
|
||||
break;
|
||||
}
|
||||
case 11:
|
||||
|
||||
@@ -255,27 +255,16 @@ public class Q00125_TheNameOfEvil1 extends Quest
|
||||
final int npcId = npc.getId();
|
||||
if (ORNITHOMIMUS.containsKey(npcId))
|
||||
{
|
||||
if (getQuestItemsCount(player, ORNITHOMIMUS_CLAW) < 2)
|
||||
if ((getQuestItemsCount(player, ORNITHOMIMUS_CLAW) < 2) && (getRandom(1000) < (ORNITHOMIMUS.get(npcId) * Config.RATE_QUEST_DROP)))
|
||||
{
|
||||
final float chance = ORNITHOMIMUS.get(npcId) * Config.RATE_QUEST_DROP;
|
||||
if (getRandom(1000) < chance)
|
||||
{
|
||||
giveItems(player, ORNITHOMIMUS_CLAW, 1);
|
||||
playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET);
|
||||
}
|
||||
giveItems(player, ORNITHOMIMUS_CLAW, 1);
|
||||
playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET);
|
||||
}
|
||||
}
|
||||
else if (DEINONYCHUS.containsKey(npcId))
|
||||
else if (DEINONYCHUS.containsKey(npcId) && (getQuestItemsCount(player, DEINONYCHUS_BONE) < 2) && (getRandom(1000) < (DEINONYCHUS.get(npcId) * Config.RATE_QUEST_DROP)))
|
||||
{
|
||||
if (getQuestItemsCount(player, DEINONYCHUS_BONE) < 2)
|
||||
{
|
||||
final float chance = DEINONYCHUS.get(npcId) * Config.RATE_QUEST_DROP;
|
||||
if (getRandom(1000) < chance)
|
||||
{
|
||||
giveItems(player, DEINONYCHUS_BONE, 1);
|
||||
playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET);
|
||||
}
|
||||
}
|
||||
giveItems(player, DEINONYCHUS_BONE, 1);
|
||||
playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET);
|
||||
}
|
||||
|
||||
if ((getQuestItemsCount(player, ORNITHOMIMUS_CLAW) == 2) && (getQuestItemsCount(player, DEINONYCHUS_BONE) == 2))
|
||||
|
||||
@@ -211,14 +211,7 @@ public final class Q00128_PailakaSongOfIceAndFire extends Quest
|
||||
}
|
||||
case State.STARTED:
|
||||
{
|
||||
if (qs.getCond() > 1)
|
||||
{
|
||||
htmltext = "32497-00.htm";
|
||||
}
|
||||
else
|
||||
{
|
||||
htmltext = "32497-03.htm";
|
||||
}
|
||||
htmltext = qs.getCond() > 1 ? "32497-00.htm" : "32497-03.htm";
|
||||
break;
|
||||
}
|
||||
case State.COMPLETED:
|
||||
@@ -236,14 +229,7 @@ public final class Q00128_PailakaSongOfIceAndFire extends Quest
|
||||
}
|
||||
case SINAI:
|
||||
{
|
||||
if (qs.getCond() > 1)
|
||||
{
|
||||
htmltext = "32500-00.htm";
|
||||
}
|
||||
else
|
||||
{
|
||||
htmltext = "32500-01.htm";
|
||||
}
|
||||
htmltext = qs.getCond() > 1 ? "32500-00.htm" : "32500-01.htm";
|
||||
break;
|
||||
}
|
||||
case INSPECTOR:
|
||||
|
||||
@@ -165,14 +165,7 @@ public final class Q00129_PailakaDevilsLegacy extends Quest
|
||||
}
|
||||
case State.STARTED:
|
||||
{
|
||||
if (qs.getCond() > 1)
|
||||
{
|
||||
htmltext = "32498-08.htm";
|
||||
}
|
||||
else
|
||||
{
|
||||
htmltext = "32498-06.htm";
|
||||
}
|
||||
htmltext = qs.getCond() > 1 ? "32498-08.htm" : "32498-06.htm";
|
||||
break;
|
||||
}
|
||||
case State.COMPLETED:
|
||||
@@ -190,14 +183,7 @@ public final class Q00129_PailakaDevilsLegacy extends Quest
|
||||
}
|
||||
case SUPPORTER:
|
||||
{
|
||||
if (qs.getCond() > 2)
|
||||
{
|
||||
htmltext = "32501-04.htm";
|
||||
}
|
||||
else
|
||||
{
|
||||
htmltext = "32501-01.htm";
|
||||
}
|
||||
htmltext = qs.getCond() > 2 ? "32501-04.htm" : "32501-01.htm";
|
||||
break;
|
||||
}
|
||||
case ADVENTURER1:
|
||||
|
||||
@@ -642,19 +642,12 @@ public class Q00144_PailakaInjuredDragon extends Quest
|
||||
final int[] zoneTeleport = NOEXIT_ZONES.get(zone.getId());
|
||||
if (zoneTeleport != null)
|
||||
{
|
||||
final Collection<L2Character> knowns = character.getKnownList().getKnownCharactersInRadius(700);
|
||||
for (L2Character npcs : knowns)
|
||||
for (L2Character npcs : character.getKnownList().getKnownCharactersInRadius(700))
|
||||
{
|
||||
if (!(npcs instanceof L2Npc))
|
||||
if (!(npcs instanceof L2Npc) || npcs.isDead())
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
if (npcs.isDead())
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
teleportPlayer(character.getActingPlayer(), zoneTeleport, world.getInstanceId());
|
||||
break;
|
||||
}
|
||||
@@ -680,18 +673,12 @@ public class Q00144_PailakaInjuredDragon extends Quest
|
||||
final Collection<L2Character> knowns = npc.getKnownList().getKnownCharactersInRadius(700);
|
||||
for (L2Character npcs : knowns)
|
||||
{
|
||||
if (!(npcs instanceof L2Npc))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
if (npcs.isDead())
|
||||
if (!(npcs instanceof L2Npc) || npcs.isDead())
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
final L2Npc knownNpc = (L2Npc) npcs;
|
||||
|
||||
switch (npc.getId())
|
||||
{
|
||||
case VARKA_SILENOS_FOOTMAN:
|
||||
@@ -742,18 +729,12 @@ public class Q00144_PailakaInjuredDragon extends Quest
|
||||
// We didnt find any mob on the first row alive, so despawn the second row mobs.
|
||||
for (L2Character npcs : knowns)
|
||||
{
|
||||
if (!(npcs instanceof L2Npc))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
if (npcs.isDead())
|
||||
if (!(npcs instanceof L2Npc) || npcs.isDead())
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
final L2Npc knownNpc = (L2Npc) npcs;
|
||||
|
||||
switch (npc.getId())
|
||||
{
|
||||
case VARKA_SILENOS_FOOTMAN:
|
||||
@@ -861,7 +842,6 @@ public class Q00144_PailakaInjuredDragon extends Quest
|
||||
npc.setTarget(player);
|
||||
npc.doCast(SkillData.getInstance().getSkill(skillId, level));
|
||||
buff_counter--;
|
||||
return;
|
||||
}
|
||||
|
||||
private static final void teleportPlayer(L2PcInstance player, int[] coords, int instanceId)
|
||||
@@ -882,12 +862,9 @@ public class Q00144_PailakaInjuredDragon extends Quest
|
||||
player.sendPacket(SystemMessageId.YOU_HAVE_ENTERED_ANOTHER_INSTANT_ZONE_THEREFORE_YOU_CANNOT_ENTER_CORRESPONDING_DUNGEON);
|
||||
return;
|
||||
}
|
||||
final Instance inst = InstanceManager.getInstance().getInstance(world.getInstanceId());
|
||||
if (inst != null)
|
||||
if (InstanceManager.getInstance().getInstance(world.getInstanceId()) != null)
|
||||
{
|
||||
// Check max summon levels.
|
||||
checkMaxSummonLevel(player);
|
||||
|
||||
teleportPlayer(player, TELEPORT, world.getInstanceId());
|
||||
}
|
||||
}
|
||||
@@ -913,12 +890,9 @@ public class Q00144_PailakaInjuredDragon extends Quest
|
||||
private final void checkMaxSummonLevel(L2PcInstance player)
|
||||
{
|
||||
final L2Summon pet = player.getPet();
|
||||
if (pet instanceof L2PetInstance)
|
||||
if ((pet instanceof L2PetInstance) && (pet.getLevel() > MAX_SUMMON_LEVEL))
|
||||
{
|
||||
if (pet.getLevel() > MAX_SUMMON_LEVEL)
|
||||
{
|
||||
pet.unSummon(player);
|
||||
}
|
||||
pet.unSummon(player);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -66,14 +66,10 @@ public class Q00146_TheZeroHour extends Quest
|
||||
public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
|
||||
{
|
||||
final L2PcInstance partyMember = getRandomPartyMember(killer, 1);
|
||||
if (partyMember != null)
|
||||
if ((partyMember != null) && !hasQuestItems(partyMember, FANG))
|
||||
{
|
||||
final QuestState qs = getQuestState(partyMember, false);
|
||||
if (!hasQuestItems(partyMember, FANG))
|
||||
{
|
||||
giveItems(partyMember, FANG, 1);
|
||||
qs.setCond(2, true);
|
||||
}
|
||||
giveItems(partyMember, FANG, 1);
|
||||
getQuestState(partyMember, false).setCond(2, true);
|
||||
}
|
||||
return super.onKill(npc, killer, isSummon);
|
||||
}
|
||||
|
||||
@@ -353,12 +353,9 @@ public class Q00177_SplitDestiny extends Quest
|
||||
}
|
||||
case 2:
|
||||
{
|
||||
if (Util.contains(GIANTS_HAND_MONSTERS, npc.getId()))
|
||||
if (Util.contains(GIANTS_HAND_MONSTERS, npc.getId()) && giveItemRandomly(killer, npc, PETRIFIED_GIANTS_HAND_PIECE, 1, 10, 1.0, true))
|
||||
{
|
||||
if (giveItemRandomly(killer, npc, PETRIFIED_GIANTS_HAND_PIECE, 1, 10, 1.0, true))
|
||||
{
|
||||
qs.setCond(3, true);
|
||||
}
|
||||
qs.setCond(3, true);
|
||||
}
|
||||
break;
|
||||
}
|
||||
@@ -373,12 +370,9 @@ public class Q00177_SplitDestiny extends Quest
|
||||
}
|
||||
case 5:
|
||||
{
|
||||
if (Util.contains(GIANTS_FOOT_MONSTERS, npc.getId()))
|
||||
if (Util.contains(GIANTS_FOOT_MONSTERS, npc.getId()) && giveItemRandomly(killer, npc, PETRIFIED_GIANTS_FOOT_PIECE, 1, 10, 1.0, true))
|
||||
{
|
||||
if (giveItemRandomly(killer, npc, PETRIFIED_GIANTS_FOOT_PIECE, 1, 10, 1.0, true))
|
||||
{
|
||||
qs.setCond(6, true);
|
||||
}
|
||||
qs.setCond(6, true);
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -78,14 +78,7 @@ public final class Q00184_ArtOfPersuasion extends Quest
|
||||
}
|
||||
case "30621-03.htm":
|
||||
{
|
||||
if (player.getLevel() >= MIN_LEVEL)
|
||||
{
|
||||
htmltext = event;
|
||||
}
|
||||
else
|
||||
{
|
||||
htmltext = "30621-03a.htm";
|
||||
}
|
||||
htmltext = player.getLevel() >= MIN_LEVEL ? event : "30621-03a.htm";
|
||||
break;
|
||||
}
|
||||
case "30621-04.htm":
|
||||
@@ -146,15 +139,11 @@ public final class Q00184_ArtOfPersuasion extends Quest
|
||||
htmltext = "30673-10.htm";
|
||||
qs.exitQuest(false, true);
|
||||
}
|
||||
giveAdena(player, 72527, true);
|
||||
if (player.getLevel() < MAX_LEVEL_FOR_EXP_SP)
|
||||
{
|
||||
giveAdena(player, 72527, true);
|
||||
addExpAndSp(player, 203717, 14032);
|
||||
}
|
||||
else
|
||||
{
|
||||
giveAdena(player, 72527, true);
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
@@ -276,12 +265,9 @@ public final class Q00184_ArtOfPersuasion extends Quest
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (qs.isCompleted())
|
||||
else if (qs.isCompleted() && (npc.getId() == MAESTRO_NIKOLA))
|
||||
{
|
||||
if (npc.getId() == MAESTRO_NIKOLA)
|
||||
{
|
||||
htmltext = getAlreadyCompletedMsg(player);
|
||||
}
|
||||
htmltext = getAlreadyCompletedMsg(player);
|
||||
}
|
||||
return htmltext;
|
||||
}
|
||||
|
||||
@@ -78,14 +78,7 @@ public final class Q00185_NikolasCooperation extends Quest
|
||||
}
|
||||
case "30621-03.htm":
|
||||
{
|
||||
if (player.getLevel() >= MIN_LEVEL)
|
||||
{
|
||||
htmltext = event;
|
||||
}
|
||||
else
|
||||
{
|
||||
htmltext = "30621-03a.htm";
|
||||
}
|
||||
htmltext = player.getLevel() >= MIN_LEVEL ? event : "30621-03a.htm";
|
||||
break;
|
||||
}
|
||||
case "30621-04.htm":
|
||||
@@ -146,15 +139,11 @@ public final class Q00185_NikolasCooperation extends Quest
|
||||
htmltext = "30673-10.html";
|
||||
qs.exitQuest(false, true);
|
||||
}
|
||||
giveAdena(player, 72527, true);
|
||||
if (player.getLevel() < MAX_LEVEL_FOR_EXP_SP)
|
||||
{
|
||||
giveAdena(player, 72527, true);
|
||||
addExpAndSp(player, 203717, 14032);
|
||||
}
|
||||
else
|
||||
{
|
||||
giveAdena(player, 72527, true);
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
@@ -276,12 +265,9 @@ public final class Q00185_NikolasCooperation extends Quest
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (qs.isCompleted())
|
||||
else if (qs.isCompleted() && (npc.getId() == MAESTRO_NIKOLA))
|
||||
{
|
||||
if (npc.getId() == MAESTRO_NIKOLA)
|
||||
{
|
||||
htmltext = getAlreadyCompletedMsg(player);
|
||||
}
|
||||
htmltext = getAlreadyCompletedMsg(player);
|
||||
}
|
||||
return htmltext;
|
||||
}
|
||||
|
||||
@@ -147,13 +147,10 @@ public final class Q00186_ContractExecution extends Quest
|
||||
public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
|
||||
{
|
||||
final QuestState qs = getQuestState(killer, false);
|
||||
if ((qs != null) && qs.isMemoState(2) && Util.checkIfInRange(1500, npc, killer, false) && (getRandom(100) < MONSTERS.get(npc.getId())))
|
||||
if ((qs != null) && qs.isMemoState(2) && Util.checkIfInRange(1500, npc, killer, false) && (getRandom(100) < MONSTERS.get(npc.getId())) && !hasQuestItems(killer, LETO_LIZARDMAN_ACCESSORY))
|
||||
{
|
||||
if (!hasQuestItems(killer, LETO_LIZARDMAN_ACCESSORY))
|
||||
{
|
||||
giveItems(killer, LETO_LIZARDMAN_ACCESSORY, 1);
|
||||
playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET);
|
||||
}
|
||||
giveItems(killer, LETO_LIZARDMAN_ACCESSORY, 1);
|
||||
playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET);
|
||||
}
|
||||
return super.onKill(npc, killer, isSummon);
|
||||
}
|
||||
@@ -203,14 +200,7 @@ public final class Q00186_ContractExecution extends Quest
|
||||
{
|
||||
if (memoState == 2)
|
||||
{
|
||||
if (hasQuestItems(player, LETO_LIZARDMAN_ACCESSORY))
|
||||
{
|
||||
htmltext = "31437-02.html";
|
||||
}
|
||||
else
|
||||
{
|
||||
htmltext = "31437-01.html";
|
||||
}
|
||||
htmltext = hasQuestItems(player, LETO_LIZARDMAN_ACCESSORY) ? "31437-02.html" : "31437-01.html";
|
||||
}
|
||||
else if (memoState == 3)
|
||||
{
|
||||
@@ -220,12 +210,9 @@ public final class Q00186_ContractExecution extends Quest
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (qs.isCompleted())
|
||||
else if (qs.isCompleted() && (npc.getId() == RESEARCHER_LORAIN))
|
||||
{
|
||||
if (npc.getId() == RESEARCHER_LORAIN)
|
||||
{
|
||||
htmltext = getAlreadyCompletedMsg(player);
|
||||
}
|
||||
htmltext = getAlreadyCompletedMsg(player);
|
||||
}
|
||||
return htmltext;
|
||||
}
|
||||
|
||||
@@ -167,12 +167,9 @@ public final class Q00187_NikolasHeart extends Quest
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (qs.isCompleted())
|
||||
else if (qs.isCompleted() && (npc.getId() == RESEARCHER_LORAIN))
|
||||
{
|
||||
if (npc.getId() == RESEARCHER_LORAIN)
|
||||
{
|
||||
htmltext = getAlreadyCompletedMsg(player);
|
||||
}
|
||||
htmltext = getAlreadyCompletedMsg(player);
|
||||
}
|
||||
return htmltext;
|
||||
}
|
||||
|
||||
@@ -133,18 +133,15 @@ public final class Q00188_SealRemoval extends Quest
|
||||
String htmltext = getNoQuestMsg(player);
|
||||
if (qs.isCreated())
|
||||
{
|
||||
if (npc.getId() == RESEARCHER_LORAIN)
|
||||
if ((npc.getId() == RESEARCHER_LORAIN) && !hasQuestItems(player, LORAINES_CERTIFICATE))
|
||||
{
|
||||
if (!hasQuestItems(player, LORAINES_CERTIFICATE))
|
||||
final QuestState q184 = player.getQuestState(Q00184_ArtOfPersuasion.class.getSimpleName());
|
||||
final QuestState q185 = player.getQuestState(Q00185_NikolasCooperation.class.getSimpleName());
|
||||
final QuestState q186 = player.getQuestState(Q00186_ContractExecution.class.getSimpleName());
|
||||
final QuestState q187 = player.getQuestState(Q00187_NikolasHeart.class.getSimpleName());
|
||||
if (((q184 != null) && q184.isCompleted()) || ((q185 != null) && q185.isCompleted() && (q186 == null) && (q187 == null)))
|
||||
{
|
||||
final QuestState q184 = player.getQuestState(Q00184_ArtOfPersuasion.class.getSimpleName());
|
||||
final QuestState q185 = player.getQuestState(Q00185_NikolasCooperation.class.getSimpleName());
|
||||
final QuestState q186 = player.getQuestState(Q00186_ContractExecution.class.getSimpleName());
|
||||
final QuestState q187 = player.getQuestState(Q00187_NikolasHeart.class.getSimpleName());
|
||||
if (((q184 != null) && q184.isCompleted()) || ((q185 != null) && q185.isCompleted() && (q186 == null) && (q187 == null)))
|
||||
{
|
||||
htmltext = (player.getLevel() >= MIN_LEVEL) ? "30673-01.htm" : "30673-02.htm";
|
||||
}
|
||||
htmltext = (player.getLevel() >= MIN_LEVEL) ? "30673-01.htm" : "30673-02.htm";
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -179,12 +176,9 @@ public final class Q00188_SealRemoval extends Quest
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (qs.isCompleted())
|
||||
else if (qs.isCompleted() && (npc.getId() == RESEARCHER_LORAIN))
|
||||
{
|
||||
if (npc.getId() == RESEARCHER_LORAIN)
|
||||
{
|
||||
htmltext = getAlreadyCompletedMsg(player);
|
||||
}
|
||||
htmltext = getAlreadyCompletedMsg(player);
|
||||
}
|
||||
return htmltext;
|
||||
}
|
||||
|
||||
@@ -202,12 +202,9 @@ public final class Q00189_ContractCompletion extends Quest
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (qs.isCompleted())
|
||||
else if (qs.isCompleted() && (npc.getId() == BLUEPRINT_SELLER_LUKA))
|
||||
{
|
||||
if (npc.getId() == BLUEPRINT_SELLER_LUKA)
|
||||
{
|
||||
htmltext = getAlreadyCompletedMsg(player);
|
||||
}
|
||||
htmltext = getAlreadyCompletedMsg(player);
|
||||
}
|
||||
return htmltext;
|
||||
}
|
||||
|
||||
@@ -188,12 +188,9 @@ public final class Q00190_LostDream extends Quest
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (qs.isCompleted())
|
||||
else if (qs.isCompleted() && (npc.getId() == HEAD_BLACKSMITH_KUSTO))
|
||||
{
|
||||
if (npc.getId() == HEAD_BLACKSMITH_KUSTO)
|
||||
{
|
||||
htmltext = getAlreadyCompletedMsg(player);
|
||||
}
|
||||
htmltext = getAlreadyCompletedMsg(player);
|
||||
}
|
||||
return htmltext;
|
||||
}
|
||||
|
||||
@@ -207,12 +207,9 @@ public final class Q00191_VainConclusion extends Quest
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (qs.isCompleted())
|
||||
else if (qs.isCompleted() && (npc.getId() == DOROTHY_LOCKSMITH))
|
||||
{
|
||||
if (npc.getId() == DOROTHY_LOCKSMITH)
|
||||
{
|
||||
htmltext = getAlreadyCompletedMsg(player);
|
||||
}
|
||||
htmltext = getAlreadyCompletedMsg(player);
|
||||
}
|
||||
return htmltext;
|
||||
}
|
||||
|
||||
@@ -289,14 +289,7 @@ public final class Q00193_SevenSignsDyingMessage extends Quest
|
||||
}
|
||||
case 4:
|
||||
{
|
||||
if (isBusy)
|
||||
{
|
||||
htmltext = "32569-13.html";
|
||||
}
|
||||
else
|
||||
{
|
||||
htmltext = "32569-08.html";
|
||||
}
|
||||
htmltext = isBusy ? "32569-13.html" : "32569-08.html";
|
||||
break;
|
||||
}
|
||||
case 5:
|
||||
|
||||
@@ -298,12 +298,9 @@ public final class Q00195_SevenSignsSecretRitualOfThePriests extends Quest
|
||||
}
|
||||
case LIGHT_OF_DAWN:
|
||||
{
|
||||
if (qs.isCond(3))
|
||||
if (qs.isCond(3) && hasQuestItems(player, IDENTITY_CARD))
|
||||
{
|
||||
if (hasQuestItems(player, IDENTITY_CARD))
|
||||
{
|
||||
htmltext = "31001-07.html";
|
||||
}
|
||||
htmltext = "31001-07.html";
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -271,12 +271,9 @@ public final class Q00197_SevenSignsTheSacredBookOfSeal extends Quest
|
||||
{
|
||||
htmltext = "32593-06.html";
|
||||
}
|
||||
else if (qs.isCond(6))
|
||||
else if (qs.isCond(6) && hasQuestItems(player, MYSTERIOUS_HAND_WRITTEN_TEXT, SCULPTURE_OF_DOUBT))
|
||||
{
|
||||
if (hasQuestItems(player, MYSTERIOUS_HAND_WRITTEN_TEXT, SCULPTURE_OF_DOUBT))
|
||||
{
|
||||
htmltext = "32593-07.html";
|
||||
}
|
||||
htmltext = "32593-07.html";
|
||||
}
|
||||
break;
|
||||
}
|
||||
@@ -308,14 +305,7 @@ public final class Q00197_SevenSignsTheSacredBookOfSeal extends Quest
|
||||
{
|
||||
if (qs.isCond(3))
|
||||
{
|
||||
if (isBusy)
|
||||
{
|
||||
htmltext = "32595-05.html";
|
||||
}
|
||||
else
|
||||
{
|
||||
htmltext = "32595-01.html";
|
||||
}
|
||||
htmltext = isBusy ? "32595-05.html" : "32595-01.html";
|
||||
}
|
||||
else if (qs.isCond(4))
|
||||
{
|
||||
@@ -324,12 +314,9 @@ public final class Q00197_SevenSignsTheSacredBookOfSeal extends Quest
|
||||
htmltext = "32595-06.html";
|
||||
}
|
||||
}
|
||||
else if (qs.getCond() >= 5)
|
||||
else if ((qs.getCond() >= 5) && hasQuestItems(player, SCULPTURE_OF_DOUBT))
|
||||
{
|
||||
if (hasQuestItems(player, SCULPTURE_OF_DOUBT))
|
||||
{
|
||||
htmltext = "32595-10.html";
|
||||
}
|
||||
htmltext = "32595-10.html";
|
||||
}
|
||||
break;
|
||||
}
|
||||
@@ -342,12 +329,9 @@ public final class Q00197_SevenSignsTheSacredBookOfSeal extends Quest
|
||||
htmltext = "32596-01.html";
|
||||
}
|
||||
}
|
||||
else if (qs.getCond() >= 6)
|
||||
else if ((qs.getCond() >= 6) && hasQuestItems(player, SCULPTURE_OF_DOUBT, MYSTERIOUS_HAND_WRITTEN_TEXT))
|
||||
{
|
||||
if (hasQuestItems(player, SCULPTURE_OF_DOUBT, MYSTERIOUS_HAND_WRITTEN_TEXT))
|
||||
{
|
||||
htmltext = "32596-05.html";
|
||||
}
|
||||
htmltext = "32596-05.html";
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -62,14 +62,7 @@ public class Q00255_Tutorial extends Quest
|
||||
}
|
||||
case "start_newbie_tutorial":
|
||||
{
|
||||
if (player.getRace() == Race.ERTHEIA)
|
||||
{
|
||||
htmltext = "tutorial_01_ertheia.html";
|
||||
}
|
||||
else
|
||||
{
|
||||
htmltext = "tutorial_01.html";
|
||||
}
|
||||
htmltext = player.getRace() == Race.ERTHEIA ? "tutorial_01_ertheia.html" : "tutorial_01.html";
|
||||
qs.exitQuest(false, false); // TODO: Continue with the tutorial.
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -99,19 +99,16 @@ public final class Q00279_TargetOfOpportunity extends Quest
|
||||
}
|
||||
|
||||
final QuestState qs = getQuestState(pl, false);
|
||||
if (getRandom(1000) < (int) (311 * Config.RATE_QUEST_DROP))
|
||||
if ((getRandom(1000) < (int) (311 * Config.RATE_QUEST_DROP)) && !hasQuestItems(player, SEAL_COMPONENTS[idx]))
|
||||
{
|
||||
if (!hasQuestItems(player, SEAL_COMPONENTS[idx]))
|
||||
giveItems(player, SEAL_COMPONENTS[idx], 1);
|
||||
if (haveAllExceptThis(player, idx))
|
||||
{
|
||||
giveItems(player, SEAL_COMPONENTS[idx], 1);
|
||||
if (haveAllExceptThis(player, idx))
|
||||
{
|
||||
qs.setCond(2, true);
|
||||
}
|
||||
else
|
||||
{
|
||||
playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET);
|
||||
}
|
||||
qs.setCond(2, true);
|
||||
}
|
||||
else
|
||||
{
|
||||
playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET);
|
||||
}
|
||||
}
|
||||
return null;
|
||||
|
||||
@@ -96,7 +96,7 @@ public class Q00307_ControlDeviceOfTheGiants extends Quest
|
||||
{
|
||||
return getNoQuestMsg(player);
|
||||
}
|
||||
else if ((hekaton != null) && !hekaton.isDead())
|
||||
if ((hekaton != null) && !hekaton.isDead())
|
||||
{
|
||||
return "32711-09.html";
|
||||
}
|
||||
|
||||
@@ -229,11 +229,7 @@ public final class Q00336_CoinsOfMagic extends Quest
|
||||
{
|
||||
if (qs.isCreated())
|
||||
{
|
||||
if (player.getLevel() < 40)
|
||||
{
|
||||
return "30232-01.htm";
|
||||
}
|
||||
return "30232-02.htm";
|
||||
return player.getLevel() < 40 ? "30232-01.htm" : "30232-02.htm";
|
||||
}
|
||||
if (qs.isStarted())
|
||||
{
|
||||
@@ -1100,14 +1096,11 @@ public final class Q00336_CoinsOfMagic extends Quest
|
||||
case HARIT_LIZARDM_MATRIARCH:
|
||||
{
|
||||
final QuestState qs = getRandomPlayerFromPartyCoin(killer, npc, 2);
|
||||
if (qs != null)
|
||||
if ((qs != null) && (getRandom(1000) < 63))
|
||||
{
|
||||
if (getRandom(1000) < 63)
|
||||
{
|
||||
giveItemRandomly(qs.getPlayer(), npc, Q_KALDIS_GOLD_DRAGON, 1, 0, 1, true);
|
||||
qs.setCond(3);
|
||||
qs.showQuestionMark(336);
|
||||
}
|
||||
giveItemRandomly(qs.getPlayer(), npc, Q_KALDIS_GOLD_DRAGON, 1, 0, 1, true);
|
||||
qs.setCond(3);
|
||||
qs.showQuestionMark(336);
|
||||
}
|
||||
return super.onKill(npc, killer, isSummon);
|
||||
}
|
||||
@@ -1631,7 +1624,7 @@ public final class Q00336_CoinsOfMagic extends Quest
|
||||
qs.set(PARAM_1, 0);
|
||||
return npcId + "-20.html";
|
||||
}
|
||||
else if (qs.getInt(WEIGHT_POINT) == 0)
|
||||
if (qs.getInt(WEIGHT_POINT) == 0)
|
||||
{
|
||||
switch (qs.getInt(PARAM_1))
|
||||
{
|
||||
|
||||
@@ -555,16 +555,16 @@ public class Q00337_AudienceWithTheLandDragon extends Quest
|
||||
{
|
||||
return null;
|
||||
}
|
||||
int npcId = npc.getId();
|
||||
final int npcId = npc.getId();
|
||||
for (int[] npcInfo : DROP_ON_ATTACK)
|
||||
{
|
||||
if (npcInfo[0] == npcId)
|
||||
{
|
||||
double percentHp = ((npc.getCurrentHp() + damage) * 100.0D) / npc.getMaxHp();
|
||||
final double percentHp = ((npc.getCurrentHp() + damage) * 100.0D) / npc.getMaxHp();
|
||||
|
||||
if (percentHp < 33.0D)
|
||||
{
|
||||
int itemId = npcInfo[3];
|
||||
final int itemId = npcInfo[3];
|
||||
if (!hasQuestItems(attacker, itemId))
|
||||
{
|
||||
giveItems(attacker, itemId, 1);
|
||||
@@ -595,7 +595,7 @@ public class Q00337_AudienceWithTheLandDragon extends Quest
|
||||
{
|
||||
for (int i = 0; i < npcInfo[4]; i++)
|
||||
{
|
||||
L2Npc mob = addSpawn(npcInfo[5], npc.getX() + getRandom(-150, 150), npc.getY() + getRandom(-150, 150), npc.getZ(), npc.getHeading(), true, 60000L, false);
|
||||
final L2Npc mob = addSpawn(npcInfo[5], npc.getX() + getRandom(-150, 150), npc.getY() + getRandom(-150, 150), npc.getZ(), npc.getHeading(), true, 60000L, false);
|
||||
mob.setRunning();
|
||||
((L2Attackable) mob).addDamageHate(attacker, 0, 500);
|
||||
mob.getAI().setIntention(CtrlIntention.AI_INTENTION_ATTACK, attacker);
|
||||
@@ -639,7 +639,7 @@ public class Q00337_AudienceWithTheLandDragon extends Quest
|
||||
@Override
|
||||
public String onKill(L2Npc npc, L2PcInstance player, boolean isSummon)
|
||||
{
|
||||
QuestState qs = player.getQuestState(getName());
|
||||
final QuestState qs = player.getQuestState(getName());
|
||||
if ((qs == null) || (qs.getState() != State.STARTED))
|
||||
{
|
||||
return null;
|
||||
@@ -664,7 +664,7 @@ public class Q00337_AudienceWithTheLandDragon extends Quest
|
||||
{
|
||||
break;
|
||||
}
|
||||
int itemId = npcInfo[4];
|
||||
final int itemId = npcInfo[4];
|
||||
if (!hasQuestItems(player, itemId))
|
||||
{
|
||||
giveItems(player, itemId, 1);
|
||||
@@ -677,29 +677,23 @@ public class Q00337_AudienceWithTheLandDragon extends Quest
|
||||
}
|
||||
case BLOOD_QUEEN:
|
||||
{
|
||||
if (qs.isCond(1) && (getRandom(100) < 70))
|
||||
if (qs.isCond(1) && (getRandom(100) < 70) && (qs.getInt("drop1") == 1) && (!hasQuestItems(player, REMAINS_OF_SACRIFIED)))
|
||||
{
|
||||
if ((qs.getInt("drop1") == 1) && (!hasQuestItems(player, REMAINS_OF_SACRIFIED)))
|
||||
for (int i = 0; i < 10; i++)
|
||||
{
|
||||
for (int i = 0; i < 10; i++)
|
||||
{
|
||||
addSpawn(SACRIFICE_OF_THE_SACRIFICED, npc.getX() + getRandom(-100, 100), npc.getY() + getRandom(-100, 100), npc.getZ(), npc.getHeading(), true, 60000L, false);
|
||||
}
|
||||
addSpawn(SACRIFICE_OF_THE_SACRIFICED, npc.getX() + getRandom(-100, 100), npc.getY() + getRandom(-100, 100), npc.getZ(), npc.getHeading(), true, 60000L, false);
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
case HARIT_LIZARDMAN_SHAMAN:
|
||||
{
|
||||
if (qs.isCond(1) && (getRandom(100) < 70))
|
||||
if (qs.isCond(1) && (getRandom(100) < 70) && (qs.getInt("drop2") == 1) && (!hasQuestItems(player, TOTEM_OF_LAND_DRAGON)))
|
||||
{
|
||||
if ((qs.getInt("drop2") == 1) && (!hasQuestItems(player, TOTEM_OF_LAND_DRAGON)))
|
||||
for (int i = 0; i < 3; i++)
|
||||
{
|
||||
for (int i = 0; i < 3; i++)
|
||||
{
|
||||
final L2Npc mob1 = addSpawn(HARIT_LIZARDMAN_ZEALOT, npc.getX() + getRandom(-50, 50), npc.getY() + getRandom(-50, 50), npc.getZ(), npc.getHeading(), true, 60000L, false);
|
||||
addAttackDesire(mob1, qs.getPlayer());
|
||||
}
|
||||
final L2Npc mob1 = addSpawn(HARIT_LIZARDMAN_ZEALOT, npc.getX() + getRandom(-50, 50), npc.getY() + getRandom(-50, 50), npc.getZ(), npc.getHeading(), true, 60000L, false);
|
||||
addAttackDesire(mob1, qs.getPlayer());
|
||||
}
|
||||
}
|
||||
break;
|
||||
@@ -707,12 +701,9 @@ public class Q00337_AudienceWithTheLandDragon extends Quest
|
||||
case CAVE_MAIDEN:
|
||||
case CAVE_KEEPER:
|
||||
{
|
||||
if (qs.isCond(4) && (getRandom(100) < 50))
|
||||
if (qs.isCond(4) && (getRandom(100) < 50) && !hasQuestItems(player, THIRD_FRAGMENT_OF_ABYSS_JEWEL))
|
||||
{
|
||||
if (!hasQuestItems(player, THIRD_FRAGMENT_OF_ABYSS_JEWEL))
|
||||
{
|
||||
addSpawn(ABYSSAL_JEWEL_3, npc.getX() + getRandom(-50, 50), npc.getY() + getRandom(-50, 50), npc.getZ(), npc.getHeading(), true, 60000L, false);
|
||||
}
|
||||
addSpawn(ABYSSAL_JEWEL_3, npc.getX() + getRandom(-50, 50), npc.getY() + getRandom(-50, 50), npc.getZ(), npc.getHeading(), true, 60000L, false);
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -194,7 +194,7 @@ public class Q00350_EnhanceYourWeapon extends Quest
|
||||
{
|
||||
return null;
|
||||
}
|
||||
else if ((caster == null) || caster.isDead())
|
||||
if ((caster == null) || caster.isDead())
|
||||
{
|
||||
return null;
|
||||
}
|
||||
@@ -559,9 +559,7 @@ public class Q00350_EnhanceYourWeapon extends Quest
|
||||
_log.severe("[EnhanceYourWeapon] Missing leveledItemId in Crystal List itemId: " + itemId + ", skipping");
|
||||
continue;
|
||||
}
|
||||
final int leveledItemId = Integer.parseInt(attrs.getNamedItem("leveledItemId").getNodeValue());
|
||||
|
||||
SOUL_CRYSTALS.put(itemId, new SoulCrystal(level, itemId, leveledItemId));
|
||||
SOUL_CRYSTALS.put(itemId, new SoulCrystal(level, itemId, Integer.parseInt(attrs.getNamedItem("leveledItemId").getNodeValue())));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -110,8 +110,7 @@ public class Q00377_ExplorationOfTheGiantsCavePart2 extends Quest
|
||||
final int npcId = npc.getId();
|
||||
if (MOBS1.containsKey(npcId))
|
||||
{
|
||||
final int itemCount = ((getRandom(1000) < MOBS1.get(npcId)) ? 3 : 2);
|
||||
giveItemRandomly(qs.getPlayer(), npc, TITAN_ANCIENT_BOOK, itemCount, 0, 1.0, true);
|
||||
giveItemRandomly(qs.getPlayer(), npc, TITAN_ANCIENT_BOOK, ((getRandom(1000) < MOBS1.get(npcId)) ? 3 : 2), 0, 1.0, true);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
@@ -122,13 +122,9 @@ public final class Q00381_LetsBecomeARoyalMember extends Quest
|
||||
qs.exitQuest(false, true);
|
||||
htmltext = "30232-06.html";
|
||||
}
|
||||
else if (hasAlbum || hasCoin)
|
||||
{
|
||||
htmltext = "30232-05.html";
|
||||
}
|
||||
else
|
||||
{
|
||||
htmltext = "30232-04.html";
|
||||
htmltext = hasAlbum || hasCoin ? "30232-05.html" : "30232-04.html";
|
||||
}
|
||||
}
|
||||
else
|
||||
|
||||
@@ -662,8 +662,7 @@ public final class Q00386_StolenDignity extends Quest
|
||||
*/
|
||||
private int getBingoSelectCount(QuestState qs)
|
||||
{
|
||||
final String current = qs.get("selected");
|
||||
return current.replaceAll("\\D", "").length();
|
||||
return qs.get("selected").replaceAll("\\D", "").length();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -396,20 +396,16 @@ public final class Q00421_LittleWingsBigAdventure extends Quest
|
||||
npc.doCast(DRYAD_ROOT.getSkill());
|
||||
}
|
||||
}
|
||||
else if (getRandom(100) < 2)
|
||||
else if ((getRandom(100) < 2) && hasQuestItems(attacker, FAIRY_LEAF))
|
||||
{
|
||||
if (hasQuestItems(attacker, FAIRY_LEAF))
|
||||
npc.broadcastPacket(new NpcSay(npc, ChatType.NPC_GENERAL, NpcStringId.GIVE_ME_A_FAIRY_LEAF));
|
||||
takeItems(attacker, FAIRY_LEAF, 1);
|
||||
qs.setMemoState(qs.getMemoState() + data.memoStateValue);
|
||||
qs.unset("hits");
|
||||
playSound(attacker, QuestSound.ITEMSOUND_QUEST_MIDDLE);
|
||||
if (qs.getMemoState() == 15)
|
||||
{
|
||||
npc.broadcastPacket(new NpcSay(npc, ChatType.NPC_GENERAL, NpcStringId.GIVE_ME_A_FAIRY_LEAF));
|
||||
takeItems(attacker, FAIRY_LEAF, 1);
|
||||
qs.setMemoState(qs.getMemoState() + data.memoStateValue);
|
||||
qs.unset("hits");
|
||||
playSound(attacker, QuestSound.ITEMSOUND_QUEST_MIDDLE);
|
||||
|
||||
if (qs.getMemoState() == 15)
|
||||
{
|
||||
qs.setCond(3);
|
||||
}
|
||||
qs.setCond(3);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -86,20 +86,16 @@ public class Q00431_WeddingMarch extends Quest
|
||||
public String onKill(L2Npc npc, L2PcInstance player, boolean isSummon)
|
||||
{
|
||||
final L2PcInstance member = getRandomPartyMember(player, 1);
|
||||
if (member != null)
|
||||
if ((member != null) && getRandomBoolean())
|
||||
{
|
||||
final QuestState qs = getQuestState(member, false);
|
||||
if (getRandomBoolean())
|
||||
giveItems(member, SILVER_CRYSTAL, 1);
|
||||
if (getQuestItemsCount(member, SILVER_CRYSTAL) >= CRYSTAL_COUNT)
|
||||
{
|
||||
giveItems(member, SILVER_CRYSTAL, 1);
|
||||
if (getQuestItemsCount(member, SILVER_CRYSTAL) >= CRYSTAL_COUNT)
|
||||
{
|
||||
qs.setCond(2, true);
|
||||
}
|
||||
else
|
||||
{
|
||||
playSound(member, QuestSound.ITEMSOUND_QUEST_ITEMGET);
|
||||
}
|
||||
getQuestState(member, false).setCond(2, true);
|
||||
}
|
||||
else
|
||||
{
|
||||
playSound(member, QuestSound.ITEMSOUND_QUEST_ITEMGET);
|
||||
}
|
||||
}
|
||||
return super.onKill(npc, player, isSummon);
|
||||
|
||||
@@ -188,13 +188,11 @@ public class Q00458_PerfectForm extends Quest
|
||||
final int overhitsConsecutive = qs.getInt("overhitsConsecutive");
|
||||
if (overhitsConsecutive >= 20)
|
||||
{
|
||||
final int rnd = getRandom(ICARUS_WEAPON_RECIPES.length);
|
||||
rewardItems(player, ICARUS_WEAPON_RECIPES[rnd], 1);
|
||||
rewardItems(player, ICARUS_WEAPON_RECIPES[getRandom(ICARUS_WEAPON_RECIPES.length)], 1);
|
||||
}
|
||||
else if (overhitsConsecutive >= 7)
|
||||
{
|
||||
final int rnd = getRandom(ICARUS_WEAPON_PIECES.length);
|
||||
rewardItems(player, ICARUS_WEAPON_PIECES[rnd], 5);
|
||||
rewardItems(player, ICARUS_WEAPON_PIECES[getRandom(ICARUS_WEAPON_PIECES.length)], 5);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -251,8 +249,7 @@ public class Q00458_PerfectForm extends Quest
|
||||
{
|
||||
qs.set("overhitsCritical", String.valueOf(qs.getInt("overhitsCritical") + 1)); // memoStateEx 2
|
||||
}
|
||||
final int overhitsConsecutive = qs.getInt("overhitsConsecutive") + 1;
|
||||
qs.set("overhitsConsecutive", String.valueOf(overhitsConsecutive)); // memoStateEx 3
|
||||
qs.set("overhitsConsecutive", String.valueOf((qs.getInt("overhitsConsecutive") + 1))); // memoStateEx 3
|
||||
/*
|
||||
* Retail logic (makes for a long/messy string in database): int i0 = overhitsConsecutive % 100; int i1 = overhitsConsecutive - (i0 * 100); if (i0 < i1) { st.set("overhitsConsecutive", String.valueOf((i1 * 100) + i1)); }
|
||||
*/
|
||||
|
||||
@@ -174,12 +174,7 @@ public class Q00463_IMustBeaGenius extends Quest
|
||||
if (qs.isCond(1))
|
||||
{
|
||||
boolean msg = false;
|
||||
int number = MOBS.get(npc.getId()).getCount();
|
||||
|
||||
if (MOBS.get(npc.getId()).getSpecialChance() == qs.getInt("chance"))
|
||||
{
|
||||
number = getRandom(100) + 1;
|
||||
}
|
||||
final int number = MOBS.get(npc.getId()).getSpecialChance() == qs.getInt("chance") ? getRandom(100) + 1 : MOBS.get(npc.getId()).getCount();
|
||||
|
||||
if (number > 0)
|
||||
{
|
||||
|
||||
@@ -123,12 +123,9 @@ public class Q00470_DivinityProtector extends Quest
|
||||
{
|
||||
htmltext = "32327-05.html";
|
||||
}
|
||||
else if (qs.isCompleted())
|
||||
else if (qs.isCompleted() && !qs.isNowAvailable())
|
||||
{
|
||||
if (!qs.isNowAvailable())
|
||||
{
|
||||
htmltext = "32327-07.html";
|
||||
}
|
||||
htmltext = "32327-07.html";
|
||||
}
|
||||
break;
|
||||
}
|
||||
@@ -152,12 +149,9 @@ public class Q00470_DivinityProtector extends Quest
|
||||
public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
|
||||
{
|
||||
final QuestState qs = getQuestState(killer, false);
|
||||
if ((qs != null) && qs.isCond(1))
|
||||
if ((qs != null) && qs.isCond(1) && giveItemRandomly(killer, npc, REMNANT_ASH, 1, 20, 0.1, true))
|
||||
{
|
||||
if (giveItemRandomly(killer, npc, REMNANT_ASH, 1, 20, 0.1, true))
|
||||
{
|
||||
qs.setCond(2, true);
|
||||
}
|
||||
qs.setCond(2, true);
|
||||
}
|
||||
return super.onKill(npc, killer, isSummon);
|
||||
}
|
||||
|
||||
@@ -113,12 +113,9 @@ public class Q00485_HotSpringWater extends Quest
|
||||
{
|
||||
htmltext = "32327-05.html";
|
||||
}
|
||||
else if (qs.isCompleted())
|
||||
else if (qs.isCompleted() && !qs.isNowAvailable())
|
||||
{
|
||||
if (!qs.isNowAvailable())
|
||||
{
|
||||
htmltext = "32327-07.html";
|
||||
}
|
||||
htmltext = "32327-07.html";
|
||||
}
|
||||
break;
|
||||
}
|
||||
@@ -142,12 +139,9 @@ public class Q00485_HotSpringWater extends Quest
|
||||
public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
|
||||
{
|
||||
final QuestState qs = getQuestState(killer, false);
|
||||
if ((qs != null) && qs.isCond(1))
|
||||
if ((qs != null) && qs.isCond(1) && giveItemRandomly(killer, npc, HOT_SPRINGS_WATER_SAMPLE, 1, 40, 0.2, true))
|
||||
{
|
||||
if (giveItemRandomly(killer, npc, HOT_SPRINGS_WATER_SAMPLE, 1, 40, 0.2, true))
|
||||
{
|
||||
qs.setCond(2, true);
|
||||
}
|
||||
qs.setCond(2, true);
|
||||
}
|
||||
return super.onKill(npc, killer, isSummon);
|
||||
}
|
||||
|
||||
@@ -89,13 +89,7 @@ public class Q00492_TombRaiders extends Quest
|
||||
public String onTalk(L2Npc npc, L2PcInstance player)
|
||||
{
|
||||
final QuestState qs = getQuestState(player, true);
|
||||
String htmltext = getNoQuestMsg(player);
|
||||
|
||||
if (qs.isCompleted())
|
||||
{
|
||||
htmltext = getAlreadyCompletedMsg(player);
|
||||
}
|
||||
|
||||
String htmltext = qs.isCompleted() ? getAlreadyCompletedMsg(player) : getNoQuestMsg(player);
|
||||
if ((npc.getId() == ZENYA) && !player.isSubClassActive() && !player.isDualClassActive() && (player.getClassId().level() == 4))
|
||||
{
|
||||
return "noClass.html";
|
||||
@@ -142,13 +136,9 @@ public class Q00492_TombRaiders extends Quest
|
||||
public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
|
||||
{
|
||||
final QuestState qs = getQuestState(killer, false);
|
||||
|
||||
if ((qs != null) && qs.isCond(1))
|
||||
if ((qs != null) && qs.isCond(1) && giveItemRandomly(killer, npc, RELICS_OF_THE_EMPIRE, 1, 50, 0.30, true))
|
||||
{
|
||||
if (giveItemRandomly(killer, npc, RELICS_OF_THE_EMPIRE, 1, 50, 0.30, true))
|
||||
{
|
||||
qs.setCond(2);
|
||||
}
|
||||
qs.setCond(2);
|
||||
}
|
||||
return super.onKill(npc, killer, isSummon);
|
||||
}
|
||||
|
||||
@@ -304,13 +304,10 @@ public final class Q00501_ProofOfClanAlliance extends Quest
|
||||
lqs.set("flag", lqs.getInt("flag") + 1);
|
||||
npc.broadcastPacket(new NpcSay(npc, ChatType.NPC_GENERAL, NpcStringId.BINGO));
|
||||
}
|
||||
else if (lqs.getInt("flag") < 4)
|
||||
else if ((lqs.getInt("flag") < 4) && (getRandom(4) == 0))
|
||||
{
|
||||
if (getRandom(4) == 0)
|
||||
{
|
||||
lqs.set("flag", lqs.getInt("flag") + 1);
|
||||
npc.broadcastPacket(new NpcSay(npc, ChatType.NPC_GENERAL, NpcStringId.BINGO));
|
||||
}
|
||||
lqs.set("flag", lqs.getInt("flag") + 1);
|
||||
npc.broadcastPacket(new NpcSay(npc, ChatType.NPC_GENERAL, NpcStringId.BINGO));
|
||||
}
|
||||
arthea.setScriptValue(arthea.getScriptValue() + 1);
|
||||
}
|
||||
|
||||
@@ -437,37 +437,34 @@ public final class Q00503_PursuitOfClanAmbition extends Quest
|
||||
String htmltext = getNoQuestMsg(player);
|
||||
if (qs.isCreated() || qs.isCompleted())
|
||||
{
|
||||
if (npc.getId() == SIR_GUSTAV_ATHEBALDT)
|
||||
if ((npc.getId() == SIR_GUSTAV_ATHEBALDT) && (lqs != null))
|
||||
{
|
||||
if (lqs != null)
|
||||
if (player.isClanLeader())
|
||||
{
|
||||
if (player.isClanLeader())
|
||||
final L2Clan clan = player.getClan();
|
||||
if (clan != null)
|
||||
{
|
||||
final L2Clan clan = player.getClan();
|
||||
if (clan != null)
|
||||
if (clan.getLevel() < 4)
|
||||
{
|
||||
if (clan.getLevel() < 4)
|
||||
{
|
||||
htmltext = "30760-01.html";
|
||||
}
|
||||
else if (clan.getLevel() >= 5)
|
||||
{
|
||||
htmltext = "30760-02.html";
|
||||
}
|
||||
else if ((clan.getLevel() == 4) && hasQuestItems(player, SEAL_OF_ASPIRATION))
|
||||
{
|
||||
htmltext = "30760-03.html";
|
||||
}
|
||||
else if ((clan.getLevel() == 4) && !hasQuestItems(player, SEAL_OF_ASPIRATION))
|
||||
{
|
||||
htmltext = "30760-04.html";
|
||||
}
|
||||
htmltext = "30760-01.html";
|
||||
}
|
||||
else if (clan.getLevel() >= 5)
|
||||
{
|
||||
htmltext = "30760-02.html";
|
||||
}
|
||||
else if ((clan.getLevel() == 4) && hasQuestItems(player, SEAL_OF_ASPIRATION))
|
||||
{
|
||||
htmltext = "30760-03.html";
|
||||
}
|
||||
else if ((clan.getLevel() == 4) && !hasQuestItems(player, SEAL_OF_ASPIRATION))
|
||||
{
|
||||
htmltext = "30760-04.html";
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
htmltext = "30760-04t.html";
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
htmltext = "30760-04t.html";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -115,8 +115,7 @@ public final class Q00504_CompetitionForTheBanditStronghold extends Quest
|
||||
if (!BANDIT_STRONGHOLD.isWaitingBattle())
|
||||
{
|
||||
htmltext = getHtm(player.getHtmlPrefix(), "35437-09.html");
|
||||
final SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
||||
htmltext = htmltext.replaceAll("%nextSiege%", sdf.format(BANDIT_STRONGHOLD.getSiegeDate().getTime()));
|
||||
htmltext = htmltext.replaceAll("%nextSiege%", new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(BANDIT_STRONGHOLD.getSiegeDate().getTime()));
|
||||
}
|
||||
else if ((clan == null) || (clan.getLevel() < 4))
|
||||
{
|
||||
@@ -139,8 +138,7 @@ public final class Q00504_CompetitionForTheBanditStronghold extends Quest
|
||||
if (!BANDIT_STRONGHOLD.isWaitingBattle())
|
||||
{
|
||||
htmltext = getHtm(player.getHtmlPrefix(), "35437-03.html");
|
||||
final SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
||||
htmltext = htmltext.replaceAll("%nextSiege%", sdf.format(BANDIT_STRONGHOLD.getSiegeDate().getTime()));
|
||||
htmltext = htmltext.replaceAll("%nextSiege%", new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(BANDIT_STRONGHOLD.getSiegeDate().getTime()));
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
@@ -158,13 +158,10 @@ public class Q00508_AClansReputation extends Quest
|
||||
if ((qs != null) && qs.isStarted())
|
||||
{
|
||||
final int raid = qs.getInt("raid");
|
||||
if (REWARD_POINTS.containsKey(raid))
|
||||
if (REWARD_POINTS.containsKey(raid) && (npc.getId() == REWARD_POINTS.get(raid).get(0)) && !hasQuestItems(player, REWARD_POINTS.get(raid).get(1)))
|
||||
{
|
||||
if ((npc.getId() == REWARD_POINTS.get(raid).get(0)) && !hasQuestItems(player, REWARD_POINTS.get(raid).get(1)))
|
||||
{
|
||||
rewardItems(player, REWARD_POINTS.get(raid).get(1), 1);
|
||||
playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET);
|
||||
}
|
||||
rewardItems(player, REWARD_POINTS.get(raid).get(1), 1);
|
||||
playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET);
|
||||
}
|
||||
}
|
||||
return null;
|
||||
|
||||
@@ -141,13 +141,10 @@ public class Q00509_AClansFame extends Quest
|
||||
if ((qs != null) && qs.isStarted())
|
||||
{
|
||||
final int raid = qs.getInt("raid");
|
||||
if (REWARD_POINTS.containsKey(raid))
|
||||
if (REWARD_POINTS.containsKey(raid) && (npc.getId() == REWARD_POINTS.get(raid).get(0)) && !hasQuestItems(player, REWARD_POINTS.get(raid).get(1)))
|
||||
{
|
||||
if ((npc.getId() == REWARD_POINTS.get(raid).get(0)) && !hasQuestItems(player, REWARD_POINTS.get(raid).get(1)))
|
||||
{
|
||||
rewardItems(player, REWARD_POINTS.get(raid).get(1), 1);
|
||||
playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET);
|
||||
}
|
||||
rewardItems(player, REWARD_POINTS.get(raid).get(1), 1);
|
||||
playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET);
|
||||
}
|
||||
}
|
||||
return null;
|
||||
|
||||
@@ -231,15 +231,15 @@ public final class Q00511_AwlUnderFoot extends Quest
|
||||
{
|
||||
return "FortressWarden-01.htm";
|
||||
}
|
||||
else if (fortress.getFortState() == 0)
|
||||
if (fortress.getFortState() == 0)
|
||||
{
|
||||
return "FortressWarden-02a.htm";
|
||||
}
|
||||
else if (fortress.getFortState() == 2)
|
||||
if (fortress.getFortState() == 2)
|
||||
{
|
||||
return "FortressWarden-02b.htm";
|
||||
}
|
||||
else if (isEnter && (dungeon.getReEnterTime() > System.currentTimeMillis()))
|
||||
if (isEnter && (dungeon.getReEnterTime() > System.currentTimeMillis()))
|
||||
{
|
||||
return "FortressWarden-07.htm";
|
||||
}
|
||||
@@ -375,7 +375,6 @@ public final class Q00511_AwlUnderFoot extends Quest
|
||||
final InstanceWorld tmpworld = InstanceManager.getInstance().getWorld(npc.getInstanceId());
|
||||
if (tmpworld instanceof FAUWorld)
|
||||
{
|
||||
final FAUWorld world = (FAUWorld) tmpworld;
|
||||
if (Util.contains(RAIDS3, npc.getId()))
|
||||
{
|
||||
if (player.getParty() != null)
|
||||
@@ -389,15 +388,14 @@ public final class Q00511_AwlUnderFoot extends Quest
|
||||
{
|
||||
rewardPlayer(player);
|
||||
}
|
||||
|
||||
final Instance instanceObj = InstanceManager.getInstance().getInstance(world.getInstanceId());
|
||||
final Instance instanceObj = InstanceManager.getInstance().getInstance(((FAUWorld) tmpworld).getInstanceId());
|
||||
instanceObj.setDuration(360000);
|
||||
instanceObj.removeNpcs();
|
||||
}
|
||||
else
|
||||
{
|
||||
world.incStatus();
|
||||
ThreadPoolManager.getInstance().scheduleGeneral(new spawnRaid(world), RAID_SPAWN_DELAY);
|
||||
((FAUWorld) tmpworld).incStatus();
|
||||
ThreadPoolManager.getInstance().scheduleGeneral(new spawnRaid((FAUWorld) tmpworld), RAID_SPAWN_DELAY);
|
||||
}
|
||||
}
|
||||
return null;
|
||||
@@ -413,7 +411,7 @@ public final class Q00511_AwlUnderFoot extends Quest
|
||||
{
|
||||
return ret;
|
||||
}
|
||||
else if (qs != null)
|
||||
if (qs != null)
|
||||
{
|
||||
final int npcId = npc.getId();
|
||||
int cond = 0;
|
||||
|
||||
@@ -86,42 +86,44 @@ public class Q00551_OlympiadStarter extends Quest
|
||||
@Override
|
||||
public void onOlympiadLose(L2PcInstance loser, CompetitionType type)
|
||||
{
|
||||
if (loser != null)
|
||||
if (loser == null)
|
||||
{
|
||||
final QuestState qs = getQuestState(loser, false);
|
||||
if ((qs != null) && qs.isStarted())
|
||||
return;
|
||||
}
|
||||
final QuestState qs = getQuestState(loser, false);
|
||||
if ((qs == null) || !qs.isStarted())
|
||||
{
|
||||
return;
|
||||
}
|
||||
final int matches = qs.getInt("matches") + 1;
|
||||
switch (matches)
|
||||
{
|
||||
case 3:
|
||||
{
|
||||
final int matches = qs.getInt("matches") + 1;
|
||||
switch (matches)
|
||||
if (!hasQuestItems(loser, CERT_3))
|
||||
{
|
||||
case 3:
|
||||
{
|
||||
if (!hasQuestItems(loser, CERT_3))
|
||||
{
|
||||
giveItems(loser, CERT_3, 1);
|
||||
}
|
||||
break;
|
||||
}
|
||||
case 5:
|
||||
{
|
||||
if (!hasQuestItems(loser, CERT_5))
|
||||
{
|
||||
giveItems(loser, CERT_5, 1);
|
||||
}
|
||||
break;
|
||||
}
|
||||
case 10:
|
||||
{
|
||||
if (!hasQuestItems(loser, CERT_10))
|
||||
{
|
||||
giveItems(loser, CERT_10, 1);
|
||||
}
|
||||
break;
|
||||
}
|
||||
giveItems(loser, CERT_3, 1);
|
||||
}
|
||||
qs.set("matches", String.valueOf(matches));
|
||||
break;
|
||||
}
|
||||
case 5:
|
||||
{
|
||||
if (!hasQuestItems(loser, CERT_5))
|
||||
{
|
||||
giveItems(loser, CERT_5, 1);
|
||||
}
|
||||
break;
|
||||
}
|
||||
case 10:
|
||||
{
|
||||
if (!hasQuestItems(loser, CERT_10))
|
||||
{
|
||||
giveItems(loser, CERT_10, 1);
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
qs.set("matches", String.valueOf(matches));
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -169,47 +171,49 @@ public class Q00551_OlympiadStarter extends Quest
|
||||
}
|
||||
}
|
||||
|
||||
if (looser != null)
|
||||
if (looser == null)
|
||||
{
|
||||
final L2PcInstance player = looser.getPlayer();
|
||||
if (player == null)
|
||||
return;
|
||||
}
|
||||
final L2PcInstance player = looser.getPlayer();
|
||||
if (player == null)
|
||||
{
|
||||
return;
|
||||
}
|
||||
final QuestState qs = getQuestState(player, false);
|
||||
if ((qs == null) || !qs.isStarted())
|
||||
{
|
||||
return;
|
||||
}
|
||||
final int matches = qs.getInt("matches") + 1;
|
||||
switch (matches)
|
||||
{
|
||||
case 3:
|
||||
{
|
||||
return;
|
||||
}
|
||||
final QuestState qs = getQuestState(player, false);
|
||||
if ((qs != null) && qs.isStarted())
|
||||
{
|
||||
final int matches = qs.getInt("matches") + 1;
|
||||
switch (matches)
|
||||
if (!hasQuestItems(player, CERT_3))
|
||||
{
|
||||
case 3:
|
||||
{
|
||||
if (!hasQuestItems(player, CERT_3))
|
||||
{
|
||||
giveItems(player, CERT_3, 1);
|
||||
}
|
||||
break;
|
||||
}
|
||||
case 5:
|
||||
{
|
||||
if (!hasQuestItems(player, CERT_5))
|
||||
{
|
||||
giveItems(player, CERT_5, 1);
|
||||
}
|
||||
break;
|
||||
}
|
||||
case 10:
|
||||
{
|
||||
if (!hasQuestItems(player, CERT_10))
|
||||
{
|
||||
giveItems(player, CERT_10, 1);
|
||||
}
|
||||
break;
|
||||
}
|
||||
giveItems(player, CERT_3, 1);
|
||||
}
|
||||
qs.set("matches", String.valueOf(matches));
|
||||
break;
|
||||
}
|
||||
case 5:
|
||||
{
|
||||
if (!hasQuestItems(player, CERT_5))
|
||||
{
|
||||
giveItems(player, CERT_5, 1);
|
||||
}
|
||||
break;
|
||||
}
|
||||
case 10:
|
||||
{
|
||||
if (!hasQuestItems(player, CERT_10))
|
||||
{
|
||||
giveItems(player, CERT_10, 1);
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
qs.set("matches", String.valueOf(matches));
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -130,50 +130,52 @@ public class Q00552_OlympiadVeteran extends Quest
|
||||
}
|
||||
}
|
||||
|
||||
if (looser != null)
|
||||
if (looser == null)
|
||||
{
|
||||
final L2PcInstance player = looser.getPlayer();
|
||||
if (player == null)
|
||||
return;
|
||||
}
|
||||
final L2PcInstance player = looser.getPlayer();
|
||||
if (player == null)
|
||||
{
|
||||
return;
|
||||
}
|
||||
final QuestState qs = getQuestState(player, false);
|
||||
if ((qs == null) || !qs.isStarted())
|
||||
{
|
||||
return;
|
||||
}
|
||||
int matches;
|
||||
switch (type)
|
||||
{
|
||||
case CLASSED:
|
||||
{
|
||||
return;
|
||||
}
|
||||
final QuestState qs = getQuestState(player, false);
|
||||
if ((qs != null) && qs.isStarted())
|
||||
{
|
||||
int matches;
|
||||
switch (type)
|
||||
matches = qs.getInt("classed") + 1;
|
||||
qs.set("classed", String.valueOf(matches));
|
||||
if (matches == 5)
|
||||
{
|
||||
case CLASSED:
|
||||
{
|
||||
matches = qs.getInt("classed") + 1;
|
||||
qs.set("classed", String.valueOf(matches));
|
||||
if (matches == 5)
|
||||
{
|
||||
giveItems(player, CLASS_BATTLE_CERTIFICATE, 1);
|
||||
}
|
||||
break;
|
||||
}
|
||||
case NON_CLASSED:
|
||||
{
|
||||
matches = qs.getInt("nonclassed") + 1;
|
||||
qs.set("nonclassed", String.valueOf(matches));
|
||||
if (matches == 5)
|
||||
{
|
||||
giveItems(player, CLASS_FREE_BATTLE_CERTIFICATE, 1);
|
||||
}
|
||||
break;
|
||||
}
|
||||
case TEAMS:
|
||||
{
|
||||
matches = qs.getInt("teams") + 1;
|
||||
qs.set("teams", String.valueOf(matches));
|
||||
if (matches == 5)
|
||||
{
|
||||
giveItems(player, TEAM_EVENT_CERTIFICATE, 1);
|
||||
}
|
||||
break;
|
||||
}
|
||||
giveItems(player, CLASS_BATTLE_CERTIFICATE, 1);
|
||||
}
|
||||
break;
|
||||
}
|
||||
case NON_CLASSED:
|
||||
{
|
||||
matches = qs.getInt("nonclassed") + 1;
|
||||
qs.set("nonclassed", String.valueOf(matches));
|
||||
if (matches == 5)
|
||||
{
|
||||
giveItems(player, CLASS_FREE_BATTLE_CERTIFICATE, 1);
|
||||
}
|
||||
break;
|
||||
}
|
||||
case TEAMS:
|
||||
{
|
||||
matches = qs.getInt("teams") + 1;
|
||||
qs.set("teams", String.valueOf(matches));
|
||||
if (matches == 5)
|
||||
{
|
||||
giveItems(player, TEAM_EVENT_CERTIFICATE, 1);
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -205,12 +205,9 @@ public final class Q00603_DaimonTheWhiteEyedPart1 extends Quest
|
||||
public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
|
||||
{
|
||||
final QuestState qs = getRandomPartyMemberState(killer, 7, 3, npc);
|
||||
if (qs != null)
|
||||
if ((qs != null) && giveItemRandomly(qs.getPlayer(), npc, SPIRIT_OF_DARKNESS, 1, 200, MONSTER_CHANCES.get(npc.getId()), true))
|
||||
{
|
||||
if (giveItemRandomly(qs.getPlayer(), npc, SPIRIT_OF_DARKNESS, 1, 200, MONSTER_CHANCES.get(npc.getId()), true))
|
||||
{
|
||||
qs.setCond(8, true);
|
||||
}
|
||||
qs.setCond(8, true);
|
||||
}
|
||||
return super.onKill(npc, killer, isSummon);
|
||||
}
|
||||
|
||||
@@ -170,12 +170,9 @@ public final class Q00623_TheFinestFood extends Quest
|
||||
{
|
||||
final QuestState qs = getRandomPartyMemberState(killer, 1, 3, npc);
|
||||
final ItemHolder holder = MONSTER_DROPS.get(npc.getId());
|
||||
if ((qs != null) && giveItemRandomly(qs.getPlayer(), npc, holder.getId(), 1, holder.getCount(), 1, true))
|
||||
if ((qs != null) && giveItemRandomly(qs.getPlayer(), npc, holder.getId(), 1, holder.getCount(), 1, true) && hasAllItems(qs.getPlayer(), true, BUFFALO_MEAT, HORN_OF_ANTELOPE, LEAF_OF_FLAVA))
|
||||
{
|
||||
if (hasAllItems(qs.getPlayer(), true, BUFFALO_MEAT, HORN_OF_ANTELOPE, LEAF_OF_FLAVA))
|
||||
{
|
||||
qs.setCond(2);
|
||||
}
|
||||
qs.setCond(2);
|
||||
}
|
||||
return super.onKill(npc, killer, isSummon);
|
||||
}
|
||||
|
||||
@@ -265,13 +265,10 @@ public final class Q00625_TheFinestIngredientsPart2 extends Quest
|
||||
public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
|
||||
{
|
||||
final QuestState qs = getRandomPartyMemberState(killer, 1, 2, npc);
|
||||
if ((qs != null) && Util.checkIfInRange(1500, npc, killer, true))
|
||||
if ((qs != null) && Util.checkIfInRange(1500, npc, killer, true) && (npc.getSummoner() == killer))
|
||||
{
|
||||
if (npc.getSummoner() == killer)
|
||||
{
|
||||
qs.setCond(3, true);
|
||||
giveItems(qs.getPlayer(), SPECIAL_YETI_MEAT);
|
||||
}
|
||||
qs.setCond(3, true);
|
||||
giveItems(qs.getPlayer(), SPECIAL_YETI_MEAT);
|
||||
}
|
||||
return super.onKill(npc, killer, isSummon);
|
||||
}
|
||||
|
||||
@@ -182,12 +182,9 @@ public class Q00631_DeliciousTopChoiceMeat extends Quest
|
||||
public String onKill(L2Npc npc, L2PcInstance player, boolean isSummon)
|
||||
{
|
||||
final QuestState qs = getRandomPartyMemberState(player, 1, 3, npc);
|
||||
if (qs != null)
|
||||
if ((qs != null) && giveItemRandomly(qs.getPlayer(), npc, PRIME_MEAT, 1, PRIME_MEAT_COUNT, MOBS_MEAT.get(npc.getId()), true))
|
||||
{
|
||||
if (giveItemRandomly(qs.getPlayer(), npc, PRIME_MEAT, 1, PRIME_MEAT_COUNT, MOBS_MEAT.get(npc.getId()), true))
|
||||
{
|
||||
qs.setCond(2, true);
|
||||
}
|
||||
qs.setCond(2, true);
|
||||
}
|
||||
return super.onKill(npc, player, isSummon);
|
||||
}
|
||||
@@ -215,12 +212,9 @@ public class Q00631_DeliciousTopChoiceMeat extends Quest
|
||||
htmltext = "31537-04.html";
|
||||
}
|
||||
}
|
||||
else if (qs.isCond(2))
|
||||
else if (qs.isCond(2) && (getQuestItemsCount(player, PRIME_MEAT) >= PRIME_MEAT_COUNT))
|
||||
{
|
||||
if (getQuestItemsCount(player, PRIME_MEAT) >= PRIME_MEAT_COUNT)
|
||||
{
|
||||
htmltext = "31537-05.html";
|
||||
}
|
||||
htmltext = "31537-05.html";
|
||||
}
|
||||
}
|
||||
return htmltext;
|
||||
|
||||
@@ -204,24 +204,16 @@ public class Q00643_RiseAndFallOfTheElrokiTribe extends Quest
|
||||
playSound(partyMember, QuestSound.ITEMSOUND_QUEST_ITEMGET);
|
||||
}
|
||||
|
||||
if (Util.contains(MOBS2, npcId))
|
||||
if (Util.contains(MOBS2, npcId) && (getRandom(1000) < (CHANCE_MOBS2 * Config.RATE_QUEST_DROP)))
|
||||
{
|
||||
final float chance = (CHANCE_MOBS2 * Config.RATE_QUEST_DROP);
|
||||
if (getRandom(1000) < chance)
|
||||
{
|
||||
rewardItems(partyMember, BONES_OF_A_PLAINS_DINOSAUR, 1);
|
||||
playSound(partyMember, QuestSound.ITEMSOUND_QUEST_ITEMGET);
|
||||
}
|
||||
rewardItems(partyMember, BONES_OF_A_PLAINS_DINOSAUR, 1);
|
||||
playSound(partyMember, QuestSound.ITEMSOUND_QUEST_ITEMGET);
|
||||
}
|
||||
|
||||
if (npcId == DEINONYCHUS)
|
||||
if ((npcId == DEINONYCHUS) && (getRandom(1000) < (CHANCE_DEINO * Config.RATE_QUEST_DROP)))
|
||||
{
|
||||
final float chance = (CHANCE_DEINO * Config.RATE_QUEST_DROP);
|
||||
if (getRandom(1000) < chance)
|
||||
{
|
||||
rewardItems(partyMember, BONES_OF_A_PLAINS_DINOSAUR, 1);
|
||||
playSound(partyMember, QuestSound.ITEMSOUND_QUEST_ITEMGET);
|
||||
}
|
||||
rewardItems(partyMember, BONES_OF_A_PLAINS_DINOSAUR, 1);
|
||||
playSound(partyMember, QuestSound.ITEMSOUND_QUEST_ITEMGET);
|
||||
}
|
||||
return super.onKill(npc, player, isSummon);
|
||||
}
|
||||
|
||||
@@ -98,20 +98,17 @@ public class Q00645_GhostsOfBatur extends Quest
|
||||
public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
|
||||
{
|
||||
final L2PcInstance player = getRandomPartyMember(killer, 1);
|
||||
if ((player != null) && Util.checkIfInRange(1500, npc, player, false))
|
||||
if ((player != null) && Util.checkIfInRange(1500, npc, player, false) && (getRandom(1000) < CHANCES[npc.getId() - CONTAMINATED_MOREK_WARRIOR]))
|
||||
{
|
||||
if (getRandom(1000) < CHANCES[npc.getId() - CONTAMINATED_MOREK_WARRIOR])
|
||||
final QuestState qs = getQuestState(player, false);
|
||||
giveItems(killer, CURSED_BURIAL_ITEMS, 1);
|
||||
if (qs.isCond(1) && (getQuestItemsCount(killer, CURSED_BURIAL_ITEMS) >= 500))
|
||||
{
|
||||
final QuestState qs = getQuestState(player, false);
|
||||
giveItems(killer, CURSED_BURIAL_ITEMS, 1);
|
||||
if (qs.isCond(1) && (getQuestItemsCount(killer, CURSED_BURIAL_ITEMS) >= 500))
|
||||
{
|
||||
qs.setCond(2, true);
|
||||
}
|
||||
else
|
||||
{
|
||||
playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET);
|
||||
}
|
||||
qs.setCond(2, true);
|
||||
}
|
||||
else
|
||||
{
|
||||
playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET);
|
||||
}
|
||||
}
|
||||
return super.onKill(npc, killer, isSummon);
|
||||
|
||||
@@ -72,14 +72,10 @@ public final class Q00655_AGrandPlanForTamingWildBeasts extends Quest
|
||||
{
|
||||
case "35627-06.html":
|
||||
{
|
||||
if (qs.isCreated())
|
||||
if (qs.isCreated() && (clan != null) && (clan.getLevel() >= REQUIRED_CLAN_LEVEL) && (clan.getFortId() == 0) && player.isClanLeader() && (minutesToSiege > 0) && (minutesToSiege < MINUTES_TO_SIEGE))
|
||||
{
|
||||
if ((clan != null) && (clan.getLevel() >= REQUIRED_CLAN_LEVEL) && (clan.getFortId() == 0) //
|
||||
&& player.isClanLeader() && (minutesToSiege > 0) && (minutesToSiege < MINUTES_TO_SIEGE))
|
||||
{
|
||||
qs.startQuest();
|
||||
htmltext = event;
|
||||
}
|
||||
qs.startQuest();
|
||||
htmltext = event;
|
||||
}
|
||||
break;
|
||||
}
|
||||
@@ -198,12 +194,7 @@ public final class Q00655_AGrandPlanForTamingWildBeasts extends Quest
|
||||
private static String getSiegeDate()
|
||||
{
|
||||
final SiegableHall hall = CHSiegeManager.getInstance().getSiegableHall(ClanHallSiegeEngine.BEAST_FARM);
|
||||
if (hall != null)
|
||||
{
|
||||
final SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
||||
return sdf.format(hall.getSiegeDate());
|
||||
}
|
||||
return "Error in date.";
|
||||
return hall != null ? new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(hall.getSiegeDate()) : "Error in date.";
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -213,11 +204,7 @@ public final class Q00655_AGrandPlanForTamingWildBeasts extends Quest
|
||||
private static long getMinutesToSiege()
|
||||
{
|
||||
final SiegableHall hall = CHSiegeManager.getInstance().getSiegableHall(ClanHallSiegeEngine.BEAST_FARM);
|
||||
if (hall != null)
|
||||
{
|
||||
return (hall.getNextSiegeTime() - Calendar.getInstance().getTimeInMillis()) / 3600;
|
||||
}
|
||||
return -1;
|
||||
return hall != null ? (hall.getNextSiegeTime() - Calendar.getInstance().getTimeInMillis()) / 3600 : -1;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -232,23 +219,19 @@ public final class Q00655_AGrandPlanForTamingWildBeasts extends Quest
|
||||
if (clanLeader != null)
|
||||
{
|
||||
final QuestState qs655 = clanLeader.getQuestState(Q00655_AGrandPlanForTamingWildBeasts.class.getSimpleName());
|
||||
if (qs655 != null)
|
||||
if ((qs655 != null) && (getQuestItemsCount(clanLeader, CRYSTAL_OF_PURITY) < REQUIRED_CRYSTAL_COUNT) && Util.checkIfInRange(2000, clanLeader, npc, true))
|
||||
{
|
||||
if ((getQuestItemsCount(clanLeader, CRYSTAL_OF_PURITY) < REQUIRED_CRYSTAL_COUNT) && Util.checkIfInRange(2000, clanLeader, npc, true))
|
||||
if (clanLeader.getLevel() >= REQUIRED_CLAN_LEVEL)
|
||||
{
|
||||
if (clanLeader.getLevel() >= REQUIRED_CLAN_LEVEL)
|
||||
{
|
||||
giveItems(clanLeader, CRYSTAL_OF_PURITY, 1);
|
||||
}
|
||||
|
||||
if (getQuestItemsCount(clanLeader, CRYSTAL_OF_PURITY) >= 9)
|
||||
{
|
||||
qs655.setCond(2, true);
|
||||
}
|
||||
else
|
||||
{
|
||||
playSound(clanLeader, QuestSound.ITEMSOUND_QUEST_ITEMGET);
|
||||
}
|
||||
giveItems(clanLeader, CRYSTAL_OF_PURITY, 1);
|
||||
}
|
||||
if (getQuestItemsCount(clanLeader, CRYSTAL_OF_PURITY) >= 9)
|
||||
{
|
||||
qs655.setCond(2, true);
|
||||
}
|
||||
else
|
||||
{
|
||||
playSound(clanLeader, QuestSound.ITEMSOUND_QUEST_ITEMGET);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -356,133 +356,82 @@ public final class Q00662_AGameOfCards extends Quest
|
||||
{
|
||||
if ((i8 % 16) < 8)
|
||||
{
|
||||
if ((i8 % 8) < 4)
|
||||
if (((i8 % 8) < 4) && (i2 == i3))
|
||||
{
|
||||
if (i2 == i3)
|
||||
{
|
||||
i6 = i6 + 10;
|
||||
i8 = i8 + 4;
|
||||
}
|
||||
i6 = i6 + 10;
|
||||
i8 = i8 + 4;
|
||||
}
|
||||
if ((i8 % 4) < 2)
|
||||
if (((i8 % 4) < 2) && (i2 == i4))
|
||||
{
|
||||
if (i2 == i4)
|
||||
{
|
||||
i6 = i6 + 10;
|
||||
i8 = i8 + 2;
|
||||
}
|
||||
i6 = i6 + 10;
|
||||
i8 = i8 + 2;
|
||||
}
|
||||
if ((i8 % 2) < 1)
|
||||
if (((i8 % 2) < 1) && (i2 == i5))
|
||||
{
|
||||
if (i2 == i5)
|
||||
{
|
||||
i6 = i6 + 10;
|
||||
i8 = i8 + 1;
|
||||
}
|
||||
i6 = i6 + 10;
|
||||
i8 = i8 + 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
else if ((i6 % 10) == 0)
|
||||
else if (((i6 % 10) == 0) && ((i8 % 16) < 8))
|
||||
{
|
||||
if ((i8 % 16) < 8)
|
||||
if (((i8 % 8) < 4) && (i2 == i3))
|
||||
{
|
||||
if ((i8 % 8) < 4)
|
||||
{
|
||||
if (i2 == i3)
|
||||
{
|
||||
i6 = i6 + 1;
|
||||
i8 = i8 + 4;
|
||||
}
|
||||
}
|
||||
if ((i8 % 4) < 2)
|
||||
{
|
||||
if (i2 == i4)
|
||||
{
|
||||
i6 = i6 + 1;
|
||||
i8 = i8 + 2;
|
||||
}
|
||||
}
|
||||
if ((i8 % 2) < 1)
|
||||
{
|
||||
if (i2 == i5)
|
||||
{
|
||||
i6 = i6 + 1;
|
||||
i8 = i8 + 1;
|
||||
}
|
||||
}
|
||||
i6 = i6 + 1;
|
||||
i8 = i8 + 4;
|
||||
}
|
||||
if (((i8 % 4) < 2) && (i2 == i4))
|
||||
{
|
||||
i6 = i6 + 1;
|
||||
i8 = i8 + 2;
|
||||
}
|
||||
if (((i8 % 2) < 1) && (i2 == i5))
|
||||
{
|
||||
i6 = i6 + 1;
|
||||
i8 = i8 + 1;
|
||||
}
|
||||
}
|
||||
if ((i6 % 100) < 10)
|
||||
{
|
||||
if ((i8 % 8) < 4)
|
||||
{
|
||||
if ((i8 % 4) < 2)
|
||||
if (((i8 % 4) < 2) && (i3 == i4))
|
||||
{
|
||||
if (i3 == i4)
|
||||
{
|
||||
i6 = i6 + 10;
|
||||
i8 = i8 + 2;
|
||||
}
|
||||
i6 = i6 + 10;
|
||||
i8 = i8 + 2;
|
||||
}
|
||||
if ((i8 % 2) < 1)
|
||||
if (((i8 % 2) < 1) && (i3 == i5))
|
||||
{
|
||||
if (i3 == i5)
|
||||
{
|
||||
i6 = i6 + 10;
|
||||
i8 = i8 + 1;
|
||||
}
|
||||
i6 = i6 + 10;
|
||||
i8 = i8 + 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
else if ((i6 % 10) == 0)
|
||||
else if (((i6 % 10) == 0) && ((i8 % 8) < 4))
|
||||
{
|
||||
if ((i8 % 8) < 4)
|
||||
if (((i8 % 4) < 2) && (i3 == i4))
|
||||
{
|
||||
if ((i8 % 4) < 2)
|
||||
{
|
||||
if (i3 == i4)
|
||||
{
|
||||
i6 = i6 + 1;
|
||||
i8 = i8 + 2;
|
||||
}
|
||||
}
|
||||
if ((i8 % 2) < 1)
|
||||
{
|
||||
if (i3 == i5)
|
||||
{
|
||||
i6 = i6 + 1;
|
||||
i8 = i8 + 1;
|
||||
}
|
||||
}
|
||||
i6 = i6 + 1;
|
||||
i8 = i8 + 2;
|
||||
}
|
||||
if (((i8 % 2) < 1) && (i3 == i5))
|
||||
{
|
||||
i6 = i6 + 1;
|
||||
i8 = i8 + 1;
|
||||
}
|
||||
}
|
||||
if ((i6 % 100) < 10)
|
||||
{
|
||||
if ((i8 % 4) < 2)
|
||||
if (((i8 % 4) < 2) && ((i8 % 2) < 1) && (i4 == i5))
|
||||
{
|
||||
if ((i8 % 2) < 1)
|
||||
{
|
||||
if (i4 == i5)
|
||||
{
|
||||
i6 = i6 + 10;
|
||||
i8 = i8 + 1;
|
||||
}
|
||||
}
|
||||
i6 = i6 + 10;
|
||||
i8 = i8 + 1;
|
||||
}
|
||||
}
|
||||
else if ((i6 % 10) == 0)
|
||||
else if (((i6 % 10) == 0) && ((i8 % 4) < 2) && ((i8 % 2) < 1) && (i4 == i5))
|
||||
{
|
||||
if ((i8 % 4) < 2)
|
||||
{
|
||||
if ((i8 % 2) < 1)
|
||||
{
|
||||
if (i4 == i5)
|
||||
{
|
||||
i6 = i6 + 1;
|
||||
i8 = i8 + 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
i6 = i6 + 1;
|
||||
i8 = i8 + 1;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -723,15 +672,12 @@ public final class Q00662_AGameOfCards extends Quest
|
||||
}
|
||||
|
||||
final L2PcInstance player = players.get(Rnd.get(players.size()));
|
||||
if ((player != null) && Util.checkIfInRange(1500, npc, player, false))
|
||||
if ((player != null) && Util.checkIfInRange(1500, npc, player, false) && (MONSTERS.get(npc.getId()) < getRandom(1000)))
|
||||
{
|
||||
if (MONSTERS.get(npc.getId()) < getRandom(1000))
|
||||
final QuestState qs = getQuestState(player, false);
|
||||
if (qs != null)
|
||||
{
|
||||
final QuestState qs = getQuestState(player, false);
|
||||
if (qs != null)
|
||||
{
|
||||
giveItemRandomly(qs.getPlayer(), npc, RED_GEM, 1, 0, MONSTERS.get(npc.getId()), true);
|
||||
}
|
||||
giveItemRandomly(qs.getPlayer(), npc, RED_GEM, 1, 0, MONSTERS.get(npc.getId()), true);
|
||||
}
|
||||
}
|
||||
return super.onKill(npc, killer, isSummon);
|
||||
|
||||
@@ -121,12 +121,9 @@ public class Q00755_InNeedOfPetras extends Quest
|
||||
public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
|
||||
{
|
||||
final QuestState qs = getQuestState(killer, false);
|
||||
if ((qs != null) && qs.isCond(1) && qs.isStarted())
|
||||
if ((qs != null) && qs.isCond(1) && qs.isStarted() && giveItemRandomly(killer, npc, PETRA, 1, 50, 0.75, true))
|
||||
{
|
||||
if (giveItemRandomly(killer, npc, PETRA, 1, 50, 0.75, true))
|
||||
{
|
||||
qs.setCond(2);
|
||||
}
|
||||
qs.setCond(2);
|
||||
}
|
||||
return super.onKill(npc, killer, isSummon);
|
||||
}
|
||||
|
||||
@@ -264,8 +264,7 @@ public final class Q10285_MeetingSirra extends Quest
|
||||
{
|
||||
if (qs.isMemoState(1))
|
||||
{
|
||||
final int state = qs.getInt("ex");
|
||||
switch (state)
|
||||
switch (qs.getInt("ex"))
|
||||
{
|
||||
case 0:
|
||||
{
|
||||
@@ -305,8 +304,7 @@ public final class Q10285_MeetingSirra extends Quest
|
||||
{
|
||||
if (qs.isMemoState(1))
|
||||
{
|
||||
final int state = qs.getInt("ex");
|
||||
switch (state)
|
||||
switch (qs.getInt("ex"))
|
||||
{
|
||||
case 1:
|
||||
{
|
||||
|
||||
@@ -201,8 +201,7 @@ public final class Q10286_ReunionWithSirra extends Quest
|
||||
{
|
||||
if (qs.isMemoState(1))
|
||||
{
|
||||
final int state = qs.getInt("ex");
|
||||
switch (state)
|
||||
switch (qs.getInt("ex"))
|
||||
{
|
||||
case 0:
|
||||
{
|
||||
|
||||
@@ -285,14 +285,7 @@ public final class Q10292_SevenSignsGirlOfDoubt extends Quest
|
||||
}
|
||||
case 5:
|
||||
{
|
||||
if (isBusy)
|
||||
{
|
||||
htmltext = "32784-17.html";
|
||||
}
|
||||
else
|
||||
{
|
||||
htmltext = "32784-07.html";
|
||||
}
|
||||
htmltext = isBusy ? "32784-17.html" : "32784-07.html";
|
||||
break;
|
||||
}
|
||||
case 6:
|
||||
|
||||
@@ -314,12 +314,9 @@ public final class Q10294_SevenSignsToTheMonasteryOfSilence extends Quest
|
||||
qs = player.getQuestState(Q10293_SevenSignsForbiddenBookOfTheElmoreAdenKingdom.class.getSimpleName());
|
||||
htmltext = ((player.getLevel() >= MIN_LEVEL) && (qs != null) && (qs.isCompleted())) ? "32784-01.htm" : "32784-07.htm";
|
||||
}
|
||||
else if (qs.isStarted())
|
||||
else if (qs.isStarted() && qs.isCond(1))
|
||||
{
|
||||
if (qs.isCond(1))
|
||||
{
|
||||
htmltext = "32784-06.html";
|
||||
}
|
||||
htmltext = "32784-06.html";
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -196,23 +196,17 @@ public final class Q10296_SevenSignsPowerOfTheSeal extends Quest
|
||||
}
|
||||
case Wood:
|
||||
{
|
||||
if (qs.isStarted())
|
||||
if (qs.isStarted() && qs.isCond(5))
|
||||
{
|
||||
if (qs.isCond(5))
|
||||
{
|
||||
htmltext = "32593-01.html";
|
||||
}
|
||||
htmltext = "32593-01.html";
|
||||
}
|
||||
break;
|
||||
}
|
||||
case Franz:
|
||||
{
|
||||
if (qs.isStarted())
|
||||
if (qs.isStarted() && qs.isCond(5))
|
||||
{
|
||||
if (qs.isCond(5))
|
||||
{
|
||||
htmltext = "32597-01.html";
|
||||
}
|
||||
htmltext = "32597-01.html";
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -95,7 +95,6 @@ public class Q10326_RespectYourElders extends Quest
|
||||
addExpAndSp(player, 6700, 5);
|
||||
qs.exitQuest(false, true);
|
||||
htmltext = event;
|
||||
break;
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -81,7 +81,6 @@ public final class Q10328_RequestToSealTheEvilFragment extends Quest
|
||||
addExpAndSp(player, 13000, 5);
|
||||
qs.exitQuest(false, true);
|
||||
htmltext = event;
|
||||
break;
|
||||
}
|
||||
break;
|
||||
}
|
||||
@@ -102,7 +101,6 @@ public final class Q10328_RequestToSealTheEvilFragment extends Quest
|
||||
if (npc.getId() == PANTHEON)
|
||||
{
|
||||
htmltext = "32972-01.htm";
|
||||
break;
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -125,7 +125,6 @@ public class Q10329_BackupSeekers extends Quest
|
||||
addExpAndSp(player, 16900, 5);
|
||||
qs.exitQuest(false, true);
|
||||
htmltext = event;
|
||||
break;
|
||||
}
|
||||
break;
|
||||
}
|
||||
@@ -200,7 +199,6 @@ public class Q10329_BackupSeekers extends Quest
|
||||
npc.getVariables().set("MOVE_INDEX", 0);
|
||||
npc.broadcastPacket(new NpcSay(npc.getObjectId(), ChatType.NPC_GENERAL, npc.getId(), NpcStringId.YOU_MUST_BE_THE_ONE_KAKAI_TALKED_ABOUT));
|
||||
npc.broadcastPacket(new NpcSay(npc.getObjectId(), ChatType.NPC_GENERAL, npc.getId(), NpcStringId.YOU_SHOULD_RIDE_KUKURI_TO_GO_TO_YE_SAGIRA));
|
||||
break;
|
||||
}
|
||||
else if (qs.isMemoState(2))
|
||||
{
|
||||
@@ -211,7 +209,6 @@ public class Q10329_BackupSeekers extends Quest
|
||||
npc.getVariables().set("MOVE_INDEX", 0);
|
||||
npc.broadcastPacket(new NpcSay(npc.getObjectId(), ChatType.NPC_GENERAL, npc.getId(), NpcStringId.OPEN_YOUR_MAP_WHEN_YOU_ARRIVE_AT_YE_SAGIRA));
|
||||
npc.broadcastPacket(new NpcSay(npc.getObjectId(), ChatType.NPC_GENERAL, npc.getId(), NpcStringId.IT_S_HARD_TO_TELL_WHERE_YOU_ARE_AT_WITHOUT_A_MAP_IN_YE_SAGIRA));
|
||||
break;
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -89,7 +89,6 @@ public class Q10330_ToTheRuinsOfYeSagira extends Quest
|
||||
addExpAndSp(player, 23000, 5);
|
||||
qs.exitQuest(false, true);
|
||||
htmltext = event;
|
||||
break;
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -340,14 +340,7 @@ public class Q10331_StartOfFate extends Quest
|
||||
}
|
||||
case 6:
|
||||
{
|
||||
if (player.isMageClass())
|
||||
{
|
||||
htmltext = "32153-05.html";
|
||||
}
|
||||
else
|
||||
{
|
||||
htmltext = "32153-06.html";
|
||||
}
|
||||
htmltext = player.isMageClass() ? "32153-05.html" : "32153-06.html";
|
||||
break;
|
||||
}
|
||||
case 7:
|
||||
@@ -373,14 +366,7 @@ public class Q10331_StartOfFate extends Quest
|
||||
}
|
||||
case 7:
|
||||
{
|
||||
if (player.isMageClass())
|
||||
{
|
||||
htmltext = "32147-05.html";
|
||||
}
|
||||
else
|
||||
{
|
||||
htmltext = "32147-06.html";
|
||||
}
|
||||
htmltext = player.isMageClass() ? "32147-05.html" : "32147-06.html";
|
||||
break;
|
||||
}
|
||||
case 6:
|
||||
@@ -406,14 +392,7 @@ public class Q10331_StartOfFate extends Quest
|
||||
}
|
||||
case 8:
|
||||
{
|
||||
if (player.isMageClass())
|
||||
{
|
||||
htmltext = "32160-05.html";
|
||||
}
|
||||
else
|
||||
{
|
||||
htmltext = "32160-06.html";
|
||||
}
|
||||
htmltext = player.isMageClass() ? "32160-05.html" : "32160-06.html";
|
||||
break;
|
||||
}
|
||||
case 6:
|
||||
@@ -439,14 +418,7 @@ public class Q10331_StartOfFate extends Quest
|
||||
}
|
||||
case 9:
|
||||
{
|
||||
if (player.getClassId().getId() == 49)
|
||||
{
|
||||
htmltext = "32150-05.html";
|
||||
}
|
||||
else
|
||||
{
|
||||
htmltext = "32150-06.html";
|
||||
}
|
||||
htmltext = player.getClassId().getId() == 49 ? "32150-05.html" : "32150-06.html";
|
||||
break;
|
||||
}
|
||||
case 6:
|
||||
@@ -498,14 +470,7 @@ public class Q10331_StartOfFate extends Quest
|
||||
}
|
||||
case 11:
|
||||
{
|
||||
if (player.getAppearance().getSex())
|
||||
{
|
||||
htmltext = "32146-05.html";
|
||||
}
|
||||
else
|
||||
{
|
||||
htmltext = "32146-06.html";
|
||||
}
|
||||
htmltext = player.getAppearance().getSex() ? "32146-05.html" : "32146-06.html";
|
||||
break;
|
||||
}
|
||||
case 6:
|
||||
@@ -630,14 +595,7 @@ public class Q10331_StartOfFate extends Quest
|
||||
{
|
||||
if (player.getRace() == Race.HUMAN)
|
||||
{
|
||||
if (player.getLevel() >= MIN_LEVEL)
|
||||
{
|
||||
htmltext = "32153-01.htm";
|
||||
}
|
||||
else
|
||||
{
|
||||
htmltext = "32153-12.htm";
|
||||
}
|
||||
htmltext = player.getLevel() >= MIN_LEVEL ? "32153-01.htm" : "32153-12.htm";
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -652,14 +610,7 @@ public class Q10331_StartOfFate extends Quest
|
||||
{
|
||||
if (player.getRace() == Race.ELF)
|
||||
{
|
||||
if (player.getLevel() >= MIN_LEVEL)
|
||||
{
|
||||
htmltext = "32147-01.html";
|
||||
}
|
||||
else
|
||||
{
|
||||
htmltext = "32147-11.html";
|
||||
}
|
||||
htmltext = player.getLevel() >= MIN_LEVEL ? "32147-01.html" : "32147-11.html";
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -674,14 +625,7 @@ public class Q10331_StartOfFate extends Quest
|
||||
{
|
||||
if (player.getRace() == Race.DARK_ELF)
|
||||
{
|
||||
if (player.getLevel() >= MIN_LEVEL)
|
||||
{
|
||||
htmltext = "32160-01.html";
|
||||
}
|
||||
else
|
||||
{
|
||||
htmltext = "32160-11.html";
|
||||
}
|
||||
htmltext = player.getLevel() >= MIN_LEVEL ? "32160-01.html" : "32160-11.html";
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -696,14 +640,7 @@ public class Q10331_StartOfFate extends Quest
|
||||
{
|
||||
if (player.getRace() == Race.ORC)
|
||||
{
|
||||
if (player.getLevel() >= MIN_LEVEL)
|
||||
{
|
||||
htmltext = "32150-01.html";
|
||||
}
|
||||
else
|
||||
{
|
||||
htmltext = "32150-10.html";
|
||||
}
|
||||
htmltext = player.getLevel() >= MIN_LEVEL ? "32150-01.html" : "32150-10.html";
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -718,14 +655,7 @@ public class Q10331_StartOfFate extends Quest
|
||||
{
|
||||
if (player.getRace() == Race.DWARF)
|
||||
{
|
||||
if (player.getLevel() >= MIN_LEVEL)
|
||||
{
|
||||
htmltext = "32157-01.html";
|
||||
}
|
||||
else
|
||||
{
|
||||
htmltext = "32157-08.html";
|
||||
}
|
||||
htmltext = player.getLevel() >= MIN_LEVEL ? "32157-01.html" : "32157-08.html";
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -740,14 +670,7 @@ public class Q10331_StartOfFate extends Quest
|
||||
{
|
||||
if (player.getRace() == Race.KAMAEL)
|
||||
{
|
||||
if (player.getLevel() >= MIN_LEVEL)
|
||||
{
|
||||
htmltext = "32146-01.html";
|
||||
}
|
||||
else
|
||||
{
|
||||
htmltext = "32146-09.html";
|
||||
}
|
||||
htmltext = player.getLevel() >= MIN_LEVEL ? "32146-01.html" : "32146-09.html";
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
@@ -159,28 +159,12 @@ public class Q10360_CertificationOfFate extends Quest
|
||||
{
|
||||
case HUMAN:
|
||||
{
|
||||
if (player.getClassId().isMage())
|
||||
{
|
||||
qs.setCond(9);
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
qs.setCond(8);
|
||||
}
|
||||
qs.setCond(player.getClassId().isMage() ? 9 : 8);
|
||||
break;
|
||||
}
|
||||
case ELF:
|
||||
{
|
||||
if (player.getClassId().isMage())
|
||||
{
|
||||
qs.setCond(11);
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
qs.setCond(10);
|
||||
}
|
||||
qs.setCond(player.getClassId().isMage() ? 11 : 10);
|
||||
break;
|
||||
}
|
||||
case DARK_ELF:
|
||||
@@ -425,7 +409,7 @@ public class Q10360_CertificationOfFate extends Quest
|
||||
public String onTalk(L2Npc npc, L2PcInstance player)
|
||||
{
|
||||
final QuestState qs = getQuestState(player, true);
|
||||
String htmltext = null;
|
||||
String htmltext = getNoQuestMsg(player);
|
||||
switch (qs.getState())
|
||||
{
|
||||
case State.CREATED:
|
||||
@@ -438,10 +422,6 @@ public class Q10360_CertificationOfFate extends Quest
|
||||
{
|
||||
htmltext = "30289-01.htm";
|
||||
}
|
||||
else
|
||||
{
|
||||
htmltext = getNoQuestMsg(player);
|
||||
}
|
||||
break;
|
||||
}
|
||||
case RAINS:
|
||||
@@ -450,10 +430,6 @@ public class Q10360_CertificationOfFate extends Quest
|
||||
{
|
||||
htmltext = "30288-01.htm";
|
||||
}
|
||||
else
|
||||
{
|
||||
htmltext = getNoQuestMsg(player);
|
||||
}
|
||||
break;
|
||||
}
|
||||
case ELLENIA:
|
||||
@@ -462,10 +438,6 @@ public class Q10360_CertificationOfFate extends Quest
|
||||
{
|
||||
htmltext = "30155-01.htm";
|
||||
}
|
||||
else
|
||||
{
|
||||
htmltext = getNoQuestMsg(player);
|
||||
}
|
||||
break;
|
||||
}
|
||||
case ESRANDELL:
|
||||
@@ -474,10 +446,6 @@ public class Q10360_CertificationOfFate extends Quest
|
||||
{
|
||||
htmltext = "30158-01.htm";
|
||||
}
|
||||
else
|
||||
{
|
||||
htmltext = getNoQuestMsg(player);
|
||||
}
|
||||
break;
|
||||
}
|
||||
case TOBIAS:
|
||||
@@ -486,10 +454,6 @@ public class Q10360_CertificationOfFate extends Quest
|
||||
{
|
||||
htmltext = "30297-01.htm";
|
||||
}
|
||||
else
|
||||
{
|
||||
htmltext = getNoQuestMsg(player);
|
||||
}
|
||||
break;
|
||||
}
|
||||
case DRIKUS:
|
||||
@@ -498,10 +462,6 @@ public class Q10360_CertificationOfFate extends Quest
|
||||
{
|
||||
htmltext = "30505-01.htm";
|
||||
}
|
||||
else
|
||||
{
|
||||
htmltext = getNoQuestMsg(player);
|
||||
}
|
||||
break;
|
||||
}
|
||||
case MENDIO:
|
||||
@@ -510,10 +470,6 @@ public class Q10360_CertificationOfFate extends Quest
|
||||
{
|
||||
htmltext = "30504-01.htm";
|
||||
}
|
||||
else
|
||||
{
|
||||
htmltext = getNoQuestMsg(player);
|
||||
}
|
||||
break;
|
||||
}
|
||||
case GERSHWIN:
|
||||
@@ -522,10 +478,6 @@ public class Q10360_CertificationOfFate extends Quest
|
||||
{
|
||||
htmltext = "32196-01.htm";
|
||||
}
|
||||
else
|
||||
{
|
||||
htmltext = getNoQuestMsg(player);
|
||||
}
|
||||
break;
|
||||
}
|
||||
default:
|
||||
@@ -567,10 +519,6 @@ public class Q10360_CertificationOfFate extends Quest
|
||||
{
|
||||
htmltext = "30289-03.html";
|
||||
}
|
||||
else
|
||||
{
|
||||
htmltext = getNoQuestMsg(player);
|
||||
}
|
||||
break;
|
||||
}
|
||||
case RAINS:
|
||||
@@ -605,10 +553,6 @@ public class Q10360_CertificationOfFate extends Quest
|
||||
{
|
||||
htmltext = "30288-03.html";
|
||||
}
|
||||
else
|
||||
{
|
||||
htmltext = getNoQuestMsg(player);
|
||||
}
|
||||
break;
|
||||
}
|
||||
case ELLENIA:
|
||||
@@ -638,10 +582,6 @@ public class Q10360_CertificationOfFate extends Quest
|
||||
{
|
||||
htmltext = "30155-03.html";
|
||||
}
|
||||
else
|
||||
{
|
||||
htmltext = getNoQuestMsg(player);
|
||||
}
|
||||
break;
|
||||
}
|
||||
case ESRANDELL:
|
||||
@@ -671,10 +611,6 @@ public class Q10360_CertificationOfFate extends Quest
|
||||
{
|
||||
htmltext = "30158-03.html";
|
||||
}
|
||||
else
|
||||
{
|
||||
htmltext = getNoQuestMsg(player);
|
||||
}
|
||||
break;
|
||||
}
|
||||
case TOBIAS:
|
||||
@@ -714,10 +650,6 @@ public class Q10360_CertificationOfFate extends Quest
|
||||
{
|
||||
htmltext = "30297-03.html";
|
||||
}
|
||||
else
|
||||
{
|
||||
htmltext = getNoQuestMsg(player);
|
||||
}
|
||||
break;
|
||||
}
|
||||
case DRIKUS:
|
||||
@@ -752,10 +684,6 @@ public class Q10360_CertificationOfFate extends Quest
|
||||
{
|
||||
htmltext = "30505-03.html";
|
||||
}
|
||||
else
|
||||
{
|
||||
htmltext = getNoQuestMsg(player);
|
||||
}
|
||||
break;
|
||||
}
|
||||
case MENDIO:
|
||||
@@ -785,10 +713,6 @@ public class Q10360_CertificationOfFate extends Quest
|
||||
{
|
||||
htmltext = "30504-03.html";
|
||||
}
|
||||
else
|
||||
{
|
||||
htmltext = getNoQuestMsg(player);
|
||||
}
|
||||
break;
|
||||
}
|
||||
case GERSHWIN:
|
||||
@@ -818,10 +742,6 @@ public class Q10360_CertificationOfFate extends Quest
|
||||
{
|
||||
htmltext = "32196-03.html";
|
||||
}
|
||||
else
|
||||
{
|
||||
htmltext = getNoQuestMsg(player);
|
||||
}
|
||||
break;
|
||||
}
|
||||
case RENFAD:
|
||||
@@ -834,10 +754,6 @@ public class Q10360_CertificationOfFate extends Quest
|
||||
{
|
||||
htmltext = "33524-04.html";
|
||||
}
|
||||
else
|
||||
{
|
||||
htmltext = getNoQuestMsg(player);
|
||||
}
|
||||
break;
|
||||
}
|
||||
case JOEL:
|
||||
@@ -850,10 +766,6 @@ public class Q10360_CertificationOfFate extends Quest
|
||||
{
|
||||
htmltext = "33516-03.html";
|
||||
}
|
||||
else
|
||||
{
|
||||
htmltext = getNoQuestMsg(player);
|
||||
}
|
||||
break;
|
||||
}
|
||||
case SCHUAZEN:
|
||||
@@ -866,10 +778,6 @@ public class Q10360_CertificationOfFate extends Quest
|
||||
{
|
||||
htmltext = "33517-03.html";
|
||||
}
|
||||
else
|
||||
{
|
||||
htmltext = getNoQuestMsg(player);
|
||||
}
|
||||
break;
|
||||
}
|
||||
case SELON:
|
||||
@@ -882,10 +790,6 @@ public class Q10360_CertificationOfFate extends Quest
|
||||
{
|
||||
htmltext = "33518-05.html";
|
||||
}
|
||||
else
|
||||
{
|
||||
htmltext = getNoQuestMsg(player);
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -184,11 +184,7 @@ public class Q10363_RequestOfTheSeeker extends Quest
|
||||
@Override
|
||||
public String onSocialActionSee(L2Npc npc, L2PcInstance caster, int actionId)
|
||||
{
|
||||
if ((caster == null) || (npc == null))
|
||||
{
|
||||
return super.onSocialActionSee(npc, caster, actionId);
|
||||
}
|
||||
if ((caster.getTarget() == null) || !caster.getTarget().isNpc())
|
||||
if ((caster == null) || (npc == null) || (caster.getTarget() == null) || !caster.getTarget().isNpc())
|
||||
{
|
||||
return super.onSocialActionSee(npc, caster, actionId);
|
||||
}
|
||||
@@ -200,7 +196,6 @@ public class Q10363_RequestOfTheSeeker extends Quest
|
||||
if (distance > distanceLimit)
|
||||
{
|
||||
showOnScreenMsg(caster, NpcStringId.YOU_ARE_TOO_FAR_FROM_THE_CORPSE_TO_SHOW_YOUR_CONDOLENCES, ExShowScreenMessage.TOP_CENTER, 10000);
|
||||
npc.deleteMe();
|
||||
}
|
||||
else if (qs != null)
|
||||
{
|
||||
@@ -210,41 +205,35 @@ public class Q10363_RequestOfTheSeeker extends Quest
|
||||
{
|
||||
showOnScreenMsg(caster, NpcStringId.YOU_VE_SHOWN_YOUR_CONDOLENCES_TO_ONE_CORPSE, ExShowScreenMessage.TOP_CENTER, 10000);
|
||||
qs.setCond(2, true);
|
||||
npc.deleteMe();
|
||||
break;
|
||||
}
|
||||
case 2:
|
||||
{
|
||||
showOnScreenMsg(caster, NpcStringId.YOU_VE_SHOWN_YOUR_CONDOLENCES_TO_A_SECOND_CORPSE, ExShowScreenMessage.TOP_CENTER, 10000);
|
||||
qs.setCond(3, true);
|
||||
npc.deleteMe();
|
||||
break;
|
||||
}
|
||||
case 3:
|
||||
{
|
||||
showOnScreenMsg(caster, NpcStringId.YOU_VE_SHOWN_YOUR_CONDOLENCES_TO_A_THIRD_CORPSE, ExShowScreenMessage.TOP_CENTER, 10000);
|
||||
qs.setCond(4, true);
|
||||
npc.deleteMe();
|
||||
break;
|
||||
}
|
||||
case 4:
|
||||
{
|
||||
showOnScreenMsg(caster, NpcStringId.YOU_VE_SHOWN_YOUR_CONDOLENCES_TO_A_FOURTH_CORPSE, ExShowScreenMessage.TOP_CENTER, 10000);
|
||||
qs.setCond(5, true);
|
||||
npc.deleteMe();
|
||||
break;
|
||||
}
|
||||
case 5:
|
||||
{
|
||||
showOnScreenMsg(caster, NpcStringId.YOU_VE_SHOWN_YOUR_CONDOLENCES_TO_A_FIFTH_CORPSE, ExShowScreenMessage.TOP_CENTER, 10000);
|
||||
qs.setCond(6, true);
|
||||
npc.deleteMe();
|
||||
break;
|
||||
}
|
||||
default:
|
||||
{
|
||||
showOnScreenMsg(caster, NpcStringId.GRUDGE_OF_YE_SAGIRA_VICTIMS_HAVE_BEEN_RELIEVED_WITH_YOUR_TEARS, ExShowScreenMessage.TOP_CENTER, 10000);
|
||||
npc.deleteMe();
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -260,12 +249,10 @@ public class Q10363_RequestOfTheSeeker extends Quest
|
||||
if (distance > distanceLimit)
|
||||
{
|
||||
showOnScreenMsg(caster, NpcStringId.YOU_ARE_TOO_FAR_FROM_THE_CORPSE, ExShowScreenMessage.TOP_CENTER, 10000);
|
||||
npc.deleteMe();
|
||||
}
|
||||
else if ((qs == null) || (qs.getState() != State.STARTED))
|
||||
{
|
||||
addSpawn(getRandom(1) == 0 ? CRAWLER : STALKER, npc.getLocation());
|
||||
npc.deleteMe();
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -278,14 +265,13 @@ public class Q10363_RequestOfTheSeeker extends Quest
|
||||
Spirit2.setCurrentHp(Spirit2.getMaxHp() / 2);
|
||||
addAttackDesire(Spirit2, caster);
|
||||
startQuestTimer("life_over", 20000, Spirit2, caster);
|
||||
npc.deleteMe();
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
addSpawn(getRandom(1) == 0 ? CRAWLER : STALKER, ((L2Npc) caster.getTarget()).getLocation());
|
||||
npc.deleteMe();
|
||||
}
|
||||
npc.deleteMe();
|
||||
return super.onSocialActionSee(npc, caster, actionId);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -211,13 +211,9 @@ public class Q10364_ObligationsOfTheSeeker extends Quest
|
||||
final QuestState qs = getRandomPartyMemberState(killer, -1, 3, npc);
|
||||
if ((qs != null) && qs.isCond(2) && Util.checkIfInRange(1500, npc, qs.getPlayer(), false))
|
||||
{
|
||||
if (getQuestItemsCount(qs.getPlayer(), DIRTY_PIECE_OF_PAPER) < (DPP_REQUIRED - 1))
|
||||
giveItems(qs.getPlayer(), DIRTY_PIECE_OF_PAPER, 1);
|
||||
if (getQuestItemsCount(qs.getPlayer(), DIRTY_PIECE_OF_PAPER) >= (DPP_REQUIRED - 1))
|
||||
{
|
||||
giveItems(qs.getPlayer(), DIRTY_PIECE_OF_PAPER, 1);
|
||||
}
|
||||
else
|
||||
{
|
||||
giveItems(qs.getPlayer(), DIRTY_PIECE_OF_PAPER, 1);
|
||||
qs.setCond(3, true);
|
||||
showOnScreenMsg(qs.getPlayer(), NpcStringId.USE_THE_YE_SAGIRA_TELEPORT_DEVICE_TO_GO_TO_EXPLORATION_AREA_4, ExShowScreenMessage.TOP_CENTER, 10000);
|
||||
}
|
||||
|
||||
@@ -214,74 +214,32 @@ public class Q10366_RuinsStatusUpdate extends Quest
|
||||
}
|
||||
case FRANCO:
|
||||
{
|
||||
if (player.getRace() == Race.HUMAN)
|
||||
{
|
||||
htmltext = "32153-01.html";
|
||||
}
|
||||
else
|
||||
{
|
||||
htmltext = "32153-04.html";
|
||||
}
|
||||
htmltext = player.getRace() == Race.HUMAN ? "32153-01.html" : "32153-04.html";
|
||||
break;
|
||||
}
|
||||
case RIVIAN:
|
||||
{
|
||||
if (player.getRace() == Race.ELF)
|
||||
{
|
||||
htmltext = "32147-01.html";
|
||||
}
|
||||
else
|
||||
{
|
||||
htmltext = "32147-04.html";
|
||||
}
|
||||
htmltext = player.getRace() == Race.ELF ? "32147-01.html" : "32147-04.html";
|
||||
break;
|
||||
}
|
||||
case DEVON:
|
||||
{
|
||||
if (player.getRace() == Race.DARK_ELF)
|
||||
{
|
||||
htmltext = "32160-01.html";
|
||||
}
|
||||
else
|
||||
{
|
||||
htmltext = "32160-04.html";
|
||||
}
|
||||
htmltext = player.getRace() == Race.DARK_ELF ? "32160-01.html" : "32160-04.html";
|
||||
break;
|
||||
}
|
||||
case TOOK:
|
||||
{
|
||||
if (player.getRace() == Race.ORC)
|
||||
{
|
||||
htmltext = "32150-01.html";
|
||||
}
|
||||
else
|
||||
{
|
||||
htmltext = "32150-04.html";
|
||||
}
|
||||
htmltext = player.getRace() == Race.ORC ? "32150-01.html" : "32150-04.html";
|
||||
break;
|
||||
}
|
||||
case MOKA:
|
||||
{
|
||||
if (player.getRace() == Race.DWARF)
|
||||
{
|
||||
htmltext = "32157-01.html";
|
||||
}
|
||||
else
|
||||
{
|
||||
htmltext = "32157-04.html";
|
||||
}
|
||||
htmltext = player.getRace() == Race.DWARF ? "32157-01.html" : "32157-04.html";
|
||||
break;
|
||||
}
|
||||
case VALFAR:
|
||||
{
|
||||
if (player.getRace() == Race.KAMAEL)
|
||||
{
|
||||
htmltext = "32146-01.html";
|
||||
}
|
||||
else
|
||||
{
|
||||
htmltext = "32146-04.html";
|
||||
}
|
||||
htmltext = player.getRace() == Race.KAMAEL ? "32146-01.html" : "32146-04.html";
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -153,12 +153,9 @@ public class Q10383_FergasonsOffer extends Quest
|
||||
public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
|
||||
{
|
||||
final QuestState qs = getQuestState(killer, false);
|
||||
if ((qs != null) && qs.isCond(2) && qs.isStarted())
|
||||
if ((qs != null) && qs.isCond(2) && qs.isStarted() && giveItemRandomly(killer, npc, UNSTABLE_PETRA, 1, 20, 0.75, true))
|
||||
{
|
||||
if (giveItemRandomly(killer, npc, UNSTABLE_PETRA, 1, 20, 0.75, true))
|
||||
{
|
||||
qs.setCond(3);
|
||||
}
|
||||
qs.setCond(3);
|
||||
}
|
||||
return super.onKill(npc, killer, isSummon);
|
||||
}
|
||||
|
||||
@@ -379,11 +379,7 @@ public class Q10385_RedThreadOfFate extends Quest
|
||||
@Override
|
||||
public String onSocialActionSee(L2Npc npc, L2PcInstance caster, int actionId)
|
||||
{
|
||||
if ((caster == null) || (npc == null))
|
||||
{
|
||||
return super.onSocialActionSee(npc, caster, actionId);
|
||||
}
|
||||
if ((caster.getTarget() == null) || !caster.getTarget().isNpc())
|
||||
if ((caster == null) || (npc == null) || (caster.getTarget() == null) || !caster.getTarget().isNpc())
|
||||
{
|
||||
return super.onSocialActionSee(npc, caster, actionId);
|
||||
}
|
||||
|
||||
@@ -103,14 +103,7 @@ public class Q10388_ConspiracyBehindDoor extends Quest
|
||||
{
|
||||
if (npcId == ELIA)
|
||||
{
|
||||
if (player.getLevel() >= 97)
|
||||
{
|
||||
htmltext = "start.htm";
|
||||
}
|
||||
else
|
||||
{
|
||||
htmltext = "nolvl.html";
|
||||
}
|
||||
htmltext = player.getLevel() >= 97 ? "start.htm" : "nolvl.html";
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -115,14 +115,7 @@ public class Q10389_TheVoiceOfAuthority extends Quest
|
||||
}
|
||||
case State.CREATED:
|
||||
{
|
||||
if (player.getLevel() >= 97)
|
||||
{
|
||||
htmltext = "start.htm";
|
||||
}
|
||||
else
|
||||
{
|
||||
htmltext = "no_level.html";
|
||||
}
|
||||
htmltext = player.getLevel() >= 97 ? "start.htm" : "no_level.html";
|
||||
break;
|
||||
}
|
||||
case State.STARTED:
|
||||
|
||||
@@ -115,15 +115,13 @@ public class Q10465_SoulFrostSword extends Quest
|
||||
}
|
||||
else if (qs.isCond(1))
|
||||
{
|
||||
if ((getQuestItemsCount(player, PRACTICE_SOUL_CRYSTAL) < 1) && (wpn.getId() == PRACTICE_STORMBRINGER))
|
||||
{
|
||||
if ((getQuestItemsCount(player, PRACTICE_SOUL_CRYSTAL) < 1) && (wpn.getId() == PRACTICE_STORMBRINGER))
|
||||
{
|
||||
htmltext = "30471-07.html";
|
||||
}
|
||||
else
|
||||
{
|
||||
htmltext = "30471-05.html";
|
||||
}
|
||||
htmltext = "30471-07.html";
|
||||
}
|
||||
else
|
||||
{
|
||||
htmltext = "30471-05.html";
|
||||
}
|
||||
}
|
||||
else if (qs.isNowAvailable())
|
||||
|
||||
@@ -29,7 +29,7 @@ import com.l2jmobius.gameserver.network.serverpackets.MagicSkillUse;
|
||||
|
||||
/**
|
||||
* Winds Of Fate: Encroaching Shadows (10472)
|
||||
* @author Joker, Staway
|
||||
* @author Joker, Stayway
|
||||
*/
|
||||
public class Q10472_WindsOfFate_EncroachingShadows extends Quest
|
||||
{
|
||||
@@ -438,8 +438,7 @@ public class Q10472_WindsOfFate_EncroachingShadows extends Quest
|
||||
{
|
||||
if (qs.isCond(19))
|
||||
{
|
||||
final String html = getHtm(player.getHtmlPrefix(), "33491-01.html");
|
||||
return html.replace("%name%", player.getName());
|
||||
return getHtm(player.getHtmlPrefix(), "33491-01.html").replace("%name%", player.getName());
|
||||
|
||||
}
|
||||
}
|
||||
@@ -447,8 +446,7 @@ public class Q10472_WindsOfFate_EncroachingShadows extends Quest
|
||||
{
|
||||
if (qs.isCond(18))
|
||||
{
|
||||
final String html = getHtm(player.getHtmlPrefix(), "33933-01.html");
|
||||
return html.replace("%name%", player.getName());
|
||||
return getHtm(player.getHtmlPrefix(), "33933-01.html").replace("%name%", player.getName());
|
||||
}
|
||||
if (qs.isCond(19))
|
||||
{
|
||||
@@ -558,12 +556,9 @@ public class Q10472_WindsOfFate_EncroachingShadows extends Quest
|
||||
{
|
||||
final QuestState qs = getQuestState(killer, false);
|
||||
|
||||
if ((qs != null) && qs.isCond(4))
|
||||
if ((qs != null) && qs.isCond(4) && giveItemRandomly(killer, npc, DARK_FRAGMENT, 1, 50, 1.0, true))
|
||||
{
|
||||
if (giveItemRandomly(killer, npc, DARK_FRAGMENT, 1, 50, 1.0, true))
|
||||
{
|
||||
qs.setCond(5);
|
||||
}
|
||||
qs.setCond(5);
|
||||
}
|
||||
return super.onKill(npc, killer, isSummon);
|
||||
}
|
||||
|
||||
@@ -90,14 +90,7 @@ public class Q10734_DoOrDie extends Quest
|
||||
}
|
||||
case "other_buffs":
|
||||
{
|
||||
if (player.isMageClass())
|
||||
{
|
||||
htmltext = "33950-03.html";
|
||||
}
|
||||
else
|
||||
{
|
||||
htmltext = "33950-05.html";
|
||||
}
|
||||
htmltext = player.isMageClass() ? "33950-03.html" : "33950-05.html";
|
||||
|
||||
player.sendPacket(new TutorialShowHtml(npc.getObjectId(), "..\\L2Text\\QT_002_Guide_01.htm", TutorialShowHtml.LARGE_WINDOW));
|
||||
break;
|
||||
@@ -144,12 +137,7 @@ public class Q10734_DoOrDie extends Quest
|
||||
public String onTalk(L2Npc npc, L2PcInstance player)
|
||||
{
|
||||
final QuestState qs = getQuestState(player, true);
|
||||
String htmltext = getNoQuestMsg(player);
|
||||
|
||||
if (qs.isCompleted())
|
||||
{
|
||||
htmltext = getAlreadyCompletedMsg(player);
|
||||
}
|
||||
String htmltext = qs.isCompleted() ? getAlreadyCompletedMsg(player) : getNoQuestMsg(player);
|
||||
|
||||
switch (npc.getId())
|
||||
{
|
||||
@@ -159,14 +147,7 @@ public class Q10734_DoOrDie extends Quest
|
||||
{
|
||||
case 0:
|
||||
{
|
||||
if (!player.isMageClass())
|
||||
{
|
||||
htmltext = "33943-01.htm";
|
||||
}
|
||||
else
|
||||
{
|
||||
htmltext = "33943-08.html";
|
||||
}
|
||||
htmltext = !player.isMageClass() ? "33943-01.htm" : "33943-08.html";
|
||||
break;
|
||||
}
|
||||
case 1:
|
||||
@@ -206,14 +187,7 @@ public class Q10734_DoOrDie extends Quest
|
||||
{
|
||||
case 0:
|
||||
{
|
||||
if (player.isMageClass())
|
||||
{
|
||||
htmltext = "33942-01.htm";
|
||||
}
|
||||
else
|
||||
{
|
||||
htmltext = "33942-08.html";
|
||||
}
|
||||
htmltext = player.isMageClass() ? "33942-01.htm" : "33942-08.html";
|
||||
break;
|
||||
}
|
||||
case 1:
|
||||
@@ -259,14 +233,7 @@ public class Q10734_DoOrDie extends Quest
|
||||
}
|
||||
case 6:
|
||||
{
|
||||
if (player.isMageClass())
|
||||
{
|
||||
htmltext = "33950-06.html";
|
||||
}
|
||||
else
|
||||
{
|
||||
htmltext = "33950-04.html";
|
||||
}
|
||||
htmltext = player.isMageClass() ? "33950-06.html" : "33950-04.html";
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -286,25 +253,11 @@ public class Q10734_DoOrDie extends Quest
|
||||
|
||||
if (qs.isCond(1))
|
||||
{
|
||||
if (killer.isMageClass())
|
||||
{
|
||||
qs.setCond(2, true);
|
||||
}
|
||||
else
|
||||
{
|
||||
qs.setCond(3, true);
|
||||
}
|
||||
qs.setCond(killer.isMageClass() ? 2 : 3, true);
|
||||
}
|
||||
else if (qs.isCond(6))
|
||||
{
|
||||
if (killer.isMageClass())
|
||||
{
|
||||
qs.setCond(7, true);
|
||||
}
|
||||
else
|
||||
{
|
||||
qs.setCond(8, true);
|
||||
}
|
||||
qs.setCond(killer.isMageClass() ? 7 : 8, true);
|
||||
}
|
||||
|
||||
return super.onKill(npc, killer, isSummon);
|
||||
|
||||
@@ -115,12 +115,7 @@ public class Q10735_ASpecialPower extends Quest
|
||||
public String onTalk(L2Npc npc, L2PcInstance player)
|
||||
{
|
||||
final QuestState qs = getQuestState(player, true);
|
||||
String htmltext = getNoQuestMsg(player);
|
||||
|
||||
if (qs.isCompleted())
|
||||
{
|
||||
htmltext = getAlreadyCompletedMsg(player);
|
||||
}
|
||||
String htmltext = qs.isCompleted() ? getAlreadyCompletedMsg(player) : getNoQuestMsg(player);
|
||||
|
||||
switch (npc.getId())
|
||||
{
|
||||
@@ -251,22 +246,19 @@ public class Q10735_ASpecialPower extends Quest
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (npc.getId() == RATEL)
|
||||
else if ((npc.getId() == RATEL) && (cond == 6))
|
||||
{
|
||||
if (cond == 6)
|
||||
final int value = qs.getMemoStateEx(KILL_COUNT_ID) + 1;
|
||||
playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET);
|
||||
if (value >= 2)
|
||||
{
|
||||
final int value = qs.getMemoStateEx(KILL_COUNT_ID) + 1;
|
||||
playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET);
|
||||
if (value >= 2)
|
||||
{
|
||||
qs.setCond(cond + 1, true);
|
||||
qs.setMemoStateEx(KILL_COUNT_ID, 0);
|
||||
showOnScreenMsg(killer, NpcStringId.TALK_TO_AYANTHE_TO_LEAVE_THE_TRAINING_GROUNDS, ExShowScreenMessage.TOP_CENTER, 4500);
|
||||
}
|
||||
else
|
||||
{
|
||||
qs.setMemoStateEx(KILL_COUNT_ID, value);
|
||||
}
|
||||
qs.setCond(cond + 1, true);
|
||||
qs.setMemoStateEx(KILL_COUNT_ID, 0);
|
||||
showOnScreenMsg(killer, NpcStringId.TALK_TO_AYANTHE_TO_LEAVE_THE_TRAINING_GROUNDS, ExShowScreenMessage.TOP_CENTER, 4500);
|
||||
}
|
||||
else
|
||||
{
|
||||
qs.setMemoStateEx(KILL_COUNT_ID, value);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -115,12 +115,7 @@ public class Q10736_ASpecialPower extends Quest
|
||||
public String onTalk(L2Npc npc, L2PcInstance player)
|
||||
{
|
||||
final QuestState qs = getQuestState(player, true);
|
||||
String htmltext = getNoQuestMsg(player);
|
||||
|
||||
if (qs.isCompleted())
|
||||
{
|
||||
htmltext = getAlreadyCompletedMsg(player);
|
||||
}
|
||||
String htmltext = qs.isCompleted() ? getAlreadyCompletedMsg(player) : getNoQuestMsg(player);
|
||||
|
||||
switch (npc.getId())
|
||||
{
|
||||
@@ -251,22 +246,19 @@ public class Q10736_ASpecialPower extends Quest
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (npc.getId() == RATEL)
|
||||
else if ((npc.getId() == RATEL) && (cond == 6))
|
||||
{
|
||||
if (cond == 6)
|
||||
final int value = qs.getMemoStateEx(KILL_COUNT_ID) + 1;
|
||||
playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET);
|
||||
if (value >= 2)
|
||||
{
|
||||
final int value = qs.getMemoStateEx(KILL_COUNT_ID) + 1;
|
||||
playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET);
|
||||
if (value >= 2)
|
||||
{
|
||||
qs.setCond(cond + 1, true);
|
||||
qs.setMemoStateEx(KILL_COUNT_ID, 0);
|
||||
showOnScreenMsg(killer, NpcStringId.TALK_TO_AYANTHE_TO_LEAVE_THE_TRAINING_GROUNDS, ExShowScreenMessage.TOP_CENTER, 4500);
|
||||
}
|
||||
else
|
||||
{
|
||||
qs.setMemoStateEx(KILL_COUNT_ID, value);
|
||||
}
|
||||
qs.setCond(cond + 1, true);
|
||||
qs.setMemoStateEx(KILL_COUNT_ID, 0);
|
||||
showOnScreenMsg(killer, NpcStringId.TALK_TO_AYANTHE_TO_LEAVE_THE_TRAINING_GROUNDS, ExShowScreenMessage.TOP_CENTER, 4500);
|
||||
}
|
||||
else
|
||||
{
|
||||
qs.setMemoStateEx(KILL_COUNT_ID, value);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -109,12 +109,7 @@ public class Q10737_GrakonsWarehouse extends Quest
|
||||
public String onTalk(L2Npc npc, L2PcInstance player)
|
||||
{
|
||||
final QuestState qs = getQuestState(player, true);
|
||||
String htmltext = getNoQuestMsg(player);
|
||||
|
||||
if (qs.isCompleted())
|
||||
{
|
||||
htmltext = getAlreadyCompletedMsg(player);
|
||||
}
|
||||
String htmltext = qs.isCompleted() ? getAlreadyCompletedMsg(player) : getNoQuestMsg(player);
|
||||
|
||||
switch (npc.getId())
|
||||
{
|
||||
|
||||
@@ -95,12 +95,7 @@ public class Q10738_AnInnerBeauty extends Quest
|
||||
public String onTalk(L2Npc npc, L2PcInstance player)
|
||||
{
|
||||
final QuestState qs = getQuestState(player, true);
|
||||
String htmltext = getNoQuestMsg(player);
|
||||
|
||||
if (qs.isCompleted())
|
||||
{
|
||||
htmltext = getAlreadyCompletedMsg(player);
|
||||
}
|
||||
String htmltext = qs.isCompleted() ? getAlreadyCompletedMsg(player) : getNoQuestMsg(player);
|
||||
|
||||
if (npc.getId() == GRAKON)
|
||||
{
|
||||
@@ -113,12 +108,9 @@ public class Q10738_AnInnerBeauty extends Quest
|
||||
htmltext = "33947-04.html";
|
||||
}
|
||||
}
|
||||
else if (npc.getId() == EVNA)
|
||||
else if ((npc.getId() == EVNA) && qs.isStarted())
|
||||
{
|
||||
if (qs.isStarted())
|
||||
{
|
||||
htmltext = "33935-01.html";
|
||||
}
|
||||
htmltext = "33935-01.html";
|
||||
}
|
||||
return htmltext;
|
||||
}
|
||||
|
||||
@@ -125,12 +125,7 @@ public class Q10739_SupplyAndDemand extends Quest
|
||||
public String onTalk(L2Npc npc, L2PcInstance player)
|
||||
{
|
||||
final QuestState qs = getQuestState(player, true);
|
||||
String htmltext = getNoQuestMsg(player);
|
||||
|
||||
if (qs.isCompleted())
|
||||
{
|
||||
htmltext = getAlreadyCompletedMsg(player);
|
||||
}
|
||||
String htmltext = qs.isCompleted() ? getAlreadyCompletedMsg(player) : getNoQuestMsg(player);
|
||||
|
||||
switch (npc.getId())
|
||||
{
|
||||
|
||||
@@ -100,12 +100,7 @@ public class Q10740_NeverForget extends Quest
|
||||
public String onTalk(L2Npc npc, L2PcInstance player)
|
||||
{
|
||||
final QuestState qs = getQuestState(player, true);
|
||||
String htmltext = getNoQuestMsg(player);
|
||||
|
||||
if (qs.isCompleted())
|
||||
{
|
||||
htmltext = getAlreadyCompletedMsg(player);
|
||||
}
|
||||
String htmltext = qs.isCompleted() ? getAlreadyCompletedMsg(player) : getNoQuestMsg(player);
|
||||
|
||||
switch (npc.getId())
|
||||
{
|
||||
@@ -170,12 +165,9 @@ public class Q10740_NeverForget extends Quest
|
||||
{
|
||||
final QuestState qs = getQuestState(killer, false);
|
||||
|
||||
if ((qs != null) && qs.isCond(1))
|
||||
if ((qs != null) && qs.isCond(1) && giveItemRandomly(killer, npc, UNNAMED_RELICS, 1, 20, 1.0, true))
|
||||
{
|
||||
if (giveItemRandomly(killer, npc, UNNAMED_RELICS, 1, 20, 1.0, true))
|
||||
{
|
||||
qs.setCond(2);
|
||||
}
|
||||
qs.setCond(2);
|
||||
}
|
||||
return super.onKill(npc, killer, isSummon);
|
||||
}
|
||||
|
||||
@@ -108,14 +108,7 @@ public class Q10741_ADraughtForTheCold extends Quest
|
||||
{
|
||||
case SIVANTHE:
|
||||
{
|
||||
if (qs.isStarted())
|
||||
{
|
||||
htmltext = "33951-04.html";
|
||||
}
|
||||
else
|
||||
{
|
||||
htmltext = "33951-01.htm";
|
||||
}
|
||||
htmltext = qs.isStarted() ? "33951-04.html" : "33951-01.htm";
|
||||
break;
|
||||
}
|
||||
case LEIRA:
|
||||
|
||||
@@ -98,12 +98,7 @@ public class Q10743_StrangeFungus extends Quest
|
||||
public String onTalk(L2Npc npc, L2PcInstance player)
|
||||
{
|
||||
final QuestState qs = getQuestState(player, true);
|
||||
String htmltext = getNoQuestMsg(player);
|
||||
|
||||
if (qs.isCompleted())
|
||||
{
|
||||
htmltext = getAlreadyCompletedMsg(player);
|
||||
}
|
||||
String htmltext = qs.isCompleted() ? getAlreadyCompletedMsg(player) : getNoQuestMsg(player);
|
||||
|
||||
switch (npc.getId())
|
||||
{
|
||||
|
||||
@@ -90,12 +90,7 @@ public class Q10744_StrongerThanSteel extends Quest
|
||||
public String onTalk(L2Npc npc, L2PcInstance player)
|
||||
{
|
||||
final QuestState qs = getQuestState(player, true);
|
||||
String htmltext = getNoQuestMsg(player);
|
||||
|
||||
if (qs.isCompleted())
|
||||
{
|
||||
htmltext = getAlreadyCompletedMsg(player);
|
||||
}
|
||||
String htmltext = qs.isCompleted() ? getAlreadyCompletedMsg(player) : getNoQuestMsg(player);
|
||||
|
||||
switch (npc.getId())
|
||||
{
|
||||
|
||||
@@ -124,12 +124,7 @@ public class Q10745_TheSecretIngredients extends Quest
|
||||
public String onTalk(L2Npc npc, L2PcInstance player)
|
||||
{
|
||||
final QuestState qs = getQuestState(player, true);
|
||||
String htmltext = getNoQuestMsg(player);
|
||||
|
||||
if (qs.isCompleted())
|
||||
{
|
||||
htmltext = getAlreadyCompletedMsg(player);
|
||||
}
|
||||
String htmltext = qs.isCompleted() ? getAlreadyCompletedMsg(player) : getNoQuestMsg(player);
|
||||
|
||||
switch (npc.getId())
|
||||
{
|
||||
|
||||
@@ -89,12 +89,7 @@ public class Q10746_SeeTheWorld extends Quest
|
||||
public String onTalk(L2Npc npc, L2PcInstance player)
|
||||
{
|
||||
final QuestState qs = getQuestState(player, true);
|
||||
String htmltext = getNoQuestMsg(player);
|
||||
|
||||
if (qs.isCompleted())
|
||||
{
|
||||
htmltext = getAlreadyCompletedMsg(player);
|
||||
}
|
||||
String htmltext = qs.isCompleted() ? getAlreadyCompletedMsg(player) : getNoQuestMsg(player);
|
||||
|
||||
switch (npc.getId())
|
||||
{
|
||||
|
||||
@@ -254,14 +254,7 @@ public class Q10751_WindsOfFateEncounters extends Quest implements IBypassHandle
|
||||
{
|
||||
case NAVARI:
|
||||
{
|
||||
if (player.getClassId().isMage())
|
||||
{
|
||||
htmltext = "33931-m.htm";
|
||||
}
|
||||
else
|
||||
{
|
||||
htmltext = "33931-f.htm";
|
||||
}
|
||||
htmltext = player.getClassId().isMage() ? "33931-m.htm" : "33931-f.htm";
|
||||
break;
|
||||
}
|
||||
case AYANTHE:
|
||||
|
||||
@@ -94,12 +94,7 @@ public class Q10756_AnInterdimensionalDraft extends Quest
|
||||
public String onTalk(L2Npc npc, L2PcInstance player)
|
||||
{
|
||||
final QuestState qs = getQuestState(player, true);
|
||||
String htmltext = getNoQuestMsg(player);
|
||||
|
||||
if (qs.isCompleted())
|
||||
{
|
||||
htmltext = getAlreadyCompletedMsg(player);
|
||||
}
|
||||
String htmltext = qs.isCompleted() ? getAlreadyCompletedMsg(player) : getNoQuestMsg(player);
|
||||
|
||||
if (qs.isCreated())
|
||||
{
|
||||
@@ -136,13 +131,9 @@ public class Q10756_AnInterdimensionalDraft extends Quest
|
||||
public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
|
||||
{
|
||||
final QuestState qs = getQuestState(killer, false);
|
||||
|
||||
if ((qs != null) && qs.isCond(1))
|
||||
if ((qs != null) && qs.isCond(1) && giveItemRandomly(killer, npc, UNWORLDLY_WIND, 1, 30, 1.0, true))
|
||||
{
|
||||
if (giveItemRandomly(killer, npc, UNWORLDLY_WIND, 1, 30, 1.0, true))
|
||||
{
|
||||
qs.setCond(2);
|
||||
}
|
||||
qs.setCond(2);
|
||||
}
|
||||
return super.onKill(npc, killer, isSummon);
|
||||
}
|
||||
|
||||
@@ -159,12 +159,9 @@ public class Q10770_InSearchOfTheGrail extends Quest
|
||||
{
|
||||
final QuestState qs = getQuestState(killer, false);
|
||||
|
||||
if ((qs != null) && qs.isCond(1))
|
||||
if ((qs != null) && qs.isCond(1) && giveItemRandomly(killer, npc, SHINING_MYSTERIOUS, 1, 30, 0.5, true))
|
||||
{
|
||||
if (giveItemRandomly(killer, npc, SHINING_MYSTERIOUS, 1, 30, 0.5, true))
|
||||
{
|
||||
qs.setCond(2, true);
|
||||
}
|
||||
qs.setCond(2, true);
|
||||
}
|
||||
return super.onKill(npc, killer, isSummon);
|
||||
}
|
||||
|
||||
@@ -120,12 +120,9 @@ public class Q10772_ReportsFromCrumaTowerPart1 extends Quest
|
||||
{
|
||||
htmltext = "30484-01.htm";
|
||||
}
|
||||
else if (qs.isStarted())
|
||||
else if (qs.isStarted() && qs.isCond(1))
|
||||
{
|
||||
if (qs.isCond(1))
|
||||
{
|
||||
htmltext = "30484-06.htm";
|
||||
}
|
||||
htmltext = "30484-06.htm";
|
||||
}
|
||||
if (qs.isCond(2))
|
||||
{
|
||||
|
||||
@@ -151,12 +151,9 @@ public class Q10775_InSearchOfAnAncientGiant extends Quest
|
||||
{
|
||||
final QuestState qs = getQuestState(killer, false);
|
||||
|
||||
if ((qs != null) && qs.isCond(1))
|
||||
if ((qs != null) && qs.isCond(1) && giveItemRandomly(killer, npc, ENERGY_OF_REGENERATION, 1, 20, 0.2, true))
|
||||
{
|
||||
if (giveItemRandomly(killer, npc, ENERGY_OF_REGENERATION, 1, 20, 0.2, true))
|
||||
{
|
||||
qs.setCond(2, true);
|
||||
}
|
||||
qs.setCond(2, true);
|
||||
}
|
||||
return super.onKill(npc, killer, isSummon);
|
||||
}
|
||||
|
||||
@@ -195,9 +195,7 @@ public class Q10782_LettersFromTheQueen_ForsakenPlains extends Quest implements
|
||||
return;
|
||||
}
|
||||
final L2PcInstance player = event.getActiveChar();
|
||||
final int oldLevel = event.getOldLevel();
|
||||
final int newLevel = event.getNewLevel();
|
||||
if ((oldLevel == (newLevel - 1)) && (player.getLevel() >= MIN_LEVEL) && (player.getLevel() <= MAX_LEVEL) && (player.getRace() == Race.ERTHEIA))
|
||||
if ((player.getLevel() >= MIN_LEVEL) && (player.getLevel() <= MAX_LEVEL) && (player.getRace() == Race.ERTHEIA))
|
||||
{
|
||||
final QuestState qs = getQuestState(player, false);
|
||||
if (qs == null)
|
||||
|
||||
@@ -195,9 +195,7 @@ public class Q10785_LettersFromTheQueen_FieldsOfMassacre extends Quest implement
|
||||
return;
|
||||
}
|
||||
final L2PcInstance player = event.getActiveChar();
|
||||
final int oldLevel = event.getOldLevel();
|
||||
final int newLevel = event.getNewLevel();
|
||||
if ((oldLevel == (newLevel - 1)) && (player.getLevel() >= MIN_LEVEL) && (player.getLevel() <= MAX_LEVEL) && (player.getRace() == Race.ERTHEIA))
|
||||
if ((player.getLevel() >= MIN_LEVEL) && (player.getLevel() <= MAX_LEVEL) && (player.getRace() == Race.ERTHEIA))
|
||||
{
|
||||
final QuestState qs = getQuestState(player, false);
|
||||
if (qs == null)
|
||||
|
||||
@@ -214,9 +214,7 @@ public class Q10789_LettersFromTheQueen_SwampOfScreams extends Quest implements
|
||||
return;
|
||||
}
|
||||
final L2PcInstance player = event.getActiveChar();
|
||||
final int oldLevel = event.getOldLevel();
|
||||
final int newLevel = event.getNewLevel();
|
||||
if ((oldLevel == (newLevel - 1)) && (player.getLevel() >= MIN_LEVEL) && (player.getLevel() <= MAX_LEVEL) && (player.getRace() == Race.ERTHEIA) && (player.getClassId() == ClassId.MARAUDER))
|
||||
if ((player.getLevel() >= MIN_LEVEL) && (player.getLevel() <= MAX_LEVEL) && (player.getRace() == Race.ERTHEIA) && (player.getClassId() == ClassId.MARAUDER))
|
||||
{
|
||||
final QuestState qs = getQuestState(player, false);
|
||||
if (qs == null)
|
||||
|
||||
@@ -151,7 +151,7 @@ public class Q10791_TheManOfMystery extends Quest
|
||||
}
|
||||
for (int i1 = 0; i1 < 1; i1++)
|
||||
{
|
||||
L2Npc helper = addSpawn(KAIN_VAN_HALTER, npc.getX() + getRandom(-100, 100), npc.getY() + getRandom(-100, 100), npc.getZ(), npc.getHeading(), true, 300000, false);
|
||||
final L2Npc helper = addSpawn(KAIN_VAN_HALTER, npc.getX() + getRandom(-100, 100), npc.getY() + getRandom(-100, 100), npc.getZ(), npc.getHeading(), true, 300000, false);
|
||||
addAttackDesire(helper, npc);
|
||||
}
|
||||
npc.setScriptValue(1);
|
||||
|
||||
@@ -215,9 +215,7 @@ public class Q10792_LettersFromTheQueen_ForestOfTheDead extends Quest implements
|
||||
return;
|
||||
}
|
||||
final L2PcInstance player = event.getActiveChar();
|
||||
final int oldLevel = event.getOldLevel();
|
||||
final int newLevel = event.getNewLevel();
|
||||
if ((oldLevel == (newLevel - 1)) && (player.getLevel() >= MIN_LEVEL) && (player.getLevel() <= MAX_LEVEL) && (player.getRace() == Race.ERTHEIA) && (player.getClassId() == ClassId.CLOUD_BREAKER))
|
||||
if ((player.getLevel() >= MIN_LEVEL) && (player.getLevel() <= MAX_LEVEL) && (player.getRace() == Race.ERTHEIA) && (player.getClassId() == ClassId.CLOUD_BREAKER))
|
||||
{
|
||||
final QuestState qs = getQuestState(player, false);
|
||||
if (qs == null)
|
||||
|
||||
Reference in New Issue
Block a user