Party restrictions for Benusta instances.
Contributed by nasseka.
This commit is contained in:
@@ -16,7 +16,12 @@
|
|||||||
*/
|
*/
|
||||||
package ai.bosses.Baylor;
|
package ai.bosses.Baylor;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import org.l2jmobius.commons.util.Chronos;
|
||||||
|
import org.l2jmobius.gameserver.instancemanager.InstanceManager;
|
||||||
import org.l2jmobius.gameserver.model.Location;
|
import org.l2jmobius.gameserver.model.Location;
|
||||||
|
import org.l2jmobius.gameserver.model.Party;
|
||||||
import org.l2jmobius.gameserver.model.StatSet;
|
import org.l2jmobius.gameserver.model.StatSet;
|
||||||
import org.l2jmobius.gameserver.model.World;
|
import org.l2jmobius.gameserver.model.World;
|
||||||
import org.l2jmobius.gameserver.model.actor.Attackable;
|
import org.l2jmobius.gameserver.model.actor.Attackable;
|
||||||
@@ -28,7 +33,9 @@ import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureDeath;
|
|||||||
import org.l2jmobius.gameserver.model.holders.SkillHolder;
|
import org.l2jmobius.gameserver.model.holders.SkillHolder;
|
||||||
import org.l2jmobius.gameserver.model.instancezone.Instance;
|
import org.l2jmobius.gameserver.model.instancezone.Instance;
|
||||||
import org.l2jmobius.gameserver.model.skill.Skill;
|
import org.l2jmobius.gameserver.model.skill.Skill;
|
||||||
|
import org.l2jmobius.gameserver.network.SystemMessageId;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.SocialAction;
|
import org.l2jmobius.gameserver.network.serverpackets.SocialAction;
|
||||||
|
import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
|
||||||
|
|
||||||
import instances.AbstractInstance;
|
import instances.AbstractInstance;
|
||||||
|
|
||||||
@@ -69,9 +76,55 @@ public class BaylorWarzone extends AbstractInstance
|
|||||||
public String onAdvEvent(String event, Npc npc, Player player)
|
public String onAdvEvent(String event, Npc npc, Player player)
|
||||||
{
|
{
|
||||||
if (event.equals("enterInstance"))
|
if (event.equals("enterInstance"))
|
||||||
|
{
|
||||||
|
if (player.isInParty())
|
||||||
|
{
|
||||||
|
final Party party = player.getParty();
|
||||||
|
if (!party.isLeader(player))
|
||||||
|
{
|
||||||
|
player.sendPacket(new SystemMessage(SystemMessageId.ONLY_A_PARTY_LEADER_CAN_MAKE_THE_REQUEST_TO_ENTER));
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (player.isInCommandChannel())
|
||||||
|
{
|
||||||
|
player.sendPacket(new SystemMessage(SystemMessageId.YOU_CANNOT_ENTER_BECAUSE_YOU_DO_NOT_MEET_THE_REQUIREMENTS));
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
final long currentTime = Chronos.currentTimeMillis();
|
||||||
|
final List<Player> members = party.getMembers();
|
||||||
|
for (Player member : members)
|
||||||
|
{
|
||||||
|
if (!member.isInsideRadius3D(npc, 1000))
|
||||||
|
{
|
||||||
|
player.sendMessage("Player " + member.getName() + " must come closer.");
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (currentTime < InstanceManager.getInstance().getInstanceTime(member, TEMPLATE_ID))
|
||||||
|
{
|
||||||
|
final SystemMessage msg = new SystemMessage(SystemMessageId.C1_MAY_NOT_RE_ENTER_YET);
|
||||||
|
msg.addString(member.getName());
|
||||||
|
party.broadcastToPartyMembers(member, msg);
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
for (Player member : members)
|
||||||
|
{
|
||||||
|
enterInstance(member, npc, TEMPLATE_ID);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (player.isGM())
|
||||||
{
|
{
|
||||||
enterInstance(player, npc, TEMPLATE_ID);
|
enterInstance(player, npc, TEMPLATE_ID);
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
player.sendPacket(new SystemMessage(SystemMessageId.YOU_ARE_NOT_CURRENTLY_IN_A_PARTY_SO_YOU_CANNOT_ENTER));
|
||||||
|
}
|
||||||
|
}
|
||||||
return super.onAdvEvent(event, npc, player);
|
return super.onAdvEvent(event, npc, player);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -17,11 +17,17 @@
|
|||||||
package instances.NightmareKamaloka;
|
package instances.NightmareKamaloka;
|
||||||
|
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
|
import org.l2jmobius.commons.util.Chronos;
|
||||||
|
import org.l2jmobius.gameserver.instancemanager.InstanceManager;
|
||||||
|
import org.l2jmobius.gameserver.model.Party;
|
||||||
import org.l2jmobius.gameserver.model.actor.Npc;
|
import org.l2jmobius.gameserver.model.actor.Npc;
|
||||||
import org.l2jmobius.gameserver.model.actor.Player;
|
import org.l2jmobius.gameserver.model.actor.Player;
|
||||||
import org.l2jmobius.gameserver.model.instancezone.Instance;
|
import org.l2jmobius.gameserver.model.instancezone.Instance;
|
||||||
|
import org.l2jmobius.gameserver.network.SystemMessageId;
|
||||||
|
import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
|
||||||
|
|
||||||
import instances.AbstractInstance;
|
import instances.AbstractInstance;
|
||||||
|
|
||||||
@@ -67,8 +73,54 @@ public class NightmareKamaloka extends AbstractInstance
|
|||||||
switch (event)
|
switch (event)
|
||||||
{
|
{
|
||||||
case "enterInstance":
|
case "enterInstance":
|
||||||
|
{
|
||||||
|
if (player.isInParty())
|
||||||
|
{
|
||||||
|
final Party party = player.getParty();
|
||||||
|
if (!party.isLeader(player))
|
||||||
|
{
|
||||||
|
player.sendPacket(new SystemMessage(SystemMessageId.ONLY_A_PARTY_LEADER_CAN_MAKE_THE_REQUEST_TO_ENTER));
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (player.isInCommandChannel())
|
||||||
|
{
|
||||||
|
player.sendPacket(new SystemMessage(SystemMessageId.YOU_CANNOT_ENTER_BECAUSE_YOU_DO_NOT_MEET_THE_REQUIREMENTS));
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
final long currentTime = Chronos.currentTimeMillis();
|
||||||
|
final List<Player> members = party.getMembers();
|
||||||
|
for (Player member : members)
|
||||||
|
{
|
||||||
|
if (!member.isInsideRadius3D(npc, 1000))
|
||||||
|
{
|
||||||
|
player.sendMessage("Player " + member.getName() + " must come closer.");
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (currentTime < InstanceManager.getInstance().getInstanceTime(member, TEMPLATE_ID))
|
||||||
|
{
|
||||||
|
final SystemMessage msg = new SystemMessage(SystemMessageId.C1_MAY_NOT_RE_ENTER_YET);
|
||||||
|
msg.addString(member.getName());
|
||||||
|
party.broadcastToPartyMembers(member, msg);
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
for (Player member : members)
|
||||||
|
{
|
||||||
|
enterInstance(member, npc, TEMPLATE_ID);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (player.isGM())
|
||||||
{
|
{
|
||||||
enterInstance(player, npc, TEMPLATE_ID);
|
enterInstance(player, npc, TEMPLATE_ID);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
player.sendPacket(new SystemMessage(SystemMessageId.YOU_ARE_NOT_CURRENTLY_IN_A_PARTY_SO_YOU_CANNOT_ENTER));
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case "SPAWN_BOSSES":
|
case "SPAWN_BOSSES":
|
||||||
|
@@ -16,7 +16,12 @@
|
|||||||
*/
|
*/
|
||||||
package ai.bosses.Baylor;
|
package ai.bosses.Baylor;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import org.l2jmobius.commons.util.Chronos;
|
||||||
|
import org.l2jmobius.gameserver.instancemanager.InstanceManager;
|
||||||
import org.l2jmobius.gameserver.model.Location;
|
import org.l2jmobius.gameserver.model.Location;
|
||||||
|
import org.l2jmobius.gameserver.model.Party;
|
||||||
import org.l2jmobius.gameserver.model.StatSet;
|
import org.l2jmobius.gameserver.model.StatSet;
|
||||||
import org.l2jmobius.gameserver.model.World;
|
import org.l2jmobius.gameserver.model.World;
|
||||||
import org.l2jmobius.gameserver.model.actor.Attackable;
|
import org.l2jmobius.gameserver.model.actor.Attackable;
|
||||||
@@ -28,7 +33,9 @@ import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureDeath;
|
|||||||
import org.l2jmobius.gameserver.model.holders.SkillHolder;
|
import org.l2jmobius.gameserver.model.holders.SkillHolder;
|
||||||
import org.l2jmobius.gameserver.model.instancezone.Instance;
|
import org.l2jmobius.gameserver.model.instancezone.Instance;
|
||||||
import org.l2jmobius.gameserver.model.skill.Skill;
|
import org.l2jmobius.gameserver.model.skill.Skill;
|
||||||
|
import org.l2jmobius.gameserver.network.SystemMessageId;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.SocialAction;
|
import org.l2jmobius.gameserver.network.serverpackets.SocialAction;
|
||||||
|
import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
|
||||||
|
|
||||||
import instances.AbstractInstance;
|
import instances.AbstractInstance;
|
||||||
|
|
||||||
@@ -69,9 +76,55 @@ public class BaylorWarzone extends AbstractInstance
|
|||||||
public String onAdvEvent(String event, Npc npc, Player player)
|
public String onAdvEvent(String event, Npc npc, Player player)
|
||||||
{
|
{
|
||||||
if (event.equals("enterInstance"))
|
if (event.equals("enterInstance"))
|
||||||
|
{
|
||||||
|
if (player.isInParty())
|
||||||
|
{
|
||||||
|
final Party party = player.getParty();
|
||||||
|
if (!party.isLeader(player))
|
||||||
|
{
|
||||||
|
player.sendPacket(new SystemMessage(SystemMessageId.ONLY_A_PARTY_LEADER_CAN_MAKE_THE_REQUEST_TO_ENTER));
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (player.isInCommandChannel())
|
||||||
|
{
|
||||||
|
player.sendPacket(new SystemMessage(SystemMessageId.YOU_CANNOT_ENTER_BECAUSE_YOU_DO_NOT_MEET_THE_REQUIREMENTS));
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
final long currentTime = Chronos.currentTimeMillis();
|
||||||
|
final List<Player> members = party.getMembers();
|
||||||
|
for (Player member : members)
|
||||||
|
{
|
||||||
|
if (!member.isInsideRadius3D(npc, 1000))
|
||||||
|
{
|
||||||
|
player.sendMessage("Player " + member.getName() + " must come closer.");
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (currentTime < InstanceManager.getInstance().getInstanceTime(member, TEMPLATE_ID))
|
||||||
|
{
|
||||||
|
final SystemMessage msg = new SystemMessage(SystemMessageId.C1_MAY_NOT_RE_ENTER_YET);
|
||||||
|
msg.addString(member.getName());
|
||||||
|
party.broadcastToPartyMembers(member, msg);
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
for (Player member : members)
|
||||||
|
{
|
||||||
|
enterInstance(member, npc, TEMPLATE_ID);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (player.isGM())
|
||||||
{
|
{
|
||||||
enterInstance(player, npc, TEMPLATE_ID);
|
enterInstance(player, npc, TEMPLATE_ID);
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
player.sendPacket(new SystemMessage(SystemMessageId.YOU_ARE_NOT_CURRENTLY_IN_A_PARTY_SO_YOU_CANNOT_ENTER));
|
||||||
|
}
|
||||||
|
}
|
||||||
return super.onAdvEvent(event, npc, player);
|
return super.onAdvEvent(event, npc, player);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -18,10 +18,13 @@ package instances.AshenShadowRevolutionaries;
|
|||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
import org.l2jmobius.commons.util.Chronos;
|
||||||
import org.l2jmobius.commons.util.CommonUtil;
|
import org.l2jmobius.commons.util.CommonUtil;
|
||||||
import org.l2jmobius.gameserver.enums.ChatType;
|
import org.l2jmobius.gameserver.enums.ChatType;
|
||||||
|
import org.l2jmobius.gameserver.instancemanager.InstanceManager;
|
||||||
import org.l2jmobius.gameserver.instancemanager.ZoneManager;
|
import org.l2jmobius.gameserver.instancemanager.ZoneManager;
|
||||||
import org.l2jmobius.gameserver.model.Location;
|
import org.l2jmobius.gameserver.model.Location;
|
||||||
|
import org.l2jmobius.gameserver.model.Party;
|
||||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||||
import org.l2jmobius.gameserver.model.actor.Npc;
|
import org.l2jmobius.gameserver.model.actor.Npc;
|
||||||
import org.l2jmobius.gameserver.model.actor.Player;
|
import org.l2jmobius.gameserver.model.actor.Player;
|
||||||
@@ -30,7 +33,9 @@ import org.l2jmobius.gameserver.model.skill.AbnormalVisualEffect;
|
|||||||
import org.l2jmobius.gameserver.model.zone.ZoneType;
|
import org.l2jmobius.gameserver.model.zone.ZoneType;
|
||||||
import org.l2jmobius.gameserver.model.zone.type.ScriptZone;
|
import org.l2jmobius.gameserver.model.zone.type.ScriptZone;
|
||||||
import org.l2jmobius.gameserver.network.NpcStringId;
|
import org.l2jmobius.gameserver.network.NpcStringId;
|
||||||
|
import org.l2jmobius.gameserver.network.SystemMessageId;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage;
|
import org.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage;
|
||||||
|
import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
|
||||||
|
|
||||||
import instances.AbstractInstance;
|
import instances.AbstractInstance;
|
||||||
|
|
||||||
@@ -155,8 +160,55 @@ public class AshenShadowRevolutionaries extends AbstractInstance
|
|||||||
switch (event)
|
switch (event)
|
||||||
{
|
{
|
||||||
case "enterInstance":
|
case "enterInstance":
|
||||||
|
{
|
||||||
|
if (player.isInParty())
|
||||||
|
{
|
||||||
|
final Party party = player.getParty();
|
||||||
|
if (!party.isLeader(player))
|
||||||
|
{
|
||||||
|
player.sendPacket(new SystemMessage(SystemMessageId.ONLY_A_PARTY_LEADER_CAN_MAKE_THE_REQUEST_TO_ENTER));
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (player.isInCommandChannel())
|
||||||
|
{
|
||||||
|
player.sendPacket(new SystemMessage(SystemMessageId.YOU_CANNOT_ENTER_BECAUSE_YOU_DO_NOT_MEET_THE_REQUIREMENTS));
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
final long currentTime = Chronos.currentTimeMillis();
|
||||||
|
final List<Player> members = party.getMembers();
|
||||||
|
for (Player member : members)
|
||||||
|
{
|
||||||
|
if (!member.isInsideRadius3D(npc, 1000))
|
||||||
|
{
|
||||||
|
player.sendMessage("Player " + member.getName() + " must come closer.");
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (currentTime < InstanceManager.getInstance().getInstanceTime(member, TEMPLATE_ID))
|
||||||
|
{
|
||||||
|
final SystemMessage msg = new SystemMessage(SystemMessageId.C1_MAY_NOT_RE_ENTER_YET);
|
||||||
|
msg.addString(member.getName());
|
||||||
|
party.broadcastToPartyMembers(member, msg);
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
for (Player member : members)
|
||||||
|
{
|
||||||
|
enterInstance(member, npc, TEMPLATE_ID);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (player.isGM())
|
||||||
{
|
{
|
||||||
enterInstance(player, npc, TEMPLATE_ID);
|
enterInstance(player, npc, TEMPLATE_ID);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
player.sendPacket(new SystemMessage(SystemMessageId.YOU_ARE_NOT_CURRENTLY_IN_A_PARTY_SO_YOU_CANNOT_ENTER));
|
||||||
|
}
|
||||||
|
|
||||||
if (player.getInstanceWorld() != null)
|
if (player.getInstanceWorld() != null)
|
||||||
{
|
{
|
||||||
startQuestTimer("chest_talk", 1000, player.getInstanceWorld().getNpc(TREASURE_CHEST), null);
|
startQuestTimer("chest_talk", 1000, player.getInstanceWorld().getNpc(TREASURE_CHEST), null);
|
||||||
|
@@ -17,11 +17,17 @@
|
|||||||
package instances.NightmareKamaloka;
|
package instances.NightmareKamaloka;
|
||||||
|
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
|
import org.l2jmobius.commons.util.Chronos;
|
||||||
|
import org.l2jmobius.gameserver.instancemanager.InstanceManager;
|
||||||
|
import org.l2jmobius.gameserver.model.Party;
|
||||||
import org.l2jmobius.gameserver.model.actor.Npc;
|
import org.l2jmobius.gameserver.model.actor.Npc;
|
||||||
import org.l2jmobius.gameserver.model.actor.Player;
|
import org.l2jmobius.gameserver.model.actor.Player;
|
||||||
import org.l2jmobius.gameserver.model.instancezone.Instance;
|
import org.l2jmobius.gameserver.model.instancezone.Instance;
|
||||||
|
import org.l2jmobius.gameserver.network.SystemMessageId;
|
||||||
|
import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
|
||||||
|
|
||||||
import instances.AbstractInstance;
|
import instances.AbstractInstance;
|
||||||
|
|
||||||
@@ -67,8 +73,54 @@ public class NightmareKamaloka extends AbstractInstance
|
|||||||
switch (event)
|
switch (event)
|
||||||
{
|
{
|
||||||
case "enterInstance":
|
case "enterInstance":
|
||||||
|
{
|
||||||
|
if (player.isInParty())
|
||||||
|
{
|
||||||
|
final Party party = player.getParty();
|
||||||
|
if (!party.isLeader(player))
|
||||||
|
{
|
||||||
|
player.sendPacket(new SystemMessage(SystemMessageId.ONLY_A_PARTY_LEADER_CAN_MAKE_THE_REQUEST_TO_ENTER));
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (player.isInCommandChannel())
|
||||||
|
{
|
||||||
|
player.sendPacket(new SystemMessage(SystemMessageId.YOU_CANNOT_ENTER_BECAUSE_YOU_DO_NOT_MEET_THE_REQUIREMENTS));
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
final long currentTime = Chronos.currentTimeMillis();
|
||||||
|
final List<Player> members = party.getMembers();
|
||||||
|
for (Player member : members)
|
||||||
|
{
|
||||||
|
if (!member.isInsideRadius3D(npc, 1000))
|
||||||
|
{
|
||||||
|
player.sendMessage("Player " + member.getName() + " must come closer.");
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (currentTime < InstanceManager.getInstance().getInstanceTime(member, TEMPLATE_ID))
|
||||||
|
{
|
||||||
|
final SystemMessage msg = new SystemMessage(SystemMessageId.C1_MAY_NOT_RE_ENTER_YET);
|
||||||
|
msg.addString(member.getName());
|
||||||
|
party.broadcastToPartyMembers(member, msg);
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
for (Player member : members)
|
||||||
|
{
|
||||||
|
enterInstance(member, npc, TEMPLATE_ID);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (player.isGM())
|
||||||
{
|
{
|
||||||
enterInstance(player, npc, TEMPLATE_ID);
|
enterInstance(player, npc, TEMPLATE_ID);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
player.sendPacket(new SystemMessage(SystemMessageId.YOU_ARE_NOT_CURRENTLY_IN_A_PARTY_SO_YOU_CANNOT_ENTER));
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case "SPAWN_BOSSES":
|
case "SPAWN_BOSSES":
|
||||||
|
@@ -16,7 +16,12 @@
|
|||||||
*/
|
*/
|
||||||
package ai.bosses.Baylor;
|
package ai.bosses.Baylor;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import org.l2jmobius.commons.util.Chronos;
|
||||||
|
import org.l2jmobius.gameserver.instancemanager.InstanceManager;
|
||||||
import org.l2jmobius.gameserver.model.Location;
|
import org.l2jmobius.gameserver.model.Location;
|
||||||
|
import org.l2jmobius.gameserver.model.Party;
|
||||||
import org.l2jmobius.gameserver.model.StatSet;
|
import org.l2jmobius.gameserver.model.StatSet;
|
||||||
import org.l2jmobius.gameserver.model.World;
|
import org.l2jmobius.gameserver.model.World;
|
||||||
import org.l2jmobius.gameserver.model.actor.Attackable;
|
import org.l2jmobius.gameserver.model.actor.Attackable;
|
||||||
@@ -28,7 +33,9 @@ import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureDeath;
|
|||||||
import org.l2jmobius.gameserver.model.holders.SkillHolder;
|
import org.l2jmobius.gameserver.model.holders.SkillHolder;
|
||||||
import org.l2jmobius.gameserver.model.instancezone.Instance;
|
import org.l2jmobius.gameserver.model.instancezone.Instance;
|
||||||
import org.l2jmobius.gameserver.model.skill.Skill;
|
import org.l2jmobius.gameserver.model.skill.Skill;
|
||||||
|
import org.l2jmobius.gameserver.network.SystemMessageId;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.SocialAction;
|
import org.l2jmobius.gameserver.network.serverpackets.SocialAction;
|
||||||
|
import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
|
||||||
|
|
||||||
import instances.AbstractInstance;
|
import instances.AbstractInstance;
|
||||||
|
|
||||||
@@ -69,9 +76,55 @@ public class BaylorWarzone extends AbstractInstance
|
|||||||
public String onAdvEvent(String event, Npc npc, Player player)
|
public String onAdvEvent(String event, Npc npc, Player player)
|
||||||
{
|
{
|
||||||
if (event.equals("enterInstance"))
|
if (event.equals("enterInstance"))
|
||||||
|
{
|
||||||
|
if (player.isInParty())
|
||||||
|
{
|
||||||
|
final Party party = player.getParty();
|
||||||
|
if (!party.isLeader(player))
|
||||||
|
{
|
||||||
|
player.sendPacket(new SystemMessage(SystemMessageId.ONLY_A_PARTY_LEADER_CAN_MAKE_THE_REQUEST_TO_ENTER));
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (player.isInCommandChannel())
|
||||||
|
{
|
||||||
|
player.sendPacket(new SystemMessage(SystemMessageId.YOU_CANNOT_ENTER_BECAUSE_YOU_DO_NOT_MEET_THE_REQUIREMENTS));
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
final long currentTime = Chronos.currentTimeMillis();
|
||||||
|
final List<Player> members = party.getMembers();
|
||||||
|
for (Player member : members)
|
||||||
|
{
|
||||||
|
if (!member.isInsideRadius3D(npc, 1000))
|
||||||
|
{
|
||||||
|
player.sendMessage("Player " + member.getName() + " must come closer.");
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (currentTime < InstanceManager.getInstance().getInstanceTime(member, TEMPLATE_ID))
|
||||||
|
{
|
||||||
|
final SystemMessage msg = new SystemMessage(SystemMessageId.C1_MAY_NOT_RE_ENTER_YET);
|
||||||
|
msg.addString(member.getName());
|
||||||
|
party.broadcastToPartyMembers(member, msg);
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
for (Player member : members)
|
||||||
|
{
|
||||||
|
enterInstance(member, npc, TEMPLATE_ID);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (player.isGM())
|
||||||
{
|
{
|
||||||
enterInstance(player, npc, TEMPLATE_ID);
|
enterInstance(player, npc, TEMPLATE_ID);
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
player.sendPacket(new SystemMessage(SystemMessageId.YOU_ARE_NOT_CURRENTLY_IN_A_PARTY_SO_YOU_CANNOT_ENTER));
|
||||||
|
}
|
||||||
|
}
|
||||||
return super.onAdvEvent(event, npc, player);
|
return super.onAdvEvent(event, npc, player);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -18,10 +18,13 @@ package instances.AshenShadowRevolutionaries;
|
|||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
import org.l2jmobius.commons.util.Chronos;
|
||||||
import org.l2jmobius.commons.util.CommonUtil;
|
import org.l2jmobius.commons.util.CommonUtil;
|
||||||
import org.l2jmobius.gameserver.enums.ChatType;
|
import org.l2jmobius.gameserver.enums.ChatType;
|
||||||
|
import org.l2jmobius.gameserver.instancemanager.InstanceManager;
|
||||||
import org.l2jmobius.gameserver.instancemanager.ZoneManager;
|
import org.l2jmobius.gameserver.instancemanager.ZoneManager;
|
||||||
import org.l2jmobius.gameserver.model.Location;
|
import org.l2jmobius.gameserver.model.Location;
|
||||||
|
import org.l2jmobius.gameserver.model.Party;
|
||||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||||
import org.l2jmobius.gameserver.model.actor.Npc;
|
import org.l2jmobius.gameserver.model.actor.Npc;
|
||||||
import org.l2jmobius.gameserver.model.actor.Player;
|
import org.l2jmobius.gameserver.model.actor.Player;
|
||||||
@@ -30,7 +33,9 @@ import org.l2jmobius.gameserver.model.skill.AbnormalVisualEffect;
|
|||||||
import org.l2jmobius.gameserver.model.zone.ZoneType;
|
import org.l2jmobius.gameserver.model.zone.ZoneType;
|
||||||
import org.l2jmobius.gameserver.model.zone.type.ScriptZone;
|
import org.l2jmobius.gameserver.model.zone.type.ScriptZone;
|
||||||
import org.l2jmobius.gameserver.network.NpcStringId;
|
import org.l2jmobius.gameserver.network.NpcStringId;
|
||||||
|
import org.l2jmobius.gameserver.network.SystemMessageId;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage;
|
import org.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage;
|
||||||
|
import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
|
||||||
|
|
||||||
import instances.AbstractInstance;
|
import instances.AbstractInstance;
|
||||||
|
|
||||||
@@ -155,8 +160,55 @@ public class AshenShadowRevolutionaries extends AbstractInstance
|
|||||||
switch (event)
|
switch (event)
|
||||||
{
|
{
|
||||||
case "enterInstance":
|
case "enterInstance":
|
||||||
|
{
|
||||||
|
if (player.isInParty())
|
||||||
|
{
|
||||||
|
final Party party = player.getParty();
|
||||||
|
if (!party.isLeader(player))
|
||||||
|
{
|
||||||
|
player.sendPacket(new SystemMessage(SystemMessageId.ONLY_A_PARTY_LEADER_CAN_MAKE_THE_REQUEST_TO_ENTER));
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (player.isInCommandChannel())
|
||||||
|
{
|
||||||
|
player.sendPacket(new SystemMessage(SystemMessageId.YOU_CANNOT_ENTER_BECAUSE_YOU_DO_NOT_MEET_THE_REQUIREMENTS));
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
final long currentTime = Chronos.currentTimeMillis();
|
||||||
|
final List<Player> members = party.getMembers();
|
||||||
|
for (Player member : members)
|
||||||
|
{
|
||||||
|
if (!member.isInsideRadius3D(npc, 1000))
|
||||||
|
{
|
||||||
|
player.sendMessage("Player " + member.getName() + " must come closer.");
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (currentTime < InstanceManager.getInstance().getInstanceTime(member, TEMPLATE_ID))
|
||||||
|
{
|
||||||
|
final SystemMessage msg = new SystemMessage(SystemMessageId.C1_MAY_NOT_RE_ENTER_YET);
|
||||||
|
msg.addString(member.getName());
|
||||||
|
party.broadcastToPartyMembers(member, msg);
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
for (Player member : members)
|
||||||
|
{
|
||||||
|
enterInstance(member, npc, TEMPLATE_ID);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (player.isGM())
|
||||||
{
|
{
|
||||||
enterInstance(player, npc, TEMPLATE_ID);
|
enterInstance(player, npc, TEMPLATE_ID);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
player.sendPacket(new SystemMessage(SystemMessageId.YOU_ARE_NOT_CURRENTLY_IN_A_PARTY_SO_YOU_CANNOT_ENTER));
|
||||||
|
}
|
||||||
|
|
||||||
if (player.getInstanceWorld() != null)
|
if (player.getInstanceWorld() != null)
|
||||||
{
|
{
|
||||||
startQuestTimer("chest_talk", 1000, player.getInstanceWorld().getNpc(TREASURE_CHEST), null);
|
startQuestTimer("chest_talk", 1000, player.getInstanceWorld().getNpc(TREASURE_CHEST), null);
|
||||||
|
@@ -17,11 +17,17 @@
|
|||||||
package instances.NightmareKamaloka;
|
package instances.NightmareKamaloka;
|
||||||
|
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
|
import org.l2jmobius.commons.util.Chronos;
|
||||||
|
import org.l2jmobius.gameserver.instancemanager.InstanceManager;
|
||||||
|
import org.l2jmobius.gameserver.model.Party;
|
||||||
import org.l2jmobius.gameserver.model.actor.Npc;
|
import org.l2jmobius.gameserver.model.actor.Npc;
|
||||||
import org.l2jmobius.gameserver.model.actor.Player;
|
import org.l2jmobius.gameserver.model.actor.Player;
|
||||||
import org.l2jmobius.gameserver.model.instancezone.Instance;
|
import org.l2jmobius.gameserver.model.instancezone.Instance;
|
||||||
|
import org.l2jmobius.gameserver.network.SystemMessageId;
|
||||||
|
import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
|
||||||
|
|
||||||
import instances.AbstractInstance;
|
import instances.AbstractInstance;
|
||||||
|
|
||||||
@@ -67,8 +73,54 @@ public class NightmareKamaloka extends AbstractInstance
|
|||||||
switch (event)
|
switch (event)
|
||||||
{
|
{
|
||||||
case "enterInstance":
|
case "enterInstance":
|
||||||
|
{
|
||||||
|
if (player.isInParty())
|
||||||
|
{
|
||||||
|
final Party party = player.getParty();
|
||||||
|
if (!party.isLeader(player))
|
||||||
|
{
|
||||||
|
player.sendPacket(new SystemMessage(SystemMessageId.ONLY_A_PARTY_LEADER_CAN_MAKE_THE_REQUEST_TO_ENTER));
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (player.isInCommandChannel())
|
||||||
|
{
|
||||||
|
player.sendPacket(new SystemMessage(SystemMessageId.YOU_CANNOT_ENTER_BECAUSE_YOU_DO_NOT_MEET_THE_REQUIREMENTS));
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
final long currentTime = Chronos.currentTimeMillis();
|
||||||
|
final List<Player> members = party.getMembers();
|
||||||
|
for (Player member : members)
|
||||||
|
{
|
||||||
|
if (!member.isInsideRadius3D(npc, 1000))
|
||||||
|
{
|
||||||
|
player.sendMessage("Player " + member.getName() + " must come closer.");
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (currentTime < InstanceManager.getInstance().getInstanceTime(member, TEMPLATE_ID))
|
||||||
|
{
|
||||||
|
final SystemMessage msg = new SystemMessage(SystemMessageId.C1_MAY_NOT_RE_ENTER_YET);
|
||||||
|
msg.addString(member.getName());
|
||||||
|
party.broadcastToPartyMembers(member, msg);
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
for (Player member : members)
|
||||||
|
{
|
||||||
|
enterInstance(member, npc, TEMPLATE_ID);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (player.isGM())
|
||||||
{
|
{
|
||||||
enterInstance(player, npc, TEMPLATE_ID);
|
enterInstance(player, npc, TEMPLATE_ID);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
player.sendPacket(new SystemMessage(SystemMessageId.YOU_ARE_NOT_CURRENTLY_IN_A_PARTY_SO_YOU_CANNOT_ENTER));
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case "SPAWN_BOSSES":
|
case "SPAWN_BOSSES":
|
||||||
|
@@ -16,7 +16,12 @@
|
|||||||
*/
|
*/
|
||||||
package ai.bosses.Baylor;
|
package ai.bosses.Baylor;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import org.l2jmobius.commons.util.Chronos;
|
||||||
|
import org.l2jmobius.gameserver.instancemanager.InstanceManager;
|
||||||
import org.l2jmobius.gameserver.model.Location;
|
import org.l2jmobius.gameserver.model.Location;
|
||||||
|
import org.l2jmobius.gameserver.model.Party;
|
||||||
import org.l2jmobius.gameserver.model.StatSet;
|
import org.l2jmobius.gameserver.model.StatSet;
|
||||||
import org.l2jmobius.gameserver.model.World;
|
import org.l2jmobius.gameserver.model.World;
|
||||||
import org.l2jmobius.gameserver.model.actor.Attackable;
|
import org.l2jmobius.gameserver.model.actor.Attackable;
|
||||||
@@ -28,7 +33,9 @@ import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureDeath;
|
|||||||
import org.l2jmobius.gameserver.model.holders.SkillHolder;
|
import org.l2jmobius.gameserver.model.holders.SkillHolder;
|
||||||
import org.l2jmobius.gameserver.model.instancezone.Instance;
|
import org.l2jmobius.gameserver.model.instancezone.Instance;
|
||||||
import org.l2jmobius.gameserver.model.skill.Skill;
|
import org.l2jmobius.gameserver.model.skill.Skill;
|
||||||
|
import org.l2jmobius.gameserver.network.SystemMessageId;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.SocialAction;
|
import org.l2jmobius.gameserver.network.serverpackets.SocialAction;
|
||||||
|
import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
|
||||||
|
|
||||||
import instances.AbstractInstance;
|
import instances.AbstractInstance;
|
||||||
|
|
||||||
@@ -69,9 +76,55 @@ public class BaylorWarzone extends AbstractInstance
|
|||||||
public String onAdvEvent(String event, Npc npc, Player player)
|
public String onAdvEvent(String event, Npc npc, Player player)
|
||||||
{
|
{
|
||||||
if (event.equals("enterInstance"))
|
if (event.equals("enterInstance"))
|
||||||
|
{
|
||||||
|
if (player.isInParty())
|
||||||
|
{
|
||||||
|
final Party party = player.getParty();
|
||||||
|
if (!party.isLeader(player))
|
||||||
|
{
|
||||||
|
player.sendPacket(new SystemMessage(SystemMessageId.ONLY_A_PARTY_LEADER_CAN_MAKE_THE_REQUEST_TO_ENTER));
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (player.isInCommandChannel())
|
||||||
|
{
|
||||||
|
player.sendPacket(new SystemMessage(SystemMessageId.YOU_CANNOT_ENTER_BECAUSE_YOU_DO_NOT_MEET_THE_REQUIREMENTS));
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
final long currentTime = Chronos.currentTimeMillis();
|
||||||
|
final List<Player> members = party.getMembers();
|
||||||
|
for (Player member : members)
|
||||||
|
{
|
||||||
|
if (!member.isInsideRadius3D(npc, 1000))
|
||||||
|
{
|
||||||
|
player.sendMessage("Player " + member.getName() + " must come closer.");
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (currentTime < InstanceManager.getInstance().getInstanceTime(member, TEMPLATE_ID))
|
||||||
|
{
|
||||||
|
final SystemMessage msg = new SystemMessage(SystemMessageId.C1_MAY_NOT_RE_ENTER_YET);
|
||||||
|
msg.addString(member.getName());
|
||||||
|
party.broadcastToPartyMembers(member, msg);
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
for (Player member : members)
|
||||||
|
{
|
||||||
|
enterInstance(member, npc, TEMPLATE_ID);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (player.isGM())
|
||||||
{
|
{
|
||||||
enterInstance(player, npc, TEMPLATE_ID);
|
enterInstance(player, npc, TEMPLATE_ID);
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
player.sendPacket(new SystemMessage(SystemMessageId.YOU_ARE_NOT_CURRENTLY_IN_A_PARTY_SO_YOU_CANNOT_ENTER));
|
||||||
|
}
|
||||||
|
}
|
||||||
return super.onAdvEvent(event, npc, player);
|
return super.onAdvEvent(event, npc, player);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -18,10 +18,13 @@ package instances.AshenShadowRevolutionaries;
|
|||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
import org.l2jmobius.commons.util.Chronos;
|
||||||
import org.l2jmobius.commons.util.CommonUtil;
|
import org.l2jmobius.commons.util.CommonUtil;
|
||||||
import org.l2jmobius.gameserver.enums.ChatType;
|
import org.l2jmobius.gameserver.enums.ChatType;
|
||||||
|
import org.l2jmobius.gameserver.instancemanager.InstanceManager;
|
||||||
import org.l2jmobius.gameserver.instancemanager.ZoneManager;
|
import org.l2jmobius.gameserver.instancemanager.ZoneManager;
|
||||||
import org.l2jmobius.gameserver.model.Location;
|
import org.l2jmobius.gameserver.model.Location;
|
||||||
|
import org.l2jmobius.gameserver.model.Party;
|
||||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||||
import org.l2jmobius.gameserver.model.actor.Npc;
|
import org.l2jmobius.gameserver.model.actor.Npc;
|
||||||
import org.l2jmobius.gameserver.model.actor.Player;
|
import org.l2jmobius.gameserver.model.actor.Player;
|
||||||
@@ -30,7 +33,9 @@ import org.l2jmobius.gameserver.model.skill.AbnormalVisualEffect;
|
|||||||
import org.l2jmobius.gameserver.model.zone.ZoneType;
|
import org.l2jmobius.gameserver.model.zone.ZoneType;
|
||||||
import org.l2jmobius.gameserver.model.zone.type.ScriptZone;
|
import org.l2jmobius.gameserver.model.zone.type.ScriptZone;
|
||||||
import org.l2jmobius.gameserver.network.NpcStringId;
|
import org.l2jmobius.gameserver.network.NpcStringId;
|
||||||
|
import org.l2jmobius.gameserver.network.SystemMessageId;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage;
|
import org.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage;
|
||||||
|
import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
|
||||||
|
|
||||||
import instances.AbstractInstance;
|
import instances.AbstractInstance;
|
||||||
|
|
||||||
@@ -155,8 +160,55 @@ public class AshenShadowRevolutionaries extends AbstractInstance
|
|||||||
switch (event)
|
switch (event)
|
||||||
{
|
{
|
||||||
case "enterInstance":
|
case "enterInstance":
|
||||||
|
{
|
||||||
|
if (player.isInParty())
|
||||||
|
{
|
||||||
|
final Party party = player.getParty();
|
||||||
|
if (!party.isLeader(player))
|
||||||
|
{
|
||||||
|
player.sendPacket(new SystemMessage(SystemMessageId.ONLY_A_PARTY_LEADER_CAN_MAKE_THE_REQUEST_TO_ENTER));
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (player.isInCommandChannel())
|
||||||
|
{
|
||||||
|
player.sendPacket(new SystemMessage(SystemMessageId.YOU_CANNOT_ENTER_BECAUSE_YOU_DO_NOT_MEET_THE_REQUIREMENTS));
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
final long currentTime = Chronos.currentTimeMillis();
|
||||||
|
final List<Player> members = party.getMembers();
|
||||||
|
for (Player member : members)
|
||||||
|
{
|
||||||
|
if (!member.isInsideRadius3D(npc, 1000))
|
||||||
|
{
|
||||||
|
player.sendMessage("Player " + member.getName() + " must come closer.");
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (currentTime < InstanceManager.getInstance().getInstanceTime(member, TEMPLATE_ID))
|
||||||
|
{
|
||||||
|
final SystemMessage msg = new SystemMessage(SystemMessageId.C1_MAY_NOT_RE_ENTER_YET);
|
||||||
|
msg.addString(member.getName());
|
||||||
|
party.broadcastToPartyMembers(member, msg);
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
for (Player member : members)
|
||||||
|
{
|
||||||
|
enterInstance(member, npc, TEMPLATE_ID);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (player.isGM())
|
||||||
{
|
{
|
||||||
enterInstance(player, npc, TEMPLATE_ID);
|
enterInstance(player, npc, TEMPLATE_ID);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
player.sendPacket(new SystemMessage(SystemMessageId.YOU_ARE_NOT_CURRENTLY_IN_A_PARTY_SO_YOU_CANNOT_ENTER));
|
||||||
|
}
|
||||||
|
|
||||||
if (player.getInstanceWorld() != null)
|
if (player.getInstanceWorld() != null)
|
||||||
{
|
{
|
||||||
startQuestTimer("chest_talk", 1000, player.getInstanceWorld().getNpc(TREASURE_CHEST), null);
|
startQuestTimer("chest_talk", 1000, player.getInstanceWorld().getNpc(TREASURE_CHEST), null);
|
||||||
|
@@ -17,11 +17,17 @@
|
|||||||
package instances.NightmareKamaloka;
|
package instances.NightmareKamaloka;
|
||||||
|
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
|
import org.l2jmobius.commons.util.Chronos;
|
||||||
|
import org.l2jmobius.gameserver.instancemanager.InstanceManager;
|
||||||
|
import org.l2jmobius.gameserver.model.Party;
|
||||||
import org.l2jmobius.gameserver.model.actor.Npc;
|
import org.l2jmobius.gameserver.model.actor.Npc;
|
||||||
import org.l2jmobius.gameserver.model.actor.Player;
|
import org.l2jmobius.gameserver.model.actor.Player;
|
||||||
import org.l2jmobius.gameserver.model.instancezone.Instance;
|
import org.l2jmobius.gameserver.model.instancezone.Instance;
|
||||||
|
import org.l2jmobius.gameserver.network.SystemMessageId;
|
||||||
|
import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
|
||||||
|
|
||||||
import instances.AbstractInstance;
|
import instances.AbstractInstance;
|
||||||
|
|
||||||
@@ -67,8 +73,54 @@ public class NightmareKamaloka extends AbstractInstance
|
|||||||
switch (event)
|
switch (event)
|
||||||
{
|
{
|
||||||
case "enterInstance":
|
case "enterInstance":
|
||||||
|
{
|
||||||
|
if (player.isInParty())
|
||||||
|
{
|
||||||
|
final Party party = player.getParty();
|
||||||
|
if (!party.isLeader(player))
|
||||||
|
{
|
||||||
|
player.sendPacket(new SystemMessage(SystemMessageId.ONLY_A_PARTY_LEADER_CAN_MAKE_THE_REQUEST_TO_ENTER));
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (player.isInCommandChannel())
|
||||||
|
{
|
||||||
|
player.sendPacket(new SystemMessage(SystemMessageId.YOU_CANNOT_ENTER_BECAUSE_YOU_DO_NOT_MEET_THE_REQUIREMENTS));
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
final long currentTime = Chronos.currentTimeMillis();
|
||||||
|
final List<Player> members = party.getMembers();
|
||||||
|
for (Player member : members)
|
||||||
|
{
|
||||||
|
if (!member.isInsideRadius3D(npc, 1000))
|
||||||
|
{
|
||||||
|
player.sendMessage("Player " + member.getName() + " must come closer.");
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (currentTime < InstanceManager.getInstance().getInstanceTime(member, TEMPLATE_ID))
|
||||||
|
{
|
||||||
|
final SystemMessage msg = new SystemMessage(SystemMessageId.C1_MAY_NOT_RE_ENTER_YET);
|
||||||
|
msg.addString(member.getName());
|
||||||
|
party.broadcastToPartyMembers(member, msg);
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
for (Player member : members)
|
||||||
|
{
|
||||||
|
enterInstance(member, npc, TEMPLATE_ID);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (player.isGM())
|
||||||
{
|
{
|
||||||
enterInstance(player, npc, TEMPLATE_ID);
|
enterInstance(player, npc, TEMPLATE_ID);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
player.sendPacket(new SystemMessage(SystemMessageId.YOU_ARE_NOT_CURRENTLY_IN_A_PARTY_SO_YOU_CANNOT_ENTER));
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case "SPAWN_BOSSES":
|
case "SPAWN_BOSSES":
|
||||||
|
@@ -16,7 +16,12 @@
|
|||||||
*/
|
*/
|
||||||
package ai.bosses.Baylor;
|
package ai.bosses.Baylor;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import org.l2jmobius.commons.util.Chronos;
|
||||||
|
import org.l2jmobius.gameserver.instancemanager.InstanceManager;
|
||||||
import org.l2jmobius.gameserver.model.Location;
|
import org.l2jmobius.gameserver.model.Location;
|
||||||
|
import org.l2jmobius.gameserver.model.Party;
|
||||||
import org.l2jmobius.gameserver.model.StatSet;
|
import org.l2jmobius.gameserver.model.StatSet;
|
||||||
import org.l2jmobius.gameserver.model.World;
|
import org.l2jmobius.gameserver.model.World;
|
||||||
import org.l2jmobius.gameserver.model.actor.Attackable;
|
import org.l2jmobius.gameserver.model.actor.Attackable;
|
||||||
@@ -28,7 +33,9 @@ import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureDeath;
|
|||||||
import org.l2jmobius.gameserver.model.holders.SkillHolder;
|
import org.l2jmobius.gameserver.model.holders.SkillHolder;
|
||||||
import org.l2jmobius.gameserver.model.instancezone.Instance;
|
import org.l2jmobius.gameserver.model.instancezone.Instance;
|
||||||
import org.l2jmobius.gameserver.model.skill.Skill;
|
import org.l2jmobius.gameserver.model.skill.Skill;
|
||||||
|
import org.l2jmobius.gameserver.network.SystemMessageId;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.SocialAction;
|
import org.l2jmobius.gameserver.network.serverpackets.SocialAction;
|
||||||
|
import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
|
||||||
|
|
||||||
import instances.AbstractInstance;
|
import instances.AbstractInstance;
|
||||||
|
|
||||||
@@ -69,9 +76,55 @@ public class BaylorWarzone extends AbstractInstance
|
|||||||
public String onAdvEvent(String event, Npc npc, Player player)
|
public String onAdvEvent(String event, Npc npc, Player player)
|
||||||
{
|
{
|
||||||
if (event.equals("enterInstance"))
|
if (event.equals("enterInstance"))
|
||||||
|
{
|
||||||
|
if (player.isInParty())
|
||||||
|
{
|
||||||
|
final Party party = player.getParty();
|
||||||
|
if (!party.isLeader(player))
|
||||||
|
{
|
||||||
|
player.sendPacket(new SystemMessage(SystemMessageId.ONLY_A_PARTY_LEADER_CAN_MAKE_THE_REQUEST_TO_ENTER));
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (player.isInCommandChannel())
|
||||||
|
{
|
||||||
|
player.sendPacket(new SystemMessage(SystemMessageId.YOU_CANNOT_ENTER_BECAUSE_YOU_DO_NOT_MEET_THE_REQUIREMENTS));
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
final long currentTime = Chronos.currentTimeMillis();
|
||||||
|
final List<Player> members = party.getMembers();
|
||||||
|
for (Player member : members)
|
||||||
|
{
|
||||||
|
if (!member.isInsideRadius3D(npc, 1000))
|
||||||
|
{
|
||||||
|
player.sendMessage("Player " + member.getName() + " must come closer.");
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (currentTime < InstanceManager.getInstance().getInstanceTime(member, TEMPLATE_ID))
|
||||||
|
{
|
||||||
|
final SystemMessage msg = new SystemMessage(SystemMessageId.C1_MAY_NOT_RE_ENTER_YET);
|
||||||
|
msg.addString(member.getName());
|
||||||
|
party.broadcastToPartyMembers(member, msg);
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
for (Player member : members)
|
||||||
|
{
|
||||||
|
enterInstance(member, npc, TEMPLATE_ID);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (player.isGM())
|
||||||
{
|
{
|
||||||
enterInstance(player, npc, TEMPLATE_ID);
|
enterInstance(player, npc, TEMPLATE_ID);
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
player.sendPacket(new SystemMessage(SystemMessageId.YOU_ARE_NOT_CURRENTLY_IN_A_PARTY_SO_YOU_CANNOT_ENTER));
|
||||||
|
}
|
||||||
|
}
|
||||||
return super.onAdvEvent(event, npc, player);
|
return super.onAdvEvent(event, npc, player);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -18,10 +18,13 @@ package instances.AshenShadowRevolutionaries;
|
|||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
import org.l2jmobius.commons.util.Chronos;
|
||||||
import org.l2jmobius.commons.util.CommonUtil;
|
import org.l2jmobius.commons.util.CommonUtil;
|
||||||
import org.l2jmobius.gameserver.enums.ChatType;
|
import org.l2jmobius.gameserver.enums.ChatType;
|
||||||
|
import org.l2jmobius.gameserver.instancemanager.InstanceManager;
|
||||||
import org.l2jmobius.gameserver.instancemanager.ZoneManager;
|
import org.l2jmobius.gameserver.instancemanager.ZoneManager;
|
||||||
import org.l2jmobius.gameserver.model.Location;
|
import org.l2jmobius.gameserver.model.Location;
|
||||||
|
import org.l2jmobius.gameserver.model.Party;
|
||||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||||
import org.l2jmobius.gameserver.model.actor.Npc;
|
import org.l2jmobius.gameserver.model.actor.Npc;
|
||||||
import org.l2jmobius.gameserver.model.actor.Player;
|
import org.l2jmobius.gameserver.model.actor.Player;
|
||||||
@@ -30,7 +33,9 @@ import org.l2jmobius.gameserver.model.skill.AbnormalVisualEffect;
|
|||||||
import org.l2jmobius.gameserver.model.zone.ZoneType;
|
import org.l2jmobius.gameserver.model.zone.ZoneType;
|
||||||
import org.l2jmobius.gameserver.model.zone.type.ScriptZone;
|
import org.l2jmobius.gameserver.model.zone.type.ScriptZone;
|
||||||
import org.l2jmobius.gameserver.network.NpcStringId;
|
import org.l2jmobius.gameserver.network.NpcStringId;
|
||||||
|
import org.l2jmobius.gameserver.network.SystemMessageId;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage;
|
import org.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage;
|
||||||
|
import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
|
||||||
|
|
||||||
import instances.AbstractInstance;
|
import instances.AbstractInstance;
|
||||||
|
|
||||||
@@ -155,8 +160,55 @@ public class AshenShadowRevolutionaries extends AbstractInstance
|
|||||||
switch (event)
|
switch (event)
|
||||||
{
|
{
|
||||||
case "enterInstance":
|
case "enterInstance":
|
||||||
|
{
|
||||||
|
if (player.isInParty())
|
||||||
|
{
|
||||||
|
final Party party = player.getParty();
|
||||||
|
if (!party.isLeader(player))
|
||||||
|
{
|
||||||
|
player.sendPacket(new SystemMessage(SystemMessageId.ONLY_A_PARTY_LEADER_CAN_MAKE_THE_REQUEST_TO_ENTER));
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (player.isInCommandChannel())
|
||||||
|
{
|
||||||
|
player.sendPacket(new SystemMessage(SystemMessageId.YOU_CANNOT_ENTER_BECAUSE_YOU_DO_NOT_MEET_THE_REQUIREMENTS));
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
final long currentTime = Chronos.currentTimeMillis();
|
||||||
|
final List<Player> members = party.getMembers();
|
||||||
|
for (Player member : members)
|
||||||
|
{
|
||||||
|
if (!member.isInsideRadius3D(npc, 1000))
|
||||||
|
{
|
||||||
|
player.sendMessage("Player " + member.getName() + " must come closer.");
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (currentTime < InstanceManager.getInstance().getInstanceTime(member, TEMPLATE_ID))
|
||||||
|
{
|
||||||
|
final SystemMessage msg = new SystemMessage(SystemMessageId.C1_MAY_NOT_RE_ENTER_YET);
|
||||||
|
msg.addString(member.getName());
|
||||||
|
party.broadcastToPartyMembers(member, msg);
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
for (Player member : members)
|
||||||
|
{
|
||||||
|
enterInstance(member, npc, TEMPLATE_ID);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (player.isGM())
|
||||||
{
|
{
|
||||||
enterInstance(player, npc, TEMPLATE_ID);
|
enterInstance(player, npc, TEMPLATE_ID);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
player.sendPacket(new SystemMessage(SystemMessageId.YOU_ARE_NOT_CURRENTLY_IN_A_PARTY_SO_YOU_CANNOT_ENTER));
|
||||||
|
}
|
||||||
|
|
||||||
if (player.getInstanceWorld() != null)
|
if (player.getInstanceWorld() != null)
|
||||||
{
|
{
|
||||||
startQuestTimer("chest_talk", 1000, player.getInstanceWorld().getNpc(TREASURE_CHEST), null);
|
startQuestTimer("chest_talk", 1000, player.getInstanceWorld().getNpc(TREASURE_CHEST), null);
|
||||||
|
@@ -17,11 +17,17 @@
|
|||||||
package instances.NightmareKamaloka;
|
package instances.NightmareKamaloka;
|
||||||
|
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
|
import org.l2jmobius.commons.util.Chronos;
|
||||||
|
import org.l2jmobius.gameserver.instancemanager.InstanceManager;
|
||||||
|
import org.l2jmobius.gameserver.model.Party;
|
||||||
import org.l2jmobius.gameserver.model.actor.Npc;
|
import org.l2jmobius.gameserver.model.actor.Npc;
|
||||||
import org.l2jmobius.gameserver.model.actor.Player;
|
import org.l2jmobius.gameserver.model.actor.Player;
|
||||||
import org.l2jmobius.gameserver.model.instancezone.Instance;
|
import org.l2jmobius.gameserver.model.instancezone.Instance;
|
||||||
|
import org.l2jmobius.gameserver.network.SystemMessageId;
|
||||||
|
import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
|
||||||
|
|
||||||
import instances.AbstractInstance;
|
import instances.AbstractInstance;
|
||||||
|
|
||||||
@@ -67,8 +73,54 @@ public class NightmareKamaloka extends AbstractInstance
|
|||||||
switch (event)
|
switch (event)
|
||||||
{
|
{
|
||||||
case "enterInstance":
|
case "enterInstance":
|
||||||
|
{
|
||||||
|
if (player.isInParty())
|
||||||
|
{
|
||||||
|
final Party party = player.getParty();
|
||||||
|
if (!party.isLeader(player))
|
||||||
|
{
|
||||||
|
player.sendPacket(new SystemMessage(SystemMessageId.ONLY_A_PARTY_LEADER_CAN_MAKE_THE_REQUEST_TO_ENTER));
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (player.isInCommandChannel())
|
||||||
|
{
|
||||||
|
player.sendPacket(new SystemMessage(SystemMessageId.YOU_CANNOT_ENTER_BECAUSE_YOU_DO_NOT_MEET_THE_REQUIREMENTS));
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
final long currentTime = Chronos.currentTimeMillis();
|
||||||
|
final List<Player> members = party.getMembers();
|
||||||
|
for (Player member : members)
|
||||||
|
{
|
||||||
|
if (!member.isInsideRadius3D(npc, 1000))
|
||||||
|
{
|
||||||
|
player.sendMessage("Player " + member.getName() + " must come closer.");
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (currentTime < InstanceManager.getInstance().getInstanceTime(member, TEMPLATE_ID))
|
||||||
|
{
|
||||||
|
final SystemMessage msg = new SystemMessage(SystemMessageId.C1_MAY_NOT_RE_ENTER_YET);
|
||||||
|
msg.addString(member.getName());
|
||||||
|
party.broadcastToPartyMembers(member, msg);
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
for (Player member : members)
|
||||||
|
{
|
||||||
|
enterInstance(member, npc, TEMPLATE_ID);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (player.isGM())
|
||||||
{
|
{
|
||||||
enterInstance(player, npc, TEMPLATE_ID);
|
enterInstance(player, npc, TEMPLATE_ID);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
player.sendPacket(new SystemMessage(SystemMessageId.YOU_ARE_NOT_CURRENTLY_IN_A_PARTY_SO_YOU_CANNOT_ENTER));
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case "SPAWN_BOSSES":
|
case "SPAWN_BOSSES":
|
||||||
|
@@ -16,7 +16,12 @@
|
|||||||
*/
|
*/
|
||||||
package ai.bosses.Baylor;
|
package ai.bosses.Baylor;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import org.l2jmobius.commons.util.Chronos;
|
||||||
|
import org.l2jmobius.gameserver.instancemanager.InstanceManager;
|
||||||
import org.l2jmobius.gameserver.model.Location;
|
import org.l2jmobius.gameserver.model.Location;
|
||||||
|
import org.l2jmobius.gameserver.model.Party;
|
||||||
import org.l2jmobius.gameserver.model.StatSet;
|
import org.l2jmobius.gameserver.model.StatSet;
|
||||||
import org.l2jmobius.gameserver.model.World;
|
import org.l2jmobius.gameserver.model.World;
|
||||||
import org.l2jmobius.gameserver.model.actor.Attackable;
|
import org.l2jmobius.gameserver.model.actor.Attackable;
|
||||||
@@ -28,7 +33,9 @@ import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureDeath;
|
|||||||
import org.l2jmobius.gameserver.model.holders.SkillHolder;
|
import org.l2jmobius.gameserver.model.holders.SkillHolder;
|
||||||
import org.l2jmobius.gameserver.model.instancezone.Instance;
|
import org.l2jmobius.gameserver.model.instancezone.Instance;
|
||||||
import org.l2jmobius.gameserver.model.skill.Skill;
|
import org.l2jmobius.gameserver.model.skill.Skill;
|
||||||
|
import org.l2jmobius.gameserver.network.SystemMessageId;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.SocialAction;
|
import org.l2jmobius.gameserver.network.serverpackets.SocialAction;
|
||||||
|
import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
|
||||||
|
|
||||||
import instances.AbstractInstance;
|
import instances.AbstractInstance;
|
||||||
|
|
||||||
@@ -69,9 +76,55 @@ public class BaylorWarzone extends AbstractInstance
|
|||||||
public String onAdvEvent(String event, Npc npc, Player player)
|
public String onAdvEvent(String event, Npc npc, Player player)
|
||||||
{
|
{
|
||||||
if (event.equals("enterInstance"))
|
if (event.equals("enterInstance"))
|
||||||
|
{
|
||||||
|
if (player.isInParty())
|
||||||
|
{
|
||||||
|
final Party party = player.getParty();
|
||||||
|
if (!party.isLeader(player))
|
||||||
|
{
|
||||||
|
player.sendPacket(new SystemMessage(SystemMessageId.ONLY_A_PARTY_LEADER_CAN_MAKE_THE_REQUEST_TO_ENTER));
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (player.isInCommandChannel())
|
||||||
|
{
|
||||||
|
player.sendPacket(new SystemMessage(SystemMessageId.YOU_CANNOT_ENTER_BECAUSE_YOU_DO_NOT_MEET_THE_REQUIREMENTS));
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
final long currentTime = Chronos.currentTimeMillis();
|
||||||
|
final List<Player> members = party.getMembers();
|
||||||
|
for (Player member : members)
|
||||||
|
{
|
||||||
|
if (!member.isInsideRadius3D(npc, 1000))
|
||||||
|
{
|
||||||
|
player.sendMessage("Player " + member.getName() + " must come closer.");
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (currentTime < InstanceManager.getInstance().getInstanceTime(member, TEMPLATE_ID))
|
||||||
|
{
|
||||||
|
final SystemMessage msg = new SystemMessage(SystemMessageId.C1_MAY_NOT_RE_ENTER_YET);
|
||||||
|
msg.addString(member.getName());
|
||||||
|
party.broadcastToPartyMembers(member, msg);
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
for (Player member : members)
|
||||||
|
{
|
||||||
|
enterInstance(member, npc, TEMPLATE_ID);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (player.isGM())
|
||||||
{
|
{
|
||||||
enterInstance(player, npc, TEMPLATE_ID);
|
enterInstance(player, npc, TEMPLATE_ID);
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
player.sendPacket(new SystemMessage(SystemMessageId.YOU_ARE_NOT_CURRENTLY_IN_A_PARTY_SO_YOU_CANNOT_ENTER));
|
||||||
|
}
|
||||||
|
}
|
||||||
return super.onAdvEvent(event, npc, player);
|
return super.onAdvEvent(event, npc, player);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -18,10 +18,13 @@ package instances.AshenShadowRevolutionaries;
|
|||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
import org.l2jmobius.commons.util.Chronos;
|
||||||
import org.l2jmobius.commons.util.CommonUtil;
|
import org.l2jmobius.commons.util.CommonUtil;
|
||||||
import org.l2jmobius.gameserver.enums.ChatType;
|
import org.l2jmobius.gameserver.enums.ChatType;
|
||||||
|
import org.l2jmobius.gameserver.instancemanager.InstanceManager;
|
||||||
import org.l2jmobius.gameserver.instancemanager.ZoneManager;
|
import org.l2jmobius.gameserver.instancemanager.ZoneManager;
|
||||||
import org.l2jmobius.gameserver.model.Location;
|
import org.l2jmobius.gameserver.model.Location;
|
||||||
|
import org.l2jmobius.gameserver.model.Party;
|
||||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||||
import org.l2jmobius.gameserver.model.actor.Npc;
|
import org.l2jmobius.gameserver.model.actor.Npc;
|
||||||
import org.l2jmobius.gameserver.model.actor.Player;
|
import org.l2jmobius.gameserver.model.actor.Player;
|
||||||
@@ -30,7 +33,9 @@ import org.l2jmobius.gameserver.model.skill.AbnormalVisualEffect;
|
|||||||
import org.l2jmobius.gameserver.model.zone.ZoneType;
|
import org.l2jmobius.gameserver.model.zone.ZoneType;
|
||||||
import org.l2jmobius.gameserver.model.zone.type.ScriptZone;
|
import org.l2jmobius.gameserver.model.zone.type.ScriptZone;
|
||||||
import org.l2jmobius.gameserver.network.NpcStringId;
|
import org.l2jmobius.gameserver.network.NpcStringId;
|
||||||
|
import org.l2jmobius.gameserver.network.SystemMessageId;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage;
|
import org.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage;
|
||||||
|
import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
|
||||||
|
|
||||||
import instances.AbstractInstance;
|
import instances.AbstractInstance;
|
||||||
|
|
||||||
@@ -155,8 +160,55 @@ public class AshenShadowRevolutionaries extends AbstractInstance
|
|||||||
switch (event)
|
switch (event)
|
||||||
{
|
{
|
||||||
case "enterInstance":
|
case "enterInstance":
|
||||||
|
{
|
||||||
|
if (player.isInParty())
|
||||||
|
{
|
||||||
|
final Party party = player.getParty();
|
||||||
|
if (!party.isLeader(player))
|
||||||
|
{
|
||||||
|
player.sendPacket(new SystemMessage(SystemMessageId.ONLY_A_PARTY_LEADER_CAN_MAKE_THE_REQUEST_TO_ENTER));
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (player.isInCommandChannel())
|
||||||
|
{
|
||||||
|
player.sendPacket(new SystemMessage(SystemMessageId.YOU_CANNOT_ENTER_BECAUSE_YOU_DO_NOT_MEET_THE_REQUIREMENTS));
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
final long currentTime = Chronos.currentTimeMillis();
|
||||||
|
final List<Player> members = party.getMembers();
|
||||||
|
for (Player member : members)
|
||||||
|
{
|
||||||
|
if (!member.isInsideRadius3D(npc, 1000))
|
||||||
|
{
|
||||||
|
player.sendMessage("Player " + member.getName() + " must come closer.");
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (currentTime < InstanceManager.getInstance().getInstanceTime(member, TEMPLATE_ID))
|
||||||
|
{
|
||||||
|
final SystemMessage msg = new SystemMessage(SystemMessageId.C1_MAY_NOT_RE_ENTER_YET);
|
||||||
|
msg.addString(member.getName());
|
||||||
|
party.broadcastToPartyMembers(member, msg);
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
for (Player member : members)
|
||||||
|
{
|
||||||
|
enterInstance(member, npc, TEMPLATE_ID);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (player.isGM())
|
||||||
{
|
{
|
||||||
enterInstance(player, npc, TEMPLATE_ID);
|
enterInstance(player, npc, TEMPLATE_ID);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
player.sendPacket(new SystemMessage(SystemMessageId.YOU_ARE_NOT_CURRENTLY_IN_A_PARTY_SO_YOU_CANNOT_ENTER));
|
||||||
|
}
|
||||||
|
|
||||||
if (player.getInstanceWorld() != null)
|
if (player.getInstanceWorld() != null)
|
||||||
{
|
{
|
||||||
startQuestTimer("chest_talk", 1000, player.getInstanceWorld().getNpc(TREASURE_CHEST), null);
|
startQuestTimer("chest_talk", 1000, player.getInstanceWorld().getNpc(TREASURE_CHEST), null);
|
||||||
|
@@ -17,11 +17,17 @@
|
|||||||
package instances.NightmareKamaloka;
|
package instances.NightmareKamaloka;
|
||||||
|
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
|
import org.l2jmobius.commons.util.Chronos;
|
||||||
|
import org.l2jmobius.gameserver.instancemanager.InstanceManager;
|
||||||
|
import org.l2jmobius.gameserver.model.Party;
|
||||||
import org.l2jmobius.gameserver.model.actor.Npc;
|
import org.l2jmobius.gameserver.model.actor.Npc;
|
||||||
import org.l2jmobius.gameserver.model.actor.Player;
|
import org.l2jmobius.gameserver.model.actor.Player;
|
||||||
import org.l2jmobius.gameserver.model.instancezone.Instance;
|
import org.l2jmobius.gameserver.model.instancezone.Instance;
|
||||||
|
import org.l2jmobius.gameserver.network.SystemMessageId;
|
||||||
|
import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
|
||||||
|
|
||||||
import instances.AbstractInstance;
|
import instances.AbstractInstance;
|
||||||
|
|
||||||
@@ -67,8 +73,54 @@ public class NightmareKamaloka extends AbstractInstance
|
|||||||
switch (event)
|
switch (event)
|
||||||
{
|
{
|
||||||
case "enterInstance":
|
case "enterInstance":
|
||||||
|
{
|
||||||
|
if (player.isInParty())
|
||||||
|
{
|
||||||
|
final Party party = player.getParty();
|
||||||
|
if (!party.isLeader(player))
|
||||||
|
{
|
||||||
|
player.sendPacket(new SystemMessage(SystemMessageId.ONLY_A_PARTY_LEADER_CAN_MAKE_THE_REQUEST_TO_ENTER));
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (player.isInCommandChannel())
|
||||||
|
{
|
||||||
|
player.sendPacket(new SystemMessage(SystemMessageId.YOU_CANNOT_ENTER_BECAUSE_YOU_DO_NOT_MEET_THE_REQUIREMENTS));
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
final long currentTime = Chronos.currentTimeMillis();
|
||||||
|
final List<Player> members = party.getMembers();
|
||||||
|
for (Player member : members)
|
||||||
|
{
|
||||||
|
if (!member.isInsideRadius3D(npc, 1000))
|
||||||
|
{
|
||||||
|
player.sendMessage("Player " + member.getName() + " must come closer.");
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (currentTime < InstanceManager.getInstance().getInstanceTime(member, TEMPLATE_ID))
|
||||||
|
{
|
||||||
|
final SystemMessage msg = new SystemMessage(SystemMessageId.C1_MAY_NOT_RE_ENTER_YET);
|
||||||
|
msg.addString(member.getName());
|
||||||
|
party.broadcastToPartyMembers(member, msg);
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
for (Player member : members)
|
||||||
|
{
|
||||||
|
enterInstance(member, npc, TEMPLATE_ID);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (player.isGM())
|
||||||
{
|
{
|
||||||
enterInstance(player, npc, TEMPLATE_ID);
|
enterInstance(player, npc, TEMPLATE_ID);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
player.sendPacket(new SystemMessage(SystemMessageId.YOU_ARE_NOT_CURRENTLY_IN_A_PARTY_SO_YOU_CANNOT_ENTER));
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case "SPAWN_BOSSES":
|
case "SPAWN_BOSSES":
|
||||||
|
@@ -16,7 +16,12 @@
|
|||||||
*/
|
*/
|
||||||
package ai.bosses.Baylor;
|
package ai.bosses.Baylor;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import org.l2jmobius.commons.util.Chronos;
|
||||||
|
import org.l2jmobius.gameserver.instancemanager.InstanceManager;
|
||||||
import org.l2jmobius.gameserver.model.Location;
|
import org.l2jmobius.gameserver.model.Location;
|
||||||
|
import org.l2jmobius.gameserver.model.Party;
|
||||||
import org.l2jmobius.gameserver.model.StatSet;
|
import org.l2jmobius.gameserver.model.StatSet;
|
||||||
import org.l2jmobius.gameserver.model.World;
|
import org.l2jmobius.gameserver.model.World;
|
||||||
import org.l2jmobius.gameserver.model.actor.Attackable;
|
import org.l2jmobius.gameserver.model.actor.Attackable;
|
||||||
@@ -28,7 +33,9 @@ import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureDeath;
|
|||||||
import org.l2jmobius.gameserver.model.holders.SkillHolder;
|
import org.l2jmobius.gameserver.model.holders.SkillHolder;
|
||||||
import org.l2jmobius.gameserver.model.instancezone.Instance;
|
import org.l2jmobius.gameserver.model.instancezone.Instance;
|
||||||
import org.l2jmobius.gameserver.model.skill.Skill;
|
import org.l2jmobius.gameserver.model.skill.Skill;
|
||||||
|
import org.l2jmobius.gameserver.network.SystemMessageId;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.SocialAction;
|
import org.l2jmobius.gameserver.network.serverpackets.SocialAction;
|
||||||
|
import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
|
||||||
|
|
||||||
import instances.AbstractInstance;
|
import instances.AbstractInstance;
|
||||||
|
|
||||||
@@ -69,9 +76,55 @@ public class BaylorWarzone extends AbstractInstance
|
|||||||
public String onAdvEvent(String event, Npc npc, Player player)
|
public String onAdvEvent(String event, Npc npc, Player player)
|
||||||
{
|
{
|
||||||
if (event.equals("enterInstance"))
|
if (event.equals("enterInstance"))
|
||||||
|
{
|
||||||
|
if (player.isInParty())
|
||||||
|
{
|
||||||
|
final Party party = player.getParty();
|
||||||
|
if (!party.isLeader(player))
|
||||||
|
{
|
||||||
|
player.sendPacket(new SystemMessage(SystemMessageId.ONLY_A_PARTY_LEADER_CAN_MAKE_THE_REQUEST_TO_ENTER));
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (player.isInCommandChannel())
|
||||||
|
{
|
||||||
|
player.sendPacket(new SystemMessage(SystemMessageId.YOU_CANNOT_ENTER_BECAUSE_YOU_DO_NOT_MEET_THE_REQUIREMENTS));
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
final long currentTime = Chronos.currentTimeMillis();
|
||||||
|
final List<Player> members = party.getMembers();
|
||||||
|
for (Player member : members)
|
||||||
|
{
|
||||||
|
if (!member.isInsideRadius3D(npc, 1000))
|
||||||
|
{
|
||||||
|
player.sendMessage("Player " + member.getName() + " must come closer.");
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (currentTime < InstanceManager.getInstance().getInstanceTime(member, TEMPLATE_ID))
|
||||||
|
{
|
||||||
|
final SystemMessage msg = new SystemMessage(SystemMessageId.C1_YOU_HAVE_ENTERED_ANOTHER_INSTANT_ZONE_THEREFORE_YOU_CANNOT_ENTER_CORRESPONDING_DUNGEON);
|
||||||
|
msg.addString(member.getName());
|
||||||
|
party.broadcastToPartyMembers(member, msg);
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
for (Player member : members)
|
||||||
|
{
|
||||||
|
enterInstance(member, npc, TEMPLATE_ID);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (player.isGM())
|
||||||
{
|
{
|
||||||
enterInstance(player, npc, TEMPLATE_ID);
|
enterInstance(player, npc, TEMPLATE_ID);
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
player.sendPacket(new SystemMessage(SystemMessageId.YOU_ARE_NOT_CURRENTLY_IN_A_PARTY_SO_YOU_CANNOT_ENTER));
|
||||||
|
}
|
||||||
|
}
|
||||||
return super.onAdvEvent(event, npc, player);
|
return super.onAdvEvent(event, npc, player);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -18,10 +18,13 @@ package instances.AshenShadowRevolutionaries;
|
|||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
import org.l2jmobius.commons.util.Chronos;
|
||||||
import org.l2jmobius.commons.util.CommonUtil;
|
import org.l2jmobius.commons.util.CommonUtil;
|
||||||
import org.l2jmobius.gameserver.enums.ChatType;
|
import org.l2jmobius.gameserver.enums.ChatType;
|
||||||
|
import org.l2jmobius.gameserver.instancemanager.InstanceManager;
|
||||||
import org.l2jmobius.gameserver.instancemanager.ZoneManager;
|
import org.l2jmobius.gameserver.instancemanager.ZoneManager;
|
||||||
import org.l2jmobius.gameserver.model.Location;
|
import org.l2jmobius.gameserver.model.Location;
|
||||||
|
import org.l2jmobius.gameserver.model.Party;
|
||||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||||
import org.l2jmobius.gameserver.model.actor.Npc;
|
import org.l2jmobius.gameserver.model.actor.Npc;
|
||||||
import org.l2jmobius.gameserver.model.actor.Player;
|
import org.l2jmobius.gameserver.model.actor.Player;
|
||||||
@@ -30,7 +33,9 @@ import org.l2jmobius.gameserver.model.skill.AbnormalVisualEffect;
|
|||||||
import org.l2jmobius.gameserver.model.zone.ZoneType;
|
import org.l2jmobius.gameserver.model.zone.ZoneType;
|
||||||
import org.l2jmobius.gameserver.model.zone.type.ScriptZone;
|
import org.l2jmobius.gameserver.model.zone.type.ScriptZone;
|
||||||
import org.l2jmobius.gameserver.network.NpcStringId;
|
import org.l2jmobius.gameserver.network.NpcStringId;
|
||||||
|
import org.l2jmobius.gameserver.network.SystemMessageId;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage;
|
import org.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage;
|
||||||
|
import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
|
||||||
|
|
||||||
import instances.AbstractInstance;
|
import instances.AbstractInstance;
|
||||||
|
|
||||||
@@ -155,8 +160,55 @@ public class AshenShadowRevolutionaries extends AbstractInstance
|
|||||||
switch (event)
|
switch (event)
|
||||||
{
|
{
|
||||||
case "enterInstance":
|
case "enterInstance":
|
||||||
|
{
|
||||||
|
if (player.isInParty())
|
||||||
|
{
|
||||||
|
final Party party = player.getParty();
|
||||||
|
if (!party.isLeader(player))
|
||||||
|
{
|
||||||
|
player.sendPacket(new SystemMessage(SystemMessageId.ONLY_A_PARTY_LEADER_CAN_MAKE_THE_REQUEST_TO_ENTER));
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (player.isInCommandChannel())
|
||||||
|
{
|
||||||
|
player.sendPacket(new SystemMessage(SystemMessageId.YOU_CANNOT_ENTER_BECAUSE_YOU_DO_NOT_MEET_THE_REQUIREMENTS));
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
final long currentTime = Chronos.currentTimeMillis();
|
||||||
|
final List<Player> members = party.getMembers();
|
||||||
|
for (Player member : members)
|
||||||
|
{
|
||||||
|
if (!member.isInsideRadius3D(npc, 1000))
|
||||||
|
{
|
||||||
|
player.sendMessage("Player " + member.getName() + " must come closer.");
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (currentTime < InstanceManager.getInstance().getInstanceTime(member, TEMPLATE_ID))
|
||||||
|
{
|
||||||
|
final SystemMessage msg = new SystemMessage(SystemMessageId.C1_YOU_HAVE_ENTERED_ANOTHER_INSTANT_ZONE_THEREFORE_YOU_CANNOT_ENTER_CORRESPONDING_DUNGEON);
|
||||||
|
msg.addString(member.getName());
|
||||||
|
party.broadcastToPartyMembers(member, msg);
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
for (Player member : members)
|
||||||
|
{
|
||||||
|
enterInstance(member, npc, TEMPLATE_ID);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (player.isGM())
|
||||||
{
|
{
|
||||||
enterInstance(player, npc, TEMPLATE_ID);
|
enterInstance(player, npc, TEMPLATE_ID);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
player.sendPacket(new SystemMessage(SystemMessageId.YOU_ARE_NOT_CURRENTLY_IN_A_PARTY_SO_YOU_CANNOT_ENTER));
|
||||||
|
}
|
||||||
|
|
||||||
if (player.getInstanceWorld() != null)
|
if (player.getInstanceWorld() != null)
|
||||||
{
|
{
|
||||||
startQuestTimer("chest_talk", 1000, player.getInstanceWorld().getNpc(TREASURE_CHEST), null);
|
startQuestTimer("chest_talk", 1000, player.getInstanceWorld().getNpc(TREASURE_CHEST), null);
|
||||||
|
@@ -17,11 +17,17 @@
|
|||||||
package instances.NightmareKamaloka;
|
package instances.NightmareKamaloka;
|
||||||
|
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
|
import org.l2jmobius.commons.util.Chronos;
|
||||||
|
import org.l2jmobius.gameserver.instancemanager.InstanceManager;
|
||||||
|
import org.l2jmobius.gameserver.model.Party;
|
||||||
import org.l2jmobius.gameserver.model.actor.Npc;
|
import org.l2jmobius.gameserver.model.actor.Npc;
|
||||||
import org.l2jmobius.gameserver.model.actor.Player;
|
import org.l2jmobius.gameserver.model.actor.Player;
|
||||||
import org.l2jmobius.gameserver.model.instancezone.Instance;
|
import org.l2jmobius.gameserver.model.instancezone.Instance;
|
||||||
|
import org.l2jmobius.gameserver.network.SystemMessageId;
|
||||||
|
import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
|
||||||
|
|
||||||
import instances.AbstractInstance;
|
import instances.AbstractInstance;
|
||||||
|
|
||||||
@@ -67,8 +73,54 @@ public class NightmareKamaloka extends AbstractInstance
|
|||||||
switch (event)
|
switch (event)
|
||||||
{
|
{
|
||||||
case "enterInstance":
|
case "enterInstance":
|
||||||
|
{
|
||||||
|
if (player.isInParty())
|
||||||
|
{
|
||||||
|
final Party party = player.getParty();
|
||||||
|
if (!party.isLeader(player))
|
||||||
|
{
|
||||||
|
player.sendPacket(new SystemMessage(SystemMessageId.ONLY_A_PARTY_LEADER_CAN_MAKE_THE_REQUEST_TO_ENTER));
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (player.isInCommandChannel())
|
||||||
|
{
|
||||||
|
player.sendPacket(new SystemMessage(SystemMessageId.YOU_CANNOT_ENTER_BECAUSE_YOU_DO_NOT_MEET_THE_REQUIREMENTS));
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
final long currentTime = Chronos.currentTimeMillis();
|
||||||
|
final List<Player> members = party.getMembers();
|
||||||
|
for (Player member : members)
|
||||||
|
{
|
||||||
|
if (!member.isInsideRadius3D(npc, 1000))
|
||||||
|
{
|
||||||
|
player.sendMessage("Player " + member.getName() + " must come closer.");
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (currentTime < InstanceManager.getInstance().getInstanceTime(member, TEMPLATE_ID))
|
||||||
|
{
|
||||||
|
final SystemMessage msg = new SystemMessage(SystemMessageId.C1_YOU_HAVE_ENTERED_ANOTHER_INSTANT_ZONE_THEREFORE_YOU_CANNOT_ENTER_CORRESPONDING_DUNGEON);
|
||||||
|
msg.addString(member.getName());
|
||||||
|
party.broadcastToPartyMembers(member, msg);
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
for (Player member : members)
|
||||||
|
{
|
||||||
|
enterInstance(member, npc, TEMPLATE_ID);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (player.isGM())
|
||||||
{
|
{
|
||||||
enterInstance(player, npc, TEMPLATE_ID);
|
enterInstance(player, npc, TEMPLATE_ID);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
player.sendPacket(new SystemMessage(SystemMessageId.YOU_ARE_NOT_CURRENTLY_IN_A_PARTY_SO_YOU_CANNOT_ENTER));
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case "SPAWN_BOSSES":
|
case "SPAWN_BOSSES":
|
||||||
|
@@ -16,7 +16,12 @@
|
|||||||
*/
|
*/
|
||||||
package ai.bosses.Baylor;
|
package ai.bosses.Baylor;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import org.l2jmobius.commons.util.Chronos;
|
||||||
|
import org.l2jmobius.gameserver.instancemanager.InstanceManager;
|
||||||
import org.l2jmobius.gameserver.model.Location;
|
import org.l2jmobius.gameserver.model.Location;
|
||||||
|
import org.l2jmobius.gameserver.model.Party;
|
||||||
import org.l2jmobius.gameserver.model.StatSet;
|
import org.l2jmobius.gameserver.model.StatSet;
|
||||||
import org.l2jmobius.gameserver.model.World;
|
import org.l2jmobius.gameserver.model.World;
|
||||||
import org.l2jmobius.gameserver.model.actor.Attackable;
|
import org.l2jmobius.gameserver.model.actor.Attackable;
|
||||||
@@ -28,7 +33,9 @@ import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureDeath;
|
|||||||
import org.l2jmobius.gameserver.model.holders.SkillHolder;
|
import org.l2jmobius.gameserver.model.holders.SkillHolder;
|
||||||
import org.l2jmobius.gameserver.model.instancezone.Instance;
|
import org.l2jmobius.gameserver.model.instancezone.Instance;
|
||||||
import org.l2jmobius.gameserver.model.skill.Skill;
|
import org.l2jmobius.gameserver.model.skill.Skill;
|
||||||
|
import org.l2jmobius.gameserver.network.SystemMessageId;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.SocialAction;
|
import org.l2jmobius.gameserver.network.serverpackets.SocialAction;
|
||||||
|
import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
|
||||||
|
|
||||||
import instances.AbstractInstance;
|
import instances.AbstractInstance;
|
||||||
|
|
||||||
@@ -69,9 +76,55 @@ public class BaylorWarzone extends AbstractInstance
|
|||||||
public String onAdvEvent(String event, Npc npc, Player player)
|
public String onAdvEvent(String event, Npc npc, Player player)
|
||||||
{
|
{
|
||||||
if (event.equals("enterInstance"))
|
if (event.equals("enterInstance"))
|
||||||
|
{
|
||||||
|
if (player.isInParty())
|
||||||
|
{
|
||||||
|
final Party party = player.getParty();
|
||||||
|
if (!party.isLeader(player))
|
||||||
|
{
|
||||||
|
player.sendPacket(new SystemMessage(SystemMessageId.ONLY_A_PARTY_LEADER_CAN_MAKE_THE_REQUEST_TO_ENTER));
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (player.isInCommandChannel())
|
||||||
|
{
|
||||||
|
player.sendPacket(new SystemMessage(SystemMessageId.YOU_CANNOT_ENTER_BECAUSE_YOU_DO_NOT_MEET_THE_REQUIREMENTS));
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
final long currentTime = Chronos.currentTimeMillis();
|
||||||
|
final List<Player> members = party.getMembers();
|
||||||
|
for (Player member : members)
|
||||||
|
{
|
||||||
|
if (!member.isInsideRadius3D(npc, 1000))
|
||||||
|
{
|
||||||
|
player.sendMessage("Player " + member.getName() + " must come closer.");
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (currentTime < InstanceManager.getInstance().getInstanceTime(member, TEMPLATE_ID))
|
||||||
|
{
|
||||||
|
final SystemMessage msg = new SystemMessage(SystemMessageId.SINCE_C1_ENTERED_ANOTHER_INSTANCE_ZONE_THEREFORE_YOU_CANNOT_ENTER_THIS_DUNGEON);
|
||||||
|
msg.addString(member.getName());
|
||||||
|
party.broadcastToPartyMembers(member, msg);
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
for (Player member : members)
|
||||||
|
{
|
||||||
|
enterInstance(member, npc, TEMPLATE_ID);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (player.isGM())
|
||||||
{
|
{
|
||||||
enterInstance(player, npc, TEMPLATE_ID);
|
enterInstance(player, npc, TEMPLATE_ID);
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
player.sendPacket(new SystemMessage(SystemMessageId.YOU_ARE_NOT_CURRENTLY_IN_A_PARTY_SO_YOU_CANNOT_ENTER));
|
||||||
|
}
|
||||||
|
}
|
||||||
return super.onAdvEvent(event, npc, player);
|
return super.onAdvEvent(event, npc, player);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -18,10 +18,13 @@ package instances.AshenShadowRevolutionaries;
|
|||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
import org.l2jmobius.commons.util.Chronos;
|
||||||
import org.l2jmobius.commons.util.CommonUtil;
|
import org.l2jmobius.commons.util.CommonUtil;
|
||||||
import org.l2jmobius.gameserver.enums.ChatType;
|
import org.l2jmobius.gameserver.enums.ChatType;
|
||||||
|
import org.l2jmobius.gameserver.instancemanager.InstanceManager;
|
||||||
import org.l2jmobius.gameserver.instancemanager.ZoneManager;
|
import org.l2jmobius.gameserver.instancemanager.ZoneManager;
|
||||||
import org.l2jmobius.gameserver.model.Location;
|
import org.l2jmobius.gameserver.model.Location;
|
||||||
|
import org.l2jmobius.gameserver.model.Party;
|
||||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||||
import org.l2jmobius.gameserver.model.actor.Npc;
|
import org.l2jmobius.gameserver.model.actor.Npc;
|
||||||
import org.l2jmobius.gameserver.model.actor.Player;
|
import org.l2jmobius.gameserver.model.actor.Player;
|
||||||
@@ -30,7 +33,9 @@ import org.l2jmobius.gameserver.model.skill.AbnormalVisualEffect;
|
|||||||
import org.l2jmobius.gameserver.model.zone.ZoneType;
|
import org.l2jmobius.gameserver.model.zone.ZoneType;
|
||||||
import org.l2jmobius.gameserver.model.zone.type.ScriptZone;
|
import org.l2jmobius.gameserver.model.zone.type.ScriptZone;
|
||||||
import org.l2jmobius.gameserver.network.NpcStringId;
|
import org.l2jmobius.gameserver.network.NpcStringId;
|
||||||
|
import org.l2jmobius.gameserver.network.SystemMessageId;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage;
|
import org.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage;
|
||||||
|
import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
|
||||||
|
|
||||||
import instances.AbstractInstance;
|
import instances.AbstractInstance;
|
||||||
|
|
||||||
@@ -155,8 +160,55 @@ public class AshenShadowRevolutionaries extends AbstractInstance
|
|||||||
switch (event)
|
switch (event)
|
||||||
{
|
{
|
||||||
case "enterInstance":
|
case "enterInstance":
|
||||||
|
{
|
||||||
|
if (player.isInParty())
|
||||||
|
{
|
||||||
|
final Party party = player.getParty();
|
||||||
|
if (!party.isLeader(player))
|
||||||
|
{
|
||||||
|
player.sendPacket(new SystemMessage(SystemMessageId.ONLY_A_PARTY_LEADER_CAN_MAKE_THE_REQUEST_TO_ENTER));
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (player.isInCommandChannel())
|
||||||
|
{
|
||||||
|
player.sendPacket(new SystemMessage(SystemMessageId.YOU_CANNOT_ENTER_BECAUSE_YOU_DO_NOT_MEET_THE_REQUIREMENTS));
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
final long currentTime = Chronos.currentTimeMillis();
|
||||||
|
final List<Player> members = party.getMembers();
|
||||||
|
for (Player member : members)
|
||||||
|
{
|
||||||
|
if (!member.isInsideRadius3D(npc, 1000))
|
||||||
|
{
|
||||||
|
player.sendMessage("Player " + member.getName() + " must come closer.");
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (currentTime < InstanceManager.getInstance().getInstanceTime(member, TEMPLATE_ID))
|
||||||
|
{
|
||||||
|
final SystemMessage msg = new SystemMessage(SystemMessageId.SINCE_C1_ENTERED_ANOTHER_INSTANCE_ZONE_THEREFORE_YOU_CANNOT_ENTER_THIS_DUNGEON);
|
||||||
|
msg.addString(member.getName());
|
||||||
|
party.broadcastToPartyMembers(member, msg);
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
for (Player member : members)
|
||||||
|
{
|
||||||
|
enterInstance(member, npc, TEMPLATE_ID);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (player.isGM())
|
||||||
{
|
{
|
||||||
enterInstance(player, npc, TEMPLATE_ID);
|
enterInstance(player, npc, TEMPLATE_ID);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
player.sendPacket(new SystemMessage(SystemMessageId.YOU_ARE_NOT_CURRENTLY_IN_A_PARTY_SO_YOU_CANNOT_ENTER));
|
||||||
|
}
|
||||||
|
|
||||||
if (player.getInstanceWorld() != null)
|
if (player.getInstanceWorld() != null)
|
||||||
{
|
{
|
||||||
startQuestTimer("chest_talk", 1000, player.getInstanceWorld().getNpc(TREASURE_CHEST), null);
|
startQuestTimer("chest_talk", 1000, player.getInstanceWorld().getNpc(TREASURE_CHEST), null);
|
||||||
|
@@ -17,11 +17,17 @@
|
|||||||
package instances.NightmareKamaloka;
|
package instances.NightmareKamaloka;
|
||||||
|
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
|
import org.l2jmobius.commons.util.Chronos;
|
||||||
|
import org.l2jmobius.gameserver.instancemanager.InstanceManager;
|
||||||
|
import org.l2jmobius.gameserver.model.Party;
|
||||||
import org.l2jmobius.gameserver.model.actor.Npc;
|
import org.l2jmobius.gameserver.model.actor.Npc;
|
||||||
import org.l2jmobius.gameserver.model.actor.Player;
|
import org.l2jmobius.gameserver.model.actor.Player;
|
||||||
import org.l2jmobius.gameserver.model.instancezone.Instance;
|
import org.l2jmobius.gameserver.model.instancezone.Instance;
|
||||||
|
import org.l2jmobius.gameserver.network.SystemMessageId;
|
||||||
|
import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
|
||||||
|
|
||||||
import instances.AbstractInstance;
|
import instances.AbstractInstance;
|
||||||
|
|
||||||
@@ -67,8 +73,54 @@ public class NightmareKamaloka extends AbstractInstance
|
|||||||
switch (event)
|
switch (event)
|
||||||
{
|
{
|
||||||
case "enterInstance":
|
case "enterInstance":
|
||||||
|
{
|
||||||
|
if (player.isInParty())
|
||||||
|
{
|
||||||
|
final Party party = player.getParty();
|
||||||
|
if (!party.isLeader(player))
|
||||||
|
{
|
||||||
|
player.sendPacket(new SystemMessage(SystemMessageId.ONLY_A_PARTY_LEADER_CAN_MAKE_THE_REQUEST_TO_ENTER));
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (player.isInCommandChannel())
|
||||||
|
{
|
||||||
|
player.sendPacket(new SystemMessage(SystemMessageId.YOU_CANNOT_ENTER_BECAUSE_YOU_DO_NOT_MEET_THE_REQUIREMENTS));
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
final long currentTime = Chronos.currentTimeMillis();
|
||||||
|
final List<Player> members = party.getMembers();
|
||||||
|
for (Player member : members)
|
||||||
|
{
|
||||||
|
if (!member.isInsideRadius3D(npc, 1000))
|
||||||
|
{
|
||||||
|
player.sendMessage("Player " + member.getName() + " must come closer.");
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (currentTime < InstanceManager.getInstance().getInstanceTime(member, TEMPLATE_ID))
|
||||||
|
{
|
||||||
|
final SystemMessage msg = new SystemMessage(SystemMessageId.SINCE_C1_ENTERED_ANOTHER_INSTANCE_ZONE_THEREFORE_YOU_CANNOT_ENTER_THIS_DUNGEON);
|
||||||
|
msg.addString(member.getName());
|
||||||
|
party.broadcastToPartyMembers(member, msg);
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
for (Player member : members)
|
||||||
|
{
|
||||||
|
enterInstance(member, npc, TEMPLATE_ID);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (player.isGM())
|
||||||
{
|
{
|
||||||
enterInstance(player, npc, TEMPLATE_ID);
|
enterInstance(player, npc, TEMPLATE_ID);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
player.sendPacket(new SystemMessage(SystemMessageId.YOU_ARE_NOT_CURRENTLY_IN_A_PARTY_SO_YOU_CANNOT_ENTER));
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case "SPAWN_BOSSES":
|
case "SPAWN_BOSSES":
|
||||||
|
@@ -16,7 +16,12 @@
|
|||||||
*/
|
*/
|
||||||
package ai.bosses.Baylor;
|
package ai.bosses.Baylor;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import org.l2jmobius.commons.util.Chronos;
|
||||||
|
import org.l2jmobius.gameserver.instancemanager.InstanceManager;
|
||||||
import org.l2jmobius.gameserver.model.Location;
|
import org.l2jmobius.gameserver.model.Location;
|
||||||
|
import org.l2jmobius.gameserver.model.Party;
|
||||||
import org.l2jmobius.gameserver.model.StatSet;
|
import org.l2jmobius.gameserver.model.StatSet;
|
||||||
import org.l2jmobius.gameserver.model.World;
|
import org.l2jmobius.gameserver.model.World;
|
||||||
import org.l2jmobius.gameserver.model.actor.Attackable;
|
import org.l2jmobius.gameserver.model.actor.Attackable;
|
||||||
@@ -29,7 +34,9 @@ import org.l2jmobius.gameserver.model.holders.ItemHolder;
|
|||||||
import org.l2jmobius.gameserver.model.holders.SkillHolder;
|
import org.l2jmobius.gameserver.model.holders.SkillHolder;
|
||||||
import org.l2jmobius.gameserver.model.instancezone.Instance;
|
import org.l2jmobius.gameserver.model.instancezone.Instance;
|
||||||
import org.l2jmobius.gameserver.model.skill.Skill;
|
import org.l2jmobius.gameserver.model.skill.Skill;
|
||||||
|
import org.l2jmobius.gameserver.network.SystemMessageId;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.SocialAction;
|
import org.l2jmobius.gameserver.network.serverpackets.SocialAction;
|
||||||
|
import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
|
||||||
|
|
||||||
import instances.AbstractInstance;
|
import instances.AbstractInstance;
|
||||||
|
|
||||||
@@ -71,9 +78,55 @@ public class BaylorWarzone extends AbstractInstance
|
|||||||
public String onAdvEvent(String event, Npc npc, Player player)
|
public String onAdvEvent(String event, Npc npc, Player player)
|
||||||
{
|
{
|
||||||
if (event.equals("enterInstance"))
|
if (event.equals("enterInstance"))
|
||||||
|
{
|
||||||
|
if (player.isInParty())
|
||||||
|
{
|
||||||
|
final Party party = player.getParty();
|
||||||
|
if (!party.isLeader(player))
|
||||||
|
{
|
||||||
|
player.sendPacket(new SystemMessage(SystemMessageId.ONLY_A_PARTY_LEADER_CAN_MAKE_THE_REQUEST_TO_ENTER));
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (player.isInCommandChannel())
|
||||||
|
{
|
||||||
|
player.sendPacket(new SystemMessage(SystemMessageId.YOU_CANNOT_ENTER_BECAUSE_YOU_DO_NOT_MEET_THE_REQUIREMENTS));
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
final long currentTime = Chronos.currentTimeMillis();
|
||||||
|
final List<Player> members = party.getMembers();
|
||||||
|
for (Player member : members)
|
||||||
|
{
|
||||||
|
if (!member.isInsideRadius3D(npc, 1000))
|
||||||
|
{
|
||||||
|
player.sendMessage("Player " + member.getName() + " must come closer.");
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (currentTime < InstanceManager.getInstance().getInstanceTime(member, TEMPLATE_ID))
|
||||||
|
{
|
||||||
|
final SystemMessage msg = new SystemMessage(SystemMessageId.SINCE_C1_ENTERED_ANOTHER_INSTANCE_ZONE_THEREFORE_YOU_CANNOT_ENTER_THIS_DUNGEON);
|
||||||
|
msg.addString(member.getName());
|
||||||
|
party.broadcastToPartyMembers(member, msg);
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
for (Player member : members)
|
||||||
|
{
|
||||||
|
enterInstance(member, npc, TEMPLATE_ID);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (player.isGM())
|
||||||
{
|
{
|
||||||
enterInstance(player, npc, TEMPLATE_ID);
|
enterInstance(player, npc, TEMPLATE_ID);
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
player.sendPacket(new SystemMessage(SystemMessageId.YOU_ARE_NOT_CURRENTLY_IN_A_PARTY_SO_YOU_CANNOT_ENTER));
|
||||||
|
}
|
||||||
|
}
|
||||||
return super.onAdvEvent(event, npc, player);
|
return super.onAdvEvent(event, npc, player);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -18,10 +18,13 @@ package instances.AshenShadowRevolutionaries;
|
|||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
import org.l2jmobius.commons.util.Chronos;
|
||||||
import org.l2jmobius.commons.util.CommonUtil;
|
import org.l2jmobius.commons.util.CommonUtil;
|
||||||
import org.l2jmobius.gameserver.enums.ChatType;
|
import org.l2jmobius.gameserver.enums.ChatType;
|
||||||
|
import org.l2jmobius.gameserver.instancemanager.InstanceManager;
|
||||||
import org.l2jmobius.gameserver.instancemanager.ZoneManager;
|
import org.l2jmobius.gameserver.instancemanager.ZoneManager;
|
||||||
import org.l2jmobius.gameserver.model.Location;
|
import org.l2jmobius.gameserver.model.Location;
|
||||||
|
import org.l2jmobius.gameserver.model.Party;
|
||||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||||
import org.l2jmobius.gameserver.model.actor.Npc;
|
import org.l2jmobius.gameserver.model.actor.Npc;
|
||||||
import org.l2jmobius.gameserver.model.actor.Player;
|
import org.l2jmobius.gameserver.model.actor.Player;
|
||||||
@@ -31,7 +34,9 @@ import org.l2jmobius.gameserver.model.skill.AbnormalVisualEffect;
|
|||||||
import org.l2jmobius.gameserver.model.zone.ZoneType;
|
import org.l2jmobius.gameserver.model.zone.ZoneType;
|
||||||
import org.l2jmobius.gameserver.model.zone.type.ScriptZone;
|
import org.l2jmobius.gameserver.model.zone.type.ScriptZone;
|
||||||
import org.l2jmobius.gameserver.network.NpcStringId;
|
import org.l2jmobius.gameserver.network.NpcStringId;
|
||||||
|
import org.l2jmobius.gameserver.network.SystemMessageId;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage;
|
import org.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage;
|
||||||
|
import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
|
||||||
|
|
||||||
import instances.AbstractInstance;
|
import instances.AbstractInstance;
|
||||||
|
|
||||||
@@ -158,8 +163,55 @@ public class AshenShadowRevolutionaries extends AbstractInstance
|
|||||||
switch (event)
|
switch (event)
|
||||||
{
|
{
|
||||||
case "enterInstance":
|
case "enterInstance":
|
||||||
|
{
|
||||||
|
if (player.isInParty())
|
||||||
|
{
|
||||||
|
final Party party = player.getParty();
|
||||||
|
if (!party.isLeader(player))
|
||||||
|
{
|
||||||
|
player.sendPacket(new SystemMessage(SystemMessageId.ONLY_A_PARTY_LEADER_CAN_MAKE_THE_REQUEST_TO_ENTER));
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (player.isInCommandChannel())
|
||||||
|
{
|
||||||
|
player.sendPacket(new SystemMessage(SystemMessageId.YOU_CANNOT_ENTER_BECAUSE_YOU_DO_NOT_MEET_THE_REQUIREMENTS));
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
final long currentTime = Chronos.currentTimeMillis();
|
||||||
|
final List<Player> members = party.getMembers();
|
||||||
|
for (Player member : members)
|
||||||
|
{
|
||||||
|
if (!member.isInsideRadius3D(npc, 1000))
|
||||||
|
{
|
||||||
|
player.sendMessage("Player " + member.getName() + " must come closer.");
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (currentTime < InstanceManager.getInstance().getInstanceTime(member, TEMPLATE_ID))
|
||||||
|
{
|
||||||
|
final SystemMessage msg = new SystemMessage(SystemMessageId.SINCE_C1_ENTERED_ANOTHER_INSTANCE_ZONE_THEREFORE_YOU_CANNOT_ENTER_THIS_DUNGEON);
|
||||||
|
msg.addString(member.getName());
|
||||||
|
party.broadcastToPartyMembers(member, msg);
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
for (Player member : members)
|
||||||
|
{
|
||||||
|
enterInstance(member, npc, TEMPLATE_ID);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (player.isGM())
|
||||||
{
|
{
|
||||||
enterInstance(player, npc, TEMPLATE_ID);
|
enterInstance(player, npc, TEMPLATE_ID);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
player.sendPacket(new SystemMessage(SystemMessageId.YOU_ARE_NOT_CURRENTLY_IN_A_PARTY_SO_YOU_CANNOT_ENTER));
|
||||||
|
}
|
||||||
|
|
||||||
if (player.getInstanceWorld() != null)
|
if (player.getInstanceWorld() != null)
|
||||||
{
|
{
|
||||||
startQuestTimer("chest_talk", 1000, player.getInstanceWorld().getNpc(TREASURE_CHEST), null);
|
startQuestTimer("chest_talk", 1000, player.getInstanceWorld().getNpc(TREASURE_CHEST), null);
|
||||||
|
@@ -16,13 +16,20 @@
|
|||||||
*/
|
*/
|
||||||
package instances.KrofinNest;
|
package instances.KrofinNest;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import org.l2jmobius.commons.util.Chronos;
|
||||||
import org.l2jmobius.commons.util.CommonUtil;
|
import org.l2jmobius.commons.util.CommonUtil;
|
||||||
|
import org.l2jmobius.gameserver.instancemanager.InstanceManager;
|
||||||
|
import org.l2jmobius.gameserver.model.Party;
|
||||||
import org.l2jmobius.gameserver.model.actor.Npc;
|
import org.l2jmobius.gameserver.model.actor.Npc;
|
||||||
import org.l2jmobius.gameserver.model.actor.Player;
|
import org.l2jmobius.gameserver.model.actor.Player;
|
||||||
import org.l2jmobius.gameserver.model.holders.ItemHolder;
|
import org.l2jmobius.gameserver.model.holders.ItemHolder;
|
||||||
import org.l2jmobius.gameserver.model.instancezone.Instance;
|
import org.l2jmobius.gameserver.model.instancezone.Instance;
|
||||||
import org.l2jmobius.gameserver.network.NpcStringId;
|
import org.l2jmobius.gameserver.network.NpcStringId;
|
||||||
|
import org.l2jmobius.gameserver.network.SystemMessageId;
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage;
|
import org.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage;
|
||||||
|
import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
|
||||||
|
|
||||||
import instances.AbstractInstance;
|
import instances.AbstractInstance;
|
||||||
|
|
||||||
@@ -100,8 +107,55 @@ public class KrofinNest extends AbstractInstance
|
|||||||
switch (event)
|
switch (event)
|
||||||
{
|
{
|
||||||
case "enterInstance":
|
case "enterInstance":
|
||||||
|
{
|
||||||
|
if (player.isInParty())
|
||||||
|
{
|
||||||
|
final Party party = player.getParty();
|
||||||
|
if (!party.isLeader(player))
|
||||||
|
{
|
||||||
|
player.sendPacket(new SystemMessage(SystemMessageId.ONLY_A_PARTY_LEADER_CAN_MAKE_THE_REQUEST_TO_ENTER));
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (player.isInCommandChannel())
|
||||||
|
{
|
||||||
|
player.sendPacket(new SystemMessage(SystemMessageId.YOU_CANNOT_ENTER_BECAUSE_YOU_DO_NOT_MEET_THE_REQUIREMENTS));
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
final long currentTime = Chronos.currentTimeMillis();
|
||||||
|
final List<Player> members = party.getMembers();
|
||||||
|
for (Player member : members)
|
||||||
|
{
|
||||||
|
if (!member.isInsideRadius3D(npc, 1000))
|
||||||
|
{
|
||||||
|
player.sendMessage("Player " + member.getName() + " must come closer.");
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (currentTime < InstanceManager.getInstance().getInstanceTime(member, TEMPLATE_ID))
|
||||||
|
{
|
||||||
|
final SystemMessage msg = new SystemMessage(SystemMessageId.SINCE_C1_ENTERED_ANOTHER_INSTANCE_ZONE_THEREFORE_YOU_CANNOT_ENTER_THIS_DUNGEON);
|
||||||
|
msg.addString(member.getName());
|
||||||
|
party.broadcastToPartyMembers(member, msg);
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
for (Player member : members)
|
||||||
|
{
|
||||||
|
enterInstance(member, npc, TEMPLATE_ID);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (player.isGM())
|
||||||
{
|
{
|
||||||
enterInstance(player, npc, TEMPLATE_ID);
|
enterInstance(player, npc, TEMPLATE_ID);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
player.sendPacket(new SystemMessage(SystemMessageId.YOU_ARE_NOT_CURRENTLY_IN_A_PARTY_SO_YOU_CANNOT_ENTER));
|
||||||
|
}
|
||||||
|
|
||||||
if (player.getInstanceWorld() != null)
|
if (player.getInstanceWorld() != null)
|
||||||
{
|
{
|
||||||
startQuestTimer("check_status", 1000, null, player);
|
startQuestTimer("check_status", 1000, null, player);
|
||||||
|
@@ -17,12 +17,18 @@
|
|||||||
package instances.NightmareKamaloka;
|
package instances.NightmareKamaloka;
|
||||||
|
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
|
import org.l2jmobius.commons.util.Chronos;
|
||||||
|
import org.l2jmobius.gameserver.instancemanager.InstanceManager;
|
||||||
|
import org.l2jmobius.gameserver.model.Party;
|
||||||
import org.l2jmobius.gameserver.model.actor.Npc;
|
import org.l2jmobius.gameserver.model.actor.Npc;
|
||||||
import org.l2jmobius.gameserver.model.actor.Player;
|
import org.l2jmobius.gameserver.model.actor.Player;
|
||||||
import org.l2jmobius.gameserver.model.holders.ItemHolder;
|
import org.l2jmobius.gameserver.model.holders.ItemHolder;
|
||||||
import org.l2jmobius.gameserver.model.instancezone.Instance;
|
import org.l2jmobius.gameserver.model.instancezone.Instance;
|
||||||
|
import org.l2jmobius.gameserver.network.SystemMessageId;
|
||||||
|
import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
|
||||||
|
|
||||||
import instances.AbstractInstance;
|
import instances.AbstractInstance;
|
||||||
|
|
||||||
@@ -70,8 +76,54 @@ public class NightmareKamaloka extends AbstractInstance
|
|||||||
switch (event)
|
switch (event)
|
||||||
{
|
{
|
||||||
case "enterInstance":
|
case "enterInstance":
|
||||||
|
{
|
||||||
|
if (player.isInParty())
|
||||||
|
{
|
||||||
|
final Party party = player.getParty();
|
||||||
|
if (!party.isLeader(player))
|
||||||
|
{
|
||||||
|
player.sendPacket(new SystemMessage(SystemMessageId.ONLY_A_PARTY_LEADER_CAN_MAKE_THE_REQUEST_TO_ENTER));
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (player.isInCommandChannel())
|
||||||
|
{
|
||||||
|
player.sendPacket(new SystemMessage(SystemMessageId.YOU_CANNOT_ENTER_BECAUSE_YOU_DO_NOT_MEET_THE_REQUIREMENTS));
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
final long currentTime = Chronos.currentTimeMillis();
|
||||||
|
final List<Player> members = party.getMembers();
|
||||||
|
for (Player member : members)
|
||||||
|
{
|
||||||
|
if (!member.isInsideRadius3D(npc, 1000))
|
||||||
|
{
|
||||||
|
player.sendMessage("Player " + member.getName() + " must come closer.");
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (currentTime < InstanceManager.getInstance().getInstanceTime(member, TEMPLATE_ID))
|
||||||
|
{
|
||||||
|
final SystemMessage msg = new SystemMessage(SystemMessageId.SINCE_C1_ENTERED_ANOTHER_INSTANCE_ZONE_THEREFORE_YOU_CANNOT_ENTER_THIS_DUNGEON);
|
||||||
|
msg.addString(member.getName());
|
||||||
|
party.broadcastToPartyMembers(member, msg);
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
for (Player member : members)
|
||||||
|
{
|
||||||
|
enterInstance(member, npc, TEMPLATE_ID);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (player.isGM())
|
||||||
{
|
{
|
||||||
enterInstance(player, npc, TEMPLATE_ID);
|
enterInstance(player, npc, TEMPLATE_ID);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
player.sendPacket(new SystemMessage(SystemMessageId.YOU_ARE_NOT_CURRENTLY_IN_A_PARTY_SO_YOU_CANNOT_ENTER));
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case "SPAWN_BOSSES":
|
case "SPAWN_BOSSES":
|
||||||
|
@@ -21,6 +21,7 @@ import java.util.List;
|
|||||||
import org.l2jmobius.commons.util.Chronos;
|
import org.l2jmobius.commons.util.Chronos;
|
||||||
import org.l2jmobius.gameserver.instancemanager.InstanceManager;
|
import org.l2jmobius.gameserver.instancemanager.InstanceManager;
|
||||||
import org.l2jmobius.gameserver.model.Location;
|
import org.l2jmobius.gameserver.model.Location;
|
||||||
|
import org.l2jmobius.gameserver.model.Party;
|
||||||
import org.l2jmobius.gameserver.model.StatSet;
|
import org.l2jmobius.gameserver.model.StatSet;
|
||||||
import org.l2jmobius.gameserver.model.World;
|
import org.l2jmobius.gameserver.model.World;
|
||||||
import org.l2jmobius.gameserver.model.actor.Attackable;
|
import org.l2jmobius.gameserver.model.actor.Attackable;
|
||||||
@@ -64,8 +65,8 @@ public class BaylorWarzone extends AbstractInstance
|
|||||||
// Misc
|
// Misc
|
||||||
private static final int[] TEMPLATE_IDS =
|
private static final int[] TEMPLATE_IDS =
|
||||||
{
|
{
|
||||||
166,
|
166, // lv. 105
|
||||||
312
|
312, // lv. 110
|
||||||
};
|
};
|
||||||
|
|
||||||
public BaylorWarzone()
|
public BaylorWarzone()
|
||||||
@@ -84,21 +85,56 @@ public class BaylorWarzone extends AbstractInstance
|
|||||||
{
|
{
|
||||||
if (event.contains("enterInstance"))
|
if (event.contains("enterInstance"))
|
||||||
{
|
{
|
||||||
if (event.contains("110"))
|
final int templateId = event.contains("110") ? TEMPLATE_IDS[1] : TEMPLATE_IDS[0];
|
||||||
|
if (player.isInParty())
|
||||||
{
|
{
|
||||||
// Cannot enter if player finished another instance.
|
final Party party = player.getParty();
|
||||||
final long currentTime = Chronos.currentTimeMillis();
|
if (!party.isLeader(player))
|
||||||
if ((currentTime < InstanceManager.getInstance().getInstanceTime(player, 166)))
|
|
||||||
{
|
{
|
||||||
player.sendPacket(new SystemMessage(SystemMessageId.SINCE_C1_ENTERED_ANOTHER_INSTANCE_ZONE_THEREFORE_YOU_CANNOT_ENTER_THIS_DUNGEON).addString(player.getName()));
|
player.sendPacket(new SystemMessage(SystemMessageId.ONLY_A_PARTY_LEADER_CAN_MAKE_THE_REQUEST_TO_ENTER));
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
enterInstance(player, npc, TEMPLATE_IDS[1]);
|
if (player.isInCommandChannel())
|
||||||
|
{
|
||||||
|
player.sendPacket(new SystemMessage(SystemMessageId.YOU_CANNOT_ENTER_BECAUSE_YOU_DO_NOT_MEET_THE_REQUIREMENTS));
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
final long currentTime = Chronos.currentTimeMillis();
|
||||||
|
final List<Player> members = party.getMembers();
|
||||||
|
for (Player member : members)
|
||||||
|
{
|
||||||
|
if (!member.isInsideRadius3D(npc, 1000))
|
||||||
|
{
|
||||||
|
player.sendMessage("Player " + member.getName() + " must come closer.");
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
for (int id : TEMPLATE_IDS)
|
||||||
|
{
|
||||||
|
if (currentTime < InstanceManager.getInstance().getInstanceTime(member, id))
|
||||||
|
{
|
||||||
|
final SystemMessage msg = new SystemMessage(SystemMessageId.SINCE_C1_ENTERED_ANOTHER_INSTANCE_ZONE_THEREFORE_YOU_CANNOT_ENTER_THIS_DUNGEON);
|
||||||
|
msg.addString(member.getName());
|
||||||
|
party.broadcastToPartyMembers(member, msg);
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
for (Player member : members)
|
||||||
|
{
|
||||||
|
enterInstance(member, npc, templateId);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (player.isGM())
|
||||||
|
{
|
||||||
|
enterInstance(player, npc, templateId);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
enterInstance(player, npc, TEMPLATE_IDS[0]);
|
player.sendPacket(new SystemMessage(SystemMessageId.YOU_ARE_NOT_CURRENTLY_IN_A_PARTY_SO_YOU_CANNOT_ENTER));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return super.onAdvEvent(event, npc, player);
|
return super.onAdvEvent(event, npc, player);
|
||||||
|
@@ -24,6 +24,7 @@ import org.l2jmobius.gameserver.enums.ChatType;
|
|||||||
import org.l2jmobius.gameserver.instancemanager.InstanceManager;
|
import org.l2jmobius.gameserver.instancemanager.InstanceManager;
|
||||||
import org.l2jmobius.gameserver.instancemanager.ZoneManager;
|
import org.l2jmobius.gameserver.instancemanager.ZoneManager;
|
||||||
import org.l2jmobius.gameserver.model.Location;
|
import org.l2jmobius.gameserver.model.Location;
|
||||||
|
import org.l2jmobius.gameserver.model.Party;
|
||||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||||
import org.l2jmobius.gameserver.model.actor.Npc;
|
import org.l2jmobius.gameserver.model.actor.Npc;
|
||||||
import org.l2jmobius.gameserver.model.actor.Player;
|
import org.l2jmobius.gameserver.model.actor.Player;
|
||||||
@@ -172,8 +173,8 @@ public class AshenShadowRevolutionaries extends AbstractInstance
|
|||||||
private static final ScriptZone TOWN_ZONE = ZoneManager.getInstance().getZoneById(60200, ScriptZone.class);
|
private static final ScriptZone TOWN_ZONE = ZoneManager.getInstance().getZoneById(60200, ScriptZone.class);
|
||||||
private static final int[] TEMPLATE_IDS =
|
private static final int[] TEMPLATE_IDS =
|
||||||
{
|
{
|
||||||
260,
|
260, // lv. 105
|
||||||
311
|
311, // lv. 110
|
||||||
};
|
};
|
||||||
|
|
||||||
public AshenShadowRevolutionaries()
|
public AshenShadowRevolutionaries()
|
||||||
@@ -201,21 +202,58 @@ public class AshenShadowRevolutionaries extends AbstractInstance
|
|||||||
{
|
{
|
||||||
if (event.contains("enterInstance"))
|
if (event.contains("enterInstance"))
|
||||||
{
|
{
|
||||||
if (event.contains("110"))
|
final int templateId = event.contains("110") ? TEMPLATE_IDS[1] : TEMPLATE_IDS[0];
|
||||||
|
if (player.isInParty())
|
||||||
{
|
{
|
||||||
// Cannot enter if player finished another instance.
|
final Party party = player.getParty();
|
||||||
final long currentTime = Chronos.currentTimeMillis();
|
if (!party.isLeader(player))
|
||||||
if ((currentTime < InstanceManager.getInstance().getInstanceTime(player, 260)))
|
|
||||||
{
|
{
|
||||||
player.sendPacket(new SystemMessage(SystemMessageId.SINCE_C1_ENTERED_ANOTHER_INSTANCE_ZONE_THEREFORE_YOU_CANNOT_ENTER_THIS_DUNGEON).addString(player.getName()));
|
player.sendPacket(new SystemMessage(SystemMessageId.ONLY_A_PARTY_LEADER_CAN_MAKE_THE_REQUEST_TO_ENTER));
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
enterInstance(player, npc, TEMPLATE_IDS[1]);
|
|
||||||
|
if (player.isInCommandChannel())
|
||||||
|
{
|
||||||
|
player.sendPacket(new SystemMessage(SystemMessageId.YOU_CANNOT_ENTER_BECAUSE_YOU_DO_NOT_MEET_THE_REQUIREMENTS));
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
final long currentTime = Chronos.currentTimeMillis();
|
||||||
|
final List<Player> members = party.getMembers();
|
||||||
|
for (Player member : members)
|
||||||
|
{
|
||||||
|
if (!member.isInsideRadius3D(npc, 1000))
|
||||||
|
{
|
||||||
|
player.sendMessage("Player " + member.getName() + " must come closer.");
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
for (int id : TEMPLATE_IDS)
|
||||||
|
{
|
||||||
|
if (currentTime < InstanceManager.getInstance().getInstanceTime(member, id))
|
||||||
|
{
|
||||||
|
final SystemMessage msg = new SystemMessage(SystemMessageId.SINCE_C1_ENTERED_ANOTHER_INSTANCE_ZONE_THEREFORE_YOU_CANNOT_ENTER_THIS_DUNGEON);
|
||||||
|
msg.addString(member.getName());
|
||||||
|
party.broadcastToPartyMembers(member, msg);
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
for (Player member : members)
|
||||||
|
{
|
||||||
|
enterInstance(member, npc, templateId);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (player.isGM())
|
||||||
|
{
|
||||||
|
enterInstance(player, npc, templateId);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
enterInstance(player, npc, TEMPLATE_IDS[0]);
|
player.sendPacket(new SystemMessage(SystemMessageId.YOU_ARE_NOT_CURRENTLY_IN_A_PARTY_SO_YOU_CANNOT_ENTER));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (player.getInstanceWorld() != null)
|
if (player.getInstanceWorld() != null)
|
||||||
{
|
{
|
||||||
startQuestTimer("chest_talk", 1000, player.getInstanceWorld().getNpc(TREASURE_CHEST), null);
|
startQuestTimer("chest_talk", 1000, player.getInstanceWorld().getNpc(TREASURE_CHEST), null);
|
||||||
|
@@ -16,9 +16,12 @@
|
|||||||
*/
|
*/
|
||||||
package instances.KrofinNest;
|
package instances.KrofinNest;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
import org.l2jmobius.commons.util.Chronos;
|
import org.l2jmobius.commons.util.Chronos;
|
||||||
import org.l2jmobius.commons.util.CommonUtil;
|
import org.l2jmobius.commons.util.CommonUtil;
|
||||||
import org.l2jmobius.gameserver.instancemanager.InstanceManager;
|
import org.l2jmobius.gameserver.instancemanager.InstanceManager;
|
||||||
|
import org.l2jmobius.gameserver.model.Party;
|
||||||
import org.l2jmobius.gameserver.model.actor.Npc;
|
import org.l2jmobius.gameserver.model.actor.Npc;
|
||||||
import org.l2jmobius.gameserver.model.actor.Player;
|
import org.l2jmobius.gameserver.model.actor.Player;
|
||||||
import org.l2jmobius.gameserver.model.holders.ItemHolder;
|
import org.l2jmobius.gameserver.model.holders.ItemHolder;
|
||||||
@@ -103,8 +106,8 @@ public class KrofinNest extends AbstractInstance
|
|||||||
// Misc
|
// Misc
|
||||||
private static final int[] TEMPLATE_IDS =
|
private static final int[] TEMPLATE_IDS =
|
||||||
{
|
{
|
||||||
291,
|
291, // lv. 105
|
||||||
315
|
315, // lv. 110
|
||||||
};
|
};
|
||||||
private static final int DOOR1 = 23220101;
|
private static final int DOOR1 = 23220101;
|
||||||
private static final int DOOR2 = 24250002;
|
private static final int DOOR2 = 24250002;
|
||||||
@@ -138,21 +141,58 @@ public class KrofinNest extends AbstractInstance
|
|||||||
{
|
{
|
||||||
if (event.contains("enterInstance"))
|
if (event.contains("enterInstance"))
|
||||||
{
|
{
|
||||||
if (event.contains("110"))
|
final int templateId = event.contains("110") ? TEMPLATE_IDS[1] : TEMPLATE_IDS[0];
|
||||||
|
if (player.isInParty())
|
||||||
{
|
{
|
||||||
// Cannot enter if player finished another instance.
|
final Party party = player.getParty();
|
||||||
final long currentTime = Chronos.currentTimeMillis();
|
if (!party.isLeader(player))
|
||||||
if ((currentTime < InstanceManager.getInstance().getInstanceTime(player, 291)))
|
|
||||||
{
|
{
|
||||||
player.sendPacket(new SystemMessage(SystemMessageId.SINCE_C1_ENTERED_ANOTHER_INSTANCE_ZONE_THEREFORE_YOU_CANNOT_ENTER_THIS_DUNGEON).addString(player.getName()));
|
player.sendPacket(new SystemMessage(SystemMessageId.ONLY_A_PARTY_LEADER_CAN_MAKE_THE_REQUEST_TO_ENTER));
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
enterInstance(player, npc, TEMPLATE_IDS[1]);
|
|
||||||
|
if (player.isInCommandChannel())
|
||||||
|
{
|
||||||
|
player.sendPacket(new SystemMessage(SystemMessageId.YOU_CANNOT_ENTER_BECAUSE_YOU_DO_NOT_MEET_THE_REQUIREMENTS));
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
final long currentTime = Chronos.currentTimeMillis();
|
||||||
|
final List<Player> members = party.getMembers();
|
||||||
|
for (Player member : members)
|
||||||
|
{
|
||||||
|
if (!member.isInsideRadius3D(npc, 1000))
|
||||||
|
{
|
||||||
|
player.sendMessage("Player " + member.getName() + " must come closer.");
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
for (int id : TEMPLATE_IDS)
|
||||||
|
{
|
||||||
|
if (currentTime < InstanceManager.getInstance().getInstanceTime(member, id))
|
||||||
|
{
|
||||||
|
final SystemMessage msg = new SystemMessage(SystemMessageId.SINCE_C1_ENTERED_ANOTHER_INSTANCE_ZONE_THEREFORE_YOU_CANNOT_ENTER_THIS_DUNGEON);
|
||||||
|
msg.addString(member.getName());
|
||||||
|
party.broadcastToPartyMembers(member, msg);
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
for (Player member : members)
|
||||||
|
{
|
||||||
|
enterInstance(member, npc, templateId);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (player.isGM())
|
||||||
|
{
|
||||||
|
enterInstance(player, npc, templateId);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
enterInstance(player, npc, TEMPLATE_IDS[0]);
|
player.sendPacket(new SystemMessage(SystemMessageId.YOU_ARE_NOT_CURRENTLY_IN_A_PARTY_SO_YOU_CANNOT_ENTER));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (player.getInstanceWorld() != null)
|
if (player.getInstanceWorld() != null)
|
||||||
{
|
{
|
||||||
startQuestTimer("check_status", 1000, null, player);
|
startQuestTimer("check_status", 1000, null, player);
|
||||||
|
@@ -17,12 +17,18 @@
|
|||||||
package instances.NightmareKamaloka;
|
package instances.NightmareKamaloka;
|
||||||
|
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
|
import org.l2jmobius.commons.util.Chronos;
|
||||||
|
import org.l2jmobius.gameserver.instancemanager.InstanceManager;
|
||||||
|
import org.l2jmobius.gameserver.model.Party;
|
||||||
import org.l2jmobius.gameserver.model.actor.Npc;
|
import org.l2jmobius.gameserver.model.actor.Npc;
|
||||||
import org.l2jmobius.gameserver.model.actor.Player;
|
import org.l2jmobius.gameserver.model.actor.Player;
|
||||||
import org.l2jmobius.gameserver.model.holders.ItemHolder;
|
import org.l2jmobius.gameserver.model.holders.ItemHolder;
|
||||||
import org.l2jmobius.gameserver.model.instancezone.Instance;
|
import org.l2jmobius.gameserver.model.instancezone.Instance;
|
||||||
|
import org.l2jmobius.gameserver.network.SystemMessageId;
|
||||||
|
import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
|
||||||
|
|
||||||
import instances.AbstractInstance;
|
import instances.AbstractInstance;
|
||||||
|
|
||||||
@@ -61,8 +67,8 @@ public class NightmareKamaloka extends AbstractInstance
|
|||||||
}
|
}
|
||||||
private static final int[] TEMPLATE_IDS =
|
private static final int[] TEMPLATE_IDS =
|
||||||
{
|
{
|
||||||
258,
|
258, // lv. 105
|
||||||
313
|
313, // lv. 110
|
||||||
};
|
};
|
||||||
|
|
||||||
public NightmareKamaloka()
|
public NightmareKamaloka()
|
||||||
@@ -80,7 +86,57 @@ public class NightmareKamaloka extends AbstractInstance
|
|||||||
{
|
{
|
||||||
if (event.contains("enterInstance"))
|
if (event.contains("enterInstance"))
|
||||||
{
|
{
|
||||||
enterInstance(player, npc, event.contains("110") ? TEMPLATE_IDS[1] : TEMPLATE_IDS[0]);
|
final int templateId = event.contains("110") ? TEMPLATE_IDS[1] : TEMPLATE_IDS[0];
|
||||||
|
if (player.isInParty())
|
||||||
|
{
|
||||||
|
final Party party = player.getParty();
|
||||||
|
if (!party.isLeader(player))
|
||||||
|
{
|
||||||
|
player.sendPacket(new SystemMessage(SystemMessageId.ONLY_A_PARTY_LEADER_CAN_MAKE_THE_REQUEST_TO_ENTER));
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (player.isInCommandChannel())
|
||||||
|
{
|
||||||
|
player.sendPacket(new SystemMessage(SystemMessageId.YOU_CANNOT_ENTER_BECAUSE_YOU_DO_NOT_MEET_THE_REQUIREMENTS));
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
final long currentTime = Chronos.currentTimeMillis();
|
||||||
|
final List<Player> members = party.getMembers();
|
||||||
|
for (Player member : members)
|
||||||
|
{
|
||||||
|
if (!member.isInsideRadius3D(npc, 1000))
|
||||||
|
{
|
||||||
|
player.sendMessage("Player " + member.getName() + " must come closer.");
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
for (int id : TEMPLATE_IDS)
|
||||||
|
{
|
||||||
|
if (currentTime < InstanceManager.getInstance().getInstanceTime(member, id))
|
||||||
|
{
|
||||||
|
final SystemMessage msg = new SystemMessage(SystemMessageId.SINCE_C1_ENTERED_ANOTHER_INSTANCE_ZONE_THEREFORE_YOU_CANNOT_ENTER_THIS_DUNGEON);
|
||||||
|
msg.addString(member.getName());
|
||||||
|
party.broadcastToPartyMembers(member, msg);
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
for (Player member : members)
|
||||||
|
{
|
||||||
|
enterInstance(member, npc, templateId);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (player.isGM())
|
||||||
|
{
|
||||||
|
enterInstance(player, npc, templateId);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
player.sendPacket(new SystemMessage(SystemMessageId.YOU_ARE_NOT_CURRENTLY_IN_A_PARTY_SO_YOU_CANNOT_ENTER));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else if ("SPAWN_BOSSES".equals(event))
|
else if ("SPAWN_BOSSES".equals(event))
|
||||||
{
|
{
|
||||||
|
@@ -18,6 +18,8 @@ package instances.SpiritForest;
|
|||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
import org.l2jmobius.commons.util.Chronos;
|
||||||
|
import org.l2jmobius.gameserver.instancemanager.InstanceManager;
|
||||||
import org.l2jmobius.gameserver.model.Party;
|
import org.l2jmobius.gameserver.model.Party;
|
||||||
import org.l2jmobius.gameserver.model.actor.Npc;
|
import org.l2jmobius.gameserver.model.actor.Npc;
|
||||||
import org.l2jmobius.gameserver.model.actor.Player;
|
import org.l2jmobius.gameserver.model.actor.Player;
|
||||||
@@ -36,8 +38,8 @@ public class SpiritForest extends AbstractInstance
|
|||||||
{
|
{
|
||||||
private static final int[] TEMPLATE_IDS =
|
private static final int[] TEMPLATE_IDS =
|
||||||
{
|
{
|
||||||
310,
|
310, // lv. 110
|
||||||
314
|
314, // lv. 105
|
||||||
};
|
};
|
||||||
|
|
||||||
public SpiritForest()
|
public SpiritForest()
|
||||||
@@ -51,7 +53,8 @@ public class SpiritForest extends AbstractInstance
|
|||||||
{
|
{
|
||||||
if (event.contains("enterInstance"))
|
if (event.contains("enterInstance"))
|
||||||
{
|
{
|
||||||
final int templateId = event.contains("105") ? TEMPLATE_IDS[1] : TEMPLATE_IDS[0];
|
|
||||||
|
final int templateId = event.contains("110") ? TEMPLATE_IDS[0] : TEMPLATE_IDS[1];
|
||||||
if (player.isInParty())
|
if (player.isInParty())
|
||||||
{
|
{
|
||||||
final Party party = player.getParty();
|
final Party party = player.getParty();
|
||||||
@@ -67,6 +70,7 @@ public class SpiritForest extends AbstractInstance
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
final long currentTime = Chronos.currentTimeMillis();
|
||||||
final List<Player> members = party.getMembers();
|
final List<Player> members = party.getMembers();
|
||||||
for (Player member : members)
|
for (Player member : members)
|
||||||
{
|
{
|
||||||
@@ -75,6 +79,17 @@ public class SpiritForest extends AbstractInstance
|
|||||||
player.sendMessage("Player " + member.getName() + " must go closer to Gatekeeper Spirit.");
|
player.sendMessage("Player " + member.getName() + " must go closer to Gatekeeper Spirit.");
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
for (int id : TEMPLATE_IDS)
|
||||||
|
{
|
||||||
|
if (currentTime < InstanceManager.getInstance().getInstanceTime(member, id))
|
||||||
|
{
|
||||||
|
final SystemMessage msg = new SystemMessage(SystemMessageId.SINCE_C1_ENTERED_ANOTHER_INSTANCE_ZONE_THEREFORE_YOU_CANNOT_ENTER_THIS_DUNGEON);
|
||||||
|
msg.addString(member.getName());
|
||||||
|
party.broadcastToPartyMembers(member, msg);
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
for (Player member : members)
|
for (Player member : members)
|
||||||
|
@@ -21,6 +21,7 @@ import java.util.List;
|
|||||||
import org.l2jmobius.commons.util.Chronos;
|
import org.l2jmobius.commons.util.Chronos;
|
||||||
import org.l2jmobius.gameserver.instancemanager.InstanceManager;
|
import org.l2jmobius.gameserver.instancemanager.InstanceManager;
|
||||||
import org.l2jmobius.gameserver.model.Location;
|
import org.l2jmobius.gameserver.model.Location;
|
||||||
|
import org.l2jmobius.gameserver.model.Party;
|
||||||
import org.l2jmobius.gameserver.model.StatSet;
|
import org.l2jmobius.gameserver.model.StatSet;
|
||||||
import org.l2jmobius.gameserver.model.World;
|
import org.l2jmobius.gameserver.model.World;
|
||||||
import org.l2jmobius.gameserver.model.actor.Attackable;
|
import org.l2jmobius.gameserver.model.actor.Attackable;
|
||||||
@@ -64,8 +65,8 @@ public class BaylorWarzone extends AbstractInstance
|
|||||||
// Misc
|
// Misc
|
||||||
private static final int[] TEMPLATE_IDS =
|
private static final int[] TEMPLATE_IDS =
|
||||||
{
|
{
|
||||||
166,
|
166, // lv. 105
|
||||||
312
|
312, // lv. 110
|
||||||
};
|
};
|
||||||
|
|
||||||
public BaylorWarzone()
|
public BaylorWarzone()
|
||||||
@@ -84,21 +85,56 @@ public class BaylorWarzone extends AbstractInstance
|
|||||||
{
|
{
|
||||||
if (event.contains("enterInstance"))
|
if (event.contains("enterInstance"))
|
||||||
{
|
{
|
||||||
if (event.contains("110"))
|
final int templateId = event.contains("110") ? TEMPLATE_IDS[1] : TEMPLATE_IDS[0];
|
||||||
|
if (player.isInParty())
|
||||||
{
|
{
|
||||||
// Cannot enter if player finished another instance.
|
final Party party = player.getParty();
|
||||||
final long currentTime = Chronos.currentTimeMillis();
|
if (!party.isLeader(player))
|
||||||
if ((currentTime < InstanceManager.getInstance().getInstanceTime(player, 166)))
|
|
||||||
{
|
{
|
||||||
player.sendPacket(new SystemMessage(SystemMessageId.SINCE_C1_ENTERED_ANOTHER_INSTANCE_ZONE_THEREFORE_YOU_CANNOT_ENTER_THIS_DUNGEON).addString(player.getName()));
|
player.sendPacket(new SystemMessage(SystemMessageId.ONLY_A_PARTY_LEADER_CAN_MAKE_THE_REQUEST_TO_ENTER));
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
enterInstance(player, npc, TEMPLATE_IDS[1]);
|
if (player.isInCommandChannel())
|
||||||
|
{
|
||||||
|
player.sendPacket(new SystemMessage(SystemMessageId.YOU_CANNOT_ENTER_BECAUSE_YOU_DO_NOT_MEET_THE_REQUIREMENTS));
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
final long currentTime = Chronos.currentTimeMillis();
|
||||||
|
final List<Player> members = party.getMembers();
|
||||||
|
for (Player member : members)
|
||||||
|
{
|
||||||
|
if (!member.isInsideRadius3D(npc, 1000))
|
||||||
|
{
|
||||||
|
player.sendMessage("Player " + member.getName() + " must come closer.");
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
for (int id : TEMPLATE_IDS)
|
||||||
|
{
|
||||||
|
if (currentTime < InstanceManager.getInstance().getInstanceTime(member, id))
|
||||||
|
{
|
||||||
|
final SystemMessage msg = new SystemMessage(SystemMessageId.SINCE_C1_ENTERED_ANOTHER_INSTANCE_ZONE_THEREFORE_YOU_CANNOT_ENTER_THIS_DUNGEON);
|
||||||
|
msg.addString(member.getName());
|
||||||
|
party.broadcastToPartyMembers(member, msg);
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
for (Player member : members)
|
||||||
|
{
|
||||||
|
enterInstance(member, npc, templateId);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (player.isGM())
|
||||||
|
{
|
||||||
|
enterInstance(player, npc, templateId);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
enterInstance(player, npc, TEMPLATE_IDS[0]);
|
player.sendPacket(new SystemMessage(SystemMessageId.YOU_ARE_NOT_CURRENTLY_IN_A_PARTY_SO_YOU_CANNOT_ENTER));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return super.onAdvEvent(event, npc, player);
|
return super.onAdvEvent(event, npc, player);
|
||||||
|
@@ -24,6 +24,7 @@ import org.l2jmobius.gameserver.enums.ChatType;
|
|||||||
import org.l2jmobius.gameserver.instancemanager.InstanceManager;
|
import org.l2jmobius.gameserver.instancemanager.InstanceManager;
|
||||||
import org.l2jmobius.gameserver.instancemanager.ZoneManager;
|
import org.l2jmobius.gameserver.instancemanager.ZoneManager;
|
||||||
import org.l2jmobius.gameserver.model.Location;
|
import org.l2jmobius.gameserver.model.Location;
|
||||||
|
import org.l2jmobius.gameserver.model.Party;
|
||||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||||
import org.l2jmobius.gameserver.model.actor.Npc;
|
import org.l2jmobius.gameserver.model.actor.Npc;
|
||||||
import org.l2jmobius.gameserver.model.actor.Player;
|
import org.l2jmobius.gameserver.model.actor.Player;
|
||||||
@@ -172,8 +173,8 @@ public class AshenShadowRevolutionaries extends AbstractInstance
|
|||||||
private static final ScriptZone TOWN_ZONE = ZoneManager.getInstance().getZoneById(60200, ScriptZone.class);
|
private static final ScriptZone TOWN_ZONE = ZoneManager.getInstance().getZoneById(60200, ScriptZone.class);
|
||||||
private static final int[] TEMPLATE_IDS =
|
private static final int[] TEMPLATE_IDS =
|
||||||
{
|
{
|
||||||
260,
|
260, // lv. 105
|
||||||
311
|
311, // lv. 110
|
||||||
};
|
};
|
||||||
|
|
||||||
public AshenShadowRevolutionaries()
|
public AshenShadowRevolutionaries()
|
||||||
@@ -201,21 +202,58 @@ public class AshenShadowRevolutionaries extends AbstractInstance
|
|||||||
{
|
{
|
||||||
if (event.contains("enterInstance"))
|
if (event.contains("enterInstance"))
|
||||||
{
|
{
|
||||||
if (event.contains("110"))
|
final int templateId = event.contains("110") ? TEMPLATE_IDS[1] : TEMPLATE_IDS[0];
|
||||||
|
if (player.isInParty())
|
||||||
{
|
{
|
||||||
// Cannot enter if player finished another instance.
|
final Party party = player.getParty();
|
||||||
final long currentTime = Chronos.currentTimeMillis();
|
if (!party.isLeader(player))
|
||||||
if ((currentTime < InstanceManager.getInstance().getInstanceTime(player, 260)))
|
|
||||||
{
|
{
|
||||||
player.sendPacket(new SystemMessage(SystemMessageId.SINCE_C1_ENTERED_ANOTHER_INSTANCE_ZONE_THEREFORE_YOU_CANNOT_ENTER_THIS_DUNGEON).addString(player.getName()));
|
player.sendPacket(new SystemMessage(SystemMessageId.ONLY_A_PARTY_LEADER_CAN_MAKE_THE_REQUEST_TO_ENTER));
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
enterInstance(player, npc, TEMPLATE_IDS[1]);
|
|
||||||
|
if (player.isInCommandChannel())
|
||||||
|
{
|
||||||
|
player.sendPacket(new SystemMessage(SystemMessageId.YOU_CANNOT_ENTER_BECAUSE_YOU_DO_NOT_MEET_THE_REQUIREMENTS));
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
final long currentTime = Chronos.currentTimeMillis();
|
||||||
|
final List<Player> members = party.getMembers();
|
||||||
|
for (Player member : members)
|
||||||
|
{
|
||||||
|
if (!member.isInsideRadius3D(npc, 1000))
|
||||||
|
{
|
||||||
|
player.sendMessage("Player " + member.getName() + " must come closer.");
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
for (int id : TEMPLATE_IDS)
|
||||||
|
{
|
||||||
|
if (currentTime < InstanceManager.getInstance().getInstanceTime(member, id))
|
||||||
|
{
|
||||||
|
final SystemMessage msg = new SystemMessage(SystemMessageId.SINCE_C1_ENTERED_ANOTHER_INSTANCE_ZONE_THEREFORE_YOU_CANNOT_ENTER_THIS_DUNGEON);
|
||||||
|
msg.addString(member.getName());
|
||||||
|
party.broadcastToPartyMembers(member, msg);
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
for (Player member : members)
|
||||||
|
{
|
||||||
|
enterInstance(member, npc, templateId);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (player.isGM())
|
||||||
|
{
|
||||||
|
enterInstance(player, npc, templateId);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
enterInstance(player, npc, TEMPLATE_IDS[0]);
|
player.sendPacket(new SystemMessage(SystemMessageId.YOU_ARE_NOT_CURRENTLY_IN_A_PARTY_SO_YOU_CANNOT_ENTER));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (player.getInstanceWorld() != null)
|
if (player.getInstanceWorld() != null)
|
||||||
{
|
{
|
||||||
startQuestTimer("chest_talk", 1000, player.getInstanceWorld().getNpc(TREASURE_CHEST), null);
|
startQuestTimer("chest_talk", 1000, player.getInstanceWorld().getNpc(TREASURE_CHEST), null);
|
||||||
|
@@ -16,9 +16,12 @@
|
|||||||
*/
|
*/
|
||||||
package instances.KrofinNest;
|
package instances.KrofinNest;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
import org.l2jmobius.commons.util.Chronos;
|
import org.l2jmobius.commons.util.Chronos;
|
||||||
import org.l2jmobius.commons.util.CommonUtil;
|
import org.l2jmobius.commons.util.CommonUtil;
|
||||||
import org.l2jmobius.gameserver.instancemanager.InstanceManager;
|
import org.l2jmobius.gameserver.instancemanager.InstanceManager;
|
||||||
|
import org.l2jmobius.gameserver.model.Party;
|
||||||
import org.l2jmobius.gameserver.model.actor.Npc;
|
import org.l2jmobius.gameserver.model.actor.Npc;
|
||||||
import org.l2jmobius.gameserver.model.actor.Player;
|
import org.l2jmobius.gameserver.model.actor.Player;
|
||||||
import org.l2jmobius.gameserver.model.holders.ItemHolder;
|
import org.l2jmobius.gameserver.model.holders.ItemHolder;
|
||||||
@@ -103,8 +106,8 @@ public class KrofinNest extends AbstractInstance
|
|||||||
// Misc
|
// Misc
|
||||||
private static final int[] TEMPLATE_IDS =
|
private static final int[] TEMPLATE_IDS =
|
||||||
{
|
{
|
||||||
291,
|
291, // lv. 105
|
||||||
315
|
315, // lv. 110
|
||||||
};
|
};
|
||||||
private static final int DOOR1 = 23220101;
|
private static final int DOOR1 = 23220101;
|
||||||
private static final int DOOR2 = 24250002;
|
private static final int DOOR2 = 24250002;
|
||||||
@@ -138,21 +141,58 @@ public class KrofinNest extends AbstractInstance
|
|||||||
{
|
{
|
||||||
if (event.contains("enterInstance"))
|
if (event.contains("enterInstance"))
|
||||||
{
|
{
|
||||||
if (event.contains("110"))
|
final int templateId = event.contains("110") ? TEMPLATE_IDS[1] : TEMPLATE_IDS[0];
|
||||||
|
if (player.isInParty())
|
||||||
{
|
{
|
||||||
// Cannot enter if player finished another instance.
|
final Party party = player.getParty();
|
||||||
final long currentTime = Chronos.currentTimeMillis();
|
if (!party.isLeader(player))
|
||||||
if ((currentTime < InstanceManager.getInstance().getInstanceTime(player, 291)))
|
|
||||||
{
|
{
|
||||||
player.sendPacket(new SystemMessage(SystemMessageId.SINCE_C1_ENTERED_ANOTHER_INSTANCE_ZONE_THEREFORE_YOU_CANNOT_ENTER_THIS_DUNGEON).addString(player.getName()));
|
player.sendPacket(new SystemMessage(SystemMessageId.ONLY_A_PARTY_LEADER_CAN_MAKE_THE_REQUEST_TO_ENTER));
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
enterInstance(player, npc, TEMPLATE_IDS[1]);
|
|
||||||
|
if (player.isInCommandChannel())
|
||||||
|
{
|
||||||
|
player.sendPacket(new SystemMessage(SystemMessageId.YOU_CANNOT_ENTER_BECAUSE_YOU_DO_NOT_MEET_THE_REQUIREMENTS));
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
final long currentTime = Chronos.currentTimeMillis();
|
||||||
|
final List<Player> members = party.getMembers();
|
||||||
|
for (Player member : members)
|
||||||
|
{
|
||||||
|
if (!member.isInsideRadius3D(npc, 1000))
|
||||||
|
{
|
||||||
|
player.sendMessage("Player " + member.getName() + " must come closer.");
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
for (int id : TEMPLATE_IDS)
|
||||||
|
{
|
||||||
|
if (currentTime < InstanceManager.getInstance().getInstanceTime(member, id))
|
||||||
|
{
|
||||||
|
final SystemMessage msg = new SystemMessage(SystemMessageId.SINCE_C1_ENTERED_ANOTHER_INSTANCE_ZONE_THEREFORE_YOU_CANNOT_ENTER_THIS_DUNGEON);
|
||||||
|
msg.addString(member.getName());
|
||||||
|
party.broadcastToPartyMembers(member, msg);
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
for (Player member : members)
|
||||||
|
{
|
||||||
|
enterInstance(member, npc, templateId);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (player.isGM())
|
||||||
|
{
|
||||||
|
enterInstance(player, npc, templateId);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
enterInstance(player, npc, TEMPLATE_IDS[0]);
|
player.sendPacket(new SystemMessage(SystemMessageId.YOU_ARE_NOT_CURRENTLY_IN_A_PARTY_SO_YOU_CANNOT_ENTER));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (player.getInstanceWorld() != null)
|
if (player.getInstanceWorld() != null)
|
||||||
{
|
{
|
||||||
startQuestTimer("check_status", 1000, null, player);
|
startQuestTimer("check_status", 1000, null, player);
|
||||||
|
@@ -17,12 +17,18 @@
|
|||||||
package instances.NightmareKamaloka;
|
package instances.NightmareKamaloka;
|
||||||
|
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
|
import org.l2jmobius.commons.util.Chronos;
|
||||||
|
import org.l2jmobius.gameserver.instancemanager.InstanceManager;
|
||||||
|
import org.l2jmobius.gameserver.model.Party;
|
||||||
import org.l2jmobius.gameserver.model.actor.Npc;
|
import org.l2jmobius.gameserver.model.actor.Npc;
|
||||||
import org.l2jmobius.gameserver.model.actor.Player;
|
import org.l2jmobius.gameserver.model.actor.Player;
|
||||||
import org.l2jmobius.gameserver.model.holders.ItemHolder;
|
import org.l2jmobius.gameserver.model.holders.ItemHolder;
|
||||||
import org.l2jmobius.gameserver.model.instancezone.Instance;
|
import org.l2jmobius.gameserver.model.instancezone.Instance;
|
||||||
|
import org.l2jmobius.gameserver.network.SystemMessageId;
|
||||||
|
import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
|
||||||
|
|
||||||
import instances.AbstractInstance;
|
import instances.AbstractInstance;
|
||||||
|
|
||||||
@@ -61,8 +67,8 @@ public class NightmareKamaloka extends AbstractInstance
|
|||||||
}
|
}
|
||||||
private static final int[] TEMPLATE_IDS =
|
private static final int[] TEMPLATE_IDS =
|
||||||
{
|
{
|
||||||
258,
|
258, // lv. 105
|
||||||
313
|
313, // lv. 110
|
||||||
};
|
};
|
||||||
|
|
||||||
public NightmareKamaloka()
|
public NightmareKamaloka()
|
||||||
@@ -80,7 +86,57 @@ public class NightmareKamaloka extends AbstractInstance
|
|||||||
{
|
{
|
||||||
if (event.contains("enterInstance"))
|
if (event.contains("enterInstance"))
|
||||||
{
|
{
|
||||||
enterInstance(player, npc, event.contains("110") ? TEMPLATE_IDS[1] : TEMPLATE_IDS[0]);
|
final int templateId = event.contains("110") ? TEMPLATE_IDS[1] : TEMPLATE_IDS[0];
|
||||||
|
if (player.isInParty())
|
||||||
|
{
|
||||||
|
final Party party = player.getParty();
|
||||||
|
if (!party.isLeader(player))
|
||||||
|
{
|
||||||
|
player.sendPacket(new SystemMessage(SystemMessageId.ONLY_A_PARTY_LEADER_CAN_MAKE_THE_REQUEST_TO_ENTER));
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (player.isInCommandChannel())
|
||||||
|
{
|
||||||
|
player.sendPacket(new SystemMessage(SystemMessageId.YOU_CANNOT_ENTER_BECAUSE_YOU_DO_NOT_MEET_THE_REQUIREMENTS));
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
final long currentTime = Chronos.currentTimeMillis();
|
||||||
|
final List<Player> members = party.getMembers();
|
||||||
|
for (Player member : members)
|
||||||
|
{
|
||||||
|
if (!member.isInsideRadius3D(npc, 1000))
|
||||||
|
{
|
||||||
|
player.sendMessage("Player " + member.getName() + " must come closer.");
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
for (int id : TEMPLATE_IDS)
|
||||||
|
{
|
||||||
|
if (currentTime < InstanceManager.getInstance().getInstanceTime(member, id))
|
||||||
|
{
|
||||||
|
final SystemMessage msg = new SystemMessage(SystemMessageId.SINCE_C1_ENTERED_ANOTHER_INSTANCE_ZONE_THEREFORE_YOU_CANNOT_ENTER_THIS_DUNGEON);
|
||||||
|
msg.addString(member.getName());
|
||||||
|
party.broadcastToPartyMembers(member, msg);
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
for (Player member : members)
|
||||||
|
{
|
||||||
|
enterInstance(member, npc, templateId);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (player.isGM())
|
||||||
|
{
|
||||||
|
enterInstance(player, npc, templateId);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
player.sendPacket(new SystemMessage(SystemMessageId.YOU_ARE_NOT_CURRENTLY_IN_A_PARTY_SO_YOU_CANNOT_ENTER));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else if ("SPAWN_BOSSES".equals(event))
|
else if ("SPAWN_BOSSES".equals(event))
|
||||||
{
|
{
|
||||||
|
@@ -18,6 +18,8 @@ package instances.SpiritForest;
|
|||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
import org.l2jmobius.commons.util.Chronos;
|
||||||
|
import org.l2jmobius.gameserver.instancemanager.InstanceManager;
|
||||||
import org.l2jmobius.gameserver.model.Party;
|
import org.l2jmobius.gameserver.model.Party;
|
||||||
import org.l2jmobius.gameserver.model.actor.Npc;
|
import org.l2jmobius.gameserver.model.actor.Npc;
|
||||||
import org.l2jmobius.gameserver.model.actor.Player;
|
import org.l2jmobius.gameserver.model.actor.Player;
|
||||||
@@ -36,8 +38,8 @@ public class SpiritForest extends AbstractInstance
|
|||||||
{
|
{
|
||||||
private static final int[] TEMPLATE_IDS =
|
private static final int[] TEMPLATE_IDS =
|
||||||
{
|
{
|
||||||
310,
|
310, // lv. 110
|
||||||
314
|
314, // lv. 105
|
||||||
};
|
};
|
||||||
|
|
||||||
public SpiritForest()
|
public SpiritForest()
|
||||||
@@ -51,7 +53,8 @@ public class SpiritForest extends AbstractInstance
|
|||||||
{
|
{
|
||||||
if (event.contains("enterInstance"))
|
if (event.contains("enterInstance"))
|
||||||
{
|
{
|
||||||
final int templateId = event.contains("105") ? TEMPLATE_IDS[1] : TEMPLATE_IDS[0];
|
|
||||||
|
final int templateId = event.contains("110") ? TEMPLATE_IDS[0] : TEMPLATE_IDS[1];
|
||||||
if (player.isInParty())
|
if (player.isInParty())
|
||||||
{
|
{
|
||||||
final Party party = player.getParty();
|
final Party party = player.getParty();
|
||||||
@@ -67,6 +70,7 @@ public class SpiritForest extends AbstractInstance
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
final long currentTime = Chronos.currentTimeMillis();
|
||||||
final List<Player> members = party.getMembers();
|
final List<Player> members = party.getMembers();
|
||||||
for (Player member : members)
|
for (Player member : members)
|
||||||
{
|
{
|
||||||
@@ -75,6 +79,17 @@ public class SpiritForest extends AbstractInstance
|
|||||||
player.sendMessage("Player " + member.getName() + " must go closer to Gatekeeper Spirit.");
|
player.sendMessage("Player " + member.getName() + " must go closer to Gatekeeper Spirit.");
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
for (int id : TEMPLATE_IDS)
|
||||||
|
{
|
||||||
|
if (currentTime < InstanceManager.getInstance().getInstanceTime(member, id))
|
||||||
|
{
|
||||||
|
final SystemMessage msg = new SystemMessage(SystemMessageId.SINCE_C1_ENTERED_ANOTHER_INSTANCE_ZONE_THEREFORE_YOU_CANNOT_ENTER_THIS_DUNGEON);
|
||||||
|
msg.addString(member.getName());
|
||||||
|
party.broadcastToPartyMembers(member, msg);
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
for (Player member : members)
|
for (Player member : members)
|
||||||
|
Reference in New Issue
Block a user