StoryOfDreya AI improvement.
Contributed by gigilo1968.
This commit is contained in:
@@ -85,144 +85,94 @@ public class StoryOfFreya extends AbstractInstance
|
|||||||
{
|
{
|
||||||
String htmltext = null;
|
String htmltext = null;
|
||||||
final Instance world = npc.getInstanceWorld();
|
final Instance world = npc.getInstanceWorld();
|
||||||
|
switch (event)
|
||||||
if (isInInstance(world))
|
|
||||||
{
|
{
|
||||||
switch (event)
|
case "34172-02.html":
|
||||||
|
case "34172-03.html":
|
||||||
{
|
{
|
||||||
case "34172-02.html":
|
htmltext = event;
|
||||||
case "34172-03.html":
|
break;
|
||||||
|
}
|
||||||
|
case "34172-01.html":
|
||||||
|
{
|
||||||
|
if (!player.isInParty() || !player.getParty().isLeader(player))
|
||||||
{
|
{
|
||||||
htmltext = event;
|
htmltext = "34172-04.html";
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case "34172-01.html":
|
htmltext = event;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case "34172-06.html":
|
||||||
|
{
|
||||||
|
if (!player.isInParty() || !player.getParty().isLeader(player))
|
||||||
{
|
{
|
||||||
if (!player.isInParty() || !player.getParty().isLeader(player))
|
htmltext = "34172-04.html";
|
||||||
{
|
|
||||||
htmltext = "34172-04.html";
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
htmltext = event;
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case "34172-06.html":
|
final L2Party party = player.getParty();
|
||||||
|
final List<L2PcInstance> members = party.getMembers();
|
||||||
|
for (L2PcInstance member : members)
|
||||||
{
|
{
|
||||||
if (!player.isInParty() || !player.getParty().isLeader(player))
|
if (member.isInsideRadius3D(npc, Config.ALT_PARTY_RANGE))
|
||||||
{
|
{
|
||||||
htmltext = "34172-04.html";
|
QuestProgress(npc, member);
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
htmltext = event;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case "start_story":
|
||||||
|
{
|
||||||
|
player.standUp();
|
||||||
|
enterInstance(player, null, TEMPLATE_ID);
|
||||||
|
if (player.getParty() != null)
|
||||||
|
{
|
||||||
|
for (L2PcInstance member : player.getParty().getMembers())
|
||||||
|
{
|
||||||
|
if (member != player)
|
||||||
|
{
|
||||||
|
member.standUp();
|
||||||
|
member.teleToLocation(player, player.getInstanceWorld());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case "startInstance":
|
||||||
|
{
|
||||||
|
if (player.isInParty())
|
||||||
|
{
|
||||||
final L2Party party = player.getParty();
|
final L2Party party = player.getParty();
|
||||||
final List<L2PcInstance> members = party.getMembers();
|
final List<L2PcInstance> members = party.getMembers();
|
||||||
for (L2PcInstance member : members)
|
for (L2PcInstance member : members)
|
||||||
{
|
{
|
||||||
if (member.isInsideRadius3D(npc, Config.ALT_PARTY_RANGE))
|
if (member.isInsideRadius3D(npc, Config.ALT_PARTY_RANGE))
|
||||||
{
|
{
|
||||||
|
member.teleToLocation(LABIRYNTH_TELEPORT, world.getTemplateId());
|
||||||
|
world.setStatus(1);
|
||||||
QuestProgress(npc, member);
|
QuestProgress(npc, member);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
htmltext = event;
|
if (getRandom(10) < 5)
|
||||||
break;
|
|
||||||
}
|
|
||||||
case "start_story":
|
|
||||||
{
|
|
||||||
player.standUp();
|
|
||||||
enterInstance(player, null, TEMPLATE_ID);
|
|
||||||
if (player.getParty() != null)
|
|
||||||
{
|
{
|
||||||
for (L2PcInstance member : player.getParty().getMembers())
|
world.spawnGroup("knight");
|
||||||
{
|
world.broadcastPacket(new ExShowScreenMessage(NpcStringId.ICE_KNIGHTS_GOT_IN_DEFEAT_THE_ICE_KNIGHTS, ExShowScreenMessage.TOP_CENTER, 20000, true));
|
||||||
if (member != player)
|
|
||||||
{
|
|
||||||
member.standUp();
|
|
||||||
member.teleToLocation(player, player.getInstanceWorld());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
break;
|
else
|
||||||
}
|
|
||||||
case "startInstance":
|
|
||||||
{
|
|
||||||
if (player.isInParty())
|
|
||||||
{
|
{
|
||||||
final L2Party party = player.getParty();
|
world.spawnGroup("knightSolo");
|
||||||
final List<L2PcInstance> members = party.getMembers();
|
|
||||||
for (L2PcInstance member : members)
|
|
||||||
{
|
|
||||||
if (member.isInsideRadius3D(npc, Config.ALT_PARTY_RANGE))
|
|
||||||
{
|
|
||||||
member.teleToLocation(LABIRYNTH_TELEPORT, world.getTemplateId());
|
|
||||||
world.setStatus(1);
|
|
||||||
QuestProgress(npc, member);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (getRandom(10) < 5)
|
|
||||||
{
|
|
||||||
world.spawnGroup("knight");
|
|
||||||
world.broadcastPacket(new ExShowScreenMessage(NpcStringId.ICE_KNIGHTS_GOT_IN_DEFEAT_THE_ICE_KNIGHTS, ExShowScreenMessage.TOP_CENTER, 20000, true));
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
world.spawnGroup("knightSolo");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
case "openDoor":
|
|
||||||
{
|
|
||||||
if (world.isStatus(0))
|
|
||||||
{
|
|
||||||
if (!player.isInParty() || !player.getParty().isLeader(player))
|
|
||||||
{
|
|
||||||
htmltext = "34173-03.html";
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
if (player.isInParty())
|
|
||||||
{
|
|
||||||
final L2Party party = player.getParty();
|
|
||||||
final List<L2PcInstance> members = party.getMembers();
|
|
||||||
for (L2PcInstance member : members)
|
|
||||||
{
|
|
||||||
if ((member == null) || (member.calculateDistance3D(npc) > 300))
|
|
||||||
{
|
|
||||||
htmltext = "34173-02.html";
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
world.openCloseDoor(world.getTemplateParameters().getInt("1_st_door"), true);
|
|
||||||
startQuestTimer("closeDoor", 60000, npc, null);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
else if (world.getStatus() > 0)
|
|
||||||
{
|
|
||||||
if (player.getInventory().getInventoryItemCount(ICE_CRYSTAL_SHARD, -1) == 10)
|
|
||||||
{
|
|
||||||
world.openCloseDoor(world.getTemplateParameters().getInt("1_st_door"), true);
|
|
||||||
startQuestTimer("closeDoor", 30000, npc, null);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
htmltext = "34173-03.html";
|
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
case "closeDoor":
|
break;
|
||||||
{
|
}
|
||||||
world.openCloseDoor(world.getTemplateParameters().getInt("1_st_door"), false);
|
case "openDoor":
|
||||||
break;
|
{
|
||||||
}
|
if (world.isStatus(0))
|
||||||
case "summerLabirynth":
|
|
||||||
{
|
|
||||||
player.teleToLocation(LABIRYNTH_TELEPORT, world.getTemplateId());
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
case "backCastle":
|
|
||||||
{
|
{
|
||||||
if (!player.isInParty() || !player.getParty().isLeader(player))
|
if (!player.isInParty() || !player.getParty().isLeader(player))
|
||||||
{
|
{
|
||||||
htmltext = "34174-01.html";
|
htmltext = "34173-03.html";
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
if (player.isInParty())
|
if (player.isInParty())
|
||||||
@@ -231,46 +181,92 @@ public class StoryOfFreya extends AbstractInstance
|
|||||||
final List<L2PcInstance> members = party.getMembers();
|
final List<L2PcInstance> members = party.getMembers();
|
||||||
for (L2PcInstance member : members)
|
for (L2PcInstance member : members)
|
||||||
{
|
{
|
||||||
if (member.isInsideRadius3D(npc, Config.ALT_PARTY_RANGE))
|
if ((member == null) || (member.calculateDistance3D(npc) > 300))
|
||||||
{
|
{
|
||||||
player.teleToLocation(CASTLE_TELEPORT, world.getTemplateId());
|
htmltext = "34173-02.html";
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
world.openCloseDoor(world.getTemplateParameters().getInt("1_st_door"), true);
|
||||||
|
startQuestTimer("closeDoor", 60000, npc, null);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case "startFreya":
|
|
||||||
|
else if (world.getStatus() > 0)
|
||||||
{
|
{
|
||||||
world.despawnGroup("general");
|
if (player.getInventory().getInventoryItemCount(ICE_CRYSTAL_SHARD, -1) == 10)
|
||||||
playMovie(world.getPlayers(), Movie.EPIC_FREYA_SCENE);
|
|
||||||
startQuestTimer("freyaSpawn", 20000, npc, null);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
case "freyaSpawn":
|
|
||||||
{
|
|
||||||
world.spawnGroup("freya");
|
|
||||||
world.broadcastPacket(new OnEventTrigger(FREYA_SNOW, true));
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
case "startAttack":
|
|
||||||
{
|
|
||||||
for (final L2Npc nearby : L2World.getInstance().getVisibleObjectsInRange(npc, FriendlyNpcInstance.class, 300))
|
|
||||||
{
|
{
|
||||||
if (nearby.getId() == KNIGHT)
|
world.openCloseDoor(world.getTemplateParameters().getInt("1_st_door"), true);
|
||||||
|
startQuestTimer("closeDoor", 30000, npc, null);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
htmltext = "34173-03.html";
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
case "closeDoor":
|
||||||
|
{
|
||||||
|
world.openCloseDoor(world.getTemplateParameters().getInt("1_st_door"), false);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case "summerLabirynth":
|
||||||
|
{
|
||||||
|
player.teleToLocation(LABIRYNTH_TELEPORT, world.getTemplateId());
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case "backCastle":
|
||||||
|
{
|
||||||
|
if (!player.isInParty() || !player.getParty().isLeader(player))
|
||||||
|
{
|
||||||
|
htmltext = "34174-01.html";
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
if (player.isInParty())
|
||||||
|
{
|
||||||
|
final L2Party party = player.getParty();
|
||||||
|
final List<L2PcInstance> members = party.getMembers();
|
||||||
|
for (L2PcInstance member : members)
|
||||||
|
{
|
||||||
|
if (member.isInsideRadius3D(npc, Config.ALT_PARTY_RANGE))
|
||||||
{
|
{
|
||||||
nearby.setIsInvul(true);
|
player.teleToLocation(CASTLE_TELEPORT, world.getTemplateId());
|
||||||
npc.reduceCurrentHp(1, nearby, null);
|
|
||||||
nearby.reduceCurrentHp(1, npc, null);
|
|
||||||
addAttackDesire(nearby, npc);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
case "finishInstance":
|
break;
|
||||||
|
}
|
||||||
|
case "startFreya":
|
||||||
|
{
|
||||||
|
world.despawnGroup("general");
|
||||||
|
playMovie(world.getPlayers(), Movie.EPIC_FREYA_SCENE);
|
||||||
|
startQuestTimer("freyaSpawn", 20000, npc, null);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case "freyaSpawn":
|
||||||
|
{
|
||||||
|
world.spawnGroup("freya");
|
||||||
|
world.broadcastPacket(new OnEventTrigger(FREYA_SNOW, true));
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case "startAttack":
|
||||||
|
{
|
||||||
|
for (final L2Npc nearby : L2World.getInstance().getVisibleObjectsInRange(npc, FriendlyNpcInstance.class, 300))
|
||||||
{
|
{
|
||||||
world.finishInstance(0);
|
if (nearby.getId() == KNIGHT)
|
||||||
break;
|
{
|
||||||
|
nearby.setIsInvul(true);
|
||||||
|
npc.reduceCurrentHp(1, nearby, null);
|
||||||
|
nearby.reduceCurrentHp(1, npc, null);
|
||||||
|
addAttackDesire(nearby, npc);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case "finishInstance":
|
||||||
|
{
|
||||||
|
world.finishInstance(0);
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return htmltext;
|
return htmltext;
|
||||||
|
@@ -85,144 +85,94 @@ public class StoryOfFreya extends AbstractInstance
|
|||||||
{
|
{
|
||||||
String htmltext = null;
|
String htmltext = null;
|
||||||
final Instance world = npc.getInstanceWorld();
|
final Instance world = npc.getInstanceWorld();
|
||||||
|
switch (event)
|
||||||
if (isInInstance(world))
|
|
||||||
{
|
{
|
||||||
switch (event)
|
case "34172-02.html":
|
||||||
|
case "34172-03.html":
|
||||||
{
|
{
|
||||||
case "34172-02.html":
|
htmltext = event;
|
||||||
case "34172-03.html":
|
break;
|
||||||
|
}
|
||||||
|
case "34172-01.html":
|
||||||
|
{
|
||||||
|
if (!player.isInParty() || !player.getParty().isLeader(player))
|
||||||
{
|
{
|
||||||
htmltext = event;
|
htmltext = "34172-04.html";
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case "34172-01.html":
|
htmltext = event;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case "34172-06.html":
|
||||||
|
{
|
||||||
|
if (!player.isInParty() || !player.getParty().isLeader(player))
|
||||||
{
|
{
|
||||||
if (!player.isInParty() || !player.getParty().isLeader(player))
|
htmltext = "34172-04.html";
|
||||||
{
|
|
||||||
htmltext = "34172-04.html";
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
htmltext = event;
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case "34172-06.html":
|
final L2Party party = player.getParty();
|
||||||
|
final List<L2PcInstance> members = party.getMembers();
|
||||||
|
for (L2PcInstance member : members)
|
||||||
{
|
{
|
||||||
if (!player.isInParty() || !player.getParty().isLeader(player))
|
if (member.isInsideRadius3D(npc, Config.ALT_PARTY_RANGE))
|
||||||
{
|
{
|
||||||
htmltext = "34172-04.html";
|
QuestProgress(npc, member);
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
htmltext = event;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case "start_story":
|
||||||
|
{
|
||||||
|
player.standUp();
|
||||||
|
enterInstance(player, null, TEMPLATE_ID);
|
||||||
|
if (player.getParty() != null)
|
||||||
|
{
|
||||||
|
for (L2PcInstance member : player.getParty().getMembers())
|
||||||
|
{
|
||||||
|
if (member != player)
|
||||||
|
{
|
||||||
|
member.standUp();
|
||||||
|
member.teleToLocation(player, player.getInstanceWorld());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case "startInstance":
|
||||||
|
{
|
||||||
|
if (player.isInParty())
|
||||||
|
{
|
||||||
final L2Party party = player.getParty();
|
final L2Party party = player.getParty();
|
||||||
final List<L2PcInstance> members = party.getMembers();
|
final List<L2PcInstance> members = party.getMembers();
|
||||||
for (L2PcInstance member : members)
|
for (L2PcInstance member : members)
|
||||||
{
|
{
|
||||||
if (member.isInsideRadius3D(npc, Config.ALT_PARTY_RANGE))
|
if (member.isInsideRadius3D(npc, Config.ALT_PARTY_RANGE))
|
||||||
{
|
{
|
||||||
|
member.teleToLocation(LABIRYNTH_TELEPORT, world.getTemplateId());
|
||||||
|
world.setStatus(1);
|
||||||
QuestProgress(npc, member);
|
QuestProgress(npc, member);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
htmltext = event;
|
if (getRandom(10) < 5)
|
||||||
break;
|
|
||||||
}
|
|
||||||
case "start_story":
|
|
||||||
{
|
|
||||||
player.standUp();
|
|
||||||
enterInstance(player, null, TEMPLATE_ID);
|
|
||||||
if (player.getParty() != null)
|
|
||||||
{
|
{
|
||||||
for (L2PcInstance member : player.getParty().getMembers())
|
world.spawnGroup("knight");
|
||||||
{
|
world.broadcastPacket(new ExShowScreenMessage(NpcStringId.ICE_KNIGHTS_GOT_IN_DEFEAT_THE_ICE_KNIGHTS, ExShowScreenMessage.TOP_CENTER, 20000, true));
|
||||||
if (member != player)
|
|
||||||
{
|
|
||||||
member.standUp();
|
|
||||||
member.teleToLocation(player, player.getInstanceWorld());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
break;
|
else
|
||||||
}
|
|
||||||
case "startInstance":
|
|
||||||
{
|
|
||||||
if (player.isInParty())
|
|
||||||
{
|
{
|
||||||
final L2Party party = player.getParty();
|
world.spawnGroup("knightSolo");
|
||||||
final List<L2PcInstance> members = party.getMembers();
|
|
||||||
for (L2PcInstance member : members)
|
|
||||||
{
|
|
||||||
if (member.isInsideRadius3D(npc, Config.ALT_PARTY_RANGE))
|
|
||||||
{
|
|
||||||
member.teleToLocation(LABIRYNTH_TELEPORT, world.getTemplateId());
|
|
||||||
world.setStatus(1);
|
|
||||||
QuestProgress(npc, member);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (getRandom(10) < 5)
|
|
||||||
{
|
|
||||||
world.spawnGroup("knight");
|
|
||||||
world.broadcastPacket(new ExShowScreenMessage(NpcStringId.ICE_KNIGHTS_GOT_IN_DEFEAT_THE_ICE_KNIGHTS, ExShowScreenMessage.TOP_CENTER, 20000, true));
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
world.spawnGroup("knightSolo");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
case "openDoor":
|
|
||||||
{
|
|
||||||
if (world.isStatus(0))
|
|
||||||
{
|
|
||||||
if (!player.isInParty() || !player.getParty().isLeader(player))
|
|
||||||
{
|
|
||||||
htmltext = "34173-03.html";
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
if (player.isInParty())
|
|
||||||
{
|
|
||||||
final L2Party party = player.getParty();
|
|
||||||
final List<L2PcInstance> members = party.getMembers();
|
|
||||||
for (L2PcInstance member : members)
|
|
||||||
{
|
|
||||||
if ((member == null) || (member.calculateDistance3D(npc) > 300))
|
|
||||||
{
|
|
||||||
htmltext = "34173-02.html";
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
world.openCloseDoor(world.getTemplateParameters().getInt("1_st_door"), true);
|
|
||||||
startQuestTimer("closeDoor", 60000, npc, null);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
else if (world.getStatus() > 0)
|
|
||||||
{
|
|
||||||
if (player.getInventory().getInventoryItemCount(ICE_CRYSTAL_SHARD, -1) == 10)
|
|
||||||
{
|
|
||||||
world.openCloseDoor(world.getTemplateParameters().getInt("1_st_door"), true);
|
|
||||||
startQuestTimer("closeDoor", 30000, npc, null);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
htmltext = "34173-03.html";
|
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
case "closeDoor":
|
break;
|
||||||
{
|
}
|
||||||
world.openCloseDoor(world.getTemplateParameters().getInt("1_st_door"), false);
|
case "openDoor":
|
||||||
break;
|
{
|
||||||
}
|
if (world.isStatus(0))
|
||||||
case "summerLabirynth":
|
|
||||||
{
|
|
||||||
player.teleToLocation(LABIRYNTH_TELEPORT, world.getTemplateId());
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
case "backCastle":
|
|
||||||
{
|
{
|
||||||
if (!player.isInParty() || !player.getParty().isLeader(player))
|
if (!player.isInParty() || !player.getParty().isLeader(player))
|
||||||
{
|
{
|
||||||
htmltext = "34174-01.html";
|
htmltext = "34173-03.html";
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
if (player.isInParty())
|
if (player.isInParty())
|
||||||
@@ -231,46 +181,92 @@ public class StoryOfFreya extends AbstractInstance
|
|||||||
final List<L2PcInstance> members = party.getMembers();
|
final List<L2PcInstance> members = party.getMembers();
|
||||||
for (L2PcInstance member : members)
|
for (L2PcInstance member : members)
|
||||||
{
|
{
|
||||||
if (member.isInsideRadius3D(npc, Config.ALT_PARTY_RANGE))
|
if ((member == null) || (member.calculateDistance3D(npc) > 300))
|
||||||
{
|
{
|
||||||
player.teleToLocation(CASTLE_TELEPORT, world.getTemplateId());
|
htmltext = "34173-02.html";
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
world.openCloseDoor(world.getTemplateParameters().getInt("1_st_door"), true);
|
||||||
|
startQuestTimer("closeDoor", 60000, npc, null);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case "startFreya":
|
|
||||||
|
else if (world.getStatus() > 0)
|
||||||
{
|
{
|
||||||
world.despawnGroup("general");
|
if (player.getInventory().getInventoryItemCount(ICE_CRYSTAL_SHARD, -1) == 10)
|
||||||
playMovie(world.getPlayers(), Movie.EPIC_FREYA_SCENE);
|
|
||||||
startQuestTimer("freyaSpawn", 20000, npc, null);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
case "freyaSpawn":
|
|
||||||
{
|
|
||||||
world.spawnGroup("freya");
|
|
||||||
world.broadcastPacket(new OnEventTrigger(FREYA_SNOW, true));
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
case "startAttack":
|
|
||||||
{
|
|
||||||
for (final L2Npc nearby : L2World.getInstance().getVisibleObjectsInRange(npc, FriendlyNpcInstance.class, 300))
|
|
||||||
{
|
{
|
||||||
if (nearby.getId() == KNIGHT)
|
world.openCloseDoor(world.getTemplateParameters().getInt("1_st_door"), true);
|
||||||
|
startQuestTimer("closeDoor", 30000, npc, null);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
htmltext = "34173-03.html";
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
case "closeDoor":
|
||||||
|
{
|
||||||
|
world.openCloseDoor(world.getTemplateParameters().getInt("1_st_door"), false);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case "summerLabirynth":
|
||||||
|
{
|
||||||
|
player.teleToLocation(LABIRYNTH_TELEPORT, world.getTemplateId());
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case "backCastle":
|
||||||
|
{
|
||||||
|
if (!player.isInParty() || !player.getParty().isLeader(player))
|
||||||
|
{
|
||||||
|
htmltext = "34174-01.html";
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
if (player.isInParty())
|
||||||
|
{
|
||||||
|
final L2Party party = player.getParty();
|
||||||
|
final List<L2PcInstance> members = party.getMembers();
|
||||||
|
for (L2PcInstance member : members)
|
||||||
|
{
|
||||||
|
if (member.isInsideRadius3D(npc, Config.ALT_PARTY_RANGE))
|
||||||
{
|
{
|
||||||
nearby.setIsInvul(true);
|
player.teleToLocation(CASTLE_TELEPORT, world.getTemplateId());
|
||||||
npc.reduceCurrentHp(1, nearby, null);
|
|
||||||
nearby.reduceCurrentHp(1, npc, null);
|
|
||||||
addAttackDesire(nearby, npc);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
case "finishInstance":
|
break;
|
||||||
|
}
|
||||||
|
case "startFreya":
|
||||||
|
{
|
||||||
|
world.despawnGroup("general");
|
||||||
|
playMovie(world.getPlayers(), Movie.EPIC_FREYA_SCENE);
|
||||||
|
startQuestTimer("freyaSpawn", 20000, npc, null);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case "freyaSpawn":
|
||||||
|
{
|
||||||
|
world.spawnGroup("freya");
|
||||||
|
world.broadcastPacket(new OnEventTrigger(FREYA_SNOW, true));
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case "startAttack":
|
||||||
|
{
|
||||||
|
for (final L2Npc nearby : L2World.getInstance().getVisibleObjectsInRange(npc, FriendlyNpcInstance.class, 300))
|
||||||
{
|
{
|
||||||
world.finishInstance(0);
|
if (nearby.getId() == KNIGHT)
|
||||||
break;
|
{
|
||||||
|
nearby.setIsInvul(true);
|
||||||
|
npc.reduceCurrentHp(1, nearby, null);
|
||||||
|
nearby.reduceCurrentHp(1, npc, null);
|
||||||
|
addAttackDesire(nearby, npc);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case "finishInstance":
|
||||||
|
{
|
||||||
|
world.finishInstance(0);
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return htmltext;
|
return htmltext;
|
||||||
|
@@ -85,144 +85,94 @@ public class StoryOfFreya extends AbstractInstance
|
|||||||
{
|
{
|
||||||
String htmltext = null;
|
String htmltext = null;
|
||||||
final Instance world = npc.getInstanceWorld();
|
final Instance world = npc.getInstanceWorld();
|
||||||
|
switch (event)
|
||||||
if (isInInstance(world))
|
|
||||||
{
|
{
|
||||||
switch (event)
|
case "34172-02.html":
|
||||||
|
case "34172-03.html":
|
||||||
{
|
{
|
||||||
case "34172-02.html":
|
htmltext = event;
|
||||||
case "34172-03.html":
|
break;
|
||||||
|
}
|
||||||
|
case "34172-01.html":
|
||||||
|
{
|
||||||
|
if (!player.isInParty() || !player.getParty().isLeader(player))
|
||||||
{
|
{
|
||||||
htmltext = event;
|
htmltext = "34172-04.html";
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case "34172-01.html":
|
htmltext = event;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case "34172-06.html":
|
||||||
|
{
|
||||||
|
if (!player.isInParty() || !player.getParty().isLeader(player))
|
||||||
{
|
{
|
||||||
if (!player.isInParty() || !player.getParty().isLeader(player))
|
htmltext = "34172-04.html";
|
||||||
{
|
|
||||||
htmltext = "34172-04.html";
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
htmltext = event;
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case "34172-06.html":
|
final L2Party party = player.getParty();
|
||||||
|
final List<L2PcInstance> members = party.getMembers();
|
||||||
|
for (L2PcInstance member : members)
|
||||||
{
|
{
|
||||||
if (!player.isInParty() || !player.getParty().isLeader(player))
|
if (member.isInsideRadius3D(npc, Config.ALT_PARTY_RANGE))
|
||||||
{
|
{
|
||||||
htmltext = "34172-04.html";
|
QuestProgress(npc, member);
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
htmltext = event;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case "start_story":
|
||||||
|
{
|
||||||
|
player.standUp();
|
||||||
|
enterInstance(player, null, TEMPLATE_ID);
|
||||||
|
if (player.getParty() != null)
|
||||||
|
{
|
||||||
|
for (L2PcInstance member : player.getParty().getMembers())
|
||||||
|
{
|
||||||
|
if (member != player)
|
||||||
|
{
|
||||||
|
member.standUp();
|
||||||
|
member.teleToLocation(player, player.getInstanceWorld());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case "startInstance":
|
||||||
|
{
|
||||||
|
if (player.isInParty())
|
||||||
|
{
|
||||||
final L2Party party = player.getParty();
|
final L2Party party = player.getParty();
|
||||||
final List<L2PcInstance> members = party.getMembers();
|
final List<L2PcInstance> members = party.getMembers();
|
||||||
for (L2PcInstance member : members)
|
for (L2PcInstance member : members)
|
||||||
{
|
{
|
||||||
if (member.isInsideRadius3D(npc, Config.ALT_PARTY_RANGE))
|
if (member.isInsideRadius3D(npc, Config.ALT_PARTY_RANGE))
|
||||||
{
|
{
|
||||||
|
member.teleToLocation(LABIRYNTH_TELEPORT, world.getTemplateId());
|
||||||
|
world.setStatus(1);
|
||||||
QuestProgress(npc, member);
|
QuestProgress(npc, member);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
htmltext = event;
|
if (getRandom(10) < 5)
|
||||||
break;
|
|
||||||
}
|
|
||||||
case "start_story":
|
|
||||||
{
|
|
||||||
player.standUp();
|
|
||||||
enterInstance(player, null, TEMPLATE_ID);
|
|
||||||
if (player.getParty() != null)
|
|
||||||
{
|
{
|
||||||
for (L2PcInstance member : player.getParty().getMembers())
|
world.spawnGroup("knight");
|
||||||
{
|
world.broadcastPacket(new ExShowScreenMessage(NpcStringId.ICE_KNIGHTS_GOT_IN_DEFEAT_THE_ICE_KNIGHTS, ExShowScreenMessage.TOP_CENTER, 20000, true));
|
||||||
if (member != player)
|
|
||||||
{
|
|
||||||
member.standUp();
|
|
||||||
member.teleToLocation(player, player.getInstanceWorld());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
break;
|
else
|
||||||
}
|
|
||||||
case "startInstance":
|
|
||||||
{
|
|
||||||
if (player.isInParty())
|
|
||||||
{
|
{
|
||||||
final L2Party party = player.getParty();
|
world.spawnGroup("knightSolo");
|
||||||
final List<L2PcInstance> members = party.getMembers();
|
|
||||||
for (L2PcInstance member : members)
|
|
||||||
{
|
|
||||||
if (member.isInsideRadius3D(npc, Config.ALT_PARTY_RANGE))
|
|
||||||
{
|
|
||||||
member.teleToLocation(LABIRYNTH_TELEPORT, world.getTemplateId());
|
|
||||||
world.setStatus(1);
|
|
||||||
QuestProgress(npc, member);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (getRandom(10) < 5)
|
|
||||||
{
|
|
||||||
world.spawnGroup("knight");
|
|
||||||
world.broadcastPacket(new ExShowScreenMessage(NpcStringId.ICE_KNIGHTS_GOT_IN_DEFEAT_THE_ICE_KNIGHTS, ExShowScreenMessage.TOP_CENTER, 20000, true));
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
world.spawnGroup("knightSolo");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
case "openDoor":
|
|
||||||
{
|
|
||||||
if (world.isStatus(0))
|
|
||||||
{
|
|
||||||
if (!player.isInParty() || !player.getParty().isLeader(player))
|
|
||||||
{
|
|
||||||
htmltext = "34173-03.html";
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
if (player.isInParty())
|
|
||||||
{
|
|
||||||
final L2Party party = player.getParty();
|
|
||||||
final List<L2PcInstance> members = party.getMembers();
|
|
||||||
for (L2PcInstance member : members)
|
|
||||||
{
|
|
||||||
if ((member == null) || (member.calculateDistance3D(npc) > 300))
|
|
||||||
{
|
|
||||||
htmltext = "34173-02.html";
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
world.openCloseDoor(world.getTemplateParameters().getInt("1_st_door"), true);
|
|
||||||
startQuestTimer("closeDoor", 60000, npc, null);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
else if (world.getStatus() > 0)
|
|
||||||
{
|
|
||||||
if (player.getInventory().getInventoryItemCount(ICE_CRYSTAL_SHARD, -1) == 10)
|
|
||||||
{
|
|
||||||
world.openCloseDoor(world.getTemplateParameters().getInt("1_st_door"), true);
|
|
||||||
startQuestTimer("closeDoor", 30000, npc, null);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
htmltext = "34173-03.html";
|
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
case "closeDoor":
|
break;
|
||||||
{
|
}
|
||||||
world.openCloseDoor(world.getTemplateParameters().getInt("1_st_door"), false);
|
case "openDoor":
|
||||||
break;
|
{
|
||||||
}
|
if (world.isStatus(0))
|
||||||
case "summerLabirynth":
|
|
||||||
{
|
|
||||||
player.teleToLocation(LABIRYNTH_TELEPORT, world.getTemplateId());
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
case "backCastle":
|
|
||||||
{
|
{
|
||||||
if (!player.isInParty() || !player.getParty().isLeader(player))
|
if (!player.isInParty() || !player.getParty().isLeader(player))
|
||||||
{
|
{
|
||||||
htmltext = "34174-01.html";
|
htmltext = "34173-03.html";
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
if (player.isInParty())
|
if (player.isInParty())
|
||||||
@@ -231,46 +181,92 @@ public class StoryOfFreya extends AbstractInstance
|
|||||||
final List<L2PcInstance> members = party.getMembers();
|
final List<L2PcInstance> members = party.getMembers();
|
||||||
for (L2PcInstance member : members)
|
for (L2PcInstance member : members)
|
||||||
{
|
{
|
||||||
if (member.isInsideRadius3D(npc, Config.ALT_PARTY_RANGE))
|
if ((member == null) || (member.calculateDistance3D(npc) > 300))
|
||||||
{
|
{
|
||||||
player.teleToLocation(CASTLE_TELEPORT, world.getTemplateId());
|
htmltext = "34173-02.html";
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
world.openCloseDoor(world.getTemplateParameters().getInt("1_st_door"), true);
|
||||||
|
startQuestTimer("closeDoor", 60000, npc, null);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case "startFreya":
|
|
||||||
|
else if (world.getStatus() > 0)
|
||||||
{
|
{
|
||||||
world.despawnGroup("general");
|
if (player.getInventory().getInventoryItemCount(ICE_CRYSTAL_SHARD, -1) == 10)
|
||||||
playMovie(world.getPlayers(), Movie.EPIC_FREYA_SCENE);
|
|
||||||
startQuestTimer("freyaSpawn", 20000, npc, null);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
case "freyaSpawn":
|
|
||||||
{
|
|
||||||
world.spawnGroup("freya");
|
|
||||||
world.broadcastPacket(new OnEventTrigger(FREYA_SNOW, true));
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
case "startAttack":
|
|
||||||
{
|
|
||||||
for (final L2Npc nearby : L2World.getInstance().getVisibleObjectsInRange(npc, FriendlyNpcInstance.class, 300))
|
|
||||||
{
|
{
|
||||||
if (nearby.getId() == KNIGHT)
|
world.openCloseDoor(world.getTemplateParameters().getInt("1_st_door"), true);
|
||||||
|
startQuestTimer("closeDoor", 30000, npc, null);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
htmltext = "34173-03.html";
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
case "closeDoor":
|
||||||
|
{
|
||||||
|
world.openCloseDoor(world.getTemplateParameters().getInt("1_st_door"), false);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case "summerLabirynth":
|
||||||
|
{
|
||||||
|
player.teleToLocation(LABIRYNTH_TELEPORT, world.getTemplateId());
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case "backCastle":
|
||||||
|
{
|
||||||
|
if (!player.isInParty() || !player.getParty().isLeader(player))
|
||||||
|
{
|
||||||
|
htmltext = "34174-01.html";
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
if (player.isInParty())
|
||||||
|
{
|
||||||
|
final L2Party party = player.getParty();
|
||||||
|
final List<L2PcInstance> members = party.getMembers();
|
||||||
|
for (L2PcInstance member : members)
|
||||||
|
{
|
||||||
|
if (member.isInsideRadius3D(npc, Config.ALT_PARTY_RANGE))
|
||||||
{
|
{
|
||||||
nearby.setIsInvul(true);
|
player.teleToLocation(CASTLE_TELEPORT, world.getTemplateId());
|
||||||
npc.reduceCurrentHp(1, nearby, null);
|
|
||||||
nearby.reduceCurrentHp(1, npc, null);
|
|
||||||
addAttackDesire(nearby, npc);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
case "finishInstance":
|
break;
|
||||||
|
}
|
||||||
|
case "startFreya":
|
||||||
|
{
|
||||||
|
world.despawnGroup("general");
|
||||||
|
playMovie(world.getPlayers(), Movie.EPIC_FREYA_SCENE);
|
||||||
|
startQuestTimer("freyaSpawn", 20000, npc, null);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case "freyaSpawn":
|
||||||
|
{
|
||||||
|
world.spawnGroup("freya");
|
||||||
|
world.broadcastPacket(new OnEventTrigger(FREYA_SNOW, true));
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case "startAttack":
|
||||||
|
{
|
||||||
|
for (final L2Npc nearby : L2World.getInstance().getVisibleObjectsInRange(npc, FriendlyNpcInstance.class, 300))
|
||||||
{
|
{
|
||||||
world.finishInstance(0);
|
if (nearby.getId() == KNIGHT)
|
||||||
break;
|
{
|
||||||
|
nearby.setIsInvul(true);
|
||||||
|
npc.reduceCurrentHp(1, nearby, null);
|
||||||
|
nearby.reduceCurrentHp(1, npc, null);
|
||||||
|
addAttackDesire(nearby, npc);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case "finishInstance":
|
||||||
|
{
|
||||||
|
world.finishInstance(0);
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return htmltext;
|
return htmltext;
|
||||||
|
@@ -85,144 +85,94 @@ public class StoryOfFreya extends AbstractInstance
|
|||||||
{
|
{
|
||||||
String htmltext = null;
|
String htmltext = null;
|
||||||
final Instance world = npc.getInstanceWorld();
|
final Instance world = npc.getInstanceWorld();
|
||||||
|
switch (event)
|
||||||
if (isInInstance(world))
|
|
||||||
{
|
{
|
||||||
switch (event)
|
case "34172-02.html":
|
||||||
|
case "34172-03.html":
|
||||||
{
|
{
|
||||||
case "34172-02.html":
|
htmltext = event;
|
||||||
case "34172-03.html":
|
break;
|
||||||
|
}
|
||||||
|
case "34172-01.html":
|
||||||
|
{
|
||||||
|
if (!player.isInParty() || !player.getParty().isLeader(player))
|
||||||
{
|
{
|
||||||
htmltext = event;
|
htmltext = "34172-04.html";
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case "34172-01.html":
|
htmltext = event;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case "34172-06.html":
|
||||||
|
{
|
||||||
|
if (!player.isInParty() || !player.getParty().isLeader(player))
|
||||||
{
|
{
|
||||||
if (!player.isInParty() || !player.getParty().isLeader(player))
|
htmltext = "34172-04.html";
|
||||||
{
|
|
||||||
htmltext = "34172-04.html";
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
htmltext = event;
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case "34172-06.html":
|
final L2Party party = player.getParty();
|
||||||
|
final List<L2PcInstance> members = party.getMembers();
|
||||||
|
for (L2PcInstance member : members)
|
||||||
{
|
{
|
||||||
if (!player.isInParty() || !player.getParty().isLeader(player))
|
if (member.isInsideRadius3D(npc, Config.ALT_PARTY_RANGE))
|
||||||
{
|
{
|
||||||
htmltext = "34172-04.html";
|
QuestProgress(npc, member);
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
htmltext = event;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case "start_story":
|
||||||
|
{
|
||||||
|
player.standUp();
|
||||||
|
enterInstance(player, null, TEMPLATE_ID);
|
||||||
|
if (player.getParty() != null)
|
||||||
|
{
|
||||||
|
for (L2PcInstance member : player.getParty().getMembers())
|
||||||
|
{
|
||||||
|
if (member != player)
|
||||||
|
{
|
||||||
|
member.standUp();
|
||||||
|
member.teleToLocation(player, player.getInstanceWorld());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case "startInstance":
|
||||||
|
{
|
||||||
|
if (player.isInParty())
|
||||||
|
{
|
||||||
final L2Party party = player.getParty();
|
final L2Party party = player.getParty();
|
||||||
final List<L2PcInstance> members = party.getMembers();
|
final List<L2PcInstance> members = party.getMembers();
|
||||||
for (L2PcInstance member : members)
|
for (L2PcInstance member : members)
|
||||||
{
|
{
|
||||||
if (member.isInsideRadius3D(npc, Config.ALT_PARTY_RANGE))
|
if (member.isInsideRadius3D(npc, Config.ALT_PARTY_RANGE))
|
||||||
{
|
{
|
||||||
|
member.teleToLocation(LABIRYNTH_TELEPORT, world.getTemplateId());
|
||||||
|
world.setStatus(1);
|
||||||
QuestProgress(npc, member);
|
QuestProgress(npc, member);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
htmltext = event;
|
if (getRandom(10) < 5)
|
||||||
break;
|
|
||||||
}
|
|
||||||
case "start_story":
|
|
||||||
{
|
|
||||||
player.standUp();
|
|
||||||
enterInstance(player, null, TEMPLATE_ID);
|
|
||||||
if (player.getParty() != null)
|
|
||||||
{
|
{
|
||||||
for (L2PcInstance member : player.getParty().getMembers())
|
world.spawnGroup("knight");
|
||||||
{
|
world.broadcastPacket(new ExShowScreenMessage(NpcStringId.ICE_KNIGHTS_GOT_IN_DEFEAT_THE_ICE_KNIGHTS, ExShowScreenMessage.TOP_CENTER, 20000, true));
|
||||||
if (member != player)
|
|
||||||
{
|
|
||||||
member.standUp();
|
|
||||||
member.teleToLocation(player, player.getInstanceWorld());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
break;
|
else
|
||||||
}
|
|
||||||
case "startInstance":
|
|
||||||
{
|
|
||||||
if (player.isInParty())
|
|
||||||
{
|
{
|
||||||
final L2Party party = player.getParty();
|
world.spawnGroup("knightSolo");
|
||||||
final List<L2PcInstance> members = party.getMembers();
|
|
||||||
for (L2PcInstance member : members)
|
|
||||||
{
|
|
||||||
if (member.isInsideRadius3D(npc, Config.ALT_PARTY_RANGE))
|
|
||||||
{
|
|
||||||
member.teleToLocation(LABIRYNTH_TELEPORT, world.getTemplateId());
|
|
||||||
world.setStatus(1);
|
|
||||||
QuestProgress(npc, member);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (getRandom(10) < 5)
|
|
||||||
{
|
|
||||||
world.spawnGroup("knight");
|
|
||||||
world.broadcastPacket(new ExShowScreenMessage(NpcStringId.ICE_KNIGHTS_GOT_IN_DEFEAT_THE_ICE_KNIGHTS, ExShowScreenMessage.TOP_CENTER, 20000, true));
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
world.spawnGroup("knightSolo");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
case "openDoor":
|
|
||||||
{
|
|
||||||
if (world.isStatus(0))
|
|
||||||
{
|
|
||||||
if (!player.isInParty() || !player.getParty().isLeader(player))
|
|
||||||
{
|
|
||||||
htmltext = "34173-03.html";
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
if (player.isInParty())
|
|
||||||
{
|
|
||||||
final L2Party party = player.getParty();
|
|
||||||
final List<L2PcInstance> members = party.getMembers();
|
|
||||||
for (L2PcInstance member : members)
|
|
||||||
{
|
|
||||||
if ((member == null) || (member.calculateDistance3D(npc) > 300))
|
|
||||||
{
|
|
||||||
htmltext = "34173-02.html";
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
world.openCloseDoor(world.getTemplateParameters().getInt("1_st_door"), true);
|
|
||||||
startQuestTimer("closeDoor", 60000, npc, null);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
else if (world.getStatus() > 0)
|
|
||||||
{
|
|
||||||
if (player.getInventory().getInventoryItemCount(ICE_CRYSTAL_SHARD, -1) == 10)
|
|
||||||
{
|
|
||||||
world.openCloseDoor(world.getTemplateParameters().getInt("1_st_door"), true);
|
|
||||||
startQuestTimer("closeDoor", 30000, npc, null);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
htmltext = "34173-03.html";
|
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
case "closeDoor":
|
break;
|
||||||
{
|
}
|
||||||
world.openCloseDoor(world.getTemplateParameters().getInt("1_st_door"), false);
|
case "openDoor":
|
||||||
break;
|
{
|
||||||
}
|
if (world.isStatus(0))
|
||||||
case "summerLabirynth":
|
|
||||||
{
|
|
||||||
player.teleToLocation(LABIRYNTH_TELEPORT, world.getTemplateId());
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
case "backCastle":
|
|
||||||
{
|
{
|
||||||
if (!player.isInParty() || !player.getParty().isLeader(player))
|
if (!player.isInParty() || !player.getParty().isLeader(player))
|
||||||
{
|
{
|
||||||
htmltext = "34174-01.html";
|
htmltext = "34173-03.html";
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
if (player.isInParty())
|
if (player.isInParty())
|
||||||
@@ -231,46 +181,92 @@ public class StoryOfFreya extends AbstractInstance
|
|||||||
final List<L2PcInstance> members = party.getMembers();
|
final List<L2PcInstance> members = party.getMembers();
|
||||||
for (L2PcInstance member : members)
|
for (L2PcInstance member : members)
|
||||||
{
|
{
|
||||||
if (member.isInsideRadius3D(npc, Config.ALT_PARTY_RANGE))
|
if ((member == null) || (member.calculateDistance3D(npc) > 300))
|
||||||
{
|
{
|
||||||
player.teleToLocation(CASTLE_TELEPORT, world.getTemplateId());
|
htmltext = "34173-02.html";
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
world.openCloseDoor(world.getTemplateParameters().getInt("1_st_door"), true);
|
||||||
|
startQuestTimer("closeDoor", 60000, npc, null);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case "startFreya":
|
|
||||||
|
else if (world.getStatus() > 0)
|
||||||
{
|
{
|
||||||
world.despawnGroup("general");
|
if (player.getInventory().getInventoryItemCount(ICE_CRYSTAL_SHARD, -1) == 10)
|
||||||
playMovie(world.getPlayers(), Movie.EPIC_FREYA_SCENE);
|
|
||||||
startQuestTimer("freyaSpawn", 20000, npc, null);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
case "freyaSpawn":
|
|
||||||
{
|
|
||||||
world.spawnGroup("freya");
|
|
||||||
world.broadcastPacket(new OnEventTrigger(FREYA_SNOW, true));
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
case "startAttack":
|
|
||||||
{
|
|
||||||
for (final L2Npc nearby : L2World.getInstance().getVisibleObjectsInRange(npc, FriendlyNpcInstance.class, 300))
|
|
||||||
{
|
{
|
||||||
if (nearby.getId() == KNIGHT)
|
world.openCloseDoor(world.getTemplateParameters().getInt("1_st_door"), true);
|
||||||
|
startQuestTimer("closeDoor", 30000, npc, null);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
htmltext = "34173-03.html";
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
case "closeDoor":
|
||||||
|
{
|
||||||
|
world.openCloseDoor(world.getTemplateParameters().getInt("1_st_door"), false);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case "summerLabirynth":
|
||||||
|
{
|
||||||
|
player.teleToLocation(LABIRYNTH_TELEPORT, world.getTemplateId());
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case "backCastle":
|
||||||
|
{
|
||||||
|
if (!player.isInParty() || !player.getParty().isLeader(player))
|
||||||
|
{
|
||||||
|
htmltext = "34174-01.html";
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
if (player.isInParty())
|
||||||
|
{
|
||||||
|
final L2Party party = player.getParty();
|
||||||
|
final List<L2PcInstance> members = party.getMembers();
|
||||||
|
for (L2PcInstance member : members)
|
||||||
|
{
|
||||||
|
if (member.isInsideRadius3D(npc, Config.ALT_PARTY_RANGE))
|
||||||
{
|
{
|
||||||
nearby.setIsInvul(true);
|
player.teleToLocation(CASTLE_TELEPORT, world.getTemplateId());
|
||||||
npc.reduceCurrentHp(1, nearby, null);
|
|
||||||
nearby.reduceCurrentHp(1, npc, null);
|
|
||||||
addAttackDesire(nearby, npc);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
case "finishInstance":
|
break;
|
||||||
|
}
|
||||||
|
case "startFreya":
|
||||||
|
{
|
||||||
|
world.despawnGroup("general");
|
||||||
|
playMovie(world.getPlayers(), Movie.EPIC_FREYA_SCENE);
|
||||||
|
startQuestTimer("freyaSpawn", 20000, npc, null);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case "freyaSpawn":
|
||||||
|
{
|
||||||
|
world.spawnGroup("freya");
|
||||||
|
world.broadcastPacket(new OnEventTrigger(FREYA_SNOW, true));
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case "startAttack":
|
||||||
|
{
|
||||||
|
for (final L2Npc nearby : L2World.getInstance().getVisibleObjectsInRange(npc, FriendlyNpcInstance.class, 300))
|
||||||
{
|
{
|
||||||
world.finishInstance(0);
|
if (nearby.getId() == KNIGHT)
|
||||||
break;
|
{
|
||||||
|
nearby.setIsInvul(true);
|
||||||
|
npc.reduceCurrentHp(1, nearby, null);
|
||||||
|
nearby.reduceCurrentHp(1, npc, null);
|
||||||
|
addAttackDesire(nearby, npc);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case "finishInstance":
|
||||||
|
{
|
||||||
|
world.finishInstance(0);
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return htmltext;
|
return htmltext;
|
||||||
|
@@ -85,144 +85,94 @@ public class StoryOfFreya extends AbstractInstance
|
|||||||
{
|
{
|
||||||
String htmltext = null;
|
String htmltext = null;
|
||||||
final Instance world = npc.getInstanceWorld();
|
final Instance world = npc.getInstanceWorld();
|
||||||
|
switch (event)
|
||||||
if (isInInstance(world))
|
|
||||||
{
|
{
|
||||||
switch (event)
|
case "34172-02.html":
|
||||||
|
case "34172-03.html":
|
||||||
{
|
{
|
||||||
case "34172-02.html":
|
htmltext = event;
|
||||||
case "34172-03.html":
|
break;
|
||||||
|
}
|
||||||
|
case "34172-01.html":
|
||||||
|
{
|
||||||
|
if (!player.isInParty() || !player.getParty().isLeader(player))
|
||||||
{
|
{
|
||||||
htmltext = event;
|
htmltext = "34172-04.html";
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case "34172-01.html":
|
htmltext = event;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case "34172-06.html":
|
||||||
|
{
|
||||||
|
if (!player.isInParty() || !player.getParty().isLeader(player))
|
||||||
{
|
{
|
||||||
if (!player.isInParty() || !player.getParty().isLeader(player))
|
htmltext = "34172-04.html";
|
||||||
{
|
|
||||||
htmltext = "34172-04.html";
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
htmltext = event;
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case "34172-06.html":
|
final L2Party party = player.getParty();
|
||||||
|
final List<L2PcInstance> members = party.getMembers();
|
||||||
|
for (L2PcInstance member : members)
|
||||||
{
|
{
|
||||||
if (!player.isInParty() || !player.getParty().isLeader(player))
|
if (member.isInsideRadius3D(npc, Config.ALT_PARTY_RANGE))
|
||||||
{
|
{
|
||||||
htmltext = "34172-04.html";
|
QuestProgress(npc, member);
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
htmltext = event;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case "start_story":
|
||||||
|
{
|
||||||
|
player.standUp();
|
||||||
|
enterInstance(player, null, TEMPLATE_ID);
|
||||||
|
if (player.getParty() != null)
|
||||||
|
{
|
||||||
|
for (L2PcInstance member : player.getParty().getMembers())
|
||||||
|
{
|
||||||
|
if (member != player)
|
||||||
|
{
|
||||||
|
member.standUp();
|
||||||
|
member.teleToLocation(player, player.getInstanceWorld());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case "startInstance":
|
||||||
|
{
|
||||||
|
if (player.isInParty())
|
||||||
|
{
|
||||||
final L2Party party = player.getParty();
|
final L2Party party = player.getParty();
|
||||||
final List<L2PcInstance> members = party.getMembers();
|
final List<L2PcInstance> members = party.getMembers();
|
||||||
for (L2PcInstance member : members)
|
for (L2PcInstance member : members)
|
||||||
{
|
{
|
||||||
if (member.isInsideRadius3D(npc, Config.ALT_PARTY_RANGE))
|
if (member.isInsideRadius3D(npc, Config.ALT_PARTY_RANGE))
|
||||||
{
|
{
|
||||||
|
member.teleToLocation(LABIRYNTH_TELEPORT, world.getTemplateId());
|
||||||
|
world.setStatus(1);
|
||||||
QuestProgress(npc, member);
|
QuestProgress(npc, member);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
htmltext = event;
|
if (getRandom(10) < 5)
|
||||||
break;
|
|
||||||
}
|
|
||||||
case "start_story":
|
|
||||||
{
|
|
||||||
player.standUp();
|
|
||||||
enterInstance(player, null, TEMPLATE_ID);
|
|
||||||
if (player.getParty() != null)
|
|
||||||
{
|
{
|
||||||
for (L2PcInstance member : player.getParty().getMembers())
|
world.spawnGroup("knight");
|
||||||
{
|
world.broadcastPacket(new ExShowScreenMessage(NpcStringId.ICE_KNIGHTS_GOT_IN_DEFEAT_THE_ICE_KNIGHTS, ExShowScreenMessage.TOP_CENTER, 20000, true));
|
||||||
if (member != player)
|
|
||||||
{
|
|
||||||
member.standUp();
|
|
||||||
member.teleToLocation(player, player.getInstanceWorld());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
break;
|
else
|
||||||
}
|
|
||||||
case "startInstance":
|
|
||||||
{
|
|
||||||
if (player.isInParty())
|
|
||||||
{
|
{
|
||||||
final L2Party party = player.getParty();
|
world.spawnGroup("knightSolo");
|
||||||
final List<L2PcInstance> members = party.getMembers();
|
|
||||||
for (L2PcInstance member : members)
|
|
||||||
{
|
|
||||||
if (member.isInsideRadius3D(npc, Config.ALT_PARTY_RANGE))
|
|
||||||
{
|
|
||||||
member.teleToLocation(LABIRYNTH_TELEPORT, world.getTemplateId());
|
|
||||||
world.setStatus(1);
|
|
||||||
QuestProgress(npc, member);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (getRandom(10) < 5)
|
|
||||||
{
|
|
||||||
world.spawnGroup("knight");
|
|
||||||
world.broadcastPacket(new ExShowScreenMessage(NpcStringId.ICE_KNIGHTS_GOT_IN_DEFEAT_THE_ICE_KNIGHTS, ExShowScreenMessage.TOP_CENTER, 20000, true));
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
world.spawnGroup("knightSolo");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
case "openDoor":
|
|
||||||
{
|
|
||||||
if (world.isStatus(0))
|
|
||||||
{
|
|
||||||
if (!player.isInParty() || !player.getParty().isLeader(player))
|
|
||||||
{
|
|
||||||
htmltext = "34173-03.html";
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
if (player.isInParty())
|
|
||||||
{
|
|
||||||
final L2Party party = player.getParty();
|
|
||||||
final List<L2PcInstance> members = party.getMembers();
|
|
||||||
for (L2PcInstance member : members)
|
|
||||||
{
|
|
||||||
if ((member == null) || (member.calculateDistance3D(npc) > 300))
|
|
||||||
{
|
|
||||||
htmltext = "34173-02.html";
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
world.openCloseDoor(world.getTemplateParameters().getInt("1_st_door"), true);
|
|
||||||
startQuestTimer("closeDoor", 60000, npc, null);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
else if (world.getStatus() > 0)
|
|
||||||
{
|
|
||||||
if (player.getInventory().getInventoryItemCount(ICE_CRYSTAL_SHARD, -1) == 10)
|
|
||||||
{
|
|
||||||
world.openCloseDoor(world.getTemplateParameters().getInt("1_st_door"), true);
|
|
||||||
startQuestTimer("closeDoor", 30000, npc, null);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
htmltext = "34173-03.html";
|
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
case "closeDoor":
|
break;
|
||||||
{
|
}
|
||||||
world.openCloseDoor(world.getTemplateParameters().getInt("1_st_door"), false);
|
case "openDoor":
|
||||||
break;
|
{
|
||||||
}
|
if (world.isStatus(0))
|
||||||
case "summerLabirynth":
|
|
||||||
{
|
|
||||||
player.teleToLocation(LABIRYNTH_TELEPORT, world.getTemplateId());
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
case "backCastle":
|
|
||||||
{
|
{
|
||||||
if (!player.isInParty() || !player.getParty().isLeader(player))
|
if (!player.isInParty() || !player.getParty().isLeader(player))
|
||||||
{
|
{
|
||||||
htmltext = "34174-01.html";
|
htmltext = "34173-03.html";
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
if (player.isInParty())
|
if (player.isInParty())
|
||||||
@@ -231,46 +181,92 @@ public class StoryOfFreya extends AbstractInstance
|
|||||||
final List<L2PcInstance> members = party.getMembers();
|
final List<L2PcInstance> members = party.getMembers();
|
||||||
for (L2PcInstance member : members)
|
for (L2PcInstance member : members)
|
||||||
{
|
{
|
||||||
if (member.isInsideRadius3D(npc, Config.ALT_PARTY_RANGE))
|
if ((member == null) || (member.calculateDistance3D(npc) > 300))
|
||||||
{
|
{
|
||||||
player.teleToLocation(CASTLE_TELEPORT, world.getTemplateId());
|
htmltext = "34173-02.html";
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
world.openCloseDoor(world.getTemplateParameters().getInt("1_st_door"), true);
|
||||||
|
startQuestTimer("closeDoor", 60000, npc, null);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case "startFreya":
|
|
||||||
|
else if (world.getStatus() > 0)
|
||||||
{
|
{
|
||||||
world.despawnGroup("general");
|
if (player.getInventory().getInventoryItemCount(ICE_CRYSTAL_SHARD, -1) == 10)
|
||||||
playMovie(world.getPlayers(), Movie.EPIC_FREYA_SCENE);
|
|
||||||
startQuestTimer("freyaSpawn", 20000, npc, null);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
case "freyaSpawn":
|
|
||||||
{
|
|
||||||
world.spawnGroup("freya");
|
|
||||||
world.broadcastPacket(new OnEventTrigger(FREYA_SNOW, true));
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
case "startAttack":
|
|
||||||
{
|
|
||||||
for (final L2Npc nearby : L2World.getInstance().getVisibleObjectsInRange(npc, FriendlyNpcInstance.class, 300))
|
|
||||||
{
|
{
|
||||||
if (nearby.getId() == KNIGHT)
|
world.openCloseDoor(world.getTemplateParameters().getInt("1_st_door"), true);
|
||||||
|
startQuestTimer("closeDoor", 30000, npc, null);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
htmltext = "34173-03.html";
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
case "closeDoor":
|
||||||
|
{
|
||||||
|
world.openCloseDoor(world.getTemplateParameters().getInt("1_st_door"), false);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case "summerLabirynth":
|
||||||
|
{
|
||||||
|
player.teleToLocation(LABIRYNTH_TELEPORT, world.getTemplateId());
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case "backCastle":
|
||||||
|
{
|
||||||
|
if (!player.isInParty() || !player.getParty().isLeader(player))
|
||||||
|
{
|
||||||
|
htmltext = "34174-01.html";
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
if (player.isInParty())
|
||||||
|
{
|
||||||
|
final L2Party party = player.getParty();
|
||||||
|
final List<L2PcInstance> members = party.getMembers();
|
||||||
|
for (L2PcInstance member : members)
|
||||||
|
{
|
||||||
|
if (member.isInsideRadius3D(npc, Config.ALT_PARTY_RANGE))
|
||||||
{
|
{
|
||||||
nearby.setIsInvul(true);
|
player.teleToLocation(CASTLE_TELEPORT, world.getTemplateId());
|
||||||
npc.reduceCurrentHp(1, nearby, null);
|
|
||||||
nearby.reduceCurrentHp(1, npc, null);
|
|
||||||
addAttackDesire(nearby, npc);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
case "finishInstance":
|
break;
|
||||||
|
}
|
||||||
|
case "startFreya":
|
||||||
|
{
|
||||||
|
world.despawnGroup("general");
|
||||||
|
playMovie(world.getPlayers(), Movie.EPIC_FREYA_SCENE);
|
||||||
|
startQuestTimer("freyaSpawn", 20000, npc, null);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case "freyaSpawn":
|
||||||
|
{
|
||||||
|
world.spawnGroup("freya");
|
||||||
|
world.broadcastPacket(new OnEventTrigger(FREYA_SNOW, true));
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case "startAttack":
|
||||||
|
{
|
||||||
|
for (final L2Npc nearby : L2World.getInstance().getVisibleObjectsInRange(npc, FriendlyNpcInstance.class, 300))
|
||||||
{
|
{
|
||||||
world.finishInstance(0);
|
if (nearby.getId() == KNIGHT)
|
||||||
break;
|
{
|
||||||
|
nearby.setIsInvul(true);
|
||||||
|
npc.reduceCurrentHp(1, nearby, null);
|
||||||
|
nearby.reduceCurrentHp(1, npc, null);
|
||||||
|
addAttackDesire(nearby, npc);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case "finishInstance":
|
||||||
|
{
|
||||||
|
world.finishInstance(0);
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return htmltext;
|
return htmltext;
|
||||||
|
Reference in New Issue
Block a user