Merged various L2jServer changes from 31-08-2020 to 27-07-2022.
This commit is contained in:
parent
d59171586a
commit
473164e739
@ -77,7 +77,7 @@ public class Q00382_KailsMagicCoin extends Quest
|
||||
|
||||
switch (event)
|
||||
{
|
||||
case "30386-03.htm":
|
||||
case "30687-03.htm":
|
||||
{
|
||||
if (qs.isCreated())
|
||||
{
|
||||
@ -86,8 +86,8 @@ public class Q00382_KailsMagicCoin extends Quest
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "30386-05.htm":
|
||||
case "30386-06.htm":
|
||||
case "30687-05.htm":
|
||||
case "30687-06.htm":
|
||||
{
|
||||
if (qs.isStarted())
|
||||
{
|
||||
|
@ -348,7 +348,7 @@ public class Q00648_AnIceMerchantsDream extends Quest
|
||||
if (hasQuestItems(player, SILVER_ICE_CRYSTAL))
|
||||
{
|
||||
final int val = qs.getInt("ex") % 10;
|
||||
if (val == 0)
|
||||
if (!qs.isSet("ex") || (val == 0))
|
||||
{
|
||||
htmltext = "32023-03.html";
|
||||
qs.set("ex", 0);
|
||||
|
@ -77,7 +77,7 @@ public class Q00382_KailsMagicCoin extends Quest
|
||||
|
||||
switch (event)
|
||||
{
|
||||
case "30386-03.htm":
|
||||
case "30687-03.htm":
|
||||
{
|
||||
if (qs.isCreated())
|
||||
{
|
||||
@ -86,8 +86,8 @@ public class Q00382_KailsMagicCoin extends Quest
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "30386-05.htm":
|
||||
case "30386-06.htm":
|
||||
case "30687-05.htm":
|
||||
case "30687-06.htm":
|
||||
{
|
||||
if (qs.isStarted())
|
||||
{
|
||||
|
@ -348,7 +348,7 @@ public class Q00648_AnIceMerchantsDream extends Quest
|
||||
if (hasQuestItems(player, SILVER_ICE_CRYSTAL))
|
||||
{
|
||||
final int val = qs.getInt("ex") % 10;
|
||||
if (val == 0)
|
||||
if (!qs.isSet("ex") || (val == 0))
|
||||
{
|
||||
htmltext = "32023-03.html";
|
||||
qs.set("ex", 0);
|
||||
|
@ -348,7 +348,7 @@ public class Q00648_AnIceMerchantsDream extends Quest
|
||||
if (hasQuestItems(player, SILVER_ICE_CRYSTAL))
|
||||
{
|
||||
final int val = qs.getInt("ex") % 10;
|
||||
if (val == 0)
|
||||
if (!qs.isSet("ex") || (val == 0))
|
||||
{
|
||||
htmltext = "32023-03.html";
|
||||
qs.set("ex", 0);
|
||||
|
@ -348,7 +348,7 @@ public class Q00648_AnIceMerchantsDream extends Quest
|
||||
if (hasQuestItems(player, SILVER_ICE_CRYSTAL))
|
||||
{
|
||||
final int val = qs.getInt("ex") % 10;
|
||||
if (val == 0)
|
||||
if (!qs.isSet("ex") || (val == 0))
|
||||
{
|
||||
htmltext = "32023-03.html";
|
||||
qs.set("ex", 0);
|
||||
|
@ -348,7 +348,7 @@ public class Q00648_AnIceMerchantsDream extends Quest
|
||||
if (hasQuestItems(player, SILVER_ICE_CRYSTAL))
|
||||
{
|
||||
final int val = qs.getInt("ex") % 10;
|
||||
if (val == 0)
|
||||
if (!qs.isSet("ex") || (val == 0))
|
||||
{
|
||||
htmltext = "32023-03.html";
|
||||
qs.set("ex", 0);
|
||||
|
@ -348,7 +348,7 @@ public class Q00648_AnIceMerchantsDream extends Quest
|
||||
if (hasQuestItems(player, SILVER_ICE_CRYSTAL))
|
||||
{
|
||||
final int val = qs.getInt("ex") % 10;
|
||||
if (val == 0)
|
||||
if (!qs.isSet("ex") || (val == 0))
|
||||
{
|
||||
htmltext = "32023-03.html";
|
||||
qs.set("ex", 0);
|
||||
|
@ -348,7 +348,7 @@ public class Q00648_AnIceMerchantsDream extends Quest
|
||||
if (hasQuestItems(player, SILVER_ICE_CRYSTAL))
|
||||
{
|
||||
final int val = qs.getInt("ex") % 10;
|
||||
if (val == 0)
|
||||
if (!qs.isSet("ex") || (val == 0))
|
||||
{
|
||||
htmltext = "32023-03.html";
|
||||
qs.set("ex", 0);
|
||||
|
@ -606,7 +606,7 @@ public class Q00334_TheWishingPotion extends Quest
|
||||
case 1:
|
||||
{
|
||||
addSpawn(FAIRY_RUPINA, npc, true, 0, false);
|
||||
qs.set("Exchange", 0);
|
||||
qs.set(EXCHANGE, 0);
|
||||
break;
|
||||
}
|
||||
case 2:
|
||||
@ -614,19 +614,19 @@ public class Q00334_TheWishingPotion extends Quest
|
||||
addSpawn(GRIMA, npc, true, 0, false);
|
||||
addSpawn(GRIMA, npc, true, 0, false);
|
||||
addSpawn(GRIMA, npc, true, 0, false);
|
||||
qs.set("Exchange", 0);
|
||||
qs.set(EXCHANGE, 0);
|
||||
break;
|
||||
}
|
||||
case 3:
|
||||
{
|
||||
giveItems(player, Q_CERTIFICATE_OF_ROYALTY, 1);
|
||||
qs.set("Exchange", 0);
|
||||
qs.set(EXCHANGE, 0);
|
||||
break;
|
||||
}
|
||||
case 4:
|
||||
{
|
||||
addSpawn(WISDOM_CHEST, npc, true, 0, false);
|
||||
qs.set("Exchange", 0);
|
||||
qs.set(EXCHANGE, 0);
|
||||
break;
|
||||
}
|
||||
}
|
||||
@ -642,25 +642,25 @@ public class Q00334_TheWishingPotion extends Quest
|
||||
addSpawn(SUCCUBUS_OF_SEDUCTION, npc, true, 0, false);
|
||||
addSpawn(SUCCUBUS_OF_SEDUCTION, npc, true, 0, false);
|
||||
addSpawn(SUCCUBUS_OF_SEDUCTION, npc, true, 0, false);
|
||||
qs.set("Exchange", 0);
|
||||
qs.set(EXCHANGE, 0);
|
||||
break;
|
||||
}
|
||||
case 2:
|
||||
{
|
||||
giveAdena(player, 10000, true);
|
||||
qs.set("Exchange", 0);
|
||||
qs.set(EXCHANGE, 0);
|
||||
break;
|
||||
}
|
||||
case 3:
|
||||
{
|
||||
addSpawn(DLORD_ALEXANDROSANCHES, npc, true, 0, false);
|
||||
qs.set("Exchange", 0);
|
||||
qs.set(EXCHANGE, 0);
|
||||
break;
|
||||
}
|
||||
case 4:
|
||||
{
|
||||
addSpawn(WISDOM_CHEST, npc, true, 0, false);
|
||||
qs.set("Exchange", 0);
|
||||
qs.set(EXCHANGE, 0);
|
||||
break;
|
||||
}
|
||||
}
|
||||
@ -673,19 +673,19 @@ public class Q00334_TheWishingPotion extends Quest
|
||||
case 2:
|
||||
{
|
||||
giveAdena(player, 10000, true);
|
||||
qs.set("Exchange", 0);
|
||||
qs.set(EXCHANGE, 0);
|
||||
break;
|
||||
}
|
||||
case 3:
|
||||
{
|
||||
giveItems(player, Q_ANCIENT_CROWN, 1);
|
||||
qs.set("Exchange", 0);
|
||||
qs.set(EXCHANGE, 0);
|
||||
break;
|
||||
}
|
||||
case 4:
|
||||
{
|
||||
addSpawn(WISDOM_CHEST, npc, true, 0, false);
|
||||
qs.set("Exchange", 0);
|
||||
qs.set(EXCHANGE, 0);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
@ -78,7 +78,7 @@ public class Q00382_KailsMagicCoin extends Quest
|
||||
|
||||
switch (event)
|
||||
{
|
||||
case "30386-03.htm":
|
||||
case "30687-03.htm":
|
||||
{
|
||||
if (qs.isCreated())
|
||||
{
|
||||
@ -87,8 +87,8 @@ public class Q00382_KailsMagicCoin extends Quest
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "30386-05.htm":
|
||||
case "30386-06.htm":
|
||||
case "30687-05.htm":
|
||||
case "30687-06.htm":
|
||||
{
|
||||
if (qs.isStarted())
|
||||
{
|
||||
|
@ -138,10 +138,10 @@ public class Q00628_HuntGoldenRam extends Quest
|
||||
public String onKill(Npc npc, Player killer, boolean isSummon)
|
||||
{
|
||||
final QuestState qs = getRandomPartyMemberState(killer, -1, 1, npc);
|
||||
if (qs != null)
|
||||
if ((qs != null) && !qs.isCond(3))
|
||||
{
|
||||
final ItemChanceHolder item = MOBS_DROP_CHANCES.get(npc.getId());
|
||||
if ((item.getCount() <= qs.getCond()) && !qs.isCond(3))
|
||||
if (item.getCount() <= qs.getCond())
|
||||
{
|
||||
giveItemRandomly(qs.getPlayer(), npc, item.getId(), 1, REQUIRED_ITEM_COUNT, item.getChance(), true);
|
||||
}
|
||||
|
@ -348,7 +348,7 @@ public class Q00648_AnIceMerchantsDream extends Quest
|
||||
if (hasQuestItems(player, SILVER_ICE_CRYSTAL))
|
||||
{
|
||||
final int val = qs.getInt("ex") % 10;
|
||||
if (val == 0)
|
||||
if (!qs.isSet("ex") || (val == 0))
|
||||
{
|
||||
htmltext = "32023-03.html";
|
||||
qs.set("ex", 0);
|
||||
|
@ -19,6 +19,7 @@ package instances.DarkCloudMansion;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import org.l2jmobius.gameserver.ai.CtrlIntention;
|
||||
import org.l2jmobius.gameserver.enums.ChatType;
|
||||
import org.l2jmobius.gameserver.instancemanager.InstanceManager;
|
||||
import org.l2jmobius.gameserver.model.Location;
|
||||
@ -615,6 +616,7 @@ public class DarkCloudMansion extends AbstractInstance
|
||||
{
|
||||
thisNpc = new DMCNpc();
|
||||
thisNpc.npc = addSpawn(SC, x, y, -6115, 16215, false, 0, false, world.getInstanceId());
|
||||
thisNpc.npc.disableCoreAI(true);
|
||||
thisNpc.status = templist[yy][xx];
|
||||
thisNpc.order = yy;
|
||||
forthRoom.npcList.add(thisNpc);
|
||||
@ -656,6 +658,7 @@ public class DarkCloudMansion extends AbstractInstance
|
||||
thisNpc = new DMCNpc();
|
||||
thisNpc.npc = addSpawn(BS[idx], x, 182145, -6117, 48810, false, 0, false, world.getInstanceId());
|
||||
thisNpc.npc.setRandomWalking(false);
|
||||
thisNpc.npc.disableCoreAI(true);
|
||||
thisNpc.order = idx;
|
||||
thisNpc.status = temp[idx];
|
||||
thisNpc.count = 0;
|
||||
@ -759,6 +762,8 @@ public class DarkCloudMansion extends AbstractInstance
|
||||
else
|
||||
{
|
||||
fifthRoom.reset = 1;
|
||||
mob.npc.disableCoreAI(false);
|
||||
mob.npc.getAI().setIntention(CtrlIntention.AI_INTENTION_ATTACK, player);
|
||||
mob.npc.broadcastPacket(new NpcSay(mob.npc.getObjectId(), ChatType.NPC_GENERAL, mob.npc.getId(), _faildChat[getRandom(_faildChat.length)]));
|
||||
startQuestTimer("decayChatBelethSamples", 4000, npc, player);
|
||||
startQuestTimer("decayBelethSamples", 4500, npc, player);
|
||||
@ -1018,9 +1023,17 @@ public class DarkCloudMansion extends AbstractInstance
|
||||
final DMCRoom forthRoom = world.getParameters().getObject("ForthRoom", DMCRoom.class);
|
||||
for (DMCNpc mob : forthRoom.npcList)
|
||||
{
|
||||
if ((mob.npc == npc) && mob.npc.isInvul() && (getRandom(100) < 12))
|
||||
if (mob.npc == npc)
|
||||
{
|
||||
addSpawn(BM[getRandom(BM.length)], attacker.getX(), attacker.getY(), attacker.getZ(), 0, false, 0, false, world.getInstanceId());
|
||||
if (mob.npc.isCoreAIDisabled())
|
||||
{
|
||||
mob.npc.disableCoreAI(false);
|
||||
mob.npc.getAI().setIntention(CtrlIntention.AI_INTENTION_ATTACK, attacker);
|
||||
}
|
||||
if (mob.npc.isInvul() && (getRandom(100) < 12))
|
||||
{
|
||||
addSpawn(BM[getRandom(BM.length)], attacker.getX(), attacker.getY(), attacker.getZ(), 0, false, 0, false, world.getInstanceId());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -606,7 +606,7 @@ public class Q00334_TheWishingPotion extends Quest
|
||||
case 1:
|
||||
{
|
||||
addSpawn(FAIRY_RUPINA, npc, true, 0, false);
|
||||
qs.set("Exchange", 0);
|
||||
qs.set(EXCHANGE, 0);
|
||||
break;
|
||||
}
|
||||
case 2:
|
||||
@ -614,19 +614,19 @@ public class Q00334_TheWishingPotion extends Quest
|
||||
addSpawn(GRIMA, npc, true, 0, false);
|
||||
addSpawn(GRIMA, npc, true, 0, false);
|
||||
addSpawn(GRIMA, npc, true, 0, false);
|
||||
qs.set("Exchange", 0);
|
||||
qs.set(EXCHANGE, 0);
|
||||
break;
|
||||
}
|
||||
case 3:
|
||||
{
|
||||
giveItems(player, Q_CERTIFICATE_OF_ROYALTY, 1);
|
||||
qs.set("Exchange", 0);
|
||||
qs.set(EXCHANGE, 0);
|
||||
break;
|
||||
}
|
||||
case 4:
|
||||
{
|
||||
addSpawn(WISDOM_CHEST, npc, true, 0, false);
|
||||
qs.set("Exchange", 0);
|
||||
qs.set(EXCHANGE, 0);
|
||||
break;
|
||||
}
|
||||
}
|
||||
@ -642,25 +642,25 @@ public class Q00334_TheWishingPotion extends Quest
|
||||
addSpawn(SUCCUBUS_OF_SEDUCTION, npc, true, 0, false);
|
||||
addSpawn(SUCCUBUS_OF_SEDUCTION, npc, true, 0, false);
|
||||
addSpawn(SUCCUBUS_OF_SEDUCTION, npc, true, 0, false);
|
||||
qs.set("Exchange", 0);
|
||||
qs.set(EXCHANGE, 0);
|
||||
break;
|
||||
}
|
||||
case 2:
|
||||
{
|
||||
giveAdena(player, 10000, true);
|
||||
qs.set("Exchange", 0);
|
||||
qs.set(EXCHANGE, 0);
|
||||
break;
|
||||
}
|
||||
case 3:
|
||||
{
|
||||
addSpawn(DLORD_ALEXANDROSANCHES, npc, true, 0, false);
|
||||
qs.set("Exchange", 0);
|
||||
qs.set(EXCHANGE, 0);
|
||||
break;
|
||||
}
|
||||
case 4:
|
||||
{
|
||||
addSpawn(WISDOM_CHEST, npc, true, 0, false);
|
||||
qs.set("Exchange", 0);
|
||||
qs.set(EXCHANGE, 0);
|
||||
break;
|
||||
}
|
||||
}
|
||||
@ -673,19 +673,19 @@ public class Q00334_TheWishingPotion extends Quest
|
||||
case 2:
|
||||
{
|
||||
giveAdena(player, 10000, true);
|
||||
qs.set("Exchange", 0);
|
||||
qs.set(EXCHANGE, 0);
|
||||
break;
|
||||
}
|
||||
case 3:
|
||||
{
|
||||
giveItems(player, Q_ANCIENT_CROWN, 1);
|
||||
qs.set("Exchange", 0);
|
||||
qs.set(EXCHANGE, 0);
|
||||
break;
|
||||
}
|
||||
case 4:
|
||||
{
|
||||
addSpawn(WISDOM_CHEST, npc, true, 0, false);
|
||||
qs.set("Exchange", 0);
|
||||
qs.set(EXCHANGE, 0);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
@ -78,7 +78,7 @@ public class Q00382_KailsMagicCoin extends Quest
|
||||
|
||||
switch (event)
|
||||
{
|
||||
case "30386-03.htm":
|
||||
case "30687-03.htm":
|
||||
{
|
||||
if (qs.isCreated())
|
||||
{
|
||||
@ -87,8 +87,8 @@ public class Q00382_KailsMagicCoin extends Quest
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "30386-05.htm":
|
||||
case "30386-06.htm":
|
||||
case "30687-05.htm":
|
||||
case "30687-06.htm":
|
||||
{
|
||||
if (qs.isStarted())
|
||||
{
|
||||
|
@ -138,10 +138,10 @@ public class Q00628_HuntGoldenRam extends Quest
|
||||
public String onKill(Npc npc, Player killer, boolean isSummon)
|
||||
{
|
||||
final QuestState qs = getRandomPartyMemberState(killer, -1, 1, npc);
|
||||
if (qs != null)
|
||||
if ((qs != null) && !qs.isCond(3))
|
||||
{
|
||||
final ItemChanceHolder item = MOBS_DROP_CHANCES.get(npc.getId());
|
||||
if ((item.getCount() <= qs.getCond()) && !qs.isCond(3))
|
||||
if (item.getCount() <= qs.getCond())
|
||||
{
|
||||
giveItemRandomly(qs.getPlayer(), npc, item.getId(), 1, REQUIRED_ITEM_COUNT, item.getChance(), true);
|
||||
}
|
||||
|
@ -348,7 +348,7 @@ public class Q00648_AnIceMerchantsDream extends Quest
|
||||
if (hasQuestItems(player, SILVER_ICE_CRYSTAL))
|
||||
{
|
||||
final int val = qs.getInt("ex") % 10;
|
||||
if (val == 0)
|
||||
if (!qs.isSet("ex") || (val == 0))
|
||||
{
|
||||
htmltext = "32023-03.html";
|
||||
qs.set("ex", 0);
|
||||
|
@ -19,6 +19,7 @@ package instances.DarkCloudMansion;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import org.l2jmobius.gameserver.ai.CtrlIntention;
|
||||
import org.l2jmobius.gameserver.enums.ChatType;
|
||||
import org.l2jmobius.gameserver.instancemanager.InstanceManager;
|
||||
import org.l2jmobius.gameserver.model.Location;
|
||||
@ -615,6 +616,7 @@ public class DarkCloudMansion extends AbstractInstance
|
||||
{
|
||||
thisNpc = new DMCNpc();
|
||||
thisNpc.npc = addSpawn(SC, x, y, -6115, 16215, false, 0, false, world.getInstanceId());
|
||||
thisNpc.npc.disableCoreAI(true);
|
||||
thisNpc.status = templist[yy][xx];
|
||||
thisNpc.order = yy;
|
||||
forthRoom.npcList.add(thisNpc);
|
||||
@ -656,6 +658,7 @@ public class DarkCloudMansion extends AbstractInstance
|
||||
thisNpc = new DMCNpc();
|
||||
thisNpc.npc = addSpawn(BS[idx], x, 182145, -6117, 48810, false, 0, false, world.getInstanceId());
|
||||
thisNpc.npc.setRandomWalking(false);
|
||||
thisNpc.npc.disableCoreAI(true);
|
||||
thisNpc.order = idx;
|
||||
thisNpc.status = temp[idx];
|
||||
thisNpc.count = 0;
|
||||
@ -759,6 +762,8 @@ public class DarkCloudMansion extends AbstractInstance
|
||||
else
|
||||
{
|
||||
fifthRoom.reset = 1;
|
||||
mob.npc.disableCoreAI(false);
|
||||
mob.npc.getAI().setIntention(CtrlIntention.AI_INTENTION_ATTACK, player);
|
||||
mob.npc.broadcastPacket(new NpcSay(mob.npc.getObjectId(), ChatType.NPC_GENERAL, mob.npc.getId(), _faildChat[getRandom(_faildChat.length)]));
|
||||
startQuestTimer("decayChatBelethSamples", 4000, npc, player);
|
||||
startQuestTimer("decayBelethSamples", 4500, npc, player);
|
||||
@ -1018,9 +1023,17 @@ public class DarkCloudMansion extends AbstractInstance
|
||||
final DMCRoom forthRoom = world.getParameters().getObject("ForthRoom", DMCRoom.class);
|
||||
for (DMCNpc mob : forthRoom.npcList)
|
||||
{
|
||||
if ((mob.npc == npc) && mob.npc.isInvul() && (getRandom(100) < 12))
|
||||
if (mob.npc == npc)
|
||||
{
|
||||
addSpawn(BM[getRandom(BM.length)], attacker.getX(), attacker.getY(), attacker.getZ(), 0, false, 0, false, world.getInstanceId());
|
||||
if (mob.npc.isCoreAIDisabled())
|
||||
{
|
||||
mob.npc.disableCoreAI(false);
|
||||
mob.npc.getAI().setIntention(CtrlIntention.AI_INTENTION_ATTACK, attacker);
|
||||
}
|
||||
if (mob.npc.isInvul() && (getRandom(100) < 12))
|
||||
{
|
||||
addSpawn(BM[getRandom(BM.length)], attacker.getX(), attacker.getY(), attacker.getZ(), 0, false, 0, false, world.getInstanceId());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -606,7 +606,7 @@ public class Q00334_TheWishingPotion extends Quest
|
||||
case 1:
|
||||
{
|
||||
addSpawn(FAIRY_RUPINA, npc, true, 0, false);
|
||||
qs.set("Exchange", 0);
|
||||
qs.set(EXCHANGE, 0);
|
||||
break;
|
||||
}
|
||||
case 2:
|
||||
@ -614,19 +614,19 @@ public class Q00334_TheWishingPotion extends Quest
|
||||
addSpawn(GRIMA, npc, true, 0, false);
|
||||
addSpawn(GRIMA, npc, true, 0, false);
|
||||
addSpawn(GRIMA, npc, true, 0, false);
|
||||
qs.set("Exchange", 0);
|
||||
qs.set(EXCHANGE, 0);
|
||||
break;
|
||||
}
|
||||
case 3:
|
||||
{
|
||||
giveItems(player, Q_CERTIFICATE_OF_ROYALTY, 1);
|
||||
qs.set("Exchange", 0);
|
||||
qs.set(EXCHANGE, 0);
|
||||
break;
|
||||
}
|
||||
case 4:
|
||||
{
|
||||
addSpawn(WISDOM_CHEST, npc, true, 0, false);
|
||||
qs.set("Exchange", 0);
|
||||
qs.set(EXCHANGE, 0);
|
||||
break;
|
||||
}
|
||||
}
|
||||
@ -642,25 +642,25 @@ public class Q00334_TheWishingPotion extends Quest
|
||||
addSpawn(SUCCUBUS_OF_SEDUCTION, npc, true, 0, false);
|
||||
addSpawn(SUCCUBUS_OF_SEDUCTION, npc, true, 0, false);
|
||||
addSpawn(SUCCUBUS_OF_SEDUCTION, npc, true, 0, false);
|
||||
qs.set("Exchange", 0);
|
||||
qs.set(EXCHANGE, 0);
|
||||
break;
|
||||
}
|
||||
case 2:
|
||||
{
|
||||
giveAdena(player, 10000, true);
|
||||
qs.set("Exchange", 0);
|
||||
qs.set(EXCHANGE, 0);
|
||||
break;
|
||||
}
|
||||
case 3:
|
||||
{
|
||||
addSpawn(DLORD_ALEXANDROSANCHES, npc, true, 0, false);
|
||||
qs.set("Exchange", 0);
|
||||
qs.set(EXCHANGE, 0);
|
||||
break;
|
||||
}
|
||||
case 4:
|
||||
{
|
||||
addSpawn(WISDOM_CHEST, npc, true, 0, false);
|
||||
qs.set("Exchange", 0);
|
||||
qs.set(EXCHANGE, 0);
|
||||
break;
|
||||
}
|
||||
}
|
||||
@ -673,19 +673,19 @@ public class Q00334_TheWishingPotion extends Quest
|
||||
case 2:
|
||||
{
|
||||
giveAdena(player, 10000, true);
|
||||
qs.set("Exchange", 0);
|
||||
qs.set(EXCHANGE, 0);
|
||||
break;
|
||||
}
|
||||
case 3:
|
||||
{
|
||||
giveItems(player, Q_ANCIENT_CROWN, 1);
|
||||
qs.set("Exchange", 0);
|
||||
qs.set(EXCHANGE, 0);
|
||||
break;
|
||||
}
|
||||
case 4:
|
||||
{
|
||||
addSpawn(WISDOM_CHEST, npc, true, 0, false);
|
||||
qs.set("Exchange", 0);
|
||||
qs.set(EXCHANGE, 0);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
@ -78,7 +78,7 @@ public class Q00382_KailsMagicCoin extends Quest
|
||||
|
||||
switch (event)
|
||||
{
|
||||
case "30386-03.htm":
|
||||
case "30687-03.htm":
|
||||
{
|
||||
if (qs.isCreated())
|
||||
{
|
||||
@ -87,8 +87,8 @@ public class Q00382_KailsMagicCoin extends Quest
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "30386-05.htm":
|
||||
case "30386-06.htm":
|
||||
case "30687-05.htm":
|
||||
case "30687-06.htm":
|
||||
{
|
||||
if (qs.isStarted())
|
||||
{
|
||||
|
@ -138,10 +138,10 @@ public class Q00628_HuntGoldenRam extends Quest
|
||||
public String onKill(Npc npc, Player killer, boolean isSummon)
|
||||
{
|
||||
final QuestState qs = getRandomPartyMemberState(killer, -1, 1, npc);
|
||||
if (qs != null)
|
||||
if ((qs != null) && !qs.isCond(3))
|
||||
{
|
||||
final ItemChanceHolder item = MOBS_DROP_CHANCES.get(npc.getId());
|
||||
if ((item.getCount() <= qs.getCond()) && !qs.isCond(3))
|
||||
if (item.getCount() <= qs.getCond())
|
||||
{
|
||||
giveItemRandomly(qs.getPlayer(), npc, item.getId(), 1, REQUIRED_ITEM_COUNT, item.getChance(), true);
|
||||
}
|
||||
|
@ -348,7 +348,7 @@ public class Q00648_AnIceMerchantsDream extends Quest
|
||||
if (hasQuestItems(player, SILVER_ICE_CRYSTAL))
|
||||
{
|
||||
final int val = qs.getInt("ex") % 10;
|
||||
if (val == 0)
|
||||
if (!qs.isSet("ex") || (val == 0))
|
||||
{
|
||||
htmltext = "32023-03.html";
|
||||
qs.set("ex", 0);
|
||||
|
@ -43,7 +43,6 @@ public class Q10292_SevenSignsGirlOfDoubt extends Quest
|
||||
private static final int MIN_LEVEL = 81;
|
||||
// Variables
|
||||
private static final String I_QUEST1 = "I_QUEST1";
|
||||
private static final String KILLCOUNT_VAR = "killCount";
|
||||
// Monster
|
||||
private static final int CREATURE_OF_THE_DUSK1 = 27422;
|
||||
private static final int CREATURE_OF_THE_DUSK2 = 27424;
|
||||
@ -142,6 +141,7 @@ public class Q10292_SevenSignsGirlOfDoubt extends Quest
|
||||
{
|
||||
if (!npc.getVariables().getBoolean(I_QUEST1, false))
|
||||
{
|
||||
qs.set("killCount", 0);
|
||||
npc.getVariables().set(I_QUEST1, true);
|
||||
addSpawn(CREATURE_OF_THE_DUSK1, 89440, -238016, -9632, getRandom(360), false, 0, false, player.getInstanceId());
|
||||
addSpawn(CREATURE_OF_THE_DUSK2, 89524, -238131, -9632, getRandom(360), false, 0, false, player.getInstanceId());
|
||||
@ -208,16 +208,13 @@ public class Q10292_SevenSignsGirlOfDoubt extends Quest
|
||||
}
|
||||
else
|
||||
{
|
||||
if (qs.getInt(KILLCOUNT_VAR) == 1)
|
||||
final int killCount = qs.getInt("killCount") + 1;
|
||||
qs.set("killCount", killCount);
|
||||
if (killCount == 2)
|
||||
{
|
||||
qs.unset(KILLCOUNT_VAR);
|
||||
qs.setMemoState(6);
|
||||
qs.setCond(6);
|
||||
}
|
||||
else
|
||||
{
|
||||
qs.set(KILLCOUNT_VAR, 1);
|
||||
}
|
||||
}
|
||||
}
|
||||
return super.onKill(npc, player, isSummon);
|
||||
|
@ -206,7 +206,6 @@
|
||||
<skill skillName="Dryad Root" skillId="1201" skillLevel="26" getLevel="60" levelUpSp="231000" learnedByNpc="true" />
|
||||
<skill skillName="Word of Fear" skillId="1272" skillLevel="6" getLevel="60" levelUpSp="231000" learnedByNpc="true" />
|
||||
<skill skillName="Concentration" skillId="1078" skillLevel="5" getLevel="60" levelUpSp="231000" learnedByNpc="true" />
|
||||
<skill skillName="Resist Earth" skillId="1548" skillLevel="1" getLevel="60" levelUpSp="231000" learnedByNpc="true" />
|
||||
<skill skillName="Resist Poison" skillId="1033" skillLevel="1" getLevel="60" levelUpSp="231000" learnedByNpc="true" />
|
||||
<skill skillName="Erase" skillId="1395" skillLevel="3" getLevel="60" levelUpSp="231000" learnedByNpc="true" />
|
||||
<skill skillName="Mana Burn" skillId="1398" skillLevel="3" getLevel="60" levelUpSp="231000" learnedByNpc="true" />
|
||||
@ -242,7 +241,6 @@
|
||||
<skill skillName="Dryad Root" skillId="1201" skillLevel="28" getLevel="64" levelUpSp="370000" learnedByNpc="true" />
|
||||
<skill skillName="Word of Fear" skillId="1272" skillLevel="8" getLevel="64" levelUpSp="370000" learnedByNpc="true" />
|
||||
<skill skillName="Bless the Body" skillId="1045" skillLevel="5" getLevel="64" levelUpSp="370000" learnedByNpc="true" />
|
||||
<skill skillName="Resist Earth" skillId="1548" skillLevel="2" getLevel="64" levelUpSp="370000" learnedByNpc="true" />
|
||||
<skill skillName="Resist Poison" skillId="1033" skillLevel="2" getLevel="64" levelUpSp="370000" learnedByNpc="true" />
|
||||
<skill skillName="Erase" skillId="1395" skillLevel="5" getLevel="64" levelUpSp="370000" learnedByNpc="true" />
|
||||
<skill skillName="Mana Burn" skillId="1398" skillLevel="5" getLevel="64" levelUpSp="370000" learnedByNpc="true" />
|
||||
@ -282,7 +280,6 @@
|
||||
<skill skillName="Dryad Root" skillId="1201" skillLevel="30" getLevel="68" levelUpSp="640000" learnedByNpc="true" />
|
||||
<skill skillName="Word of Fear" skillId="1272" skillLevel="10" getLevel="68" levelUpSp="640000" learnedByNpc="true" />
|
||||
<skill skillName="Concentration" skillId="1078" skillLevel="6" getLevel="68" levelUpSp="640000" learnedByNpc="true" />
|
||||
<skill skillName="Resist Earth" skillId="1548" skillLevel="3" getLevel="68" levelUpSp="640000" learnedByNpc="true" />
|
||||
<skill skillName="Resist Poison" skillId="1033" skillLevel="3" getLevel="68" levelUpSp="640000" learnedByNpc="true" />
|
||||
<skill skillName="Erase" skillId="1395" skillLevel="7" getLevel="68" levelUpSp="640000" learnedByNpc="true" />
|
||||
<skill skillName="Mana Burn" skillId="1398" skillLevel="7" getLevel="68" levelUpSp="640000" learnedByNpc="true" />
|
||||
|
@ -20,11 +20,11 @@
|
||||
<skill skillName="Fighters Will" skillId="758" skillLevel="1" getLevel="81" learnedByFS="true" />
|
||||
<skill skillName="Archers Will" skillId="759" skillLevel="1" getLevel="81" learnedByFS="true" />
|
||||
<skill skillName="Expose Weak Point" skillId="767" skillLevel="1" getLevel="81" learnedByFS="true" />
|
||||
<skill skillName="Dread Pool" skillId="774" skillLevel="1" getLevel="81" learnedByFS="true" />
|
||||
<skill skillName="Final Secret" skillId="917" skillLevel="1" getLevel="81" learnedByFS="true" />
|
||||
<skill skillName="Protection of Rune" skillId="755" skillLevel="1" getLevel="82" learnedByFS="true" />
|
||||
<skill skillName="Protection of Elemental" skillId="756" skillLevel="1" getLevel="82" learnedByFS="true" />
|
||||
<skill skillName="Protection of Alignment" skillId="757" skillLevel="1" getLevel="82" learnedByFS="true" />
|
||||
<skill skillName="Dread Pool" skillId="774" skillLevel="1" getLevel="83" learnedByFS="true" />
|
||||
|
||||
<!-- HighFive cross-class -->
|
||||
<skill skillName="Rush Impact" skillId="995" skillLevel="1" getLevel="83" levelUpSp="100000000" learnedByNpc="true" />
|
||||
|
@ -408,4 +408,74 @@
|
||||
<skill id="3506" level="1" /> <!-- Brigandine Heavy Armor Set -->
|
||||
<shield_skill id="3544" level="1" /> <!-- Equipped with Shield -->
|
||||
</set>
|
||||
<set id="212">
|
||||
<chest id="21775" /> <!-- Imperial Crusader Breastplate of Fortune - 90-day limited period -->
|
||||
<legs id="21776" /> <!-- Imperial Crusader Gaiters of Fortune - 90-day limited period -->
|
||||
<head id="21779" /> <!-- Imperial Crusader Helmet of Fortune - 90-day limited period -->
|
||||
<gloves id="21777" /> <!-- Imperial Crusader Gauntlet of Fortune - 90-day limited period -->
|
||||
<feet id="21778" /> <!-- Imperial Crusader Boots of Fortune - 90-day limited period -->
|
||||
<shield id="21780" /> <!-- Imperial Crusader Shield of Fortune - 90-day limited period -->
|
||||
<skill id="3006" level="1" /> <!-- Equip Set Items -->
|
||||
<skill id="3553" level="1" /> <!-- Imperial Crusader Heavy Armor Set -->
|
||||
<skill id="3554" level="1" /> <!-- Equipped with Shield -->
|
||||
<str val="2" />
|
||||
<dex val="-2" />
|
||||
</set>
|
||||
<set id="213">
|
||||
<chest id="21782" /> <!-- Draconic Leather Armor of Fortune - 90-day limited period -->
|
||||
<head id="21785" /> <!-- Draconic Leather Helmet of Fortune - 90-day limited period -->
|
||||
<gloves id="21783" /> <!-- Draconic Leather Gloves of Fortune - 90-day limited period -->
|
||||
<feet id="21784" /> <!-- Draconic Leather Boots of Fortune - 90-day limited period -->
|
||||
<skill id="3006" level="1" /> <!-- Equip Set Items -->
|
||||
<skill id="3555" level="1" /> <!-- Draconic Light Armor Set -->
|
||||
<str val="1" />
|
||||
<con val="-2" />
|
||||
<dex val="1" />
|
||||
</set>
|
||||
<set id="214">
|
||||
<chest id="21787" /> <!-- Major Arcana Robe of Fortune - 90-day limited period -->
|
||||
<head id="21790" /> <!-- Major Arcana Circlet of Fortune - 90-day limited period -->
|
||||
<gloves id="21788" /> <!-- Major Arcana Gloves of Fortune - 90-day limited period -->
|
||||
<feet id="21789" /> <!-- Major Arcana Boots of Fortune - 90-day limited period -->
|
||||
<skill id="3006" level="1" /> <!-- Equip Set Items -->
|
||||
<skill id="3556" level="1" /> <!-- Major Arcana Robe Set -->
|
||||
<int val="1" />
|
||||
<men val="-2" />
|
||||
<wit val="1" />
|
||||
</set>
|
||||
<set id="215">
|
||||
<chest id="21793" /> <!-- Dynasty Breastplate of Fortune - 90-day limited period -->
|
||||
<legs id="21794" /> <!-- Dynasty Gaiters of Fortune - 90-day limited period -->
|
||||
<head id="21797" /> <!-- Dynasty Helmet of Fortune - 90-day limited period -->
|
||||
<gloves id="21795" /> <!-- Dynasty Gauntlet of Fortune - 90-day limited period -->
|
||||
<feet id="21796" /> <!-- Dynasty Boots of Fortune - 90-day limited period -->
|
||||
<shield id="21798" /> <!-- Dynasty Shield of Fortune - 90-day limited period -->
|
||||
<skill id="3006" level="1" /> <!-- Equip Set Items -->
|
||||
<skill id="3412" level="1" /> <!-- Dynasty Breastplate -->
|
||||
<skill id="3417" level="1" /> <!-- Equipped with Shield -->
|
||||
<str val="1" />
|
||||
<con val="-1" />
|
||||
</set>
|
||||
<set id="216">
|
||||
<chest id="21800" /> <!-- Dynasty Leather Armor of Fortune - 90-day limited period -->
|
||||
<legs id="21801" /> <!-- Dynasty Leather Leggings of Fortune - 90-day limited period -->
|
||||
<head id="21802" /> <!-- Dynasty Leather Helmet of Fortune - 90-day limited period -->
|
||||
<gloves id="21803" /> <!-- Dynasty Leather Gloves of Fortune - 90-day limited period -->
|
||||
<feet id="21804" /> <!-- Dynasty Leather Boots of Fortune - 90-day limited period -->
|
||||
<skill id="3006" level="1" /> <!-- Equip Set Items -->
|
||||
<skill id="3413" level="1" /> <!-- Dynasty Leather Armor -->
|
||||
<con val="-1" />
|
||||
<dex val="1" />
|
||||
</set>
|
||||
<set id="217">
|
||||
<chest id="21806" /> <!-- Dynasty Tunic of Fortune - 90-day limited period -->
|
||||
<legs id="21807" /> <!-- Dynasty Stockings of Fortune - 90-day limited period -->
|
||||
<head id="21808" /> <!-- Dynasty Circlet of Fortune - 90-day limited period -->
|
||||
<gloves id="21809" /> <!-- Dynasty Gloves of Fortune - 90-day limited period -->
|
||||
<feet id="21810" /> <!-- Dynasty Shoes of Fortune - 90-day limited period -->
|
||||
<skill id="3006" level="1" /> <!-- Equip Set Items -->
|
||||
<skill id="3416" level="1" /> <!-- Dynasty Tunic -->
|
||||
<int val="-1" />
|
||||
<men val="1" />
|
||||
</set>
|
||||
</list>
|
Loading…
Reference in New Issue
Block a user