Fellow AI addition and Ateld adjustments.

Contributed by robikbobik.
This commit is contained in:
MobiusDevelopment 2019-10-22 11:35:42 +00:00
parent b1ab7dae02
commit b3bac72219
20 changed files with 680 additions and 32 deletions

View File

@ -0,0 +1,4 @@
<html><body>Fellow:<br>
If you are not a member, I cannot help you with anything. Or do you think that such an insignificant number will overcome Antharas? Ha-ha-ha!!!<br>
<Button ALIGN=LEFT ICON="RETURN" action="bypass -h npc_%objectId%_Chat 0">Return</Button>
</body></html>

View File

@ -0,0 +1,6 @@
<html><body>Fellow:<br>
We've received terrible news! It seems that <font color="LEVEL">Antharas</font> is awake! For now the dragon is sealed, but the seal will soon be broken, the beast will break free and burn Giran to the ground.<br>
Do you have courage to break into Antharas' Nest and prevent an upcoming disaster? Only the bravest warriors can stop the dragon!<br>
I can only teleport characters of <font color="LEVEL">level 70</font> and higher. <font color="LEVEL">an alliance leader must speak to me, and I will use the power of Antharas Watchman Theodric to teleport the alliance consisting of 27-300 members to Antharas' Lair.</font><br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Fellow teleToAntharas">Teleport to Antharas' Nest</Button>
</body></html>

View File

@ -0,0 +1,99 @@
/*
* 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 ai.areas.DragonValley.Fellow;
import org.l2jmobius.commons.util.Rnd;
import org.l2jmobius.gameserver.enums.ChatType;
import org.l2jmobius.gameserver.model.Location;
import org.l2jmobius.gameserver.model.actor.Npc;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
import org.l2jmobius.gameserver.network.NpcStringId;
import org.l2jmobius.gameserver.network.serverpackets.NpcSay;
import ai.AbstractNpcAI;
/**
* @author RobikBobik
*/
public class Fellow extends AbstractNpcAI
{
// NPC
private static final int FELLOW = 31713;
// Location - Antharas Heart
private static final Location TELEPORT_LOC = new Location(154376, 121290, -3807);
// Misc
private static final NpcStringId[] TEXT =
{
NpcStringId.LET_S_JOIN_OUR_FORCES_AND_FACE_THIS_TOGETHER,
NpcStringId.BALTHUS_KNIGHTS_ARE_LOOKING_FOR_MERCENARIES
};
private Fellow()
{
addFirstTalkId(FELLOW);
addTalkId(FELLOW);
addSpawnId(FELLOW);
}
@Override
public String onAdvEvent(String event, Npc npc, PlayerInstance player)
{
switch (event)
{
case "teleToAntharas":
{
if ((player.getCommandChannel() == null) || (player.getCommandChannel().getLeader() != player) || (player.getCommandChannel().getMemberCount() < 27) || (player.getCommandChannel().getMemberCount() > 300))
{
return "31713-01.html";
}
for (PlayerInstance member : player.getCommandChannel().getMembers())
{
if ((member != null) && (member.getLevel() > 70))
{
member.teleToLocation(TELEPORT_LOC);
}
}
break;
}
case "CHAT_TIMER":
{
npc.broadcastPacket(new NpcSay(npc, ChatType.NPC_GENERAL, TEXT[Rnd.get(TEXT.length)]));
startQuestTimer("CHAT_TIMER", 30000, npc, null);
break;
}
}
return null;
}
@Override
public String onFirstTalk(Npc npc, PlayerInstance player)
{
return "31713.html";
}
@Override
public String onSpawn(Npc npc)
{
startQuestTimer("CHAT_TIMER", 5000, npc, null);
return super.onSpawn(npc);
}
public static void main(String[] args)
{
new Fellow();
}
}

View File

@ -16,9 +16,13 @@
*/
package ai.areas.TowerOfInsolence.Ateld;
import org.l2jmobius.commons.util.Rnd;
import org.l2jmobius.gameserver.enums.ChatType;
import org.l2jmobius.gameserver.model.Location;
import org.l2jmobius.gameserver.model.actor.Npc;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
import org.l2jmobius.gameserver.network.NpcStringId;
import org.l2jmobius.gameserver.network.serverpackets.NpcSay;
import ai.AbstractNpcAI;
@ -31,28 +35,45 @@ public class Ateld extends AbstractNpcAI
private static final int ATELD = 31714;
// Location
private static final Location TELEPORT_LOC = new Location(115322, 16756, 9012);
// Misc
private static final NpcStringId[] TEXT =
{
NpcStringId.LET_S_JOIN_OUR_FORCES_AND_FACE_THIS_TOGETHER,
NpcStringId.BALTHUS_KNIGHTS_ARE_LOOKING_FOR_MERCENARIES
};
private Ateld()
{
addFirstTalkId(ATELD);
addTalkId(ATELD);
addSpawnId(ATELD);
}
@Override
public String onAdvEvent(String event, Npc npc, PlayerInstance player)
{
if (event.equals("teleToBaium"))
switch (event)
{
if ((player.getCommandChannel() == null) || (player.getCommandChannel().getLeader() != player) || (player.getCommandChannel().getMemberCount() < 27) || (player.getCommandChannel().getMemberCount() > 300))
case "teleToBaium":
{
return "31714-01.html";
}
for (PlayerInstance member : player.getCommandChannel().getMembers())
{
if ((member != null) && (member.getLevel() > 70))
if ((player.getCommandChannel() == null) || (player.getCommandChannel().getLeader() != player) || (player.getCommandChannel().getMemberCount() < 27) || (player.getCommandChannel().getMemberCount() > 300))
{
member.teleToLocation(TELEPORT_LOC);
return "31714-01.html";
}
for (PlayerInstance member : player.getCommandChannel().getMembers())
{
if ((member != null) && (member.getLevel() > 70))
{
member.teleToLocation(TELEPORT_LOC);
}
}
break;
}
case "CHAT_TIMER":
{
npc.broadcastPacket(new NpcSay(npc, ChatType.NPC_GENERAL, TEXT[Rnd.get(TEXT.length)]));
startQuestTimer("CHAT_TIMER", 30000, npc, null);
break;
}
}
return null;
@ -64,6 +85,13 @@ public class Ateld extends AbstractNpcAI
return "31714.html";
}
@Override
public String onSpawn(Npc npc)
{
startQuestTimer("CHAT_TIMER", 5000, npc, null);
return super.onSpawn(npc);
}
public static void main(String[] args)
{
new Ateld();

View File

@ -953,6 +953,31 @@
<npc id="31045" x="122716" y="110720" z="-3728" heading="16384" respawnTime="60sec" />
<npc id="31044" x="122904" y="110828" z="-3728" heading="24576" respawnTime="60sec" />
<npc id="30834" x="105792" y="114290" z="-3136" heading="49000" respawnTime="60sec" />
<npc id="19133" x="130797" y="115117" z="-3721" heading="51929" respawnTime="60sec" /> <!-- Expedition Member -->
<npc id="19133" x="130741" y="115114" z="-3725" heading="51929" respawnTime="60sec" /> <!-- Expedition Member -->
<npc id="19133" x="130685" y="115105" z="-3728" heading="51929" respawnTime="60sec" /> <!-- Expedition Member -->
<npc id="19133" x="130630" y="115104" z="-3733" heading="51929" respawnTime="60sec" /> <!-- Expedition Member -->
<npc id="19133" x="130583" y="115101" z="-3738" heading="51929" respawnTime="60sec" /> <!-- Expedition Member -->
<npc id="19133" x="130536" y="115096" z="-3744" heading="51929" respawnTime="60sec" /> <!-- Expedition Member -->
<npc id="19133" x="130485" y="115090" z="-3753" heading="51929" respawnTime="60sec" /> <!-- Expedition Member -->
<npc id="19133" x="130439" y="115087" z="-3760" heading="51929" respawnTime="60sec" /> <!-- Expedition Member -->
<npc id="19136" x="130482" y="115141" z="-3752" heading="51929" respawnTime="60sec" /> <!-- Expedition Member -->
<npc id="19136" x="130439" y="115135" z="-3757" heading="51929" respawnTime="60sec" /> <!-- Expedition Member -->
<npc id="19136" x="130531" y="115142" z="-3745" heading="51929" respawnTime="60sec" /> <!-- Expedition Member -->
<npc id="19136" x="130578" y="115144" z="-3738" heading="51929" respawnTime="60sec" /> <!-- Expedition Member -->
<npc id="19136" x="130627" y="115144" z="-3733" heading="51929" respawnTime="60sec" /> <!-- Expedition Member -->
<npc id="19136" x="130685" y="115150" z="-3727" heading="51929" respawnTime="60sec" /> <!-- Expedition Member -->
<npc id="19136" x="130736" y="115154" z="-3724" heading="51929" respawnTime="60sec" /> <!-- Expedition Member -->
<npc id="19136" x="130793" y="115151" z="-3721" heading="51929" respawnTime="60sec" /> <!-- Expedition Member -->
<npc id="19137" x="130786" y="115192" z="-3721" heading="51929" respawnTime="60sec" /> <!-- Expedition Member -->
<npc id="19137" x="130728" y="115193" z="-3723" heading="51929" respawnTime="60sec" /> <!-- Expedition Member -->
<npc id="19137" x="130677" y="115192" z="-3726" heading="51929" respawnTime="60sec" /> <!-- Expedition Member -->
<npc id="19137" x="130622" y="115179" z="-3733" heading="51929" respawnTime="60sec" /> <!-- Expedition Member -->
<npc id="19137" x="130568" y="115179" z="-3739" heading="51929" respawnTime="60sec" /> <!-- Expedition Member -->
<npc id="19137" x="130522" y="115175" z="-3745" heading="51929" respawnTime="60sec" /> <!-- Expedition Member -->
<npc id="19137" x="130471" y="115180" z="-3751" heading="51929" respawnTime="60sec" /> <!-- Expedition Member -->
<npc id="19137" x="130429" y="115170" z="-3757" heading="51929" respawnTime="60sec" /> <!-- Expedition Member -->
<npc id="31713" x="130641" y="115011" z="-3735" heading="51929" respawnTime="60sec" /> <!-- Fellow -->
</group>
</spawn>
<spawn>

View File

@ -0,0 +1,4 @@
<html><body>Fellow:<br>
If you are not a member, I cannot help you with anything. Or do you think that such an insignificant number will overcome Antharas? Ha-ha-ha!!!<br>
<Button ALIGN=LEFT ICON="RETURN" action="bypass -h npc_%objectId%_Chat 0">Return</Button>
</body></html>

View File

@ -0,0 +1,6 @@
<html><body>Fellow:<br>
We've received terrible news! It seems that <font color="LEVEL">Antharas</font> is awake! For now the dragon is sealed, but the seal will soon be broken, the beast will break free and burn Giran to the ground.<br>
Do you have courage to break into Antharas' Nest and prevent an upcoming disaster? Only the bravest warriors can stop the dragon!<br>
I can only teleport characters of <font color="LEVEL">level 70</font> and higher. <font color="LEVEL">an alliance leader must speak to me, and I will use the power of Antharas Watchman Theodric to teleport the alliance consisting of 27-300 members to Antharas' Lair.</font><br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Fellow teleToAntharas">Teleport to Antharas' Nest</Button>
</body></html>

View File

@ -0,0 +1,99 @@
/*
* 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 ai.areas.DragonValley.Fellow;
import org.l2jmobius.commons.util.Rnd;
import org.l2jmobius.gameserver.enums.ChatType;
import org.l2jmobius.gameserver.model.Location;
import org.l2jmobius.gameserver.model.actor.Npc;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
import org.l2jmobius.gameserver.network.NpcStringId;
import org.l2jmobius.gameserver.network.serverpackets.NpcSay;
import ai.AbstractNpcAI;
/**
* @author RobikBobik
*/
public class Fellow extends AbstractNpcAI
{
// NPC
private static final int FELLOW = 31713;
// Location - Antharas Heart
private static final Location TELEPORT_LOC = new Location(154376, 121290, -3807);
// Misc
private static final NpcStringId[] TEXT =
{
NpcStringId.LET_S_JOIN_OUR_FORCES_AND_FACE_THIS_TOGETHER,
NpcStringId.BALTHUS_KNIGHTS_ARE_LOOKING_FOR_MERCENARIES
};
private Fellow()
{
addFirstTalkId(FELLOW);
addTalkId(FELLOW);
addSpawnId(FELLOW);
}
@Override
public String onAdvEvent(String event, Npc npc, PlayerInstance player)
{
switch (event)
{
case "teleToAntharas":
{
if ((player.getCommandChannel() == null) || (player.getCommandChannel().getLeader() != player) || (player.getCommandChannel().getMemberCount() < 27) || (player.getCommandChannel().getMemberCount() > 300))
{
return "31713-01.html";
}
for (PlayerInstance member : player.getCommandChannel().getMembers())
{
if ((member != null) && (member.getLevel() > 70))
{
member.teleToLocation(TELEPORT_LOC);
}
}
break;
}
case "CHAT_TIMER":
{
npc.broadcastPacket(new NpcSay(npc, ChatType.NPC_GENERAL, TEXT[Rnd.get(TEXT.length)]));
startQuestTimer("CHAT_TIMER", 30000, npc, null);
break;
}
}
return null;
}
@Override
public String onFirstTalk(Npc npc, PlayerInstance player)
{
return "31713.html";
}
@Override
public String onSpawn(Npc npc)
{
startQuestTimer("CHAT_TIMER", 5000, npc, null);
return super.onSpawn(npc);
}
public static void main(String[] args)
{
new Fellow();
}
}

View File

@ -16,9 +16,13 @@
*/
package ai.areas.TowerOfInsolence.Ateld;
import org.l2jmobius.commons.util.Rnd;
import org.l2jmobius.gameserver.enums.ChatType;
import org.l2jmobius.gameserver.model.Location;
import org.l2jmobius.gameserver.model.actor.Npc;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
import org.l2jmobius.gameserver.network.NpcStringId;
import org.l2jmobius.gameserver.network.serverpackets.NpcSay;
import ai.AbstractNpcAI;
@ -31,28 +35,45 @@ public class Ateld extends AbstractNpcAI
private static final int ATELD = 31714;
// Location
private static final Location TELEPORT_LOC = new Location(115322, 16756, 9012);
// Misc
private static final NpcStringId[] TEXT =
{
NpcStringId.LET_S_JOIN_OUR_FORCES_AND_FACE_THIS_TOGETHER,
NpcStringId.BALTHUS_KNIGHTS_ARE_LOOKING_FOR_MERCENARIES
};
private Ateld()
{
addFirstTalkId(ATELD);
addTalkId(ATELD);
addSpawnId(ATELD);
}
@Override
public String onAdvEvent(String event, Npc npc, PlayerInstance player)
{
if (event.equals("teleToBaium"))
switch (event)
{
if ((player.getCommandChannel() == null) || (player.getCommandChannel().getLeader() != player) || (player.getCommandChannel().getMemberCount() < 27) || (player.getCommandChannel().getMemberCount() > 300))
case "teleToBaium":
{
return "31714-01.html";
}
for (PlayerInstance member : player.getCommandChannel().getMembers())
{
if ((member != null) && (member.getLevel() > 70))
if ((player.getCommandChannel() == null) || (player.getCommandChannel().getLeader() != player) || (player.getCommandChannel().getMemberCount() < 27) || (player.getCommandChannel().getMemberCount() > 300))
{
member.teleToLocation(TELEPORT_LOC);
return "31714-01.html";
}
for (PlayerInstance member : player.getCommandChannel().getMembers())
{
if ((member != null) && (member.getLevel() > 70))
{
member.teleToLocation(TELEPORT_LOC);
}
}
break;
}
case "CHAT_TIMER":
{
npc.broadcastPacket(new NpcSay(npc, ChatType.NPC_GENERAL, TEXT[Rnd.get(TEXT.length)]));
startQuestTimer("CHAT_TIMER", 30000, npc, null);
break;
}
}
return null;
@ -64,6 +85,13 @@ public class Ateld extends AbstractNpcAI
return "31714.html";
}
@Override
public String onSpawn(Npc npc)
{
startQuestTimer("CHAT_TIMER", 5000, npc, null);
return super.onSpawn(npc);
}
public static void main(String[] args)
{
new Ateld();

View File

@ -953,6 +953,31 @@
<npc id="31045" x="122716" y="110720" z="-3728" heading="16384" respawnTime="60sec" />
<npc id="31044" x="122904" y="110828" z="-3728" heading="24576" respawnTime="60sec" />
<npc id="30834" x="105792" y="114290" z="-3136" heading="49000" respawnTime="60sec" />
<npc id="19133" x="130797" y="115117" z="-3721" heading="51929" respawnTime="60sec" /> <!-- Expedition Member -->
<npc id="19133" x="130741" y="115114" z="-3725" heading="51929" respawnTime="60sec" /> <!-- Expedition Member -->
<npc id="19133" x="130685" y="115105" z="-3728" heading="51929" respawnTime="60sec" /> <!-- Expedition Member -->
<npc id="19133" x="130630" y="115104" z="-3733" heading="51929" respawnTime="60sec" /> <!-- Expedition Member -->
<npc id="19133" x="130583" y="115101" z="-3738" heading="51929" respawnTime="60sec" /> <!-- Expedition Member -->
<npc id="19133" x="130536" y="115096" z="-3744" heading="51929" respawnTime="60sec" /> <!-- Expedition Member -->
<npc id="19133" x="130485" y="115090" z="-3753" heading="51929" respawnTime="60sec" /> <!-- Expedition Member -->
<npc id="19133" x="130439" y="115087" z="-3760" heading="51929" respawnTime="60sec" /> <!-- Expedition Member -->
<npc id="19136" x="130482" y="115141" z="-3752" heading="51929" respawnTime="60sec" /> <!-- Expedition Member -->
<npc id="19136" x="130439" y="115135" z="-3757" heading="51929" respawnTime="60sec" /> <!-- Expedition Member -->
<npc id="19136" x="130531" y="115142" z="-3745" heading="51929" respawnTime="60sec" /> <!-- Expedition Member -->
<npc id="19136" x="130578" y="115144" z="-3738" heading="51929" respawnTime="60sec" /> <!-- Expedition Member -->
<npc id="19136" x="130627" y="115144" z="-3733" heading="51929" respawnTime="60sec" /> <!-- Expedition Member -->
<npc id="19136" x="130685" y="115150" z="-3727" heading="51929" respawnTime="60sec" /> <!-- Expedition Member -->
<npc id="19136" x="130736" y="115154" z="-3724" heading="51929" respawnTime="60sec" /> <!-- Expedition Member -->
<npc id="19136" x="130793" y="115151" z="-3721" heading="51929" respawnTime="60sec" /> <!-- Expedition Member -->
<npc id="19137" x="130786" y="115192" z="-3721" heading="51929" respawnTime="60sec" /> <!-- Expedition Member -->
<npc id="19137" x="130728" y="115193" z="-3723" heading="51929" respawnTime="60sec" /> <!-- Expedition Member -->
<npc id="19137" x="130677" y="115192" z="-3726" heading="51929" respawnTime="60sec" /> <!-- Expedition Member -->
<npc id="19137" x="130622" y="115179" z="-3733" heading="51929" respawnTime="60sec" /> <!-- Expedition Member -->
<npc id="19137" x="130568" y="115179" z="-3739" heading="51929" respawnTime="60sec" /> <!-- Expedition Member -->
<npc id="19137" x="130522" y="115175" z="-3745" heading="51929" respawnTime="60sec" /> <!-- Expedition Member -->
<npc id="19137" x="130471" y="115180" z="-3751" heading="51929" respawnTime="60sec" /> <!-- Expedition Member -->
<npc id="19137" x="130429" y="115170" z="-3757" heading="51929" respawnTime="60sec" /> <!-- Expedition Member -->
<npc id="31713" x="130641" y="115011" z="-3735" heading="51929" respawnTime="60sec" /> <!-- Fellow -->
</group>
</spawn>
<spawn>

View File

@ -0,0 +1,4 @@
<html><body>Fellow:<br>
If you are not a member, I cannot help you with anything. Or do you think that such an insignificant number will overcome Antharas? Ha-ha-ha!!!<br>
<Button ALIGN=LEFT ICON="RETURN" action="bypass -h npc_%objectId%_Chat 0">Return</Button>
</body></html>

View File

@ -0,0 +1,6 @@
<html><body>Fellow:<br>
We've received terrible news! It seems that <font color="LEVEL">Antharas</font> is awake! For now the dragon is sealed, but the seal will soon be broken, the beast will break free and burn Giran to the ground.<br>
Do you have courage to break into Antharas' Nest and prevent an upcoming disaster? Only the bravest warriors can stop the dragon!<br>
I can only teleport characters of <font color="LEVEL">level 70</font> and higher. <font color="LEVEL">an alliance leader must speak to me, and I will use the power of Antharas Watchman Theodric to teleport the alliance consisting of 27-300 members to Antharas' Lair.</font><br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Fellow teleToAntharas">Teleport to Antharas' Nest</Button>
</body></html>

View File

@ -0,0 +1,99 @@
/*
* 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 ai.areas.DragonValley.Fellow;
import org.l2jmobius.commons.util.Rnd;
import org.l2jmobius.gameserver.enums.ChatType;
import org.l2jmobius.gameserver.model.Location;
import org.l2jmobius.gameserver.model.actor.Npc;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
import org.l2jmobius.gameserver.network.NpcStringId;
import org.l2jmobius.gameserver.network.serverpackets.NpcSay;
import ai.AbstractNpcAI;
/**
* @author RobikBobik
*/
public class Fellow extends AbstractNpcAI
{
// NPC
private static final int FELLOW = 31713;
// Location - Antharas Heart
private static final Location TELEPORT_LOC = new Location(154376, 121290, -3807);
// Misc
private static final NpcStringId[] TEXT =
{
NpcStringId.LET_S_JOIN_OUR_FORCES_AND_FACE_THIS_TOGETHER,
NpcStringId.BALTHUS_KNIGHTS_ARE_LOOKING_FOR_MERCENARIES
};
private Fellow()
{
addFirstTalkId(FELLOW);
addTalkId(FELLOW);
addSpawnId(FELLOW);
}
@Override
public String onAdvEvent(String event, Npc npc, PlayerInstance player)
{
switch (event)
{
case "teleToAntharas":
{
if ((player.getCommandChannel() == null) || (player.getCommandChannel().getLeader() != player) || (player.getCommandChannel().getMemberCount() < 27) || (player.getCommandChannel().getMemberCount() > 300))
{
return "31713-01.html";
}
for (PlayerInstance member : player.getCommandChannel().getMembers())
{
if ((member != null) && (member.getLevel() > 70))
{
member.teleToLocation(TELEPORT_LOC);
}
}
break;
}
case "CHAT_TIMER":
{
npc.broadcastPacket(new NpcSay(npc, ChatType.NPC_GENERAL, TEXT[Rnd.get(TEXT.length)]));
startQuestTimer("CHAT_TIMER", 30000, npc, null);
break;
}
}
return null;
}
@Override
public String onFirstTalk(Npc npc, PlayerInstance player)
{
return "31713.html";
}
@Override
public String onSpawn(Npc npc)
{
startQuestTimer("CHAT_TIMER", 5000, npc, null);
return super.onSpawn(npc);
}
public static void main(String[] args)
{
new Fellow();
}
}

View File

@ -16,9 +16,13 @@
*/
package ai.areas.TowerOfInsolence.Ateld;
import org.l2jmobius.commons.util.Rnd;
import org.l2jmobius.gameserver.enums.ChatType;
import org.l2jmobius.gameserver.model.Location;
import org.l2jmobius.gameserver.model.actor.Npc;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
import org.l2jmobius.gameserver.network.NpcStringId;
import org.l2jmobius.gameserver.network.serverpackets.NpcSay;
import ai.AbstractNpcAI;
@ -31,28 +35,45 @@ public class Ateld extends AbstractNpcAI
private static final int ATELD = 31714;
// Location
private static final Location TELEPORT_LOC = new Location(115322, 16756, 9012);
// Misc
private static final NpcStringId[] TEXT =
{
NpcStringId.LET_S_JOIN_OUR_FORCES_AND_FACE_THIS_TOGETHER,
NpcStringId.BALTHUS_KNIGHTS_ARE_LOOKING_FOR_MERCENARIES
};
private Ateld()
{
addFirstTalkId(ATELD);
addTalkId(ATELD);
addSpawnId(ATELD);
}
@Override
public String onAdvEvent(String event, Npc npc, PlayerInstance player)
{
if (event.equals("teleToBaium"))
switch (event)
{
if ((player.getCommandChannel() == null) || (player.getCommandChannel().getLeader() != player) || (player.getCommandChannel().getMemberCount() < 27) || (player.getCommandChannel().getMemberCount() > 300))
case "teleToBaium":
{
return "31714-01.html";
}
for (PlayerInstance member : player.getCommandChannel().getMembers())
{
if ((member != null) && (member.getLevel() > 70))
if ((player.getCommandChannel() == null) || (player.getCommandChannel().getLeader() != player) || (player.getCommandChannel().getMemberCount() < 27) || (player.getCommandChannel().getMemberCount() > 300))
{
member.teleToLocation(TELEPORT_LOC);
return "31714-01.html";
}
for (PlayerInstance member : player.getCommandChannel().getMembers())
{
if ((member != null) && (member.getLevel() > 70))
{
member.teleToLocation(TELEPORT_LOC);
}
}
break;
}
case "CHAT_TIMER":
{
npc.broadcastPacket(new NpcSay(npc, ChatType.NPC_GENERAL, TEXT[Rnd.get(TEXT.length)]));
startQuestTimer("CHAT_TIMER", 30000, npc, null);
break;
}
}
return null;
@ -64,6 +85,13 @@ public class Ateld extends AbstractNpcAI
return "31714.html";
}
@Override
public String onSpawn(Npc npc)
{
startQuestTimer("CHAT_TIMER", 5000, npc, null);
return super.onSpawn(npc);
}
public static void main(String[] args)
{
new Ateld();

View File

@ -953,6 +953,31 @@
<npc id="31045" x="122716" y="110720" z="-3728" heading="16384" respawnTime="60sec" />
<npc id="31044" x="122904" y="110828" z="-3728" heading="24576" respawnTime="60sec" />
<npc id="30834" x="105792" y="114290" z="-3136" heading="49000" respawnTime="60sec" />
<npc id="19133" x="130797" y="115117" z="-3721" heading="51929" respawnTime="60sec" /> <!-- Expedition Member -->
<npc id="19133" x="130741" y="115114" z="-3725" heading="51929" respawnTime="60sec" /> <!-- Expedition Member -->
<npc id="19133" x="130685" y="115105" z="-3728" heading="51929" respawnTime="60sec" /> <!-- Expedition Member -->
<npc id="19133" x="130630" y="115104" z="-3733" heading="51929" respawnTime="60sec" /> <!-- Expedition Member -->
<npc id="19133" x="130583" y="115101" z="-3738" heading="51929" respawnTime="60sec" /> <!-- Expedition Member -->
<npc id="19133" x="130536" y="115096" z="-3744" heading="51929" respawnTime="60sec" /> <!-- Expedition Member -->
<npc id="19133" x="130485" y="115090" z="-3753" heading="51929" respawnTime="60sec" /> <!-- Expedition Member -->
<npc id="19133" x="130439" y="115087" z="-3760" heading="51929" respawnTime="60sec" /> <!-- Expedition Member -->
<npc id="19136" x="130482" y="115141" z="-3752" heading="51929" respawnTime="60sec" /> <!-- Expedition Member -->
<npc id="19136" x="130439" y="115135" z="-3757" heading="51929" respawnTime="60sec" /> <!-- Expedition Member -->
<npc id="19136" x="130531" y="115142" z="-3745" heading="51929" respawnTime="60sec" /> <!-- Expedition Member -->
<npc id="19136" x="130578" y="115144" z="-3738" heading="51929" respawnTime="60sec" /> <!-- Expedition Member -->
<npc id="19136" x="130627" y="115144" z="-3733" heading="51929" respawnTime="60sec" /> <!-- Expedition Member -->
<npc id="19136" x="130685" y="115150" z="-3727" heading="51929" respawnTime="60sec" /> <!-- Expedition Member -->
<npc id="19136" x="130736" y="115154" z="-3724" heading="51929" respawnTime="60sec" /> <!-- Expedition Member -->
<npc id="19136" x="130793" y="115151" z="-3721" heading="51929" respawnTime="60sec" /> <!-- Expedition Member -->
<npc id="19137" x="130786" y="115192" z="-3721" heading="51929" respawnTime="60sec" /> <!-- Expedition Member -->
<npc id="19137" x="130728" y="115193" z="-3723" heading="51929" respawnTime="60sec" /> <!-- Expedition Member -->
<npc id="19137" x="130677" y="115192" z="-3726" heading="51929" respawnTime="60sec" /> <!-- Expedition Member -->
<npc id="19137" x="130622" y="115179" z="-3733" heading="51929" respawnTime="60sec" /> <!-- Expedition Member -->
<npc id="19137" x="130568" y="115179" z="-3739" heading="51929" respawnTime="60sec" /> <!-- Expedition Member -->
<npc id="19137" x="130522" y="115175" z="-3745" heading="51929" respawnTime="60sec" /> <!-- Expedition Member -->
<npc id="19137" x="130471" y="115180" z="-3751" heading="51929" respawnTime="60sec" /> <!-- Expedition Member -->
<npc id="19137" x="130429" y="115170" z="-3757" heading="51929" respawnTime="60sec" /> <!-- Expedition Member -->
<npc id="31713" x="130641" y="115011" z="-3735" heading="51929" respawnTime="60sec" /> <!-- Fellow -->
</group>
</spawn>
<spawn>

View File

@ -0,0 +1,4 @@
<html><body>Fellow:<br>
If you are not a member, I cannot help you with anything. Or do you think that such an insignificant number will overcome Antharas? Ha-ha-ha!!!<br>
<Button ALIGN=LEFT ICON="RETURN" action="bypass -h npc_%objectId%_Chat 0">Return</Button>
</body></html>

View File

@ -0,0 +1,6 @@
<html><body>Fellow:<br>
We've received terrible news! It seems that <font color="LEVEL">Antharas</font> is awake! For now the dragon is sealed, but the seal will soon be broken, the beast will break free and burn Giran to the ground.<br>
Do you have courage to break into Antharas' Nest and prevent an upcoming disaster? Only the bravest warriors can stop the dragon!<br>
I can only teleport characters of <font color="LEVEL">level 70</font> and higher. <font color="LEVEL">an alliance leader must speak to me, and I will use the power of Antharas Watchman Theodric to teleport the alliance consisting of 27-300 members to Antharas' Lair.</font><br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Fellow teleToAntharas">Teleport to Antharas' Nest</Button>
</body></html>

View File

@ -0,0 +1,99 @@
/*
* 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 ai.areas.DragonValley.Fellow;
import org.l2jmobius.commons.util.Rnd;
import org.l2jmobius.gameserver.enums.ChatType;
import org.l2jmobius.gameserver.model.Location;
import org.l2jmobius.gameserver.model.actor.Npc;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
import org.l2jmobius.gameserver.network.NpcStringId;
import org.l2jmobius.gameserver.network.serverpackets.NpcSay;
import ai.AbstractNpcAI;
/**
* @author RobikBobik
*/
public class Fellow extends AbstractNpcAI
{
// NPC
private static final int FELLOW = 31713;
// Location - Antharas Heart
private static final Location TELEPORT_LOC = new Location(154376, 121290, -3807);
// Misc
private static final NpcStringId[] TEXT =
{
NpcStringId.LET_S_JOIN_OUR_FORCES_AND_FACE_THIS_TOGETHER,
NpcStringId.BALTHUS_KNIGHTS_ARE_LOOKING_FOR_MERCENARIES
};
private Fellow()
{
addFirstTalkId(FELLOW);
addTalkId(FELLOW);
addSpawnId(FELLOW);
}
@Override
public String onAdvEvent(String event, Npc npc, PlayerInstance player)
{
switch (event)
{
case "teleToAntharas":
{
if ((player.getCommandChannel() == null) || (player.getCommandChannel().getLeader() != player) || (player.getCommandChannel().getMemberCount() < 27) || (player.getCommandChannel().getMemberCount() > 300))
{
return "31713-01.html";
}
for (PlayerInstance member : player.getCommandChannel().getMembers())
{
if ((member != null) && (member.getLevel() > 70))
{
member.teleToLocation(TELEPORT_LOC);
}
}
break;
}
case "CHAT_TIMER":
{
npc.broadcastPacket(new NpcSay(npc, ChatType.NPC_GENERAL, TEXT[Rnd.get(TEXT.length)]));
startQuestTimer("CHAT_TIMER", 30000, npc, null);
break;
}
}
return null;
}
@Override
public String onFirstTalk(Npc npc, PlayerInstance player)
{
return "31713.html";
}
@Override
public String onSpawn(Npc npc)
{
startQuestTimer("CHAT_TIMER", 5000, npc, null);
return super.onSpawn(npc);
}
public static void main(String[] args)
{
new Fellow();
}
}

View File

@ -16,9 +16,13 @@
*/
package ai.areas.TowerOfInsolence.Ateld;
import org.l2jmobius.commons.util.Rnd;
import org.l2jmobius.gameserver.enums.ChatType;
import org.l2jmobius.gameserver.model.Location;
import org.l2jmobius.gameserver.model.actor.Npc;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
import org.l2jmobius.gameserver.network.NpcStringId;
import org.l2jmobius.gameserver.network.serverpackets.NpcSay;
import ai.AbstractNpcAI;
@ -31,28 +35,45 @@ public class Ateld extends AbstractNpcAI
private static final int ATELD = 31714;
// Location
private static final Location TELEPORT_LOC = new Location(115322, 16756, 9012);
// Misc
private static final NpcStringId[] TEXT =
{
NpcStringId.LET_S_JOIN_OUR_FORCES_AND_FACE_THIS_TOGETHER,
NpcStringId.BALTHUS_KNIGHTS_ARE_LOOKING_FOR_MERCENARIES
};
private Ateld()
{
addFirstTalkId(ATELD);
addTalkId(ATELD);
addSpawnId(ATELD);
}
@Override
public String onAdvEvent(String event, Npc npc, PlayerInstance player)
{
if (event.equals("teleToBaium"))
switch (event)
{
if ((player.getCommandChannel() == null) || (player.getCommandChannel().getLeader() != player) || (player.getCommandChannel().getMemberCount() < 27) || (player.getCommandChannel().getMemberCount() > 300))
case "teleToBaium":
{
return "31714-01.html";
}
for (PlayerInstance member : player.getCommandChannel().getMembers())
{
if ((member != null) && (member.getLevel() > 70))
if ((player.getCommandChannel() == null) || (player.getCommandChannel().getLeader() != player) || (player.getCommandChannel().getMemberCount() < 27) || (player.getCommandChannel().getMemberCount() > 300))
{
member.teleToLocation(TELEPORT_LOC);
return "31714-01.html";
}
for (PlayerInstance member : player.getCommandChannel().getMembers())
{
if ((member != null) && (member.getLevel() > 70))
{
member.teleToLocation(TELEPORT_LOC);
}
}
break;
}
case "CHAT_TIMER":
{
npc.broadcastPacket(new NpcSay(npc, ChatType.NPC_GENERAL, TEXT[Rnd.get(TEXT.length)]));
startQuestTimer("CHAT_TIMER", 30000, npc, null);
break;
}
}
return null;
@ -64,6 +85,13 @@ public class Ateld extends AbstractNpcAI
return "31714.html";
}
@Override
public String onSpawn(Npc npc)
{
startQuestTimer("CHAT_TIMER", 5000, npc, null);
return super.onSpawn(npc);
}
public static void main(String[] args)
{
new Ateld();

View File

@ -953,6 +953,31 @@
<npc id="31045" x="122716" y="110720" z="-3728" heading="16384" respawnTime="60sec" />
<npc id="31044" x="122904" y="110828" z="-3728" heading="24576" respawnTime="60sec" />
<npc id="30834" x="105792" y="114290" z="-3136" heading="49000" respawnTime="60sec" />
<npc id="19133" x="130797" y="115117" z="-3721" heading="51929" respawnTime="60sec" /> <!-- Expedition Member -->
<npc id="19133" x="130741" y="115114" z="-3725" heading="51929" respawnTime="60sec" /> <!-- Expedition Member -->
<npc id="19133" x="130685" y="115105" z="-3728" heading="51929" respawnTime="60sec" /> <!-- Expedition Member -->
<npc id="19133" x="130630" y="115104" z="-3733" heading="51929" respawnTime="60sec" /> <!-- Expedition Member -->
<npc id="19133" x="130583" y="115101" z="-3738" heading="51929" respawnTime="60sec" /> <!-- Expedition Member -->
<npc id="19133" x="130536" y="115096" z="-3744" heading="51929" respawnTime="60sec" /> <!-- Expedition Member -->
<npc id="19133" x="130485" y="115090" z="-3753" heading="51929" respawnTime="60sec" /> <!-- Expedition Member -->
<npc id="19133" x="130439" y="115087" z="-3760" heading="51929" respawnTime="60sec" /> <!-- Expedition Member -->
<npc id="19136" x="130482" y="115141" z="-3752" heading="51929" respawnTime="60sec" /> <!-- Expedition Member -->
<npc id="19136" x="130439" y="115135" z="-3757" heading="51929" respawnTime="60sec" /> <!-- Expedition Member -->
<npc id="19136" x="130531" y="115142" z="-3745" heading="51929" respawnTime="60sec" /> <!-- Expedition Member -->
<npc id="19136" x="130578" y="115144" z="-3738" heading="51929" respawnTime="60sec" /> <!-- Expedition Member -->
<npc id="19136" x="130627" y="115144" z="-3733" heading="51929" respawnTime="60sec" /> <!-- Expedition Member -->
<npc id="19136" x="130685" y="115150" z="-3727" heading="51929" respawnTime="60sec" /> <!-- Expedition Member -->
<npc id="19136" x="130736" y="115154" z="-3724" heading="51929" respawnTime="60sec" /> <!-- Expedition Member -->
<npc id="19136" x="130793" y="115151" z="-3721" heading="51929" respawnTime="60sec" /> <!-- Expedition Member -->
<npc id="19137" x="130786" y="115192" z="-3721" heading="51929" respawnTime="60sec" /> <!-- Expedition Member -->
<npc id="19137" x="130728" y="115193" z="-3723" heading="51929" respawnTime="60sec" /> <!-- Expedition Member -->
<npc id="19137" x="130677" y="115192" z="-3726" heading="51929" respawnTime="60sec" /> <!-- Expedition Member -->
<npc id="19137" x="130622" y="115179" z="-3733" heading="51929" respawnTime="60sec" /> <!-- Expedition Member -->
<npc id="19137" x="130568" y="115179" z="-3739" heading="51929" respawnTime="60sec" /> <!-- Expedition Member -->
<npc id="19137" x="130522" y="115175" z="-3745" heading="51929" respawnTime="60sec" /> <!-- Expedition Member -->
<npc id="19137" x="130471" y="115180" z="-3751" heading="51929" respawnTime="60sec" /> <!-- Expedition Member -->
<npc id="19137" x="130429" y="115170" z="-3757" heading="51929" respawnTime="60sec" /> <!-- Expedition Member -->
<npc id="31713" x="130641" y="115011" z="-3735" heading="51929" respawnTime="60sec" /> <!-- Fellow -->
</group>
</spawn>
<spawn>