Fixed Fafurion respawn time and admin boss menu adjustments.

Contributed by CostyKiller.
This commit is contained in:
MobiusDevelopment
2020-04-04 22:25:55 +00:00
parent 3ced75d22f
commit 8e942892a9
155 changed files with 824 additions and 59 deletions

View File

@@ -4,7 +4,7 @@
<tr>
<td width=45><button value="Main" action="bypass -h admin_admin" width=45 height=21 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
<td width=180><center>Player: %name%</center></td>
<td width=45><button value="Back" action="bypass -h admin_admin7" width=45 height=21 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
<td width=45><button value="Back" action="bypass -h admin_show_characters 0" width=45 height=21 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
</tr>
</table>
<br>

View File

@@ -0,0 +1,35 @@
<html><title>Admin GrandBoss</title><body>
<center>
<table width=270>
<tr>
<td width=45><button value="Main" action="bypass -h admin_admin" width=45 height=21 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
<td width=180><center>Admin GrandBoss menu</center></td>
<td width=45><button value="Back" action="bypass -h admin_grandboss" width=45 height=21 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
</tr>
</table>
<br>
<br>
<font color="LEVEL">Fafurion<font><br>
<table width="270" border="0" bgcolor="444444">
<tr>
<td>Status:</td>
<td><font color="%bossColor%">%bossStatus%</font></td>
</tr>
<tr>
<td>Respawn time:</td>
<td>%respawnTime%</td>
</tr>
<tr>
<td>Players inside:</td>
<td>%playersInside%</td>
</tr>
</table>
<br>
<br>
<button value="Respawn Fafurion" action="bypass -h admin_grandboss_respawn 19740" width=200 height=21 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td><br1>
<button value="Skip waiting time" action="bypass -h admin_grandboss_skip 19740" width=200 height=21 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td><br1>
<button value="Abort Fight" action="bypass -h admin_grandboss_abort 19740" width=200 height=21 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td><br1>
<button value="Teleport to Heart of Tsunami" action="bypass -h admin_move_to 190856 257112 -3328" width=200 height=21 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td><br1>
<button value="Teleport to Fafurion Nest" action="bypass -h admin_move_to 180059 212896 -14727" width=200 height=21 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td><br1>
</center>
</body></html>

View File

@@ -4,7 +4,7 @@
<tr>
<td width=45><button value="Main" action="bypass -h admin_admin" width=45 height=21 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
<td width=180><center>Player: %name%</center></td>
<td width=45><button value="Back" action="bypass -h admin_admin7" width=45 height=21 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
<td width=45><button value="Back" action="bypass -h admin_show_characters 0" width=45 height=21 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
</tr>
</table>
<br>

View File

@@ -0,0 +1,35 @@
<html><title>Admin GrandBoss</title><body>
<center>
<table width=270>
<tr>
<td width=45><button value="Main" action="bypass -h admin_admin" width=45 height=21 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
<td width=180><center>Admin GrandBoss menu</center></td>
<td width=45><button value="Back" action="bypass -h admin_grandboss" width=45 height=21 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
</tr>
</table>
<br>
<br>
<font color="LEVEL">Fafurion<font><br>
<table width="270" border="0" bgcolor="444444">
<tr>
<td>Status:</td>
<td><font color="%bossColor%">%bossStatus%</font></td>
</tr>
<tr>
<td>Respawn time:</td>
<td>%respawnTime%</td>
</tr>
<tr>
<td>Players inside:</td>
<td>%playersInside%</td>
</tr>
</table>
<br>
<br>
<button value="Respawn Fafurion" action="bypass -h admin_grandboss_respawn 19740" width=200 height=21 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td><br1>
<button value="Skip waiting time" action="bypass -h admin_grandboss_skip 19740" width=200 height=21 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td><br1>
<button value="Abort Fight" action="bypass -h admin_grandboss_abort 19740" width=200 height=21 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td><br1>
<button value="Teleport to Heart of Tsunami" action="bypass -h admin_move_to 190856 257112 -3328" width=200 height=21 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td><br1>
<button value="Teleport to Fafurion Nest" action="bypass -h admin_move_to 180059 212896 -14727" width=200 height=21 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td><br1>
</center>
</body></html>

View File

@@ -4,7 +4,7 @@
<tr>
<td width=45><button value="Main" action="bypass -h admin_admin" width=45 height=21 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
<td width=180><center>Player: %name%</center></td>
<td width=45><button value="Back" action="bypass -h admin_admin7" width=45 height=21 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
<td width=45><button value="Back" action="bypass -h admin_show_characters 0" width=45 height=21 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
</tr>
</table>
<br>

View File

@@ -0,0 +1,35 @@
<html><title>Admin GrandBoss</title><body>
<center>
<table width=270>
<tr>
<td width=45><button value="Main" action="bypass -h admin_admin" width=45 height=21 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
<td width=180><center>Admin GrandBoss menu</center></td>
<td width=45><button value="Back" action="bypass -h admin_grandboss" width=45 height=21 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
</tr>
</table>
<br>
<br>
<font color="LEVEL">Fafurion<font><br>
<table width="270" border="0" bgcolor="444444">
<tr>
<td>Status:</td>
<td><font color="%bossColor%">%bossStatus%</font></td>
</tr>
<tr>
<td>Respawn time:</td>
<td>%respawnTime%</td>
</tr>
<tr>
<td>Players inside:</td>
<td>%playersInside%</td>
</tr>
</table>
<br>
<br>
<button value="Respawn Fafurion" action="bypass -h admin_grandboss_respawn 19740" width=200 height=21 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td><br1>
<button value="Skip waiting time" action="bypass -h admin_grandboss_skip 19740" width=200 height=21 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td><br1>
<button value="Abort Fight" action="bypass -h admin_grandboss_abort 19740" width=200 height=21 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td><br1>
<button value="Teleport to Heart of Tsunami" action="bypass -h admin_move_to 190856 257112 -3328" width=200 height=21 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td><br1>
<button value="Teleport to Fafurion Nest" action="bypass -h admin_move_to 180059 212896 -14727" width=200 height=21 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td><br1>
</center>
</body></html>

View File

@@ -4,7 +4,7 @@
<tr>
<td width=45><button value="Main" action="bypass -h admin_admin" width=45 height=21 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
<td width=180><center>Player: %name%</center></td>
<td width=45><button value="Back" action="bypass -h admin_admin7" width=45 height=21 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
<td width=45><button value="Back" action="bypass -h admin_show_characters 0" width=45 height=21 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
</tr>
</table>
<br>

View File

@@ -0,0 +1,35 @@
<html><title>Admin GrandBoss</title><body>
<center>
<table width=270>
<tr>
<td width=45><button value="Main" action="bypass -h admin_admin" width=45 height=21 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
<td width=180><center>Admin GrandBoss menu</center></td>
<td width=45><button value="Back" action="bypass -h admin_grandboss" width=45 height=21 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
</tr>
</table>
<br>
<br>
<font color="LEVEL">Fafurion<font><br>
<table width="270" border="0" bgcolor="444444">
<tr>
<td>Status:</td>
<td><font color="%bossColor%">%bossStatus%</font></td>
</tr>
<tr>
<td>Respawn time:</td>
<td>%respawnTime%</td>
</tr>
<tr>
<td>Players inside:</td>
<td>%playersInside%</td>
</tr>
</table>
<br>
<br>
<button value="Respawn Fafurion" action="bypass -h admin_grandboss_respawn 19740" width=200 height=21 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td><br1>
<button value="Skip waiting time" action="bypass -h admin_grandboss_skip 19740" width=200 height=21 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td><br1>
<button value="Abort Fight" action="bypass -h admin_grandboss_abort 19740" width=200 height=21 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td><br1>
<button value="Teleport to Heart of Tsunami" action="bypass -h admin_move_to 190856 257112 -3328" width=200 height=21 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td><br1>
<button value="Teleport to Fafurion Nest" action="bypass -h admin_move_to 180059 212896 -14727" width=200 height=21 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td><br1>
</center>
</body></html>

View File

@@ -4,7 +4,7 @@
<tr>
<td width=45><button value="Main" action="bypass -h admin_admin" width=45 height=21 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
<td width=180><center>Player: %name%</center></td>
<td width=45><button value="Back" action="bypass -h admin_admin7" width=45 height=21 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
<td width=45><button value="Back" action="bypass -h admin_show_characters 0" width=45 height=21 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
</tr>
</table>
<br>

View File

@@ -0,0 +1,35 @@
<html><title>Admin GrandBoss</title><body>
<center>
<table width=270>
<tr>
<td width=45><button value="Main" action="bypass -h admin_admin" width=45 height=21 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
<td width=180><center>Admin GrandBoss menu</center></td>
<td width=45><button value="Back" action="bypass -h admin_grandboss" width=45 height=21 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
</tr>
</table>
<br>
<br>
<font color="LEVEL">Fafurion<font><br>
<table width="270" border="0" bgcolor="444444">
<tr>
<td>Status:</td>
<td><font color="%bossColor%">%bossStatus%</font></td>
</tr>
<tr>
<td>Respawn time:</td>
<td>%respawnTime%</td>
</tr>
<tr>
<td>Players inside:</td>
<td>%playersInside%</td>
</tr>
</table>
<br>
<br>
<button value="Respawn Fafurion" action="bypass -h admin_grandboss_respawn 19740" width=200 height=21 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td><br1>
<button value="Skip waiting time" action="bypass -h admin_grandboss_skip 19740" width=200 height=21 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td><br1>
<button value="Abort Fight" action="bypass -h admin_grandboss_abort 19740" width=200 height=21 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td><br1>
<button value="Teleport to Heart of Tsunami" action="bypass -h admin_move_to 190856 257112 -3328" width=200 height=21 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td><br1>
<button value="Teleport to Fafurion Nest" action="bypass -h admin_move_to 180059 212896 -14727" width=200 height=21 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td><br1>
</center>
</body></html>

View File

@@ -4,7 +4,7 @@
<tr>
<td width=45><button value="Main" action="bypass -h admin_admin" width=45 height=21 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
<td width=180><center>Player: %name%</center></td>
<td width=45><button value="Back" action="bypass -h admin_admin7" width=45 height=21 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
<td width=45><button value="Back" action="bypass -h admin_show_characters 0" width=45 height=21 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
</tr>
</table>
<br>

View File

@@ -0,0 +1,35 @@
<html><title>Admin GrandBoss</title><body>
<center>
<table width=270>
<tr>
<td width=45><button value="Main" action="bypass -h admin_admin" width=45 height=21 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
<td width=180><center>Admin GrandBoss menu</center></td>
<td width=45><button value="Back" action="bypass -h admin_grandboss" width=45 height=21 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
</tr>
</table>
<br>
<br>
<font color="LEVEL">Fafurion<font><br>
<table width="270" border="0" bgcolor="444444">
<tr>
<td>Status:</td>
<td><font color="%bossColor%">%bossStatus%</font></td>
</tr>
<tr>
<td>Respawn time:</td>
<td>%respawnTime%</td>
</tr>
<tr>
<td>Players inside:</td>
<td>%playersInside%</td>
</tr>
</table>
<br>
<br>
<button value="Respawn Fafurion" action="bypass -h admin_grandboss_respawn 19740" width=200 height=21 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td><br1>
<button value="Skip waiting time" action="bypass -h admin_grandboss_skip 19740" width=200 height=21 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td><br1>
<button value="Abort Fight" action="bypass -h admin_grandboss_abort 19740" width=200 height=21 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td><br1>
<button value="Teleport to Heart of Tsunami" action="bypass -h admin_move_to 190856 257112 -3328" width=200 height=21 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td><br1>
<button value="Teleport to Fafurion Nest" action="bypass -h admin_move_to 180059 212896 -14727" width=200 height=21 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td><br1>
</center>
</body></html>

View File

@@ -4,7 +4,7 @@
<tr>
<td width=45><button value="Main" action="bypass -h admin_admin" width=45 height=21 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
<td width=180><center>Player: %name%</center></td>
<td width=45><button value="Back" action="bypass -h admin_admin7" width=45 height=21 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
<td width=45><button value="Back" action="bypass -h admin_show_characters 0" width=45 height=21 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
</tr>
</table>
<br>

View File

@@ -28,5 +28,6 @@
<button value="Queen Ant" action="bypass -h admin_grandboss 29001" width=200 height=21 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"><br1>
<button value="Orfen" action="bypass -h admin_grandboss 29014" width=200 height=21 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"><br1>
<button value="Core" action="bypass -h admin_grandboss 29006" width=200 height=21 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"><br1>
<button value="Fafurion" action="bypass -h admin_grandboss 19740" width=200 height=21 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"><br1>
</center>
</body></html>

View File

@@ -0,0 +1,35 @@
<html><title>Admin GrandBoss</title><body>
<center>
<table width=270>
<tr>
<td width=45><button value="Main" action="bypass -h admin_admin" width=45 height=21 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
<td width=180><center>Admin GrandBoss menu</center></td>
<td width=45><button value="Back" action="bypass -h admin_grandboss" width=45 height=21 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
</tr>
</table>
<br>
<br>
<font color="LEVEL">Fafurion<font><br>
<table width="270" border="0" bgcolor="444444">
<tr>
<td>Status:</td>
<td><font color="%bossColor%">%bossStatus%</font></td>
</tr>
<tr>
<td>Respawn time:</td>
<td>%respawnTime%</td>
</tr>
<tr>
<td>Players inside:</td>
<td>%playersInside%</td>
</tr>
</table>
<br>
<br>
<button value="Respawn Fafurion" action="bypass -h admin_grandboss_respawn 19740" width=200 height=21 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td><br1>
<button value="Skip waiting time" action="bypass -h admin_grandboss_skip 19740" width=200 height=21 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td><br1>
<button value="Abort Fight" action="bypass -h admin_grandboss_abort 19740" width=200 height=21 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td><br1>
<button value="Teleport to Heart of Tsunami" action="bypass -h admin_move_to 190856 257112 -3328" width=200 height=21 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td><br1>
<button value="Teleport to Fafurion Nest" action="bypass -h admin_move_to 180059 212896 -14727" width=200 height=21 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td><br1>
</center>
</body></html>

View File

@@ -20,12 +20,15 @@ import java.util.List;
import org.l2jmobius.Config;
import org.l2jmobius.gameserver.instancemanager.GrandBossManager;
import org.l2jmobius.gameserver.instancemanager.ZoneManager;
import org.l2jmobius.gameserver.model.Location;
import org.l2jmobius.gameserver.model.Party;
import org.l2jmobius.gameserver.model.StatSet;
import org.l2jmobius.gameserver.model.World;
import org.l2jmobius.gameserver.model.actor.Creature;
import org.l2jmobius.gameserver.model.actor.Npc;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
import org.l2jmobius.gameserver.model.zone.type.NoRestartZone;
import org.l2jmobius.gameserver.network.NpcStringId;
import org.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage;
@@ -43,8 +46,11 @@ public class Fafurion extends AbstractNpcAI
// Item
private static final int FONDUS_STONE = 80322;
// Locations
private static final Location ENTER_NPC_LOC = new Location(190856, 257112, -3328);
private static final Location RAID_ENTER_LOC = new Location(180059, 212896, -14727);
private static final Location FAFURION_SPAWN_LOC = new Location(180712, 210664, -14823, 22146);
// Zone
private static final NoRestartZone zone = ZoneManager.getInstance().getZoneById(85002, NoRestartZone.class); // Fafurion Nest zone
// Status
private static final int ALIVE = 0;
private static final int WAITING = 1;
@@ -59,24 +65,24 @@ public class Fafurion extends AbstractNpcAI
addTalkId(HEART_OF_TSUNAMI);
addFirstTalkId(HEART_OF_TSUNAMI);
addKillId(FAFURION_FINAL_FORM);
// Unlock
final StatSet info = GrandBossManager.getInstance().getStatSet(FAFURION_GRANDBOSS_ID);
final int status = GrandBossManager.getInstance().getBossStatus(FAFURION_GRANDBOSS_ID);
if (status == DEAD)
final long respawnTime = info.getLong("respawn_time");
// Unlock
if (getStatus() == DEAD)
{
final long time = info.getLong("respawn_time") - System.currentTimeMillis();
final long time = respawnTime - System.currentTimeMillis();
if (time > 0)
{
startQuestTimer("unlock_fafurion", time, null, null);
}
else
{
GrandBossManager.getInstance().setBossStatus(FAFURION_GRANDBOSS_ID, ALIVE);
setStatus(ALIVE);
}
}
else if (status != ALIVE)
else if (getStatus() != ALIVE)
{
GrandBossManager.getInstance().setBossStatus(FAFURION_GRANDBOSS_ID, ALIVE);
setStatus(ALIVE);
}
}
@@ -88,7 +94,7 @@ public class Fafurion extends AbstractNpcAI
{
case "unlock_fafurion":
{
GrandBossManager.getInstance().setBossStatus(FAFURION_GRANDBOSS_ID, ALIVE);
setStatus(ALIVE);
break;
}
case "warning":
@@ -105,38 +111,103 @@ public class Fafurion extends AbstractNpcAI
}
case "beginning":
{
if (GrandBossManager.getInstance().getBossStatus(FAFURION_GRANDBOSS_ID) == WAITING)
if (getStatus() == WAITING)
{
GrandBossManager.getInstance().setBossStatus(FAFURION_GRANDBOSS_ID, FIGHTING);
setStatus(FIGHTING);
final Npc bossInstance = addSpawn(FAFURION_FINAL_FORM, FAFURION_SPAWN_LOC.getX(), FAFURION_SPAWN_LOC.getY(), FAFURION_SPAWN_LOC.getZ(), FAFURION_SPAWN_LOC.getHeading(), false, 0, false);
startQuestTimer("resetRaid", RAID_DURATION * 60 * 60 * 1000, bossInstance, null);
}
break;
}
case "SKIP_WAITING":
{
if (getStatus() == WAITING)
{
cancelQuestTimer("warning", null, null);
cancelQuestTimer("beginning", null, null);
notifyEvent("beginning", null, null);
player.sendMessage(getClass().getSimpleName() + ": Skipping waiting time ...");
}
else
{
player.sendMessage(getClass().getSimpleName() + ": You can't skip waiting time right now!");
}
break;
}
case "RESPAWN_FAFURION":
{
if (getStatus() == DEAD)
{
setRespawn(0);
cancelQuestTimer("unlock_fafurion", null, null);
notifyEvent("unlock_fafurion", null, null);
player.sendMessage(getClass().getSimpleName() + ": Fafurion has been respawned.");
}
else
{
player.sendMessage(getClass().getSimpleName() + ": You can't respawn Fafurion while he is alive!");
}
break;
}
case "ABORT_FIGHT":
{
if (getStatus() == FIGHTING)
{
setStatus(ALIVE);
cancelQuestTimer("resetRaid", npc, null);
for (Creature creature : zone.getCharactersInside())
{
if (creature != null)
{
if (creature.isNpc())
{
if (creature.getId() == FAFURION_FINAL_FORM)
{
creature.teleToLocation(FAFURION_SPAWN_LOC);
}
else
{
creature.deleteMe();
}
}
else if (creature.isPlayer() && !creature.isGM())
{
creature.teleToLocation(ENTER_NPC_LOC);
}
}
}
player.sendMessage(getClass().getSimpleName() + ": Fight has been aborted!");
}
else
{
player.sendMessage(getClass().getSimpleName() + ": You can't abort fight right now!");
}
break;
}
case "resetRaid":
{
final int status = GrandBossManager.getInstance().getBossStatus(FAFURION_GRANDBOSS_ID);
if ((status > ALIVE) && (status < DEAD))
if ((getStatus() > ALIVE) && (getStatus() < DEAD))
{
for (PlayerInstance plr : World.getInstance().getVisibleObjectsInRange(npc, PlayerInstance.class, 5000))
{
plr.sendPacket(new ExShowScreenMessage(NpcStringId.EXCEEDED_THE_FAFURION_S_NEST_RAID_TIME_LIMIT, ExShowScreenMessage.TOP_CENTER, 10000, true));
}
GrandBossManager.getInstance().setBossStatus(FAFURION_GRANDBOSS_ID, ALIVE);
setStatus(ALIVE);
setRespawn(0);
npc.deleteMe();
}
break;
}
case "enter_area":
{
final int status = GrandBossManager.getInstance().getBossStatus(FAFURION_GRANDBOSS_ID);
if (player.isGM())
{
player.teleToLocation(RAID_ENTER_LOC, true);
}
else
{
if (((status > ALIVE) && (status < DEAD)) || (status == DEAD))
if (((getStatus() > ALIVE) && (getStatus() < DEAD)) || (getStatus() == DEAD))
{
return "34488-02.html";
}
@@ -178,9 +249,9 @@ public class Fafurion extends AbstractNpcAI
}
}
}
if (status == ALIVE)
if (getStatus() == ALIVE)
{
GrandBossManager.getInstance().setBossStatus(FAFURION_GRANDBOSS_ID, WAITING);
setStatus(WAITING);
startQuestTimer("beginning", Config.FAFURION_WAIT_TIME * 60000, null, null);
startQuestTimer("warning", Config.FAFURION_WAIT_TIME > 0 ? (Config.FAFURION_WAIT_TIME * 60000) - 30000 : 0, null, player);
}
@@ -198,15 +269,28 @@ public class Fafurion extends AbstractNpcAI
player.sendPacket(new ExShowScreenMessage(NpcStringId.HONORED_WARRIORS_HAVE_DEFEATED_THE_WATER_DRAGON_FAFURION, ExShowScreenMessage.TOP_CENTER, 10000, true));
}
GrandBossManager.getInstance().setBossStatus(FAFURION_GRANDBOSS_ID, DEAD);
setStatus(DEAD);
final long respawnTime = (Config.FAFURION_SPAWN_INTERVAL + getRandom(-Config.FAFURION_SPAWN_RANDOM, Config.FAFURION_SPAWN_RANDOM)) * 3600000;
final StatSet info = GrandBossManager.getInstance().getStatSet(FAFURION_GRANDBOSS_ID);
info.set("respawn_time", System.currentTimeMillis() + respawnTime);
GrandBossManager.getInstance().setStatSet(FAFURION_GRANDBOSS_ID, info);
startQuestTimer("unlock_fafurion", respawnTime, null, null);
setRespawn(respawnTime);
return super.onKill(npc, killer, isSummon);
}
private int getStatus()
{
return GrandBossManager.getInstance().getBossStatus(FAFURION_GRANDBOSS_ID);
}
private void setStatus(int status)
{
GrandBossManager.getInstance().setBossStatus(FAFURION_GRANDBOSS_ID, status);
}
private void setRespawn(long respawnTime)
{
GrandBossManager.getInstance().getStatSet(FAFURION_GRANDBOSS_ID).set("respawn_time", System.currentTimeMillis() + respawnTime);
}
@Override
public String onFirstTalk(Npc npc, PlayerInstance player)
{

View File

@@ -4,7 +4,7 @@
<tr>
<td width=45><button value="Main" action="bypass -h admin_admin" width=45 height=21 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
<td width=180><center>Player: %name%</center></td>
<td width=45><button value="Back" action="bypass -h admin_admin7" width=45 height=21 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
<td width=45><button value="Back" action="bypass -h admin_show_characters 0" width=45 height=21 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
</tr>
</table>
<br>

View File

@@ -28,5 +28,6 @@
<button value="Queen Ant" action="bypass -h admin_grandboss 29001" width=200 height=21 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"><br1>
<button value="Orfen" action="bypass -h admin_grandboss 29014" width=200 height=21 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"><br1>
<button value="Core" action="bypass -h admin_grandboss 29006" width=200 height=21 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"><br1>
<button value="Fafurion" action="bypass -h admin_grandboss 19740" width=200 height=21 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"><br1>
</center>
</body></html>

View File

@@ -0,0 +1,35 @@
<html><title>Admin GrandBoss</title><body>
<center>
<table width=270>
<tr>
<td width=45><button value="Main" action="bypass -h admin_admin" width=45 height=21 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
<td width=180><center>Admin GrandBoss menu</center></td>
<td width=45><button value="Back" action="bypass -h admin_grandboss" width=45 height=21 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
</tr>
</table>
<br>
<br>
<font color="LEVEL">Fafurion<font><br>
<table width="270" border="0" bgcolor="444444">
<tr>
<td>Status:</td>
<td><font color="%bossColor%">%bossStatus%</font></td>
</tr>
<tr>
<td>Respawn time:</td>
<td>%respawnTime%</td>
</tr>
<tr>
<td>Players inside:</td>
<td>%playersInside%</td>
</tr>
</table>
<br>
<br>
<button value="Respawn Fafurion" action="bypass -h admin_grandboss_respawn 19740" width=200 height=21 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td><br1>
<button value="Skip waiting time" action="bypass -h admin_grandboss_skip 19740" width=200 height=21 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td><br1>
<button value="Abort Fight" action="bypass -h admin_grandboss_abort 19740" width=200 height=21 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td><br1>
<button value="Teleport to Heart of Tsunami" action="bypass -h admin_move_to 190856 257112 -3328" width=200 height=21 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td><br1>
<button value="Teleport to Fafurion Nest" action="bypass -h admin_move_to 180059 212896 -14727" width=200 height=21 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td><br1>
</center>
</body></html>

View File

@@ -20,12 +20,15 @@ import java.util.List;
import org.l2jmobius.Config;
import org.l2jmobius.gameserver.instancemanager.GrandBossManager;
import org.l2jmobius.gameserver.instancemanager.ZoneManager;
import org.l2jmobius.gameserver.model.Location;
import org.l2jmobius.gameserver.model.Party;
import org.l2jmobius.gameserver.model.StatSet;
import org.l2jmobius.gameserver.model.World;
import org.l2jmobius.gameserver.model.actor.Creature;
import org.l2jmobius.gameserver.model.actor.Npc;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
import org.l2jmobius.gameserver.model.zone.type.NoRestartZone;
import org.l2jmobius.gameserver.network.NpcStringId;
import org.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage;
@@ -43,8 +46,11 @@ public class Fafurion extends AbstractNpcAI
// Item
private static final int FONDUS_STONE = 80322;
// Locations
private static final Location ENTER_NPC_LOC = new Location(190856, 257112, -3328);
private static final Location RAID_ENTER_LOC = new Location(180059, 212896, -14727);
private static final Location FAFURION_SPAWN_LOC = new Location(180712, 210664, -14823, 22146);
// Zone
private static final NoRestartZone zone = ZoneManager.getInstance().getZoneById(85002, NoRestartZone.class); // Fafurion Nest zone
// Status
private static final int ALIVE = 0;
private static final int WAITING = 1;
@@ -59,24 +65,24 @@ public class Fafurion extends AbstractNpcAI
addTalkId(HEART_OF_TSUNAMI);
addFirstTalkId(HEART_OF_TSUNAMI);
addKillId(FAFURION_FINAL_FORM);
// Unlock
final StatSet info = GrandBossManager.getInstance().getStatSet(FAFURION_GRANDBOSS_ID);
final int status = GrandBossManager.getInstance().getBossStatus(FAFURION_GRANDBOSS_ID);
if (status == DEAD)
final long respawnTime = info.getLong("respawn_time");
// Unlock
if (getStatus() == DEAD)
{
final long time = info.getLong("respawn_time") - System.currentTimeMillis();
final long time = respawnTime - System.currentTimeMillis();
if (time > 0)
{
startQuestTimer("unlock_fafurion", time, null, null);
}
else
{
GrandBossManager.getInstance().setBossStatus(FAFURION_GRANDBOSS_ID, ALIVE);
setStatus(ALIVE);
}
}
else if (status != ALIVE)
else if (getStatus() != ALIVE)
{
GrandBossManager.getInstance().setBossStatus(FAFURION_GRANDBOSS_ID, ALIVE);
setStatus(ALIVE);
}
}
@@ -88,7 +94,7 @@ public class Fafurion extends AbstractNpcAI
{
case "unlock_fafurion":
{
GrandBossManager.getInstance().setBossStatus(FAFURION_GRANDBOSS_ID, ALIVE);
setStatus(ALIVE);
break;
}
case "warning":
@@ -105,38 +111,103 @@ public class Fafurion extends AbstractNpcAI
}
case "beginning":
{
if (GrandBossManager.getInstance().getBossStatus(FAFURION_GRANDBOSS_ID) == WAITING)
if (getStatus() == WAITING)
{
GrandBossManager.getInstance().setBossStatus(FAFURION_GRANDBOSS_ID, FIGHTING);
setStatus(FIGHTING);
final Npc bossInstance = addSpawn(FAFURION_FINAL_FORM, FAFURION_SPAWN_LOC.getX(), FAFURION_SPAWN_LOC.getY(), FAFURION_SPAWN_LOC.getZ(), FAFURION_SPAWN_LOC.getHeading(), false, 0, false);
startQuestTimer("resetRaid", RAID_DURATION * 60 * 60 * 1000, bossInstance, null);
}
break;
}
case "SKIP_WAITING":
{
if (getStatus() == WAITING)
{
cancelQuestTimer("warning", null, null);
cancelQuestTimer("beginning", null, null);
notifyEvent("beginning", null, null);
player.sendMessage(getClass().getSimpleName() + ": Skipping waiting time ...");
}
else
{
player.sendMessage(getClass().getSimpleName() + ": You can't skip waiting time right now!");
}
break;
}
case "RESPAWN_FAFURION":
{
if (getStatus() == DEAD)
{
setRespawn(0);
cancelQuestTimer("unlock_fafurion", null, null);
notifyEvent("unlock_fafurion", null, null);
player.sendMessage(getClass().getSimpleName() + ": Fafurion has been respawned.");
}
else
{
player.sendMessage(getClass().getSimpleName() + ": You can't respawn Fafurion while he is alive!");
}
break;
}
case "ABORT_FIGHT":
{
if (getStatus() == FIGHTING)
{
setStatus(ALIVE);
cancelQuestTimer("resetRaid", npc, null);
for (Creature creature : zone.getCharactersInside())
{
if (creature != null)
{
if (creature.isNpc())
{
if (creature.getId() == FAFURION_FINAL_FORM)
{
creature.teleToLocation(FAFURION_SPAWN_LOC);
}
else
{
creature.deleteMe();
}
}
else if (creature.isPlayer() && !creature.isGM())
{
creature.teleToLocation(ENTER_NPC_LOC);
}
}
}
player.sendMessage(getClass().getSimpleName() + ": Fight has been aborted!");
}
else
{
player.sendMessage(getClass().getSimpleName() + ": You can't abort fight right now!");
}
break;
}
case "resetRaid":
{
final int status = GrandBossManager.getInstance().getBossStatus(FAFURION_GRANDBOSS_ID);
if ((status > ALIVE) && (status < DEAD))
if ((getStatus() > ALIVE) && (getStatus() < DEAD))
{
for (PlayerInstance plr : World.getInstance().getVisibleObjectsInRange(npc, PlayerInstance.class, 5000))
{
plr.sendPacket(new ExShowScreenMessage(NpcStringId.EXCEEDED_THE_FAFURION_S_NEST_RAID_TIME_LIMIT, ExShowScreenMessage.TOP_CENTER, 10000, true));
}
GrandBossManager.getInstance().setBossStatus(FAFURION_GRANDBOSS_ID, ALIVE);
setStatus(ALIVE);
setRespawn(0);
npc.deleteMe();
}
break;
}
case "enter_area":
{
final int status = GrandBossManager.getInstance().getBossStatus(FAFURION_GRANDBOSS_ID);
if (player.isGM())
{
player.teleToLocation(RAID_ENTER_LOC, true);
}
else
{
if (((status > ALIVE) && (status < DEAD)) || (status == DEAD))
if (((getStatus() > ALIVE) && (getStatus() < DEAD)) || (getStatus() == DEAD))
{
return "34488-02.html";
}
@@ -178,9 +249,9 @@ public class Fafurion extends AbstractNpcAI
}
}
}
if (status == ALIVE)
if (getStatus() == ALIVE)
{
GrandBossManager.getInstance().setBossStatus(FAFURION_GRANDBOSS_ID, WAITING);
setStatus(WAITING);
startQuestTimer("beginning", Config.FAFURION_WAIT_TIME * 60000, null, null);
startQuestTimer("warning", Config.FAFURION_WAIT_TIME > 0 ? (Config.FAFURION_WAIT_TIME * 60000) - 30000 : 0, null, player);
}
@@ -198,15 +269,28 @@ public class Fafurion extends AbstractNpcAI
player.sendPacket(new ExShowScreenMessage(NpcStringId.HONORED_WARRIORS_HAVE_DEFEATED_THE_WATER_DRAGON_FAFURION, ExShowScreenMessage.TOP_CENTER, 10000, true));
}
GrandBossManager.getInstance().setBossStatus(FAFURION_GRANDBOSS_ID, DEAD);
setStatus(DEAD);
final long respawnTime = (Config.FAFURION_SPAWN_INTERVAL + getRandom(-Config.FAFURION_SPAWN_RANDOM, Config.FAFURION_SPAWN_RANDOM)) * 3600000;
final StatSet info = GrandBossManager.getInstance().getStatSet(FAFURION_GRANDBOSS_ID);
info.set("respawn_time", System.currentTimeMillis() + respawnTime);
GrandBossManager.getInstance().setStatSet(FAFURION_GRANDBOSS_ID, info);
startQuestTimer("unlock_fafurion", respawnTime, null, null);
setRespawn(respawnTime);
return super.onKill(npc, killer, isSummon);
}
private int getStatus()
{
return GrandBossManager.getInstance().getBossStatus(FAFURION_GRANDBOSS_ID);
}
private void setStatus(int status)
{
GrandBossManager.getInstance().setBossStatus(FAFURION_GRANDBOSS_ID, status);
}
private void setRespawn(long respawnTime)
{
GrandBossManager.getInstance().getStatSet(FAFURION_GRANDBOSS_ID).set("respawn_time", System.currentTimeMillis() + respawnTime);
}
@Override
public String onFirstTalk(Npc npc, PlayerInstance player)
{

View File

@@ -4,7 +4,7 @@
<tr>
<td width=45><button value="Main" action="bypass -h admin_admin" width=45 height=21 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
<td width=180><center>Player: %name%</center></td>
<td width=45><button value="Back" action="bypass -h admin_admin7" width=45 height=21 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
<td width=45><button value="Back" action="bypass -h admin_show_characters 0" width=45 height=21 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
</tr>
</table>
<br>

View File

@@ -0,0 +1,35 @@
<html><title>Admin GrandBoss</title><body>
<center>
<table width=270>
<tr>
<td width=45><button value="Main" action="bypass -h admin_admin" width=45 height=21 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
<td width=180><center>Admin GrandBoss menu</center></td>
<td width=45><button value="Back" action="bypass -h admin_grandboss" width=45 height=21 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
</tr>
</table>
<br>
<br>
<font color="LEVEL">Fafurion<font><br>
<table width="270" border="0" bgcolor="444444">
<tr>
<td>Status:</td>
<td><font color="%bossColor%">%bossStatus%</font></td>
</tr>
<tr>
<td>Respawn time:</td>
<td>%respawnTime%</td>
</tr>
<tr>
<td>Players inside:</td>
<td>%playersInside%</td>
</tr>
</table>
<br>
<br>
<button value="Respawn Fafurion" action="bypass -h admin_grandboss_respawn 19740" width=200 height=21 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td><br1>
<button value="Skip waiting time" action="bypass -h admin_grandboss_skip 19740" width=200 height=21 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td><br1>
<button value="Abort Fight" action="bypass -h admin_grandboss_abort 19740" width=200 height=21 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td><br1>
<button value="Teleport to Heart of Tsunami" action="bypass -h admin_move_to 190856 257112 -3328" width=200 height=21 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td><br1>
<button value="Teleport to Fafurion Nest" action="bypass -h admin_move_to 180059 212896 -14727" width=200 height=21 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td><br1>
</center>
</body></html>

View File

@@ -4,7 +4,7 @@
<tr>
<td width=45><button value="Main" action="bypass -h admin_admin" width=45 height=21 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
<td width=180><center>Player: %name%</center></td>
<td width=45><button value="Back" action="bypass -h admin_admin7" width=45 height=21 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
<td width=45><button value="Back" action="bypass -h admin_show_characters 0" width=45 height=21 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
</tr>
</table>
<br>

View File

@@ -0,0 +1,35 @@
<html><title>Admin GrandBoss</title><body>
<center>
<table width=270>
<tr>
<td width=45><button value="Main" action="bypass -h admin_admin" width=45 height=21 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
<td width=180><center>Admin GrandBoss menu</center></td>
<td width=45><button value="Back" action="bypass -h admin_grandboss" width=45 height=21 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
</tr>
</table>
<br>
<br>
<font color="LEVEL">Fafurion<font><br>
<table width="270" border="0" bgcolor="444444">
<tr>
<td>Status:</td>
<td><font color="%bossColor%">%bossStatus%</font></td>
</tr>
<tr>
<td>Respawn time:</td>
<td>%respawnTime%</td>
</tr>
<tr>
<td>Players inside:</td>
<td>%playersInside%</td>
</tr>
</table>
<br>
<br>
<button value="Respawn Fafurion" action="bypass -h admin_grandboss_respawn 19740" width=200 height=21 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td><br1>
<button value="Skip waiting time" action="bypass -h admin_grandboss_skip 19740" width=200 height=21 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td><br1>
<button value="Abort Fight" action="bypass -h admin_grandboss_abort 19740" width=200 height=21 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td><br1>
<button value="Teleport to Heart of Tsunami" action="bypass -h admin_move_to 190856 257112 -3328" width=200 height=21 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td><br1>
<button value="Teleport to Fafurion Nest" action="bypass -h admin_move_to 180059 212896 -14727" width=200 height=21 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td><br1>
</center>
</body></html>

View File

@@ -4,7 +4,7 @@
<tr>
<td width=45><button value="Main" action="bypass -h admin_admin" width=45 height=21 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
<td width=180><center>Player: %name%</center></td>
<td width=45><button value="Back" action="bypass -h admin_admin7" width=45 height=21 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
<td width=45><button value="Back" action="bypass -h admin_show_characters 0" width=45 height=21 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
</tr>
</table>
<br>

View File

@@ -0,0 +1,35 @@
<html><title>Admin GrandBoss</title><body>
<center>
<table width=270>
<tr>
<td width=45><button value="Main" action="bypass -h admin_admin" width=45 height=21 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
<td width=180><center>Admin GrandBoss menu</center></td>
<td width=45><button value="Back" action="bypass -h admin_grandboss" width=45 height=21 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
</tr>
</table>
<br>
<br>
<font color="LEVEL">Fafurion<font><br>
<table width="270" border="0" bgcolor="444444">
<tr>
<td>Status:</td>
<td><font color="%bossColor%">%bossStatus%</font></td>
</tr>
<tr>
<td>Respawn time:</td>
<td>%respawnTime%</td>
</tr>
<tr>
<td>Players inside:</td>
<td>%playersInside%</td>
</tr>
</table>
<br>
<br>
<button value="Respawn Fafurion" action="bypass -h admin_grandboss_respawn 19740" width=200 height=21 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td><br1>
<button value="Skip waiting time" action="bypass -h admin_grandboss_skip 19740" width=200 height=21 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td><br1>
<button value="Abort Fight" action="bypass -h admin_grandboss_abort 19740" width=200 height=21 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td><br1>
<button value="Teleport to Heart of Tsunami" action="bypass -h admin_move_to 190856 257112 -3328" width=200 height=21 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td><br1>
<button value="Teleport to Fafurion Nest" action="bypass -h admin_move_to 180059 212896 -14727" width=200 height=21 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td><br1>
</center>
</body></html>

Some files were not shown because too many files have changed in this diff Show More