Addition of Spirit Forest instance.
Contributed by manax182.
This commit is contained in:
@@ -3,4 +3,5 @@ Welcome! My name is Benusta. I help adventurers to travel to instance zones. I c
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest BaylorWarzone enterInstance">Fight Baylor</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest NightmareKamaloka enterInstance">Go to Nightmare Kamaloka</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest AshenShadowRevolutionaries enterInstance">Go to Ashen Shadow Revolutionaries</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest SpiritForest enterInstance">Spirit Forest</Button>
|
||||
</body></html>
|
56
L2J_Mobius_9.0_ReturnOfTheQueenAnt/dist/game/data/instances/SpiritForest.xml
vendored
Normal file
56
L2J_Mobius_9.0_ReturnOfTheQueenAnt/dist/game/data/instances/SpiritForest.xml
vendored
Normal file
@@ -0,0 +1,56 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!-- Spirit Forest -->
|
||||
<instance id="310" maxWorlds="100" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../xsd/instance.xsd">
|
||||
<time duration="60" empty="1" />
|
||||
<locations>
|
||||
<enter type="FIXED">
|
||||
<location x="-83306" y="244696" z="-14160" heading="0" /> <!-- Spirit Forest -->
|
||||
</enter>
|
||||
<exit type="ORIGIN" />
|
||||
</locations>
|
||||
<conditions>
|
||||
<condition type="GroupMin">
|
||||
<param name="limit" value="5" />
|
||||
</condition>
|
||||
<condition type="GroupMax">
|
||||
<param name="limit" value="7" />
|
||||
</condition>
|
||||
<condition type="Level">
|
||||
<param name="min" value="110" />
|
||||
</condition>
|
||||
<condition type="Distance" />
|
||||
<condition type="Reenter" />
|
||||
</conditions>
|
||||
<reenter apply="ON_FINISH">
|
||||
<reset day="SATURDAY" hour="6" minute="30" />
|
||||
</reenter>
|
||||
<spawnlist>
|
||||
<group name="general" spawnByDefault="true">
|
||||
<npc id="24630" x="-81336" y="245944" z="-14157" heading="16530" respawnTime="60sec" /> <!-- Evolved Growler -->
|
||||
<npc id="24629" x="-81912" y="245480" z="-14157" heading="4942" respawnTime="60sec" /> <!-- Growler -->
|
||||
<npc id="24629" x="-81640" y="246168" z="-14157" heading="10603" respawnTime="60sec" /> <!-- Growler -->
|
||||
<npc id="24629" x="-81848" y="246664" z="-14157" heading="18802" respawnTime="60sec" /> <!-- Growler -->
|
||||
<npc id="24629" x="-82744" y="246344" z="-14153" heading="54507" respawnTime="60sec" /> <!-- Growler -->
|
||||
<npc id="24629" x="-82856" y="245848" z="-14160" heading="46992" respawnTime="60sec" /> <!-- Growler -->
|
||||
<npc id="24629" x="-82449" y="245293" z="-14160" heading="55619" respawnTime="60sec" /> <!-- Growler -->
|
||||
<npc id="24627" x="-82312" y="245528" z="-14157" heading="18259" respawnTime="60sec" /> <!-- Kiku -->
|
||||
<npc id="24627" x="-81944" y="245864" z="-14156" heading="7064" respawnTime="60sec" /> <!-- Kiku -->
|
||||
<npc id="24627" x="-81960" y="246376" z="-14157" heading="21032" respawnTime="60sec" /> <!-- Kiku -->
|
||||
<npc id="24627" x="-82456" y="246568" z="-14154" heading="30288" respawnTime="60sec" /> <!-- Kiku -->
|
||||
<npc id="24628" x="-82216" y="246200" z="-14158" heading="50624" respawnTime="60sec" /> <!-- Honeybee -->
|
||||
<npc id="24628" x="-83000" y="246056" z="-14156" heading="64254" respawnTime="60sec" /> <!-- Honeybee -->
|
||||
<npc id="24625" x="-82328" y="245928" z="-14160" heading="57922" respawnTime="60sec" /> <!-- Treant -->
|
||||
<npc id="24625" x="-82696" y="246072" z="-14149" heading="17355" respawnTime="60sec" /> <!-- Treant -->
|
||||
<npc id="24625" x="-81784" y="245592" z="-14157" heading="62351" respawnTime="60sec" /> <!-- Treant -->
|
||||
<npc id="24625" x="-81784" y="245704" z="-14157" heading="16979" respawnTime="60sec" /> <!-- Treant -->
|
||||
<npc id="24626" x="-82712" y="245576" z="-14152" heading="36094" respawnTime="60sec" /> <!-- Ratel -->
|
||||
<npc id="24626" x="-81848" y="246232" z="-14157" heading="7048" respawnTime="60sec" /> <!-- Ratel -->
|
||||
<npc id="24626" x="-82168" y="245272" z="-14160" heading="45511" respawnTime="60sec" /> <!-- Ratel -->
|
||||
<npc id="24629" x="-82120" y="246424" z="-14154" heading="15639" respawnTime="60sec" /> <!-- Growler -->
|
||||
<npc id="24630" x="-82712" y="246552" z="-14153" heading="27043" respawnTime="60sec" /> <!-- Evolved Growler -->
|
||||
<npc id="24629" x="-82968" y="246264" z="-14151" heading="41494" respawnTime="60sec" /> <!-- Growler -->
|
||||
<npc id="24627" x="-82696" y="245384" z="-14153" heading="59660" respawnTime="60sec" /> <!-- Kiku -->
|
||||
<npc id="24628" x="-82136" y="245448" z="-14158" heading="1108" respawnTime="60sec" /> <!-- Honeybee -->
|
||||
</group>
|
||||
</spawnlist>
|
||||
</instance>
|
109
L2J_Mobius_9.0_ReturnOfTheQueenAnt/dist/game/data/scripts/instances/SpiritForest/SpiritForest.java
vendored
Normal file
109
L2J_Mobius_9.0_ReturnOfTheQueenAnt/dist/game/data/scripts/instances/SpiritForest/SpiritForest.java
vendored
Normal file
@@ -0,0 +1,109 @@
|
||||
/*
|
||||
* This file is part of the L2J Mobius project.
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package instances.SpiritForest;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import org.l2jmobius.gameserver.model.Party;
|
||||
import org.l2jmobius.gameserver.model.actor.Npc;
|
||||
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
||||
import org.l2jmobius.gameserver.model.instancezone.Instance;
|
||||
import org.l2jmobius.gameserver.network.NpcStringId;
|
||||
import org.l2jmobius.gameserver.network.SystemMessageId;
|
||||
import org.l2jmobius.gameserver.network.serverpackets.ExSendUIEvent;
|
||||
import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
|
||||
|
||||
import instances.AbstractInstance;
|
||||
|
||||
/**
|
||||
* @author Manax, Mobius
|
||||
*/
|
||||
public class SpiritForest extends AbstractInstance
|
||||
{
|
||||
private static final int TEMPLATE = 310; // Spirit Forest
|
||||
|
||||
public SpiritForest()
|
||||
{
|
||||
super(TEMPLATE);
|
||||
addInstanceLeaveId(TEMPLATE);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onAdvEvent(String event, Npc npc, PlayerInstance player)
|
||||
{
|
||||
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 List<PlayerInstance> members = party.getMembers();
|
||||
for (PlayerInstance member : members)
|
||||
{
|
||||
if (!member.isInsideRadius3D(npc, 1000))
|
||||
{
|
||||
player.sendMessage("Player " + member.getName() + " must go closer to Gatekeeper Spirit.");
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
for (PlayerInstance member : members)
|
||||
{
|
||||
enterInstance(member, npc, TEMPLATE);
|
||||
}
|
||||
}
|
||||
else if (player.isGM())
|
||||
{
|
||||
enterInstance(player, npc, TEMPLATE);
|
||||
}
|
||||
else
|
||||
{
|
||||
player.sendPacket(new SystemMessage(SystemMessageId.YOU_ARE_NOT_CURRENTLY_IN_A_PARTY_SO_YOU_CANNOT_ENTER));
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onEnter(PlayerInstance player, Instance instance, boolean firstEnter)
|
||||
{
|
||||
super.onEnter(player, instance, firstEnter);
|
||||
player.sendPacket(new ExSendUIEvent(player, false, false, Math.min(3600000, (int) (instance.getRemainingTime() / 1000)), 0, NpcStringId.TIME_LEFT));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onInstanceLeave(PlayerInstance player, Instance instance)
|
||||
{
|
||||
player.sendPacket(new ExSendUIEvent(player, true, false, 3600, 0, NpcStringId.TIME_LEFT));
|
||||
}
|
||||
|
||||
public static void main(String[] args)
|
||||
{
|
||||
new SpiritForest();
|
||||
}
|
||||
}
|
@@ -3,4 +3,5 @@ Welcome! My name is Benusta. I help adventurers to travel to instance zones. I c
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest BaylorWarzone enterInstance">Fight Baylor</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest NightmareKamaloka enterInstance">Go to Nightmare Kamaloka</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest AshenShadowRevolutionaries enterInstance">Go to Ashen Shadow Revolutionaries</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest SpiritForest enterInstance">Spirit Forest</Button>
|
||||
</body></html>
|
56
L2J_Mobius_9.2_ReturnOfTheQueenAnt_Ch2/dist/game/data/instances/SpiritForest.xml
vendored
Normal file
56
L2J_Mobius_9.2_ReturnOfTheQueenAnt_Ch2/dist/game/data/instances/SpiritForest.xml
vendored
Normal file
@@ -0,0 +1,56 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!-- Spirit Forest -->
|
||||
<instance id="310" maxWorlds="100" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../xsd/instance.xsd">
|
||||
<time duration="60" empty="1" />
|
||||
<locations>
|
||||
<enter type="FIXED">
|
||||
<location x="-83306" y="244696" z="-14160" heading="0" /> <!-- Spirit Forest -->
|
||||
</enter>
|
||||
<exit type="ORIGIN" />
|
||||
</locations>
|
||||
<conditions>
|
||||
<condition type="GroupMin">
|
||||
<param name="limit" value="5" />
|
||||
</condition>
|
||||
<condition type="GroupMax">
|
||||
<param name="limit" value="7" />
|
||||
</condition>
|
||||
<condition type="Level">
|
||||
<param name="min" value="110" />
|
||||
</condition>
|
||||
<condition type="Distance" />
|
||||
<condition type="Reenter" />
|
||||
</conditions>
|
||||
<reenter apply="ON_FINISH">
|
||||
<reset day="SATURDAY" hour="6" minute="30" />
|
||||
</reenter>
|
||||
<spawnlist>
|
||||
<group name="general" spawnByDefault="true">
|
||||
<npc id="24630" x="-81336" y="245944" z="-14157" heading="16530" respawnTime="60sec" /> <!-- Evolved Growler -->
|
||||
<npc id="24629" x="-81912" y="245480" z="-14157" heading="4942" respawnTime="60sec" /> <!-- Growler -->
|
||||
<npc id="24629" x="-81640" y="246168" z="-14157" heading="10603" respawnTime="60sec" /> <!-- Growler -->
|
||||
<npc id="24629" x="-81848" y="246664" z="-14157" heading="18802" respawnTime="60sec" /> <!-- Growler -->
|
||||
<npc id="24629" x="-82744" y="246344" z="-14153" heading="54507" respawnTime="60sec" /> <!-- Growler -->
|
||||
<npc id="24629" x="-82856" y="245848" z="-14160" heading="46992" respawnTime="60sec" /> <!-- Growler -->
|
||||
<npc id="24629" x="-82449" y="245293" z="-14160" heading="55619" respawnTime="60sec" /> <!-- Growler -->
|
||||
<npc id="24627" x="-82312" y="245528" z="-14157" heading="18259" respawnTime="60sec" /> <!-- Kiku -->
|
||||
<npc id="24627" x="-81944" y="245864" z="-14156" heading="7064" respawnTime="60sec" /> <!-- Kiku -->
|
||||
<npc id="24627" x="-81960" y="246376" z="-14157" heading="21032" respawnTime="60sec" /> <!-- Kiku -->
|
||||
<npc id="24627" x="-82456" y="246568" z="-14154" heading="30288" respawnTime="60sec" /> <!-- Kiku -->
|
||||
<npc id="24628" x="-82216" y="246200" z="-14158" heading="50624" respawnTime="60sec" /> <!-- Honeybee -->
|
||||
<npc id="24628" x="-83000" y="246056" z="-14156" heading="64254" respawnTime="60sec" /> <!-- Honeybee -->
|
||||
<npc id="24625" x="-82328" y="245928" z="-14160" heading="57922" respawnTime="60sec" /> <!-- Treant -->
|
||||
<npc id="24625" x="-82696" y="246072" z="-14149" heading="17355" respawnTime="60sec" /> <!-- Treant -->
|
||||
<npc id="24625" x="-81784" y="245592" z="-14157" heading="62351" respawnTime="60sec" /> <!-- Treant -->
|
||||
<npc id="24625" x="-81784" y="245704" z="-14157" heading="16979" respawnTime="60sec" /> <!-- Treant -->
|
||||
<npc id="24626" x="-82712" y="245576" z="-14152" heading="36094" respawnTime="60sec" /> <!-- Ratel -->
|
||||
<npc id="24626" x="-81848" y="246232" z="-14157" heading="7048" respawnTime="60sec" /> <!-- Ratel -->
|
||||
<npc id="24626" x="-82168" y="245272" z="-14160" heading="45511" respawnTime="60sec" /> <!-- Ratel -->
|
||||
<npc id="24629" x="-82120" y="246424" z="-14154" heading="15639" respawnTime="60sec" /> <!-- Growler -->
|
||||
<npc id="24630" x="-82712" y="246552" z="-14153" heading="27043" respawnTime="60sec" /> <!-- Evolved Growler -->
|
||||
<npc id="24629" x="-82968" y="246264" z="-14151" heading="41494" respawnTime="60sec" /> <!-- Growler -->
|
||||
<npc id="24627" x="-82696" y="245384" z="-14153" heading="59660" respawnTime="60sec" /> <!-- Kiku -->
|
||||
<npc id="24628" x="-82136" y="245448" z="-14158" heading="1108" respawnTime="60sec" /> <!-- Honeybee -->
|
||||
</group>
|
||||
</spawnlist>
|
||||
</instance>
|
@@ -0,0 +1,109 @@
|
||||
/*
|
||||
* This file is part of the L2J Mobius project.
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package instances.SpiritForest;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import org.l2jmobius.gameserver.model.Party;
|
||||
import org.l2jmobius.gameserver.model.actor.Npc;
|
||||
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
||||
import org.l2jmobius.gameserver.model.instancezone.Instance;
|
||||
import org.l2jmobius.gameserver.network.NpcStringId;
|
||||
import org.l2jmobius.gameserver.network.SystemMessageId;
|
||||
import org.l2jmobius.gameserver.network.serverpackets.ExSendUIEvent;
|
||||
import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
|
||||
|
||||
import instances.AbstractInstance;
|
||||
|
||||
/**
|
||||
* @author Manax, Mobius
|
||||
*/
|
||||
public class SpiritForest extends AbstractInstance
|
||||
{
|
||||
private static final int TEMPLATE = 310; // Spirit Forest
|
||||
|
||||
public SpiritForest()
|
||||
{
|
||||
super(TEMPLATE);
|
||||
addInstanceLeaveId(TEMPLATE);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onAdvEvent(String event, Npc npc, PlayerInstance player)
|
||||
{
|
||||
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 List<PlayerInstance> members = party.getMembers();
|
||||
for (PlayerInstance member : members)
|
||||
{
|
||||
if (!member.isInsideRadius3D(npc, 1000))
|
||||
{
|
||||
player.sendMessage("Player " + member.getName() + " must go closer to Gatekeeper Spirit.");
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
for (PlayerInstance member : members)
|
||||
{
|
||||
enterInstance(member, npc, TEMPLATE);
|
||||
}
|
||||
}
|
||||
else if (player.isGM())
|
||||
{
|
||||
enterInstance(player, npc, TEMPLATE);
|
||||
}
|
||||
else
|
||||
{
|
||||
player.sendPacket(new SystemMessage(SystemMessageId.YOU_ARE_NOT_CURRENTLY_IN_A_PARTY_SO_YOU_CANNOT_ENTER));
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onEnter(PlayerInstance player, Instance instance, boolean firstEnter)
|
||||
{
|
||||
super.onEnter(player, instance, firstEnter);
|
||||
player.sendPacket(new ExSendUIEvent(player, false, false, Math.min(3600000, (int) (instance.getRemainingTime() / 1000)), 0, NpcStringId.TIME_LEFT));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onInstanceLeave(PlayerInstance player, Instance instance)
|
||||
{
|
||||
player.sendPacket(new ExSendUIEvent(player, true, false, 3600, 0, NpcStringId.TIME_LEFT));
|
||||
}
|
||||
|
||||
public static void main(String[] args)
|
||||
{
|
||||
new SpiritForest();
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user