Separated the Classic Datapack to it's own folder.

This commit is contained in:
MobiusDev
2015-05-02 03:45:56 +00:00
parent 08e28fe058
commit 484bff80bb
11501 changed files with 2200482 additions and 627 deletions

View File

@@ -666,7 +666,7 @@ public final class Beleth extends AbstractNpcAI
html = "32470b.htm";
}
return HtmCache.getInstance().getHtm(player.getHtmlPrefix(), "data/html/default/" + html);
return HtmCache.getInstance().getHtm(player.getHtmlPrefix(), "html/default/" + html);
}
@Override

View File

@@ -54,7 +54,7 @@ public class TarBeetleSpawn implements IXmlReader
@Override
public void load()
{
parseDatapackFile("data/spawnZones/tar_beetle.xml");
parseDatapackFile("spawnZones/tar_beetle.xml");
if (!zones.isEmpty())
{
spawnTask = ThreadPoolManager.getInstance().scheduleGeneralAtFixedRate(() -> zones.forEach(SpawnZone::refreshSpawn), 1000, 60000);

View File

@@ -100,7 +100,7 @@ public final class ManorManager extends AbstractNpcAI
}
return "manager.htm";
}
return getHtm(player.getHtmlPrefix(), "data/html/npcdefault.htm");
return getHtm(player.getHtmlPrefix(), "html/npcdefault.htm");
}
// @formatter:off

View File

@@ -112,7 +112,7 @@ public class MentorGuide extends AbstractNpcAI implements IXmlReader
@Override
public void load()
{
parseDatapackFile("config/MentorCoins.xml");
parseDatapackFile("../config/MentorCoins.xml");
LOGGER.log(Level.INFO, getClass().getSimpleName() + ": Loaded: " + MENTEE_COINS.size() + " mentee coins");
}

View File

@@ -20,7 +20,6 @@ package ai.npc.Nomi;
import ai.npc.AbstractNpcAI;
import com.l2jserver.Config;
import com.l2jserver.gameserver.model.Location;
import com.l2jserver.gameserver.model.actor.L2Npc;
import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
@@ -77,11 +76,6 @@ public final class Nomi extends AbstractNpcAI
addTalkId(NOMI);
addFirstTalkId(NOMI);
if (Config.SERVER_CLASSIC_SUPPORT)
{
return;
}
for (Location loc : SPAWN_LOCATIONS)
{
addSpawn(NOMI, loc, false, 0);

View File

@@ -46,7 +46,7 @@ public class NpcBuffersData implements IXmlReader
@Override
public void load()
{
parseDatapackFile("data/scripts/ai/npc/NpcBuffers/NpcBuffersData.xml");
parseDatapackFile("scripts/ai/npc/NpcBuffers/NpcBuffersData.xml");
LOGGER.log(Level.INFO, getClass().getSimpleName() + ": Loaded: " + _npcBuffers.size() + " buffers data.");
}

View File

@@ -816,7 +816,7 @@ public final class Raina extends AbstractNpcAI
private NpcHtmlMessage getNpcHtmlMessage(L2PcInstance player, L2Npc npc, String fileName)
{
final NpcHtmlMessage html = new NpcHtmlMessage(npc.getObjectId());
html.setHtml(HtmCache.getInstance().getHtm(player.getHtmlPrefix(), "data/scripts/ai/npc/Raina/" + fileName));
html.setHtml(HtmCache.getInstance().getHtm(player.getHtmlPrefix(), "scripts/ai/npc/Raina/" + fileName));
return html;
}

View File

@@ -93,7 +93,7 @@ public final class FortressOfResistance extends ClanHallSiegeEngine
private final void buildMessengerMessage()
{
String html = HtmCache.getInstance().getHtm(null, "data/scripts/conquerablehalls/FortressOfResistance/partisan_ordery_brakel001.htm");
String html = HtmCache.getInstance().getHtm(null, "scripts/conquerablehalls/FortressOfResistance/partisan_ordery_brakel001.htm");
if (html != null)
{
// FIXME: We don't have an object id to put in here :(

View File

@@ -307,7 +307,7 @@ public final class RainbowSpringsChateau extends ClanHallSiegeEngine
if (npcId == MESSENGER)
{
final String main = (_rainbow.getOwnerId() > 0) ? "messenger_yetti001.htm" : "messenger_yetti001a.htm";
html = HtmCache.getInstance().getHtm(player.getHtmlPrefix(), "data/scripts/conquerablehalls/RainbowSpringsChateau/" + main);
html = HtmCache.getInstance().getHtm(player.getHtmlPrefix(), "scripts/conquerablehalls/RainbowSpringsChateau/" + main);
html = html.replace("%time%", _registrationEnds);
if (_rainbow.getOwnerId() > 0)
{

View File

@@ -253,7 +253,7 @@ public final class Stage1 extends Quest
factory.setValidating(false);
factory.setIgnoringComments(true);
File file = new File(Config.DATAPACK_ROOT + "/data/spawnZones/seed_of_destruction.xml");
File file = new File(Config.DATAPACK_ROOT + "/spawnZones/seed_of_destruction.xml");
if (!file.exists())
{
_log.severe("[Seed of Destruction] Missing seed_of_destruction.xml. The quest wont work without it!");

View File

@@ -448,7 +448,7 @@ public final class HallOfSuffering extends AbstractNpcAI
private String getPtLeaderText(L2PcInstance player, HSWorld world)
{
String htmltext = HtmCache.getInstance().getHtm(player.getHtmlPrefix(), "/data/scripts/instances/SeedOfInfinity/HallOfSuffering/32530-10.htm");
String htmltext = HtmCache.getInstance().getHtm(player.getHtmlPrefix(), "/scripts/instances/SeedOfInfinity/HallOfSuffering/32530-10.htm");
htmltext = htmltext.replaceAll("%ptLeader%", String.valueOf(world.ptLeaderName));
return htmltext;
}

View File

@@ -57,7 +57,7 @@ public class L2StaticObjectInstanceAction implements IActionHandler
{
if (staticObject.getType() == 2)
{
final String filename = (staticObject.getId() == 24230101) ? "data/html/signboards/tomb_of_crystalgolem.htm" : "data/html/signboards/pvp_signboard.htm";
final String filename = (staticObject.getId() == 24230101) ? "html/signboards/tomb_of_crystalgolem.htm" : "html/signboards/pvp_signboard.htm";
final String content = HtmCache.getInstance().getHtm(activeChar.getHtmlPrefix(), filename);
final NpcHtmlMessage html = new NpcHtmlMessage(staticObject.getObjectId());

View File

@@ -38,7 +38,7 @@ public class L2DoorInstanceActionShift implements IActionShiftHandler
activeChar.sendPacket(new StaticObject(door, activeChar.isGM()));
final NpcHtmlMessage html = new NpcHtmlMessage();
html.setFile(activeChar.getHtmlPrefix(), "data/html/admin/doorinfo.htm");
html.setFile(activeChar.getHtmlPrefix(), "html/admin/doorinfo.htm");
html.replace("%class%", target.getClass().getSimpleName());
html.replace("%hp%", String.valueOf((int) door.getCurrentHp()));
html.replace("%hpmax%", String.valueOf(door.getMaxHp()));

View File

@@ -63,7 +63,7 @@ public class L2NpcActionShift implements IActionShiftHandler
activeChar.setTarget(target);
final NpcHtmlMessage html = new NpcHtmlMessage();
html.setFile(activeChar.getHtmlPrefix(), "data/html/admin/npcinfo.htm");
html.setFile(activeChar.getHtmlPrefix(), "html/admin/npcinfo.htm");
html.replace("%objid%", String.valueOf(target.getObjectId()));
html.replace("%class%", target.getClass().getSimpleName());

View File

@@ -92,7 +92,7 @@ public class AdminAnnouncements implements IAdminCommandHandler
{
if (!st.hasMoreTokens())
{
String content = HtmCache.getInstance().getHtm(activeChar.getHtmlPrefix(), "data/html/admin/announces-add.htm");
String content = HtmCache.getInstance().getHtm(activeChar.getHtmlPrefix(), "html/admin/announces-add.htm");
Util.sendCBHtml(activeChar, content);
break;
}
@@ -193,7 +193,7 @@ public class AdminAnnouncements implements IAdminCommandHandler
}
if (!st.hasMoreTokens())
{
String content = HtmCache.getInstance().getHtm(activeChar.getHtmlPrefix(), "data/html/admin/announces-edit.htm");
String content = HtmCache.getInstance().getHtm(activeChar.getHtmlPrefix(), "html/admin/announces-edit.htm");
String announcementId = "" + announce.getId();
String announcementType = announce.getType().name();
String announcementInital = "0";
@@ -419,7 +419,7 @@ public class AdminAnnouncements implements IAdminCommandHandler
final IAnnouncement announce = AnnouncementsTable.getInstance().getAnnounce(id);
if (announce != null)
{
String content = HtmCache.getInstance().getHtm(activeChar.getHtmlPrefix(), "data/html/admin/announces-show.htm");
String content = HtmCache.getInstance().getHtm(activeChar.getHtmlPrefix(), "html/admin/announces-show.htm");
String announcementId = "" + announce.getId();
String announcementType = announce.getType().name();
String announcementInital = "0";
@@ -459,7 +459,7 @@ public class AdminAnnouncements implements IAdminCommandHandler
}
}
String content = HtmCache.getInstance().getHtm(activeChar.getHtmlPrefix(), "data/html/admin/announces-list.htm");
String content = HtmCache.getInstance().getHtm(activeChar.getHtmlPrefix(), "html/admin/announces-list.htm");
final PageResult result = HtmlUtil.createPage(AnnouncementsTable.getInstance().getAllAnnouncements(), page, 8, currentPage ->
{
return "<td align=center><button action=\"bypass admin_announces list " + currentPage + "\" value=\"" + (currentPage + 1) + "\" width=35 height=20 back=\"L2UI_CT1.Button_DF_Down\" fore=\"L2UI_CT1.Button_DF\"></td>";

View File

@@ -357,7 +357,7 @@ public final class AdminCHSiege implements IAdminCommandHandler
private void sendSiegableHallPage(L2PcInstance activeChar, String hallId, SiegableHall hall)
{
final NpcHtmlMessage msg = new NpcHtmlMessage();
msg.setFile(null, "data/html/admin/siegablehall.htm");
msg.setFile(null, "html/admin/siegablehall.htm");
msg.replace("%clanhallId%", hallId);
msg.replace("%clanhallName%", hall.getName());
if (hall.getOwnerId() > 0)

View File

@@ -225,7 +225,7 @@ public final class AdminCastle implements IAdminCommandHandler
else
{
final NpcHtmlMessage html = new NpcHtmlMessage(0, 0);
html.setHtml(HtmCache.getInstance().getHtm(activeChar.getHtmlPrefix(), "data/html/admin/castlemanage.htm"));
html.setHtml(HtmCache.getInstance().getHtm(activeChar.getHtmlPrefix(), "html/admin/castlemanage.htm"));
activeChar.sendPacket(html);
}
}
@@ -240,7 +240,7 @@ public final class AdminCastle implements IAdminCommandHandler
{
final L2Clan ownerClan = castle.getOwner();
final NpcHtmlMessage html = new NpcHtmlMessage(0, 0);
html.setHtml(HtmCache.getInstance().getHtm(player.getHtmlPrefix(), "data/html/admin/castlemanage_selected.htm"));
html.setHtml(HtmCache.getInstance().getHtm(player.getHtmlPrefix(), "html/admin/castlemanage_selected.htm"));
html.replace("%castleId%", castle.getResidenceId());
html.replace("%castleName%", castle.getName());
html.replace("%ownerName%", ownerClan != null ? ownerClan.getLeaderName() : "NPC");

View File

@@ -71,7 +71,7 @@ public class AdminClan implements IAdminCommandHandler
}
final NpcHtmlMessage html = new NpcHtmlMessage(0, 1);
html.setHtml(HtmCache.getInstance().getHtm(activeChar.getHtmlPrefix(), "data/html/admin/claninfo.htm"));
html.setHtml(HtmCache.getInstance().getHtm(activeChar.getHtmlPrefix(), "html/admin/claninfo.htm"));
html.replace("%clan_name%", clan.getName());
html.replace("%clan_leader%", clan.getLeaderName());
html.replace("%clan_level%", String.valueOf(clan.getLevel()));
@@ -118,7 +118,7 @@ public class AdminClan implements IAdminCommandHandler
case "admin_clan_show_pending":
{
final NpcHtmlMessage html = new NpcHtmlMessage(0, 1);
html.setHtml(HtmCache.getInstance().getHtm(activeChar.getHtmlPrefix(), "data/html/admin/clanchanges.htm"));
html.setHtml(HtmCache.getInstance().getHtm(activeChar.getHtmlPrefix(), "html/admin/clanchanges.htm"));
StringBuilder sb = new StringBuilder();
for (L2Clan clan : ClanTable.getInstance().getClans())
{

View File

@@ -180,7 +180,7 @@ public class AdminClanHall implements IAdminCommandHandler
{
int i = 0;
final NpcHtmlMessage adminReply = new NpcHtmlMessage();
adminReply.setFile(activeChar.getHtmlPrefix(), "data/html/admin/clanhalls.htm");
adminReply.setFile(activeChar.getHtmlPrefix(), "html/admin/clanhalls.htm");
final StringBuilder cList = new StringBuilder(500);
for (SiegableHall hall : CHSiegeManager.getInstance().getConquerableHalls().values())
{
@@ -239,7 +239,7 @@ public class AdminClanHall implements IAdminCommandHandler
private void showClanHallPage(L2PcInstance activeChar, ClanHall clanhall)
{
final NpcHtmlMessage adminReply = new NpcHtmlMessage();
adminReply.setFile(activeChar.getHtmlPrefix(), "data/html/admin/clanhall.htm");
adminReply.setFile(activeChar.getHtmlPrefix(), "html/admin/clanhall.htm");
adminReply.replace("%clanhallName%", clanhall.getName());
adminReply.replace("%clanhallId%", String.valueOf(clanhall.getId()));
final L2Clan owner = ClanTable.getInstance().getClan(clanhall.getOwnerId());
@@ -255,7 +255,7 @@ public class AdminClanHall implements IAdminCommandHandler
private void showSiegableHallPage(L2PcInstance activeChar, SiegableHall hall)
{
final NpcHtmlMessage msg = new NpcHtmlMessage();
msg.setFile(null, "data/html/admin/siegablehall.htm");
msg.setFile(null, "html/admin/siegablehall.htm");
msg.replace("%clanhallId%", String.valueOf(hall.getId()));
msg.replace("%clanhallName%", hall.getName());
if (hall.getOwnerId() > 0)

View File

@@ -93,7 +93,7 @@ public class AdminCursedWeapons implements IAdminCommandHandler
final Collection<CursedWeapon> cws = cwm.getCursedWeapons();
final StringBuilder replyMSG = new StringBuilder(cws.size() * 300);
final NpcHtmlMessage adminReply = new NpcHtmlMessage();
adminReply.setFile(activeChar.getHtmlPrefix(), "data/html/admin/cwinfo.htm");
adminReply.setFile(activeChar.getHtmlPrefix(), "html/admin/cwinfo.htm");
for (CursedWeapon cw : cwm.getCursedWeapons())
{
itemId = cw.getItemId();

View File

@@ -892,7 +892,7 @@ public class AdminEditChar implements IAdminCommandHandler
final L2PcInstance[] players = L2World.getInstance().getPlayersSortedBy(Comparator.comparingLong(L2PcInstance::getUptime));
final NpcHtmlMessage html = new NpcHtmlMessage();
html.setFile(activeChar.getHtmlPrefix(), "data/html/admin/charlist.htm");
html.setFile(activeChar.getHtmlPrefix(), "html/admin/charlist.htm");
final PageResult result = HtmlUtil.createPage(players, page, 20, i ->
{
@@ -972,7 +972,7 @@ public class AdminEditChar implements IAdminCommandHandler
}
final NpcHtmlMessage adminReply = new NpcHtmlMessage();
adminReply.setFile(activeChar.getHtmlPrefix(), "data/html/admin/" + filename);
adminReply.setFile(activeChar.getHtmlPrefix(), "html/admin/" + filename);
adminReply.replace("%name%", player.getName());
adminReply.replace("%level%", String.valueOf(player.getLevel()));
adminReply.replace("%clan%", String.valueOf(player.getClan() != null ? "<a action=\"bypass -h admin_clan_info " + player.getObjectId() + "\">" + player.getClan().getName() + "</a>" : null));
@@ -1087,7 +1087,7 @@ public class AdminEditChar implements IAdminCommandHandler
int CharactersFound = 0;
String name;
final NpcHtmlMessage adminReply = new NpcHtmlMessage();
adminReply.setFile(activeChar.getHtmlPrefix(), "data/html/admin/charfind.htm");
adminReply.setFile(activeChar.getHtmlPrefix(), "html/admin/charfind.htm");
final StringBuilder replyMSG = new StringBuilder(1000);
@@ -1157,7 +1157,7 @@ public class AdminEditChar implements IAdminCommandHandler
String name, ip = "0.0.0.0";
final StringBuilder replyMSG = new StringBuilder(1000);
final NpcHtmlMessage adminReply = new NpcHtmlMessage();
adminReply.setFile(activeChar.getHtmlPrefix(), "data/html/admin/ipfind.htm");
adminReply.setFile(activeChar.getHtmlPrefix(), "html/admin/ipfind.htm");
for (L2PcInstance player : L2World.getInstance().getPlayersSortedBy(Comparator.comparingLong(L2PcInstance::getUptime)))
{
client = player.getClient();
@@ -1241,7 +1241,7 @@ public class AdminEditChar implements IAdminCommandHandler
chars.values().stream().forEachOrdered(name -> StringUtil.append(replyMSG, name, "<br1>"));
final NpcHtmlMessage adminReply = new NpcHtmlMessage();
adminReply.setFile(activeChar.getHtmlPrefix(), "data/html/admin/accountinfo.htm");
adminReply.setFile(activeChar.getHtmlPrefix(), "html/admin/accountinfo.htm");
adminReply.replace("%account%", player.getAccountName());
adminReply.replace("%player%", characterName);
adminReply.replace("%characters%", replyMSG.toString());
@@ -1298,7 +1298,7 @@ public class AdminEditChar implements IAdminCommandHandler
}
final NpcHtmlMessage adminReply = new NpcHtmlMessage();
adminReply.setFile(activeChar.getHtmlPrefix(), "data/html/admin/dualbox.htm");
adminReply.setFile(activeChar.getHtmlPrefix(), "html/admin/dualbox.htm");
adminReply.replace("%multibox%", String.valueOf(multibox));
adminReply.replace("%results%", results.toString());
adminReply.replace("%strict%", "");
@@ -1350,7 +1350,7 @@ public class AdminEditChar implements IAdminCommandHandler
}
final NpcHtmlMessage adminReply = new NpcHtmlMessage();
adminReply.setFile(activeChar.getHtmlPrefix(), "data/html/admin/dualbox.htm");
adminReply.setFile(activeChar.getHtmlPrefix(), "html/admin/dualbox.htm");
adminReply.replace("%multibox%", String.valueOf(multibox));
adminReply.replace("%results%", results.toString());
adminReply.replace("%strict%", "strict_");
@@ -1434,7 +1434,7 @@ public class AdminEditChar implements IAdminCommandHandler
private void gatherSummonInfo(L2Summon target, L2PcInstance activeChar)
{
final NpcHtmlMessage html = new NpcHtmlMessage();
html.setFile(activeChar.getHtmlPrefix(), "data/html/admin/petinfo.htm");
html.setFile(activeChar.getHtmlPrefix(), "html/admin/petinfo.htm");
String name = target.getName();
html.replace("%name%", name == null ? "N/A" : name);
html.replace("%level%", Integer.toString(target.getLevel()));
@@ -1473,7 +1473,7 @@ public class AdminEditChar implements IAdminCommandHandler
{
boolean color = true;
final NpcHtmlMessage html = new NpcHtmlMessage();
html.setFile(activeChar.getHtmlPrefix(), "data/html/admin/partyinfo.htm");
html.setFile(activeChar.getHtmlPrefix(), "html/admin/partyinfo.htm");
StringBuilder text = new StringBuilder(400);
for (L2PcInstance member : target.getParty().getMembers())
{

View File

@@ -583,7 +583,7 @@ public class AdminEffects implements IAdminCommandHandler
sb.append("<button action=\"bypass admin_ave_abnormal " + abnormalVisualEffect.name() + "\" align=left icon=teleport>" + abnormalVisualEffect.name() + "</button>");
}
final NpcHtmlMessage html = new NpcHtmlMessage(0, 1);
html.setFile(activeChar.getHtmlPrefix(), "data/html/admin/ave_abnormal.htm");
html.setFile(activeChar.getHtmlPrefix(), "html/admin/ave_abnormal.htm");
html.replace("%abnormals%", sb.toString());
activeChar.sendPacket(html);
activeChar.sendMessage("Usage: //" + command.replace("admin_", "") + " <AbnormalVisualEffect> [radius]");

View File

@@ -123,9 +123,9 @@ public class AdminEventEngine implements IAdminCommandHandler
{
final NpcHtmlMessage adminReply = new NpcHtmlMessage();
DataInputStream in = new DataInputStream(new BufferedInputStream(new FileInputStream(Config.DATAPACK_ROOT + "/data/events/" + eventName)));
DataInputStream in = new DataInputStream(new BufferedInputStream(new FileInputStream(Config.DATAPACK_ROOT + "events/" + eventName)));
BufferedReader inbr = new BufferedReader(new InputStreamReader(in));
adminReply.setFile("en", "data/html/mods/EventEngine/Participation.htm");
adminReply.setFile("en", "html/mods/EventEngine/Participation.htm");
adminReply.replace("%eventName%", eventName);
adminReply.replace("%eventCreator%", inbr.readLine());
adminReply.replace("%eventInfo%", inbr.readLine());
@@ -146,7 +146,7 @@ public class AdminEventEngine implements IAdminCommandHandler
{
// There is an exception here for not using the ST. We use spaces (ST delim) for the event name.
String eventName = command.substring(16);
File file = new File(Config.DATAPACK_ROOT + "/data/events/" + eventName);
File file = new File(Config.DATAPACK_ROOT + "events/" + eventName);
file.delete();
showMainPage(activeChar);
}
@@ -165,7 +165,7 @@ public class AdminEventEngine implements IAdminCommandHandler
{
try
{
FileOutputStream file = new FileOutputStream(new File(Config.DATAPACK_ROOT, "data/events/" + tempName));
FileOutputStream file = new FileOutputStream(new File(Config.DATAPACK_ROOT, "events/" + tempName));
PrintStream p = new PrintStream(file);
p.println(activeChar.getName());
p.println(tempBuffer);
@@ -438,7 +438,7 @@ public class AdminEventEngine implements IAdminCommandHandler
private String showStoredEvents()
{
final File dir = new File(Config.DATAPACK_ROOT, "/data/events");
final File dir = new File(Config.DATAPACK_ROOT, "events/");
if (dir.isFile())
{
return "<font color=\"FF0000\">The directory '" + dir.getAbsolutePath() + "' is a file or is corrupted!</font><br>";

View File

@@ -152,7 +152,7 @@ public class AdminEvents implements IAdminCommandHandler
private void showMenu(L2PcInstance activeChar)
{
final NpcHtmlMessage html = new NpcHtmlMessage();
html.setFile(activeChar.getHtmlPrefix(), "data/html/admin/gm_events.htm");
html.setFile(activeChar.getHtmlPrefix(), "html/admin/gm_events.htm");
final StringBuilder cList = new StringBuilder(500);
for (Quest event : QuestManager.getInstance().getScripts().values())
{

View File

@@ -102,7 +102,7 @@ public class AdminExpSp implements IAdminCommandHandler
return;
}
final NpcHtmlMessage adminReply = new NpcHtmlMessage();
adminReply.setFile(activeChar.getHtmlPrefix(), "data/html/admin/expsp.htm");
adminReply.setFile(activeChar.getHtmlPrefix(), "html/admin/expsp.htm");
adminReply.replace("%name%", player.getName());
adminReply.replace("%level%", String.valueOf(player.getLevel()));
adminReply.replace("%xp%", String.valueOf(player.getExp()));

View File

@@ -154,7 +154,7 @@ public class AdminFortSiege implements IAdminCommandHandler
{
int i = 0;
final NpcHtmlMessage adminReply = new NpcHtmlMessage();
adminReply.setFile(activeChar.getHtmlPrefix(), "data/html/admin/forts.htm");
adminReply.setFile(activeChar.getHtmlPrefix(), "html/admin/forts.htm");
final List<Fort> forts = FortManager.getInstance().getForts();
final StringBuilder cList = new StringBuilder(forts.size() * 100);
@@ -181,7 +181,7 @@ public class AdminFortSiege implements IAdminCommandHandler
private void showFortSiegePage(L2PcInstance activeChar, Fort fort)
{
final NpcHtmlMessage adminReply = new NpcHtmlMessage();
adminReply.setFile(activeChar.getHtmlPrefix(), "data/html/admin/fort.htm");
adminReply.setFile(activeChar.getHtmlPrefix(), "html/admin/fort.htm");
adminReply.replace("%fortName%", fort.getName());
adminReply.replace("%fortId%", String.valueOf(fort.getResidenceId()));
activeChar.sendPacket(adminReply);

View File

@@ -63,7 +63,7 @@ public class AdminGraciaSeeds implements IAdminCommandHandler
private void showMenu(L2PcInstance activeChar)
{
final NpcHtmlMessage html = new NpcHtmlMessage();
html.setFile(activeChar.getHtmlPrefix(), "data/html/admin/graciaseeds.htm");
html.setFile(activeChar.getHtmlPrefix(), "html/admin/graciaseeds.htm");
html.replace("%sodstate%", String.valueOf(GraciaSeedsManager.getInstance().getSoDState()));
html.replace("%sodtiatkill%", String.valueOf(GraciaSeedsManager.getInstance().getSoDTiatKilled()));
if (GraciaSeedsManager.getInstance().getSoDTimeForNextStateChange() > 0)

View File

@@ -76,7 +76,7 @@ public class AdminGrandBoss implements IAdminCommandHandler
else
{
NpcHtmlMessage html = new NpcHtmlMessage(0, 1);
html.setHtml(HtmCache.getInstance().getHtm(activeChar.getHtmlPrefix(), "data/html/admin/grandboss.htm"));
html.setHtml(HtmCache.getInstance().getHtm(activeChar.getHtmlPrefix(), "html/admin/grandboss.htm"));
activeChar.sendPacket(html);
}
break;
@@ -218,33 +218,33 @@ public class AdminGrandBoss implements IAdminCommandHandler
case ANTHARAS:
{
bossZone = ZoneManager.getInstance().getZoneById(ANTHARAS_ZONE, L2NoRestartZone.class);
htmlPatch = "data/html/admin/grandboss_antharas.htm";
htmlPatch = "html/admin/grandboss_antharas.htm";
break;
}
case VALAKAS:
{
htmlPatch = "data/html/admin/grandboss_valakas.htm";
htmlPatch = "html/admin/grandboss_valakas.htm";
break;
}
case BAIUM:
{
bossZone = ZoneManager.getInstance().getZoneById(BAIUM_ZONE, L2NoRestartZone.class);
htmlPatch = "data/html/admin/grandboss_baium.htm";
htmlPatch = "html/admin/grandboss_baium.htm";
break;
}
case QUEENANT:
{
htmlPatch = "data/html/admin/grandboss_queenant.htm";
htmlPatch = "html/admin/grandboss_queenant.htm";
break;
}
case ORFEN:
{
htmlPatch = "data/html/admin/grandboss_orfen.htm";
htmlPatch = "html/admin/grandboss_orfen.htm";
break;
}
case CORE:
{
htmlPatch = "data/html/admin/grandboss_core.htm";
htmlPatch = "html/admin/grandboss_core.htm";
break;
}
}

View File

@@ -76,11 +76,11 @@ public class AdminHtml implements IAdminCommandHandler
/**
* Shows a html message to activeChar
* @param activeChar activeChar where html is shown
* @param path relative path from directory data/html/admin/ to html
* @param path relative path from directory html/admin/ to html
*/
public static void showAdminHtml(L2PcInstance activeChar, String path)
{
showHtml(activeChar, "data/html/admin/" + path, false);
showHtml(activeChar, "html/admin/" + path, false);
}
/**

View File

@@ -20,7 +20,6 @@ package handlers.admincommandhandlers;
import java.util.StringTokenizer;
import com.l2jserver.Config;
import com.l2jserver.gameserver.data.xml.impl.ExperienceData;
import com.l2jserver.gameserver.handler.IAdminCommandHandler;
import com.l2jserver.gameserver.model.L2Object;
@@ -65,7 +64,7 @@ public class AdminLevel implements IAdminCommandHandler
}
else if (actualCommand.equalsIgnoreCase("admin_set_level"))
{
final int maxLevel = Config.SERVER_CLASSIC_SUPPORT ? Config.MAX_CLASSIC_PLAYER_LEVEL : ExperienceData.getInstance().getMaxLevel();
final int maxLevel = ExperienceData.getInstance().getMaxLevel();
try
{
if (!(targetChar instanceof L2PcInstance))

View File

@@ -168,7 +168,7 @@ public class AdminLogin implements IAdminCommandHandler
private void showMainPage(L2PcInstance activeChar)
{
final NpcHtmlMessage html = new NpcHtmlMessage();
html.setFile(activeChar.getHtmlPrefix(), "data/html/admin/login.htm");
html.setFile(activeChar.getHtmlPrefix(), "html/admin/login.htm");
html.replace("%server_name%", LoginServerThread.getInstance().getServerName());
html.replace("%status%", LoginServerThread.getInstance().getStatusString());
html.replace("%clock%", getServerTypeName(Config.SERVER_LIST_TYPE));

View File

@@ -37,7 +37,7 @@ public final class AdminManor implements IAdminCommandHandler
{
final CastleManorManager manor = CastleManorManager.getInstance();
final NpcHtmlMessage msg = new NpcHtmlMessage();
msg.setFile(activeChar.getHtmlPrefix(), "data/html/admin/manor.htm");
msg.setFile(activeChar.getHtmlPrefix(), "html/admin/manor.htm");
msg.replace("%status%", manor.getCurrentModeName());
msg.replace("%change%", manor.getNextModeChange());

View File

@@ -199,7 +199,7 @@ public final class AdminPCBangPoints implements IAdminCommandHandler
final NpcHtmlMessage html = new NpcHtmlMessage(0, 0);
final L2PcInstance target = getTarget(activeChar);
final int points = target.getPcBangPoints();
html.setHtml(HtmCache.getInstance().getHtm(activeChar.getHtmlPrefix(), "data/html/admin/pcbang.htm"));
html.setHtml(HtmCache.getInstance().getHtm(activeChar.getHtmlPrefix(), "html/admin/pcbang.htm"));
html.replace("%points%", Util.formatAdena(points));
html.replace("%targetName%", target.getName());
activeChar.sendPacket(html);

View File

@@ -209,7 +209,7 @@ public final class AdminPForge implements IAdminCommandHandler
private void showValuesPage(L2PcInstance activeChar, String[] opCodes, String format)
{
String sendBypass = null;
String valuesHtml = HtmCache.getInstance().getHtmForce(activeChar.getHtmlPrefix(), "data/html/admin/pforge/values.htm");
String valuesHtml = HtmCache.getInstance().getHtmForce(activeChar.getHtmlPrefix(), "html/admin/pforge/values.htm");
if (opCodes.length == 3)
{
valuesHtml = valuesHtml.replace("%opformat%", "chd");
@@ -240,7 +240,7 @@ public final class AdminPForge implements IAdminCommandHandler
valuesHtml = valuesHtml.replace("%format%", format);
sendBypass += " " + format;
String editorTemplate = HtmCache.getInstance().getHtm(activeChar.getHtmlPrefix(), "data/html/admin/pforge/inc/editor.htm");
String editorTemplate = HtmCache.getInstance().getHtm(activeChar.getHtmlPrefix(), "html/admin/pforge/inc/editor.htm");
if (editorTemplate != null)
{

View File

@@ -50,7 +50,7 @@ public class AdminPcCondOverride implements IAdminCommandHandler
case "admin_exceptions":
{
final NpcHtmlMessage msg = new NpcHtmlMessage(0, 1);
msg.setFile(activeChar.getHtmlPrefix(), "data/html/admin/cond_override.htm");
msg.setFile(activeChar.getHtmlPrefix(), "html/admin/cond_override.htm");
StringBuilder sb = new StringBuilder();
for (PcCondOverride ex : PcCondOverride.values())
{

View File

@@ -111,7 +111,7 @@ public class AdminPremium implements IAdminCommandHandler
}
final NpcHtmlMessage html = new NpcHtmlMessage(0, 0);
html.setHtml(HtmCache.getInstance().getHtm(activeChar.getHtmlPrefix(), "data/html/admin/premium_menu.htm"));
html.setHtml(HtmCache.getInstance().getHtm(activeChar.getHtmlPrefix(), "html/admin/premium_menu.htm"));
activeChar.sendPacket(html);
return true;
}

View File

@@ -182,7 +182,7 @@ public final class AdminPrimePoints implements IAdminCommandHandler
final NpcHtmlMessage html = new NpcHtmlMessage(0, 0);
final L2PcInstance target = getTarget(activeChar);
final int points = target.getPrimePoints();
html.setHtml(HtmCache.getInstance().getHtm(activeChar.getHtmlPrefix(), "data/html/admin/primepoints.htm"));
html.setHtml(HtmCache.getInstance().getHtm(activeChar.getHtmlPrefix(), "html/admin/primepoints.htm"));
html.replace("%points%", Util.formatAdena(points));
html.replace("%targetName%", target.getName());
activeChar.sendPacket(html);

View File

@@ -79,7 +79,7 @@ public class AdminPunishment implements IAdminCommandHandler
{
if (!st.hasMoreTokens())
{
String content = HtmCache.getInstance().getHtm(activeChar.getHtmlPrefix(), "data/html/admin/punishment.htm");
String content = HtmCache.getInstance().getHtm(activeChar.getHtmlPrefix(), "html/admin/punishment.htm");
if (content != null)
{
content = content.replaceAll("%punishments%", Util.implode(PunishmentType.values(), ";"));
@@ -88,7 +88,7 @@ public class AdminPunishment implements IAdminCommandHandler
}
else
{
_log.log(Level.WARNING, getClass().getSimpleName() + ": data/html/admin/punishment.htm is missing");
_log.log(Level.WARNING, getClass().getSimpleName() + ": html/admin/punishment.htm is missing");
}
}
else
@@ -120,7 +120,7 @@ public class AdminPunishment implements IAdminCommandHandler
key = findCharId(key);
}
String content = HtmCache.getInstance().getHtm(activeChar.getHtmlPrefix(), "data/html/admin/punishment-info.htm");
String content = HtmCache.getInstance().getHtm(activeChar.getHtmlPrefix(), "html/admin/punishment-info.htm");
if (content != null)
{
StringBuilder sb = new StringBuilder();
@@ -151,7 +151,7 @@ public class AdminPunishment implements IAdminCommandHandler
}
else
{
_log.log(Level.WARNING, getClass().getSimpleName() + ": data/html/admin/punishment-info.htm is missing");
_log.log(Level.WARNING, getClass().getSimpleName() + ": html/admin/punishment-info.htm is missing");
}
break;
}
@@ -176,7 +176,7 @@ public class AdminPunishment implements IAdminCommandHandler
{
target = activeChar.getTarget().getActingPlayer();
}
String content = HtmCache.getInstance().getHtm(activeChar.getHtmlPrefix(), "data/html/admin/punishment-player.htm");
String content = HtmCache.getInstance().getHtm(activeChar.getHtmlPrefix(), "html/admin/punishment-player.htm");
if (content != null)
{
content = content.replaceAll("%player_name%", target.getName());
@@ -188,7 +188,7 @@ public class AdminPunishment implements IAdminCommandHandler
}
else
{
_log.log(Level.WARNING, getClass().getSimpleName() + ": data/html/admin/punishment-player.htm is missing");
_log.log(Level.WARNING, getClass().getSimpleName() + ": html/admin/punishment-player.htm is missing");
}
break;
}

View File

@@ -216,7 +216,7 @@ public class AdminQuest implements IAdminCommandHandler
}
final NpcHtmlMessage msg = new NpcHtmlMessage(0, 1);
msg.setFile(activeChar.getHtmlPrefix(), "data/html/admin/npc-quests.htm");
msg.setFile(activeChar.getHtmlPrefix(), "html/admin/npc-quests.htm");
msg.replace("%quests%", sb.toString());
msg.replace("%objid%", character.getObjectId());
msg.replace("%questName%", "");
@@ -322,7 +322,7 @@ public class AdminQuest implements IAdminCommandHandler
}
final NpcHtmlMessage msg = new NpcHtmlMessage(0, 1);
msg.setFile(activeChar.getHtmlPrefix(), "data/html/admin/npc-quests.htm");
msg.setFile(activeChar.getHtmlPrefix(), "html/admin/npc-quests.htm");
msg.replace("%quests%", sb.toString());
msg.replace("%questName%", "<table><tr><td width=\"50\" align=\"left\"><a action=\"bypass -h admin_script_load " + quest.getName() + "\">Reload</a></td> <td width=\"150\" align=\"center\"><a action=\"bypass -h admin_quest_info " + quest.getName() + "\">" + quest.getName() + "</a></td> <td width=\"50\" align=\"right\"><a action=\"bypass -h admin_script_unload " + quest.getName() + "\">Unload</a></tr></td></table>");
activeChar.sendPacket(msg);

View File

@@ -136,14 +136,8 @@ public class AdminReload implements IAdminCommandHandler
if (st.hasMoreElements())
{
final String path = st.nextToken();
final File file = new File(Config.DATAPACK_ROOT, "data/html/" + path);
final File file_classic = new File(Config.DATAPACK_ROOT, "data/html_classic/" + path);
if (Config.SERVER_CLASSIC_SUPPORT && file_classic.exists())
{
HtmCache.getInstance().reload(file_classic);
AdminData.getInstance().broadcastMessageToGMs(activeChar.getName() + ": Reloaded Htm File:" + file_classic.getName() + ".");
}
else if (file.exists())
final File file = new File(Config.DATAPACK_ROOT, "html/" + path);
if (file.exists())
{
HtmCache.getInstance().reload(file);
AdminData.getInstance().broadcastMessageToGMs(activeChar.getName() + ": Reloaded Htm File:" + file.getName() + ".");

View File

@@ -125,7 +125,7 @@ public class AdminScan implements IAdminCommandHandler
private void sendNpcList(L2PcInstance activeChar, int radius)
{
final NpcHtmlMessage html = new NpcHtmlMessage();
html.setFile(activeChar.getHtmlPrefix(), "data/html/admin/scan.htm");
html.setFile(activeChar.getHtmlPrefix(), "html/admin/scan.htm");
final StringBuilder sb = new StringBuilder();
for (L2Character character : activeChar.getKnownList().getKnownCharactersInRadius(radius))
{

View File

@@ -56,7 +56,7 @@ public class AdminServerInfo implements IAdminCommandHandler
final NpcHtmlMessage html = new NpcHtmlMessage();
final Runtime RunTime = Runtime.getRuntime();
final int mb = 1024 * 1024;
html.setHtml(HtmCache.getInstance().getHtm(activeChar.getHtmlPrefix(), "data/html/admin/serverinfo.htm"));
html.setHtml(HtmCache.getInstance().getHtm(activeChar.getHtmlPrefix(), "html/admin/serverinfo.htm"));
html.replace("%os_name%", System.getProperty("os.name"));
html.replace("%os_ver%", System.getProperty("os.version"));

View File

@@ -111,7 +111,7 @@ public class AdminShutdown implements IAdminCommandHandler
Calendar cal = Calendar.getInstance();
cal.set(Calendar.HOUR_OF_DAY, h);
cal.set(Calendar.MINUTE, m);
adminReply.setFile(activeChar.getHtmlPrefix(), "data/html/admin/shutdown.htm");
adminReply.setFile(activeChar.getHtmlPrefix(), "html/admin/shutdown.htm");
adminReply.replace("%count%", String.valueOf(L2World.getInstance().getAllPlayersCount()));
adminReply.replace("%used%", String.valueOf(Runtime.getRuntime().totalMemory() - Runtime.getRuntime().freeMemory()));
adminReply.replace("%time%", String.valueOf(format.format(cal.getTime())));

View File

@@ -350,7 +350,7 @@ public class AdminSkill implements IAdminCommandHandler
}
final L2PcInstance player = target.getActingPlayer();
final NpcHtmlMessage adminReply = new NpcHtmlMessage();
adminReply.setFile(activeChar.getHtmlPrefix(), "data/html/admin/charskills.htm");
adminReply.setFile(activeChar.getHtmlPrefix(), "html/admin/charskills.htm");
adminReply.replace("%name%", player.getName());
adminReply.replace("%level%", String.valueOf(player.getLevel()));
adminReply.replace("%class%", ClassListData.getInstance().getClass(player.getClassId()).getClientCode());

View File

@@ -113,7 +113,7 @@ public class AdminZone implements IAdminCommandHandler
private static void showHtml(L2PcInstance activeChar)
{
final String htmContent = HtmCache.getInstance().getHtm(activeChar.getHtmlPrefix(), "data/html/admin/zone.htm");
final String htmContent = HtmCache.getInstance().getHtm(activeChar.getHtmlPrefix(), "html/admin/zone.htm");
final NpcHtmlMessage adminReply = new NpcHtmlMessage();
adminReply.setHtml(htmContent);
adminReply.replace("%PEACE%", (activeChar.isInsideZone(ZoneId.PEACE) ? "<font color=\"LEVEL\">YES</font>" : "NO"));

View File

@@ -43,19 +43,19 @@ public class BuyShadowItem implements IBypassHandler
final NpcHtmlMessage html = new NpcHtmlMessage(((L2Npc) target).getObjectId());
if (activeChar.getLevel() < 40)
{
html.setFile(activeChar.getHtmlPrefix(), "data/html/common/shadow_item-lowlevel.htm");
html.setFile(activeChar.getHtmlPrefix(), "html/common/shadow_item-lowlevel.htm");
}
else if ((activeChar.getLevel() >= 40) && (activeChar.getLevel() < 46))
{
html.setFile(activeChar.getHtmlPrefix(), "data/html/common/shadow_item_d.htm");
html.setFile(activeChar.getHtmlPrefix(), "html/common/shadow_item_d.htm");
}
else if ((activeChar.getLevel() >= 46) && (activeChar.getLevel() < 52))
{
html.setFile(activeChar.getHtmlPrefix(), "data/html/common/shadow_item_c.htm");
html.setFile(activeChar.getHtmlPrefix(), "html/common/shadow_item_c.htm");
}
else if (activeChar.getLevel() >= 52)
{
html.setFile(activeChar.getHtmlPrefix(), "data/html/common/shadow_item_b.htm");
html.setFile(activeChar.getHtmlPrefix(), "html/common/shadow_item_b.htm");
}
html.replace("%objectId%", String.valueOf(((L2Npc) target).getObjectId()));
activeChar.sendPacket(html);

View File

@@ -78,7 +78,7 @@ public class ClanWarehouse implements IBypassHandler
if (Config.L2JMOD_ENABLE_WAREHOUSESORTING_CLAN)
{
final NpcHtmlMessage msg = new NpcHtmlMessage(((L2Npc) target).getObjectId());
msg.setFile(activeChar.getHtmlPrefix(), "data/html/mods/WhSortedC.htm");
msg.setFile(activeChar.getHtmlPrefix(), "html/mods/WhSortedC.htm");
msg.replace("%objectId%", String.valueOf(((L2Npc) target).getObjectId()));
activeChar.sendPacket(msg);
}

View File

@@ -46,7 +46,7 @@ public class Link implements IBypassHandler
return false;
}
String filename = "data/html/" + htmlPath;
String filename = "html/" + htmlPath;
final NpcHtmlMessage html = new NpcHtmlMessage(target != null ? target.getObjectId() : 0);
html.setFile(activeChar.getHtmlPrefix(), filename);
html.replace("%objectId%", String.valueOf(target != null ? target.getObjectId() : 0));

View File

@@ -144,7 +144,7 @@ public class NpcViewMod implements IBypassHandler
public static void sendNpcView(L2PcInstance activeChar, L2Npc npc)
{
final NpcHtmlMessage html = new NpcHtmlMessage();
html.setFile(activeChar.getHtmlPrefix(), "data/html/mods/NpcView/Info.htm");
html.setFile(activeChar.getHtmlPrefix(), "html/mods/NpcView/Info.htm");
html.replace("%name%", npc.getName());
html.replace("%hpGauge%", HtmlUtil.getHpGauge(250, (long) npc.getCurrentHp(), npc.getMaxHp(), false));
html.replace("%mpGauge%", HtmlUtil.getMpGauge(250, (long) npc.getCurrentMp(), npc.getMaxMp(), false));
@@ -369,10 +369,10 @@ public class NpcViewMod implements IBypassHandler
bodySb.append("</td>");
bodySb.append("</tr></table>");
String html = HtmCache.getInstance().getHtm(activeChar.getHtmlPrefix(), "data/html/mods/NpcView/DropList.htm");
String html = HtmCache.getInstance().getHtm(activeChar.getHtmlPrefix(), "html/mods/NpcView/DropList.htm");
if (html == null)
{
_log.warning(NpcViewMod.class.getSimpleName() + ": The html file data/html/mods/NpcView/DropList.htm could not be found.");
_log.warning(NpcViewMod.class.getSimpleName() + ": The html file html/mods/NpcView/DropList.htm could not be found.");
return;
}
html = html.replaceAll("%name%", npc.getName());

View File

@@ -63,7 +63,7 @@ public class PlayerHelp implements IBypassHandler
html = new NpcHtmlMessage();
}
html.setFile(activeChar.getHtmlPrefix(), "data/html/help/" + cmd[0]);
html.setFile(activeChar.getHtmlPrefix(), "html/help/" + cmd[0]);
activeChar.sendPacket(html);
}
catch (Exception e)

View File

@@ -62,7 +62,7 @@ public class PrivateWarehouse implements IBypassHandler
if (Config.L2JMOD_ENABLE_WAREHOUSESORTING_PRIVATE)
{
final NpcHtmlMessage msg = new NpcHtmlMessage(((L2Npc) target).getObjectId());
msg.setFile(activeChar.getHtmlPrefix(), "data/html/mods/WhSortedP.htm");
msg.setFile(activeChar.getHtmlPrefix(), "html/mods/WhSortedP.htm");
msg.replace("%objectId%", String.valueOf(((L2Npc) target).getObjectId()));
activeChar.sendPacket(msg);
}

View File

@@ -154,7 +154,7 @@ public class QuestLink implements IBypassHandler
* Open a quest window on client with the text of the L2NpcInstance.<br>
* <b><u>Actions</u>:</b><br>
* <ul>
* <li>Get the text of the quest state in the folder data/scripts/quests/questId/stateId.htm</li>
* <li>Get the text of the quest state in the folder scripts/quests/questId/stateId.htm</li>
* <li>Send a Server->Client NpcHtmlMessage containing the text of the L2NpcInstance to the L2PcInstance</li>
* <li>Send a Server->Client ActionFailed to the L2PcInstance in order to avoid that the client wait another packet</li>
* </ul>
@@ -187,7 +187,7 @@ public class QuestLink implements IBypassHandler
if (player.getAllActiveQuests().length > 40)
{
final NpcHtmlMessage html = new NpcHtmlMessage(npc.getObjectId());
html.setFile(player.getHtmlPrefix(), "data/html/fullquest.html");
html.setFile(player.getHtmlPrefix(), "html/fullquest.html");
player.sendPacket(html);
return;
}

View File

@@ -46,14 +46,14 @@ public class TerritoryStatus implements IBypassHandler
{
if (npc.getCastle().getOwnerId() > 0)
{
html.setFile(activeChar.getHtmlPrefix(), "data/html/territorystatus.htm");
html.setFile(activeChar.getHtmlPrefix(), "html/territorystatus.htm");
L2Clan clan = ClanTable.getInstance().getClan(npc.getCastle().getOwnerId());
html.replace("%clanname%", clan.getName());
html.replace("%clanleadername%", clan.getLeaderName());
}
else
{
html.setFile(activeChar.getHtmlPrefix(), "data/html/territorynoclan.htm");
html.setFile(activeChar.getHtmlPrefix(), "html/territorynoclan.htm");
}
}
html.replace("%castlename%", npc.getCastle().getName());

View File

@@ -61,7 +61,7 @@ public class FavoriteBoard implements IParseBoardHandler
if (command.startsWith("_bbsgetfav"))
{
// Load Favorite links
final String list = HtmCache.getInstance().getHtm(activeChar.getHtmlPrefix(), "data/html/CommunityBoard/favorite_list.html");
final String list = HtmCache.getInstance().getHtm(activeChar.getHtmlPrefix(), "html/CommunityBoard/favorite_list.html");
final StringBuilder sb = new StringBuilder();
try (Connection con = L2DatabaseFactory.getInstance().getConnection();
PreparedStatement ps = con.prepareStatement(SELECT_FAVORITES))
@@ -79,7 +79,7 @@ public class FavoriteBoard implements IParseBoardHandler
sb.append(link);
}
}
String html = HtmCache.getInstance().getHtm(activeChar.getHtmlPrefix(), "data/html/CommunityBoard/favorite.html");
String html = HtmCache.getInstance().getHtm(activeChar.getHtmlPrefix(), "html/CommunityBoard/favorite.html");
html = html.replaceAll("%fav_list%", sb.toString());
CommunityBoardHandler.separateAndSend(html, activeChar);
}

View File

@@ -48,7 +48,7 @@ public class FriendsBoard implements IParseBoardHandler
{
CommunityBoardHandler.getInstance().addBypass(activeChar, "Friends List", command);
final String html = HtmCache.getInstance().getHtm(activeChar.getHtmlPrefix(), "data/html/CommunityBoard/friends_list.html");
final String html = HtmCache.getInstance().getHtm(activeChar.getHtmlPrefix(), "html/CommunityBoard/friends_list.html");
CommunityBoardHandler.separateAndSend(html, activeChar);
}
@@ -56,7 +56,7 @@ public class FriendsBoard implements IParseBoardHandler
{
CommunityBoardHandler.getInstance().addBypass(activeChar, "Ignore list", command);
final String html = HtmCache.getInstance().getHtm(activeChar.getHtmlPrefix(), "data/html/CommunityBoard/friends_block_list.html");
final String html = HtmCache.getInstance().getHtm(activeChar.getHtmlPrefix(), "html/CommunityBoard/friends_block_list.html");
CommunityBoardHandler.separateAndSend(html, activeChar);
}

View File

@@ -70,7 +70,7 @@ public final class HomeBoard implements IParseBoardHandler
final String customPath = Config.CUSTOM_CB_ENABLED ? "Custom/" : "";
CommunityBoardHandler.getInstance().addBypass(activeChar, "Home", command);
String html = HtmCache.getInstance().getHtm(activeChar.getHtmlPrefix(), "data/html/CommunityBoard/" + customPath + "home.html");
String html = HtmCache.getInstance().getHtm(activeChar.getHtmlPrefix(), "html/CommunityBoard/" + customPath + "home.html");
html = html.replaceAll("%fav_count%", String.valueOf(getFavoriteCount(activeChar)));
html = html.replaceAll("%region_count%", String.valueOf(getRegionCount(activeChar)));
html = html.replaceAll("%clan_count%", String.valueOf(getClansCount()));
@@ -82,7 +82,7 @@ public final class HomeBoard implements IParseBoardHandler
final String path = command.replace("_bbstop;", "");
if ((path.length() > 0) && path.endsWith(".html"))
{
final String html = HtmCache.getInstance().getHtm(activeChar.getHtmlPrefix(), "data/html/CommunityBoard/" + customPath + path);
final String html = HtmCache.getInstance().getHtm(activeChar.getHtmlPrefix(), "html/CommunityBoard/" + customPath + path);
CommunityBoardHandler.separateAndSend(html, activeChar);
}
}
@@ -92,14 +92,14 @@ public final class HomeBoard implements IParseBoardHandler
final String[] buypassOptions = fullBypass.split(",");
final int multisellId = Integer.parseInt(buypassOptions[0]);
final String page = buypassOptions[1];
final String html = HtmCache.getInstance().getHtm(activeChar.getHtmlPrefix(), "data/html/CommunityBoard/Custom/" + page + ".html");
final String html = HtmCache.getInstance().getHtm(activeChar.getHtmlPrefix(), "html/CommunityBoard/Custom/" + page + ".html");
CommunityBoardHandler.separateAndSend(html, activeChar);
MultisellData.getInstance().separateAndSend(multisellId, activeChar, null, false);
}
else if (Config.CUSTOM_CB_ENABLED && Config.COMMUNITYBOARD_ENABLE_MULTISELLS && command.startsWith("_bbssell"))
{
final String page = command.replace("_bbssell;", "");
final String html = HtmCache.getInstance().getHtm(activeChar.getHtmlPrefix(), "data/html/CommunityBoard/Custom/" + page + ".html");
final String html = HtmCache.getInstance().getHtm(activeChar.getHtmlPrefix(), "html/CommunityBoard/Custom/" + page + ".html");
CommunityBoardHandler.separateAndSend(html, activeChar);
activeChar.sendPacket(new BuyList(BuyListData.getInstance().getBuyList(423), activeChar.getAdena(), 0));
activeChar.sendPacket(new ExBuySellList(activeChar, false));
@@ -147,7 +147,7 @@ public final class HomeBoard implements IParseBoardHandler
SkillData.getInstance().getSkill(buffId, buffLevel).applyEffects(activeChar.getPet(), activeChar.getPet());
}
}
final String html = HtmCache.getInstance().getHtm(activeChar.getHtmlPrefix(), "data/html/CommunityBoard/Custom/" + page + ".html");
final String html = HtmCache.getInstance().getHtm(activeChar.getHtmlPrefix(), "html/CommunityBoard/Custom/" + page + ".html");
CommunityBoardHandler.separateAndSend(html, activeChar);
}
return true;

View File

@@ -43,7 +43,7 @@ public class HomepageBoard implements IParseBoardHandler
@Override
public boolean parseCommunityBoardCommand(String command, L2PcInstance activeChar)
{
CommunityBoardHandler.separateAndSend(HtmCache.getInstance().getHtm(activeChar.getHtmlPrefix(), "data/html/CommunityBoard/homepage.html"), activeChar);
CommunityBoardHandler.separateAndSend(HtmCache.getInstance().getHtm(activeChar.getHtmlPrefix(), "html/CommunityBoard/homepage.html"), activeChar);
return true;
}
}

View File

@@ -45,7 +45,7 @@ public class MailBoard implements IWriteBoardHandler
{
CommunityBoardHandler.getInstance().addBypass(activeChar, "Mail Command", command);
final String html = HtmCache.getInstance().getHtm(activeChar.getHtmlPrefix(), "data/html/CommunityBoard/mail.html");
final String html = HtmCache.getInstance().getHtm(activeChar.getHtmlPrefix(), "html/CommunityBoard/mail.html");
CommunityBoardHandler.separateAndSend(html, activeChar);
return true;
}

View File

@@ -46,7 +46,7 @@ public class MemoBoard implements IWriteBoardHandler
{
CommunityBoardHandler.getInstance().addBypass(activeChar, "Memo Command", command);
final String html = HtmCache.getInstance().getHtm(activeChar.getHtmlPrefix(), "data/html/CommunityBoard/memo.html");
final String html = HtmCache.getInstance().getHtm(activeChar.getHtmlPrefix(), "html/CommunityBoard/memo.html");
CommunityBoardHandler.separateAndSend(html, activeChar);
return true;
}

View File

@@ -58,7 +58,7 @@ public class RegionBoard implements IWriteBoardHandler
{
CommunityBoardHandler.getInstance().addBypass(activeChar, "Region", command);
final String list = HtmCache.getInstance().getHtm(activeChar.getHtmlPrefix(), "data/html/CommunityBoard/region_list.html");
final String list = HtmCache.getInstance().getHtm(activeChar.getHtmlPrefix(), "html/CommunityBoard/region_list.html");
final StringBuilder sb = new StringBuilder();
final List<Castle> castles = CastleManager.getInstance().getCastles();
for (int i = 0; i < REGIONS.length; i++)
@@ -73,7 +73,7 @@ public class RegionBoard implements IWriteBoardHandler
sb.append(link);
}
String html = HtmCache.getInstance().getHtm(activeChar.getHtmlPrefix(), "data/html/CommunityBoard/region.html");
String html = HtmCache.getInstance().getHtm(activeChar.getHtmlPrefix(), "html/CommunityBoard/region.html");
html = html.replace("%region_list%", sb.toString());
CommunityBoardHandler.separateAndSend(html, activeChar);
}

View File

@@ -41,7 +41,7 @@ public class Book implements IItemHandler
L2PcInstance activeChar = (L2PcInstance) playable;
final int itemId = item.getId();
String filename = "data/html/help/" + itemId + ".htm";
String filename = "html/help/" + itemId + ".htm";
String content = HtmCache.getInstance().getHtm(activeChar.getHtmlPrefix(), filename);
if (content == null)

View File

@@ -40,7 +40,7 @@ public class Bypass implements IItemHandler
L2PcInstance activeChar = (L2PcInstance) playable;
final int itemId = item.getId();
String filename = "data/html/item/" + itemId + ".htm";
String filename = "html/item/" + itemId + ".htm";
String content = HtmCache.getInstance().getHtm(activeChar.getHtmlPrefix(), filename);
final NpcHtmlMessage html = new NpcHtmlMessage(0, item.getId());
if (content == null)

View File

@@ -174,7 +174,7 @@ public class JailHandler implements IPunishmentHandler
// Open a Html message to inform the player
final NpcHtmlMessage msg = new NpcHtmlMessage();
String content = HtmCache.getInstance().getHtm(player.getHtmlPrefix(), "data/html/jail_in.htm");
String content = HtmCache.getInstance().getHtm(player.getHtmlPrefix(), "html/jail_in.htm");
if (content != null)
{
content = content.replaceAll("%reason%", task != null ? task.getReason() : "");
@@ -210,7 +210,7 @@ public class JailHandler implements IPunishmentHandler
// Open a Html message to inform the player
final NpcHtmlMessage msg = new NpcHtmlMessage();
String content = HtmCache.getInstance().getHtm(player.getHtmlPrefix(), "data/html/jail_out.htm");
String content = HtmCache.getInstance().getHtm(player.getHtmlPrefix(), "html/jail_out.htm");
if (content != null)
{
msg.setHtml(content);

View File

@@ -79,7 +79,7 @@ public class SiegeStatus implements IUserCommandHandler
}
final NpcHtmlMessage html = new NpcHtmlMessage();
html.setFile(activeChar.getHtmlPrefix(), "data/html/siege/siege_status.htm");
html.setFile(activeChar.getHtmlPrefix(), "html/siege/siege_status.htm");
html.replace("%kill_count%", clan.getSiegeKills());
html.replace("%death_count%", clan.getSiegeDeaths());
html.replace("%member_list%", sb.toString());

View File

@@ -94,7 +94,7 @@ public class ChangePassword implements IVoicedCommandHandler
else
{
// showHTML(activeChar);
String html = HtmCache.getInstance().getHtm("en", "data/html/mods/ChangePassword.htm");
String html = HtmCache.getInstance().getHtm("en", "html/mods/ChangePassword.htm");
if (html == null)
{
html = "<html><body><br><br><center><font color=LEVEL>404:</font> File Not Found</center></body></html>";

View File

@@ -50,7 +50,7 @@ public class Lang implements IVoicedCommandHandler
StringUtil.append(html, "<button value=\"", lang.toUpperCase(), "\" action=\"bypass -h voice .lang ", lang, "\" width=60 height=21 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\"><br>");
}
msg.setFile(activeChar.getHtmlPrefix(), "data/html/mods/Lang/LanguageSelect.htm");
msg.setFile(activeChar.getHtmlPrefix(), "html/mods/Lang/LanguageSelect.htm");
msg.replace("%list%", html.toString());
activeChar.sendPacket(msg);
return true;
@@ -62,11 +62,11 @@ public class Lang implements IVoicedCommandHandler
final String lang = st.nextToken().trim();
if (activeChar.setLang(lang))
{
msg.setFile(activeChar.getHtmlPrefix(), "data/html/mods/Lang/Ok.htm");
msg.setFile(activeChar.getHtmlPrefix(), "html/mods/Lang/Ok.htm");
activeChar.sendPacket(msg);
return true;
}
msg.setFile(activeChar.getHtmlPrefix(), "data/html/mods/Lang/Error.htm");
msg.setFile(activeChar.getHtmlPrefix(), "html/mods/Lang/Error.htm");
activeChar.sendPacket(msg);
return true;
}

View File

@@ -468,12 +468,12 @@ public abstract class Chamber extends AbstractInstance
{
if (player.getParty() == null)
{
htmltext = getHtm(player.getHtmlPrefix(), "data/scripts/instances/ChambersOfDelusion/no_party.html");
htmltext = getHtm(player.getHtmlPrefix(), "scripts/instances/ChambersOfDelusion/no_party.html");
}
else if (player.getParty().getLeaderObjectId() != player.getObjectId())
{
htmltext = getHtm(player.getHtmlPrefix(), "data/scripts/instances/ChambersOfDelusion/no_leader.html");
htmltext = getHtm(player.getHtmlPrefix(), "scripts/instances/ChambersOfDelusion/no_leader.html");
}
else if (hasQuestItems(player, DELUSION_MARK))
@@ -485,18 +485,18 @@ public abstract class Chamber extends AbstractInstance
else
{
htmltext = getHtm(player.getHtmlPrefix(), "data/scripts/instances/ChambersOfDelusion/no_item.html");
htmltext = getHtm(player.getHtmlPrefix(), "scripts/instances/ChambersOfDelusion/no_item.html");
}
}
else if (event.equals("go_out"))
{
if (player.getParty() == null)
{
htmltext = getHtm(player.getHtmlPrefix(), "data/scripts/instances/ChambersOfDelusion/no_party.html");
htmltext = getHtm(player.getHtmlPrefix(), "scripts/instances/ChambersOfDelusion/no_party.html");
}
else if (player.getParty().getLeaderObjectId() != player.getObjectId())
{
htmltext = getHtm(player.getHtmlPrefix(), "data/scripts/instances/ChambersOfDelusion/no_leader.html");
htmltext = getHtm(player.getHtmlPrefix(), "scripts/instances/ChambersOfDelusion/no_leader.html");
}
else
{

View File

@@ -261,7 +261,7 @@ public final class FinalEmperialTomb extends AbstractInstance
factory.setValidating(false);
factory.setIgnoringComments(true);
File file = new File(Config.DATAPACK_ROOT + "/data/spawnZones/final_emperial_tomb.xml");
File file = new File(Config.DATAPACK_ROOT + "/spawnZones/final_emperial_tomb.xml");
if (!file.exists())
{
_log.severe("[Final Emperial Tomb] Missing final_emperial_tomb.xml. The quest wont work without it!");

View File

@@ -511,7 +511,7 @@ public class Q00350_EnhanceYourWeapon extends Quest
factory.setValidating(false);
factory.setIgnoringComments(true);
File file = new File(Config.DATAPACK_ROOT, "data/levelUpCrystalData.xml");
File file = new File(Config.DATAPACK_ROOT, "levelUpCrystalData.xml");
if (!file.exists())
{
_log.severe("[EnhanceYourWeapon] Missing levelUpCrystalData.xml. The quest wont work without it!");

View File

@@ -48,7 +48,7 @@ public final class Q00655_AGrandPlanForTamingWildBeasts extends Quest
private static final int REQUIRED_CRYSTAL_COUNT = 10;
private static final int REQUIRED_CLAN_LEVEL = 4;
private static final int MINUTES_TO_SIEGE = 3600;
private static final String PATH_TO_HTML = "data/scripts/conquerablehalls/flagwar/WildBeastReserve/messenger_initial.htm";
private static final String PATH_TO_HTML = "scripts/conquerablehalls/flagwar/WildBeastReserve/messenger_initial.htm";
public Q00655_AGrandPlanForTamingWildBeasts()
{

View File

@@ -105,7 +105,7 @@ public class Q10288_SecretMission extends Quest
{
return "32780-05.html";
}
return "data/html/default/32780.htm";
return "html/default/32780.htm";
}
@Override

View File

@@ -235,7 +235,7 @@ public class Q10390_KekropusLetter extends Quest implements IBypassHandler
if (qs == null)
{
final NpcHtmlMessage html = new NpcHtmlMessage(0, 0);
html.setHtml(HtmCache.getInstance().getHtm(player.getHtmlPrefix(), "data/scripts/quests/Q10390_KekropusLetter/Announce.html"));
html.setHtml(HtmCache.getInstance().getHtm(player.getHtmlPrefix(), "scripts/quests/Q10390_KekropusLetter/Announce.html"));
player.sendPacket(html);
}
return;

View File

@@ -160,7 +160,7 @@ public class Q10393_KekropusLetter_AClueCompleted extends Quest implements IBypa
if (qs == null)
{
final NpcHtmlMessage html = new NpcHtmlMessage(0, 0);
html.setHtml(HtmCache.getInstance().getHtm(player.getHtmlPrefix(), "data/scripts/quests/Q10393_KekropusLetter_AClueCompleted/Announce.html"));
html.setHtml(HtmCache.getInstance().getHtm(player.getHtmlPrefix(), "scripts/quests/Q10393_KekropusLetter_AClueCompleted/Announce.html"));
player.sendPacket(html);
}
return;

View File

@@ -165,7 +165,7 @@ public class Q10397_KekropusLetter_ASuspiciousBadge extends Quest implements IBy
if (qs == null)
{
final NpcHtmlMessage html = new NpcHtmlMessage(0, 0);
html.setHtml(HtmCache.getInstance().getHtm(player.getHtmlPrefix(), "data/scripts/quests/Q10397_KekropusLetter_ASuspiciousBadge/Announce.html"));
html.setHtml(HtmCache.getInstance().getHtm(player.getHtmlPrefix(), "scripts/quests/Q10397_KekropusLetter_ASuspiciousBadge/Announce.html"));
player.sendPacket(html);
}
return;

View File

@@ -165,7 +165,7 @@ public class Q10401_KekropusLetter_DecodingTheBadge extends Quest implements IBy
if (qs == null)
{
final NpcHtmlMessage html = new NpcHtmlMessage(0, 0);
html.setHtml(HtmCache.getInstance().getHtm(player.getHtmlPrefix(), "data/scripts/quests/Q10401_KekropusLetter_DecodingTheBadge/Announce.html"));
html.setHtml(HtmCache.getInstance().getHtm(player.getHtmlPrefix(), "scripts/quests/Q10401_KekropusLetter_DecodingTheBadge/Announce.html"));
player.sendPacket(html);
}
return;

View File

@@ -165,7 +165,7 @@ public class Q10404_KekropusLetter_AHiddenMeaning extends Quest implements IBypa
if (qs == null)
{
final NpcHtmlMessage html = new NpcHtmlMessage(0, 0);
html.setHtml(HtmCache.getInstance().getHtm(player.getHtmlPrefix(), "data/scripts/quests/Q10404_KekropusLetter_AHiddenMeaning/Announce.html"));
html.setHtml(HtmCache.getInstance().getHtm(player.getHtmlPrefix(), "scripts/quests/Q10404_KekropusLetter_AHiddenMeaning/Announce.html"));
player.sendPacket(html);
}
return;

View File

@@ -169,7 +169,7 @@ public class Q10408_KekropusLetter_TheSwampOfScream extends Quest implements IBy
if (qs == null)
{
final NpcHtmlMessage html = new NpcHtmlMessage(0, 0);
html.setHtml(HtmCache.getInstance().getHtm(player.getHtmlPrefix(), "data/scripts/quests/Q10408_KekropusLetter_TheSwampOfScream/Announce.html"));
html.setHtml(HtmCache.getInstance().getHtm(player.getHtmlPrefix(), "scripts/quests/Q10408_KekropusLetter_TheSwampOfScream/Announce.html"));
player.sendPacket(html);
}
return;

View File

@@ -173,7 +173,7 @@ public class Q10411_KekropusLetter_TheForestOfTheDead extends Quest implements I
if (qs == null)
{
final NpcHtmlMessage html = new NpcHtmlMessage(0, 0);
html.setHtml(HtmCache.getInstance().getHtm(player.getHtmlPrefix(), "data/scripts/quests/Q10411_KekropusLetter_TheForestOfTheDead/Announce.html"));
html.setHtml(HtmCache.getInstance().getHtm(player.getHtmlPrefix(), "scripts/quests/Q10411_KekropusLetter_TheForestOfTheDead/Announce.html"));
player.sendPacket(html);
}
return;

View File

@@ -169,7 +169,7 @@ public class Q10414_KekropusLetter_WithCourage extends Quest implements IBypassH
if (qs == null)
{
final NpcHtmlMessage html = new NpcHtmlMessage(0, 0);
html.setHtml(HtmCache.getInstance().getHtm(player.getHtmlPrefix(), "data/scripts/quests/Q10414_KekropusLetter_WithCourage/Announce.html"));
html.setHtml(HtmCache.getInstance().getHtm(player.getHtmlPrefix(), "scripts/quests/Q10414_KekropusLetter_WithCourage/Announce.html"));
player.sendPacket(html);
}
return;

View File

@@ -170,7 +170,7 @@ public class Q10415_KekropusLetter_WithWisdom extends Quest implements IBypassHa
if (qs == null)
{
final NpcHtmlMessage html = new NpcHtmlMessage(0, 0);
html.setHtml(HtmCache.getInstance().getHtm(player.getHtmlPrefix(), "data/scripts/quests/Q10415_KekropusLetter_WithWisdom/Announce.html"));
html.setHtml(HtmCache.getInstance().getHtm(player.getHtmlPrefix(), "scripts/quests/Q10415_KekropusLetter_WithWisdom/Announce.html"));
player.sendPacket(html);
}
return;

View File

@@ -1,292 +0,0 @@
/*
* Copyright (C) 2004-2015 L2J DataPack
*
* This file is part of L2J DataPack.
*
* L2J DataPack 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.
*
* L2J DataPack 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 vehicles;
import java.util.logging.Level;
import java.util.logging.Logger;
import com.l2jserver.Config;
import com.l2jserver.gameserver.ThreadPoolManager;
import com.l2jserver.gameserver.enums.ChatType;
import com.l2jserver.gameserver.instancemanager.BoatManager;
import com.l2jserver.gameserver.model.VehiclePathPoint;
import com.l2jserver.gameserver.model.actor.instance.L2BoatInstance;
import com.l2jserver.gameserver.network.SystemMessageId;
import com.l2jserver.gameserver.network.serverpackets.CreatureSay;
import com.l2jserver.gameserver.network.serverpackets.PlaySound;
/**
* @author DS
*/
public class BoatGiranTalking implements Runnable
{
private static final Logger _log = Logger.getLogger(BoatGiranTalking.class.getName());
// Time: 868s
private static final VehiclePathPoint[] GIRAN_TO_TALKING =
{
new VehiclePathPoint(51914, 189023, -3610, 150, 800),
new VehiclePathPoint(60567, 189789, -3610, 150, 800),
new VehiclePathPoint(63732, 197457, -3610, 200, 800),
new VehiclePathPoint(63732, 219946, -3610, 250, 800),
new VehiclePathPoint(62008, 222240, -3610, 250, 1200),
new VehiclePathPoint(56115, 226791, -3610, 250, 1200),
new VehiclePathPoint(40384, 226432, -3610, 300, 800),
new VehiclePathPoint(37760, 226432, -3610, 300, 800),
new VehiclePathPoint(27153, 226791, -3610, 300, 800),
new VehiclePathPoint(12672, 227535, -3610, 300, 800),
new VehiclePathPoint(-1808, 228280, -3610, 300, 800),
new VehiclePathPoint(-22165, 230542, -3610, 300, 800),
new VehiclePathPoint(-42523, 235205, -3610, 300, 800),
new VehiclePathPoint(-68451, 259560, -3610, 250, 800),
new VehiclePathPoint(-70848, 261696, -3610, 200, 800),
new VehiclePathPoint(-83344, 261610, -3610, 200, 800),
new VehiclePathPoint(-88344, 261660, -3610, 180, 800),
new VehiclePathPoint(-92344, 261660, -3610, 180, 800),
new VehiclePathPoint(-94242, 261659, -3610, 150, 800)
};
private static final VehiclePathPoint[] TALKING_DOCK =
{
new VehiclePathPoint(-96622, 261660, -3610, 150, 800)
};
// Time: 1398s
private static final VehiclePathPoint[] TALKING_TO_GIRAN =
{
new VehiclePathPoint(-113925, 261660, -3610, 150, 800),
new VehiclePathPoint(-126107, 249116, -3610, 180, 800),
new VehiclePathPoint(-126107, 234499, -3610, 180, 800),
new VehiclePathPoint(-126107, 219882, -3610, 180, 800),
new VehiclePathPoint(-109414, 204914, -3610, 180, 800),
new VehiclePathPoint(-92807, 204914, -3610, 180, 800),
new VehiclePathPoint(-80425, 216450, -3610, 250, 800),
new VehiclePathPoint(-68043, 227987, -3610, 250, 800),
new VehiclePathPoint(-63744, 231168, -3610, 250, 800),
new VehiclePathPoint(-60844, 231369, -3610, 250, 1800),
new VehiclePathPoint(-44915, 231369, -3610, 200, 800),
new VehiclePathPoint(-28986, 231369, -3610, 200, 800),
new VehiclePathPoint(8233, 207624, -3610, 200, 800),
new VehiclePathPoint(21470, 201503, -3610, 180, 800),
new VehiclePathPoint(40058, 195383, -3610, 180, 800),
new VehiclePathPoint(43022, 193793, -3610, 150, 800),
new VehiclePathPoint(45986, 192203, -3610, 150, 800),
new VehiclePathPoint(48950, 190613, -3610, 150, 800)
};
private static final VehiclePathPoint GIRAN_DOCK = TALKING_TO_GIRAN[TALKING_TO_GIRAN.length - 1];
private final L2BoatInstance _boat;
private int _cycle = 0;
private int _shoutCount = 0;
private final CreatureSay ARRIVED_AT_GIRAN;
private final CreatureSay ARRIVED_AT_GIRAN_2;
private final CreatureSay LEAVE_GIRAN5;
private final CreatureSay LEAVE_GIRAN1;
private final CreatureSay LEAVE_GIRAN0;
private final CreatureSay LEAVING_GIRAN;
private final CreatureSay ARRIVED_AT_TALKING;
private final CreatureSay ARRIVED_AT_TALKING_2;
private final CreatureSay LEAVE_TALKING5;
private final CreatureSay LEAVE_TALKING1;
private final CreatureSay LEAVE_TALKING0;
private final CreatureSay LEAVING_TALKING;
private final CreatureSay BUSY_TALKING;
private final CreatureSay ARRIVAL_TALKING15;
private final CreatureSay ARRIVAL_TALKING10;
private final CreatureSay ARRIVAL_TALKING5;
private final CreatureSay ARRIVAL_TALKING1;
private final CreatureSay ARRIVAL_GIRAN20;
private final CreatureSay ARRIVAL_GIRAN15;
private final CreatureSay ARRIVAL_GIRAN10;
private final CreatureSay ARRIVAL_GIRAN5;
private final CreatureSay ARRIVAL_GIRAN1;
private final PlaySound GIRAN_SOUND;
private final PlaySound TALKING_SOUND;
public BoatGiranTalking(L2BoatInstance boat)
{
_boat = boat;
ARRIVED_AT_GIRAN = new CreatureSay(0, ChatType.BOAT, 801, SystemMessageId.THE_FERRY_HAS_ARRIVED_AT_GIRAN_HARBOR);
ARRIVED_AT_GIRAN_2 = new CreatureSay(0, ChatType.BOAT, 801, SystemMessageId.THE_FERRY_WILL_LEAVE_FOR_TALKING_ISLAND_HARBOR_AFTER_ANCHORING_FOR_TEN_MINUTES);
LEAVE_GIRAN5 = new CreatureSay(0, ChatType.BOAT, 801, SystemMessageId.THE_FERRY_WILL_LEAVE_FOR_TALKING_ISLAND_HARBOR_IN_FIVE_MINUTES);
LEAVE_GIRAN1 = new CreatureSay(0, ChatType.BOAT, 801, SystemMessageId.THE_FERRY_WILL_LEAVE_FOR_TALKING_ISLAND_HARBOR_IN_ONE_MINUTE);
LEAVE_GIRAN0 = new CreatureSay(0, ChatType.BOAT, 801, SystemMessageId.THE_FERRY_WILL_BE_LEAVING_SOON_FOR_TALKING_ISLAND_HARBOR);
LEAVING_GIRAN = new CreatureSay(0, ChatType.BOAT, 801, SystemMessageId.THE_FERRY_IS_LEAVING_FOR_TALKING_ISLAND_HARBOR);
ARRIVED_AT_TALKING = new CreatureSay(0, ChatType.BOAT, 801, SystemMessageId.THE_FERRY_HAS_ARRIVED_AT_TALKING_ISLAND_HARBOR);
ARRIVED_AT_TALKING_2 = new CreatureSay(0, ChatType.BOAT, 801, SystemMessageId.THE_FERRY_WILL_LEAVE_FOR_GIRAN_HARBOR_AFTER_ANCHORING_FOR_TEN_MINUTES);
LEAVE_TALKING5 = new CreatureSay(0, ChatType.BOAT, 801, SystemMessageId.THE_FERRY_WILL_LEAVE_FOR_GIRAN_HARBOR_IN_FIVE_MINUTES);
LEAVE_TALKING1 = new CreatureSay(0, ChatType.BOAT, 801, SystemMessageId.THE_FERRY_WILL_LEAVE_FOR_GIRAN_HARBOR_IN_ONE_MINUTE);
LEAVE_TALKING0 = new CreatureSay(0, ChatType.BOAT, 801, SystemMessageId.THE_FERRY_WILL_BE_LEAVING_SOON_FOR_GIRAN_HARBOR);
LEAVING_TALKING = new CreatureSay(0, ChatType.BOAT, 801, SystemMessageId.THE_FERRY_IS_LEAVING_FOR_GIRAN_HARBOR);
BUSY_TALKING = new CreatureSay(0, ChatType.BOAT, 801, SystemMessageId.THE_FERRY_FROM_TALKING_ISLAND_TO_GIRAN_HARBOR_HAS_BEEN_DELAYED);
ARRIVAL_TALKING15 = new CreatureSay(0, ChatType.BOAT, 801, SystemMessageId.THE_FERRY_FROM_GIRAN_HARBOR_WILL_BE_ARRIVING_AT_TALKING_ISLAND_IN_APPROXIMATELY_15_MINUTES);
ARRIVAL_TALKING10 = new CreatureSay(0, ChatType.BOAT, 801, SystemMessageId.THE_FERRY_FROM_GIRAN_HARBOR_WILL_BE_ARRIVING_AT_TALKING_ISLAND_IN_APPROXIMATELY_10_MINUTES);
ARRIVAL_TALKING5 = new CreatureSay(0, ChatType.BOAT, 801, SystemMessageId.THE_FERRY_FROM_GIRAN_HARBOR_WILL_BE_ARRIVING_AT_TALKING_ISLAND_IN_APPROXIMATELY_5_MINUTES);
ARRIVAL_TALKING1 = new CreatureSay(0, ChatType.BOAT, 801, SystemMessageId.THE_FERRY_FROM_GIRAN_HARBOR_WILL_BE_ARRIVING_AT_TALKING_ISLAND_IN_APPROXIMATELY_1_MINUTE);
ARRIVAL_GIRAN20 = new CreatureSay(0, ChatType.BOAT, 801, SystemMessageId.THE_FERRY_FROM_TALKING_ISLAND_WILL_BE_ARRIVING_AT_GIRAN_HARBOR_IN_APPROXIMATELY_20_MINUTES);
ARRIVAL_GIRAN15 = new CreatureSay(0, ChatType.BOAT, 801, SystemMessageId.THE_FERRY_FROM_TALKING_ISLAND_WILL_BE_ARRIVING_AT_GIRAN_HARBOR_IN_APPROXIMATELY_15_MINUTES);
ARRIVAL_GIRAN10 = new CreatureSay(0, ChatType.BOAT, 801, SystemMessageId.THE_FERRY_FROM_TALKING_ISLAND_WILL_BE_ARRIVING_AT_GIRAN_HARBOR_IN_APPROXIMATELY_10_MINUTES);
ARRIVAL_GIRAN5 = new CreatureSay(0, ChatType.BOAT, 801, SystemMessageId.THE_FERRY_FROM_TALKING_ISLAND_WILL_BE_ARRIVING_AT_GIRAN_HARBOR_IN_APPROXIMATELY_5_MINUTES);
ARRIVAL_GIRAN1 = new CreatureSay(0, ChatType.BOAT, 801, SystemMessageId.THE_FERRY_FROM_TALKING_ISLAND_WILL_BE_ARRIVING_AT_GIRAN_HARBOR_IN_APPROXIMATELY_1_MINUTE);
GIRAN_SOUND = new PlaySound(0, "itemsound.ship_arrival_departure", 1, _boat.getObjectId(), GIRAN_DOCK.getX(), GIRAN_DOCK.getY(), GIRAN_DOCK.getZ());
TALKING_SOUND = new PlaySound(0, "itemsound.ship_arrival_departure", 1, _boat.getObjectId(), TALKING_DOCK[0].getX(), TALKING_DOCK[0].getY(), TALKING_DOCK[0].getZ());
}
@Override
public void run()
{
try
{
switch (_cycle)
{
case 0:
BoatManager.getInstance().broadcastPacket(GIRAN_DOCK, TALKING_DOCK[0], LEAVE_GIRAN5);
ThreadPoolManager.getInstance().scheduleGeneral(this, 240000);
break;
case 1:
BoatManager.getInstance().broadcastPacket(GIRAN_DOCK, TALKING_DOCK[0], LEAVE_GIRAN1);
ThreadPoolManager.getInstance().scheduleGeneral(this, 40000);
break;
case 2:
BoatManager.getInstance().broadcastPacket(GIRAN_DOCK, TALKING_DOCK[0], LEAVE_GIRAN0);
ThreadPoolManager.getInstance().scheduleGeneral(this, 20000);
break;
case 3:
BoatManager.getInstance().broadcastPackets(GIRAN_DOCK, TALKING_DOCK[0], LEAVING_GIRAN, ARRIVAL_TALKING15);
_boat.broadcastPacket(GIRAN_SOUND);
_boat.payForRide(3946, 1, 46763, 187041, -3451);
_boat.executePath(GIRAN_TO_TALKING);
ThreadPoolManager.getInstance().scheduleGeneral(this, 250000);
break;
case 4:
BoatManager.getInstance().broadcastPacket(TALKING_DOCK[0], GIRAN_DOCK, ARRIVAL_TALKING10);
ThreadPoolManager.getInstance().scheduleGeneral(this, 300000);
break;
case 5:
BoatManager.getInstance().broadcastPacket(TALKING_DOCK[0], GIRAN_DOCK, ARRIVAL_TALKING5);
ThreadPoolManager.getInstance().scheduleGeneral(this, 240000);
break;
case 6:
BoatManager.getInstance().broadcastPacket(TALKING_DOCK[0], GIRAN_DOCK, ARRIVAL_TALKING1);
break;
case 7:
if (BoatManager.getInstance().dockBusy(BoatManager.TALKING_ISLAND))
{
if (_shoutCount == 0)
{
BoatManager.getInstance().broadcastPacket(TALKING_DOCK[0], GIRAN_DOCK, BUSY_TALKING);
}
_shoutCount++;
if (_shoutCount > 35)
{
_shoutCount = 0;
}
ThreadPoolManager.getInstance().scheduleGeneral(this, 5000);
return;
}
_boat.executePath(TALKING_DOCK);
break;
case 8:
BoatManager.getInstance().dockShip(BoatManager.TALKING_ISLAND, true);
BoatManager.getInstance().broadcastPackets(TALKING_DOCK[0], GIRAN_DOCK, ARRIVED_AT_TALKING, ARRIVED_AT_TALKING_2);
_boat.broadcastPacket(TALKING_SOUND);
ThreadPoolManager.getInstance().scheduleGeneral(this, 300000);
break;
case 9:
BoatManager.getInstance().broadcastPacket(TALKING_DOCK[0], GIRAN_DOCK, LEAVE_TALKING5);
ThreadPoolManager.getInstance().scheduleGeneral(this, 240000);
break;
case 10:
BoatManager.getInstance().broadcastPacket(TALKING_DOCK[0], GIRAN_DOCK, LEAVE_TALKING1);
ThreadPoolManager.getInstance().scheduleGeneral(this, 40000);
break;
case 11:
BoatManager.getInstance().broadcastPacket(TALKING_DOCK[0], GIRAN_DOCK, LEAVE_TALKING0);
ThreadPoolManager.getInstance().scheduleGeneral(this, 20000);
break;
case 12:
BoatManager.getInstance().dockShip(BoatManager.TALKING_ISLAND, false);
BoatManager.getInstance().broadcastPackets(TALKING_DOCK[0], GIRAN_DOCK, LEAVING_TALKING);
_boat.broadcastPacket(TALKING_SOUND);
_boat.payForRide(3945, 1, -96777, 258970, -3623);
_boat.executePath(TALKING_TO_GIRAN);
ThreadPoolManager.getInstance().scheduleGeneral(this, 200000);
break;
case 13:
BoatManager.getInstance().broadcastPacket(GIRAN_DOCK, TALKING_DOCK[0], ARRIVAL_GIRAN20);
ThreadPoolManager.getInstance().scheduleGeneral(this, 300000);
break;
case 14:
BoatManager.getInstance().broadcastPacket(GIRAN_DOCK, TALKING_DOCK[0], ARRIVAL_GIRAN15);
ThreadPoolManager.getInstance().scheduleGeneral(this, 300000);
break;
case 15:
BoatManager.getInstance().broadcastPacket(GIRAN_DOCK, TALKING_DOCK[0], ARRIVAL_GIRAN10);
ThreadPoolManager.getInstance().scheduleGeneral(this, 300000);
break;
case 16:
BoatManager.getInstance().broadcastPacket(GIRAN_DOCK, TALKING_DOCK[0], ARRIVAL_GIRAN5);
ThreadPoolManager.getInstance().scheduleGeneral(this, 240000);
break;
case 17:
BoatManager.getInstance().broadcastPacket(GIRAN_DOCK, TALKING_DOCK[0], ARRIVAL_GIRAN1);
break;
case 18:
BoatManager.getInstance().broadcastPackets(GIRAN_DOCK, TALKING_DOCK[0], ARRIVED_AT_GIRAN, ARRIVED_AT_GIRAN_2);
_boat.broadcastPacket(GIRAN_SOUND);
ThreadPoolManager.getInstance().scheduleGeneral(this, 300000);
break;
}
_shoutCount = 0;
_cycle++;
if (_cycle > 18)
{
_cycle = 0;
}
}
catch (Exception e)
{
_log.log(Level.WARNING, e.getMessage());
}
}
public static void main(String[] args)
{
if (!Config.SERVER_CLASSIC_SUPPORT)
{
return;
}
final L2BoatInstance boat = BoatManager.getInstance().getNewBoat(2, 48950, 190613, -3610, 60800);
if (boat != null)
{
boat.registerEngine(new BoatGiranTalking(boat));
boat.runEngine(180000);
}
}
}

View File

@@ -21,7 +21,6 @@ package vehicles;
import java.util.logging.Level;
import java.util.logging.Logger;
import com.l2jserver.Config;
import com.l2jserver.gameserver.ThreadPoolManager;
import com.l2jserver.gameserver.enums.ChatType;
import com.l2jserver.gameserver.instancemanager.BoatManager;
@@ -168,11 +167,6 @@ public class BoatRunePrimeval implements Runnable
public static void main(String[] args)
{
if (Config.SERVER_CLASSIC_SUPPORT)
{
return;
}
final L2BoatInstance boat = BoatManager.getInstance().getNewBoat(5, 34381, -37680, -3610, 40785);
if (boat != null)
{

View File

@@ -1,290 +0,0 @@
/*
* Copyright (C) 2004-2015 L2J DataPack
*
* This file is part of L2J DataPack.
*
* L2J DataPack 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.
*
* L2J DataPack 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 vehicles;
import java.util.logging.Level;
import java.util.logging.Logger;
import com.l2jserver.Config;
import com.l2jserver.gameserver.ThreadPoolManager;
import com.l2jserver.gameserver.enums.ChatType;
import com.l2jserver.gameserver.instancemanager.BoatManager;
import com.l2jserver.gameserver.model.VehiclePathPoint;
import com.l2jserver.gameserver.model.actor.instance.L2BoatInstance;
import com.l2jserver.gameserver.network.SystemMessageId;
import com.l2jserver.gameserver.network.serverpackets.CreatureSay;
import com.l2jserver.gameserver.network.serverpackets.PlaySound;
/**
* @author DS
*/
public class BoatTalkingGludin implements Runnable
{
private static final Logger _log = Logger.getLogger(BoatTalkingGludin.class.getName());
// Time: 919s
private static final VehiclePathPoint[] TALKING_TO_GLUDIN =
{
new VehiclePathPoint(-121385, 261660, -3610, 180, 800),
new VehiclePathPoint(-127694, 253312, -3610, 200, 800),
new VehiclePathPoint(-129274, 237060, -3610, 250, 800),
new VehiclePathPoint(-114688, 139040, -3610, 200, 800),
new VehiclePathPoint(-109663, 135704, -3610, 180, 800),
new VehiclePathPoint(-102151, 135704, -3610, 180, 800),
new VehiclePathPoint(-96686, 140595, -3610, 180, 800),
new VehiclePathPoint(-95686, 147718, -3610, 180, 800),
new VehiclePathPoint(-95686, 148718, -3610, 180, 800),
new VehiclePathPoint(-95686, 149718, -3610, 150, 800)
};
private static final VehiclePathPoint[] GLUDIN_DOCK =
{
new VehiclePathPoint(-95686, 150514, -3610, 150, 800)
};
// Time: 780s
private static final VehiclePathPoint[] GLUDIN_TO_TALKING =
{
new VehiclePathPoint(-95686, 155514, -3610, 180, 800),
new VehiclePathPoint(-95686, 185514, -3610, 250, 800),
new VehiclePathPoint(-60136, 238816, -3610, 200, 800),
new VehiclePathPoint(-60520, 259609, -3610, 180, 1800),
new VehiclePathPoint(-65344, 261460, -3610, 180, 1800),
new VehiclePathPoint(-83344, 261560, -3610, 180, 1800),
new VehiclePathPoint(-88344, 261660, -3610, 180, 1800),
new VehiclePathPoint(-92344, 261660, -3610, 150, 1800),
new VehiclePathPoint(-94242, 261659, -3610, 150, 1800)
};
private static final VehiclePathPoint[] TALKING_DOCK =
{
new VehiclePathPoint(-96622, 261660, -3610, 150, 1800)
};
private final L2BoatInstance _boat;
private int _cycle = 0;
private int _shoutCount = 0;
private final CreatureSay ARRIVED_AT_TALKING;
private final CreatureSay ARRIVED_AT_TALKING_2;
private final CreatureSay LEAVE_TALKING5;
private final CreatureSay LEAVE_TALKING1;
private final CreatureSay LEAVE_TALKING1_2;
private final CreatureSay LEAVE_TALKING0;
private final CreatureSay LEAVING_TALKING;
private final CreatureSay ARRIVED_AT_GLUDIN;
private final CreatureSay ARRIVED_AT_GLUDIN_2;
private final CreatureSay LEAVE_GLUDIN5;
private final CreatureSay LEAVE_GLUDIN1;
private final CreatureSay LEAVE_GLUDIN0;
private final CreatureSay LEAVING_GLUDIN;
private final CreatureSay BUSY_TALKING;
private final CreatureSay BUSY_GLUDIN;
private final CreatureSay ARRIVAL_GLUDIN10;
private final CreatureSay ARRIVAL_GLUDIN5;
private final CreatureSay ARRIVAL_GLUDIN1;
private final CreatureSay ARRIVAL_TALKING10;
private final CreatureSay ARRIVAL_TALKING5;
private final CreatureSay ARRIVAL_TALKING1;
private final PlaySound TALKING_SOUND;
private final PlaySound GLUDIN_SOUND;
public BoatTalkingGludin(L2BoatInstance boat)
{
_boat = boat;
_cycle = 0;
ARRIVED_AT_TALKING = new CreatureSay(0, ChatType.BOAT, 801, SystemMessageId.THE_FERRY_HAS_ARRIVED_AT_TALKING_ISLAND_HARBOR);
ARRIVED_AT_TALKING_2 = new CreatureSay(0, ChatType.BOAT, 801, SystemMessageId.THE_FERRY_WILL_LEAVE_FOR_GLUDIN_HARBOR_AFTER_ANCHORING_FOR_TEN_MINUTES);
LEAVE_TALKING5 = new CreatureSay(0, ChatType.BOAT, 801, SystemMessageId.THE_FERRY_WILL_LEAVE_FOR_GLUDIN_HARBOR_IN_FIVE_MINUTES);
LEAVE_TALKING1 = new CreatureSay(0, ChatType.BOAT, 801, SystemMessageId.THE_FERRY_WILL_LEAVE_FOR_GLUDIN_HARBOR_IN_ONE_MINUTE);
LEAVE_TALKING1_2 = new CreatureSay(0, ChatType.BOAT, 801, SystemMessageId.THOSE_WISHING_TO_RIDE_THE_FERRY_SHOULD_MAKE_HASTE_TO_GET_ON);
LEAVE_TALKING0 = new CreatureSay(0, ChatType.BOAT, 801, SystemMessageId.THE_FERRY_WILL_BE_LEAVING_SOON_FOR_GLUDIN_HARBOR);
LEAVING_TALKING = new CreatureSay(0, ChatType.BOAT, 801, SystemMessageId.THE_FERRY_IS_LEAVING_FOR_GLUDIN_HARBOR);
ARRIVED_AT_GLUDIN = new CreatureSay(0, ChatType.BOAT, 801, SystemMessageId.THE_FERRY_HAS_ARRIVED_AT_GLUDIN_HARBOR);
ARRIVED_AT_GLUDIN_2 = new CreatureSay(0, ChatType.BOAT, 801, SystemMessageId.THE_FERRY_WILL_LEAVE_FOR_TALKING_ISLAND_HARBOR_AFTER_ANCHORING_FOR_TEN_MINUTES);
LEAVE_GLUDIN5 = new CreatureSay(0, ChatType.BOAT, 801, SystemMessageId.THE_FERRY_WILL_LEAVE_FOR_TALKING_ISLAND_HARBOR_IN_FIVE_MINUTES);
LEAVE_GLUDIN1 = new CreatureSay(0, ChatType.BOAT, 801, SystemMessageId.THE_FERRY_WILL_LEAVE_FOR_TALKING_ISLAND_HARBOR_IN_ONE_MINUTE);
LEAVE_GLUDIN0 = new CreatureSay(0, ChatType.BOAT, 801, SystemMessageId.THE_FERRY_WILL_BE_LEAVING_SOON_FOR_TALKING_ISLAND_HARBOR);
LEAVING_GLUDIN = new CreatureSay(0, ChatType.BOAT, 801, SystemMessageId.THE_FERRY_IS_LEAVING_FOR_TALKING_ISLAND_HARBOR);
BUSY_TALKING = new CreatureSay(0, ChatType.BOAT, 801, SystemMessageId.THE_FERRY_FROM_GLUDIN_HARBOR_TO_TALKING_ISLAND_HAS_BEEN_DELAYED);
BUSY_GLUDIN = new CreatureSay(0, ChatType.BOAT, 801, SystemMessageId.THE_FERRY_FROM_TALKING_ISLAND_TO_GLUDIN_HARBOR_HAS_BEEN_DELAYED);
ARRIVAL_GLUDIN10 = new CreatureSay(0, ChatType.BOAT, 801, SystemMessageId.THE_FERRY_FROM_TALKING_ISLAND_WILL_ARRIVE_AT_GLUDIN_HARBOR_IN_APPROXIMATELY_10_MINUTES);
ARRIVAL_GLUDIN5 = new CreatureSay(0, ChatType.BOAT, 801, SystemMessageId.THE_FERRY_FROM_TALKING_ISLAND_WILL_BE_ARRIVING_AT_GLUDIN_HARBOR_IN_APPROXIMATELY_5_MINUTES);
ARRIVAL_GLUDIN1 = new CreatureSay(0, ChatType.BOAT, 801, SystemMessageId.THE_FERRY_FROM_TALKING_ISLAND_WILL_BE_ARRIVING_AT_GLUDIN_HARBOR_IN_APPROXIMATELY_1_MINUTE);
ARRIVAL_TALKING10 = new CreatureSay(0, ChatType.BOAT, 801, SystemMessageId.THE_FERRY_FROM_GIRAN_HARBOR_WILL_BE_ARRIVING_AT_TALKING_ISLAND_IN_APPROXIMATELY_10_MINUTES);
ARRIVAL_TALKING5 = new CreatureSay(0, ChatType.BOAT, 801, SystemMessageId.THE_FERRY_FROM_GIRAN_HARBOR_WILL_BE_ARRIVING_AT_TALKING_ISLAND_IN_APPROXIMATELY_5_MINUTES);
ARRIVAL_TALKING1 = new CreatureSay(0, ChatType.BOAT, 801, SystemMessageId.THE_FERRY_FROM_GIRAN_HARBOR_WILL_BE_ARRIVING_AT_TALKING_ISLAND_IN_APPROXIMATELY_1_MINUTE);
TALKING_SOUND = new PlaySound(0, "itemsound.ship_arrival_departure", 1, _boat.getObjectId(), TALKING_DOCK[0].getX(), TALKING_DOCK[0].getY(), TALKING_DOCK[0].getZ());
GLUDIN_SOUND = new PlaySound(0, "itemsound.ship_arrival_departure", 1, _boat.getObjectId(), GLUDIN_DOCK[0].getX(), GLUDIN_DOCK[0].getY(), GLUDIN_DOCK[0].getZ());
}
@Override
public void run()
{
try
{
switch (_cycle)
{
case 0:
BoatManager.getInstance().broadcastPacket(TALKING_DOCK[0], GLUDIN_DOCK[0], LEAVE_TALKING5);
ThreadPoolManager.getInstance().scheduleGeneral(this, 240000);
break;
case 1:
BoatManager.getInstance().broadcastPackets(TALKING_DOCK[0], GLUDIN_DOCK[0], LEAVE_TALKING1, LEAVE_TALKING1_2);
ThreadPoolManager.getInstance().scheduleGeneral(this, 40000);
break;
case 2:
BoatManager.getInstance().broadcastPacket(TALKING_DOCK[0], GLUDIN_DOCK[0], LEAVE_TALKING0);
ThreadPoolManager.getInstance().scheduleGeneral(this, 20000);
break;
case 3:
BoatManager.getInstance().dockShip(BoatManager.TALKING_ISLAND, false);
BoatManager.getInstance().broadcastPackets(TALKING_DOCK[0], GLUDIN_DOCK[0], LEAVING_TALKING);
_boat.broadcastPacket(TALKING_SOUND);
_boat.payForRide(1074, 1, -96777, 258970, -3623);
_boat.executePath(TALKING_TO_GLUDIN);
ThreadPoolManager.getInstance().scheduleGeneral(this, 300000);
break;
case 4:
BoatManager.getInstance().broadcastPacket(GLUDIN_DOCK[0], TALKING_DOCK[0], ARRIVAL_GLUDIN10);
ThreadPoolManager.getInstance().scheduleGeneral(this, 300000);
break;
case 5:
BoatManager.getInstance().broadcastPacket(GLUDIN_DOCK[0], TALKING_DOCK[0], ARRIVAL_GLUDIN5);
ThreadPoolManager.getInstance().scheduleGeneral(this, 240000);
break;
case 6:
BoatManager.getInstance().broadcastPacket(GLUDIN_DOCK[0], TALKING_DOCK[0], ARRIVAL_GLUDIN1);
break;
case 7:
if (BoatManager.getInstance().dockBusy(BoatManager.GLUDIN_HARBOR))
{
if (_shoutCount == 0)
{
BoatManager.getInstance().broadcastPacket(GLUDIN_DOCK[0], TALKING_DOCK[0], BUSY_GLUDIN);
}
_shoutCount++;
if (_shoutCount > 35)
{
_shoutCount = 0;
}
ThreadPoolManager.getInstance().scheduleGeneral(this, 5000);
return;
}
_boat.executePath(GLUDIN_DOCK);
break;
case 8:
BoatManager.getInstance().dockShip(BoatManager.GLUDIN_HARBOR, true);
BoatManager.getInstance().broadcastPackets(GLUDIN_DOCK[0], TALKING_DOCK[0], ARRIVED_AT_GLUDIN, ARRIVED_AT_GLUDIN_2);
_boat.broadcastPacket(GLUDIN_SOUND);
ThreadPoolManager.getInstance().scheduleGeneral(this, 300000);
break;
case 9:
BoatManager.getInstance().broadcastPacket(TALKING_DOCK[0], GLUDIN_DOCK[0], LEAVE_GLUDIN5);
ThreadPoolManager.getInstance().scheduleGeneral(this, 240000);
break;
case 10:
BoatManager.getInstance().broadcastPackets(TALKING_DOCK[0], GLUDIN_DOCK[0], LEAVE_GLUDIN1, LEAVE_TALKING1_2);
ThreadPoolManager.getInstance().scheduleGeneral(this, 40000);
break;
case 11:
BoatManager.getInstance().broadcastPacket(TALKING_DOCK[0], GLUDIN_DOCK[0], LEAVE_GLUDIN0);
ThreadPoolManager.getInstance().scheduleGeneral(this, 20000);
break;
case 12:
BoatManager.getInstance().dockShip(BoatManager.GLUDIN_HARBOR, false);
BoatManager.getInstance().broadcastPackets(TALKING_DOCK[0], GLUDIN_DOCK[0], LEAVING_GLUDIN);
_boat.broadcastPacket(GLUDIN_SOUND);
_boat.payForRide(1075, 1, -90015, 150422, -3610);
_boat.executePath(GLUDIN_TO_TALKING);
ThreadPoolManager.getInstance().scheduleGeneral(this, 150000);
break;
case 13:
BoatManager.getInstance().broadcastPacket(TALKING_DOCK[0], GLUDIN_DOCK[0], ARRIVAL_TALKING10);
ThreadPoolManager.getInstance().scheduleGeneral(this, 300000);
break;
case 14:
BoatManager.getInstance().broadcastPacket(TALKING_DOCK[0], GLUDIN_DOCK[0], ARRIVAL_TALKING5);
ThreadPoolManager.getInstance().scheduleGeneral(this, 240000);
break;
case 15:
BoatManager.getInstance().broadcastPacket(TALKING_DOCK[0], GLUDIN_DOCK[0], ARRIVAL_TALKING1);
break;
case 16:
if (BoatManager.getInstance().dockBusy(BoatManager.TALKING_ISLAND))
{
if (_shoutCount == 0)
{
BoatManager.getInstance().broadcastPacket(TALKING_DOCK[0], GLUDIN_DOCK[0], BUSY_TALKING);
}
_shoutCount++;
if (_shoutCount > 35)
{
_shoutCount = 0;
}
ThreadPoolManager.getInstance().scheduleGeneral(this, 5000);
return;
}
_boat.executePath(TALKING_DOCK);
break;
case 17:
BoatManager.getInstance().dockShip(BoatManager.TALKING_ISLAND, true);
BoatManager.getInstance().broadcastPackets(TALKING_DOCK[0], GLUDIN_DOCK[0], ARRIVED_AT_TALKING, ARRIVED_AT_TALKING_2);
_boat.broadcastPacket(TALKING_SOUND);
ThreadPoolManager.getInstance().scheduleGeneral(this, 300000);
break;
}
_shoutCount = 0;
_cycle++;
if (_cycle > 17)
{
_cycle = 0;
}
}
catch (Exception e)
{
_log.log(Level.WARNING, e.getMessage());
}
}
public static void main(String[] args)
{
if (!Config.SERVER_CLASSIC_SUPPORT)
{
return;
}
final L2BoatInstance boat = BoatManager.getInstance().getNewBoat(1, -96622, 261660, -3610, 32768);
if (boat != null)
{
boat.registerEngine(new BoatTalkingGludin(boat));
boat.runEngine(180000);
BoatManager.getInstance().dockShip(BoatManager.TALKING_ISLAND, true);
}
}
}