diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/MasterHandler.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/MasterHandler.java index 397c02563234f8bdda57416694c0affad0c9c8b3..c57b79b64aef5826b1370ce52f41ef306cc4c997 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/MasterHandler.java +++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/MasterHandler.java @@ -40,7 +40,6 @@ import handlers.admincommandhandlers.AdminCache; import handlers.admincommandhandlers.AdminCamera; import handlers.admincommandhandlers.AdminChangeAccessLevel; import handlers.admincommandhandlers.AdminClan; -import handlers.admincommandhandlers.AdminPcCondOverride; import handlers.admincommandhandlers.AdminCreateItem; import handlers.admincommandhandlers.AdminCursedWeapons; import handlers.admincommandhandlers.AdminDebug; @@ -80,6 +79,7 @@ import handlers.admincommandhandlers.AdminMobGroup; import handlers.admincommandhandlers.AdminMonsterRace; import handlers.admincommandhandlers.AdminPForge; import handlers.admincommandhandlers.AdminPathNode; +import handlers.admincommandhandlers.AdminPcCondOverride; import handlers.admincommandhandlers.AdminPetition; import handlers.admincommandhandlers.AdminPledge; import handlers.admincommandhandlers.AdminPolymorph; @@ -272,20 +272,20 @@ import handlers.telnethandlers.ReloadHandler; import handlers.telnethandlers.ServerHandler; import handlers.telnethandlers.StatusHandler; import handlers.telnethandlers.ThreadHandler; -import handlers.usercommandhandlers.Birthday; import handlers.usercommandhandlers.ChannelDelete; +import handlers.usercommandhandlers.ChannelInfo; import handlers.usercommandhandlers.ChannelLeave; -import handlers.usercommandhandlers.ChannelListUpdate; import handlers.usercommandhandlers.ClanPenalty; import handlers.usercommandhandlers.ClanWarsList; -import handlers.usercommandhandlers.DisMount; -import handlers.usercommandhandlers.Escape; +import handlers.usercommandhandlers.Dismount; import handlers.usercommandhandlers.InstanceZone; import handlers.usercommandhandlers.Loc; import handlers.usercommandhandlers.Mount; +import handlers.usercommandhandlers.MyBirthday; import handlers.usercommandhandlers.OlympiadStat; import handlers.usercommandhandlers.PartyInfo; import handlers.usercommandhandlers.Time; +import handlers.usercommandhandlers.Unstuck; import handlers.voicedcommandhandlers.Banking; import handlers.voicedcommandhandlers.ChangePassword; import handlers.voicedcommandhandlers.ChatAdmin; @@ -336,7 +336,7 @@ public class MasterHandler TelnetHandler.class, }; - private static final Class<?>[][] _handlers = + private static final Class<?>[][] _handlers = { { // Action Handlers @@ -581,8 +581,8 @@ public class MasterHandler // User Command Handlers ClanPenalty.class, ClanWarsList.class, - DisMount.class, - Escape.class, + Dismount.class, + Unstuck.class, InstanceZone.class, Loc.class, Mount.class, @@ -591,8 +591,8 @@ public class MasterHandler OlympiadStat.class, ChannelLeave.class, ChannelDelete.class, - ChannelListUpdate.class, - Birthday.class, + ChannelInfo.class, + MyBirthday.class, }, { // Voiced Command Handlers @@ -666,7 +666,7 @@ public class MasterHandler Object loadInstance = null; Method method = null; - Class<?>[] interfaces = null; + Class<?>[] interfaces = null; Object handler = null; for (int i = 0; i < _loadInstances.length; i++) @@ -689,13 +689,17 @@ public class MasterHandler try { if (c == null) + { continue; // Disabled handler + } // Don't wtf some classes extending another like ItemHandler, Elixir, etc.. and we need to find where the hell is interface xD interfaces = c.getInterfaces().length > 0 ? // Standardly handler has implementation - c.getInterfaces() : c.getSuperclass().getInterfaces().length > 0 ? // No? then it extends another handler like (ItemSkills->ItemSkillsTemplate) - c.getSuperclass().getInterfaces() : c.getSuperclass().getSuperclass().getInterfaces(); // O noh that's Elixir->ItemSkills->ItemSkillsTemplate + c.getInterfaces() : c.getSuperclass().getInterfaces().length > 0 ? // No? then it extends another handler like (ItemSkills->ItemSkillsTemplate) + c.getSuperclass().getInterfaces() : c.getSuperclass().getSuperclass().getInterfaces(); // O noh that's Elixir->ItemSkills->ItemSkillsTemplate if (method == null) + { method = loadInstance.getClass().getMethod("registerHandler", interfaces); + } handler = c.newInstance(); if (method.getParameterTypes()[0].isInstance(handler)) { @@ -713,7 +717,7 @@ public class MasterHandler { method = loadInstance.getClass().getMethod("size"); Object returnVal = method.invoke(loadInstance); - _log.log(Level.INFO, loadInstance.getClass().getSimpleName() + ": Loaded " + returnVal + " Handlers"); + _log.log(Level.INFO, loadInstance.getClass().getSimpleName() + ": Loaded " + returnVal + " Handlers"); } catch (Exception e) { diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/usercommandhandlers/ChannelDelete.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/usercommandhandlers/ChannelDelete.java index 9ed46dbdf6d5075131cc40470661866ba0417ef1..ce75ea6334c21abf53d6f04aa031584de8a952d5 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/usercommandhandlers/ChannelDelete.java +++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/usercommandhandlers/ChannelDelete.java @@ -21,7 +21,8 @@ import com.l2jserver.gameserver.network.SystemMessageId; import com.l2jserver.gameserver.network.serverpackets.SystemMessage; /** - * @author Chris + * Channel Delete user command. + * @author Chris */ public class ChannelDelete implements IUserCommandHandler { @@ -34,7 +35,9 @@ public class ChannelDelete implements IUserCommandHandler public boolean useUserCommand(int id, L2PcInstance activeChar) { if (id != COMMAND_IDS[0]) + { return false; + } if (activeChar.isInParty()) { diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/usercommandhandlers/ChannelListUpdate.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/usercommandhandlers/ChannelInfo.java similarity index 80% rename from L2J_DataPack_BETA/dist/game/data/scripts/handlers/usercommandhandlers/ChannelListUpdate.java rename to L2J_DataPack_BETA/dist/game/data/scripts/handlers/usercommandhandlers/ChannelInfo.java index ce248f790acb4d159122341074557de8d8123d59..c864ef6c44f5eb9477677fc8b23d37ecdfa796e9 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/usercommandhandlers/ChannelListUpdate.java +++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/usercommandhandlers/ChannelInfo.java @@ -20,9 +20,10 @@ import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; import com.l2jserver.gameserver.network.serverpackets.ExMultiPartyCommandChannelInfo; /** + * Channel Info user command. * @author chris_00 */ -public class ChannelListUpdate implements IUserCommandHandler +public class ChannelInfo implements IUserCommandHandler { private static final int[] COMMAND_IDS = { @@ -33,13 +34,16 @@ public class ChannelListUpdate implements IUserCommandHandler public boolean useUserCommand(int id, L2PcInstance activeChar) { if (id != COMMAND_IDS[0]) + { return false; + } - if (activeChar.getParty() == null || activeChar.getParty().getCommandChannel() == null) + if ((activeChar.getParty() == null) || (activeChar.getParty().getCommandChannel() == null)) + { return false; + } - L2CommandChannel channel = activeChar.getParty().getCommandChannel(); - + final L2CommandChannel channel = activeChar.getParty().getCommandChannel(); activeChar.sendPacket(new ExMultiPartyCommandChannelInfo(channel)); return true; } diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/usercommandhandlers/ChannelLeave.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/usercommandhandlers/ChannelLeave.java index a3691af4c4171429d3d2f15a84951ecabcf9d1b9..a7058debacbbe96e4fed5635d061f20151210e96 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/usercommandhandlers/ChannelLeave.java +++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/usercommandhandlers/ChannelLeave.java @@ -22,7 +22,8 @@ import com.l2jserver.gameserver.network.SystemMessageId; import com.l2jserver.gameserver.network.serverpackets.SystemMessage; /** - * @author Chris + * Channel Leave user command. + * @author Chris, Zoey76 */ public class ChannelLeave implements IUserCommandHandler { @@ -35,25 +36,28 @@ public class ChannelLeave implements IUserCommandHandler public boolean useUserCommand(int id, L2PcInstance activeChar) { if (id != COMMAND_IDS[0]) + { return false; + } - if (activeChar.isInParty()) + if (!activeChar.isInParty() || !activeChar.getParty().isLeader(activeChar)) { - if (activeChar.getParty().isLeader(activeChar) && activeChar.getParty().isInCommandChannel()) - { - L2CommandChannel channel = activeChar.getParty().getCommandChannel(); - L2Party party = activeChar.getParty(); - channel.removeParty(party); - - party.getLeader().sendPacket(SystemMessageId.LEFT_COMMAND_CHANNEL); - - SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.C1_PARTY_LEFT_COMMAND_CHANNEL); - sm.addString(party.getLeader().getName()); - channel.broadcastPacket(sm); - return true; - } + activeChar.sendPacket(SystemMessageId.ONLY_PARTY_LEADER_CAN_LEAVE_CHANNEL); + return false; } + if (activeChar.getParty().isInCommandChannel()) + { + final L2CommandChannel channel = activeChar.getParty().getCommandChannel(); + final L2Party party = activeChar.getParty(); + channel.removeParty(party); + party.getLeader().sendPacket(SystemMessageId.LEFT_COMMAND_CHANNEL); + + final SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.C1_PARTY_LEFT_COMMAND_CHANNEL); + sm.addPcName(party.getLeader()); + channel.broadcastPacket(sm); + return true; + } return false; } diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/usercommandhandlers/ClanPenalty.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/usercommandhandlers/ClanPenalty.java index 9d76e5bbd39ed004ffc634e651f83ffab7c57624..bc347684b0a44695f95de5922fba10dad856fc59 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/usercommandhandlers/ClanPenalty.java +++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/usercommandhandlers/ClanPenalty.java @@ -22,7 +22,7 @@ import com.l2jserver.gameserver.network.serverpackets.NpcHtmlMessage; import com.l2jserver.util.StringUtil; /** - * Support for clan penalty user command. + * Clan Penalty user command. * @author Tempy */ public class ClanPenalty implements IUserCommandHandler @@ -36,59 +36,40 @@ public class ClanPenalty implements IUserCommandHandler public boolean useUserCommand(int id, L2PcInstance activeChar) { if (id != COMMAND_IDS[0]) + { return false; + } boolean penalty = false; SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd"); - final StringBuilder htmlContent = StringUtil.startAppend(500, - "<html><body>" + - "<center><table width=270 border=0 bgcolor=111111>" + - "<tr><td width=170>Penalty</td>" + - "<td width=100 align=center>Expiration Date</td></tr>" + - "</table><table width=270 border=0><tr>" - ); + final StringBuilder htmlContent = StringUtil.startAppend(500, "<html><body><center><table width=270 border=0 bgcolor=111111><tr><td width=170>Penalty</td><td width=100 align=center>Expiration Date</td></tr></table><table width=270 border=0><tr>"); - if (activeChar.getClanJoinExpiryTime() > System.currentTimeMillis()) { - StringUtil.append(htmlContent, - "<td width=170>Unable to join a clan.</td>" + - "<td width=100 align=center>", - format.format(activeChar.getClanJoinExpiryTime()), - "</td>" - ); + if (activeChar.getClanJoinExpiryTime() > System.currentTimeMillis()) + { + StringUtil.append(htmlContent, "<td width=170>Unable to join a clan.</td><td width=100 align=center>", format.format(activeChar.getClanJoinExpiryTime()), "</td>"); penalty = true; } - if (activeChar.getClanCreateExpiryTime() > System.currentTimeMillis()) { - StringUtil.append(htmlContent, - "<td width=170>Unable to create a clan.</td>" + - "<td width=100 align=center>", - format.format(activeChar.getClanCreateExpiryTime()), - "</td>" - ); + if (activeChar.getClanCreateExpiryTime() > System.currentTimeMillis()) + { + StringUtil.append(htmlContent, "<td width=170>Unable to create a clan.</td><td width=100 align=center>", format.format(activeChar.getClanCreateExpiryTime()), "</td>"); penalty = true; } - if (activeChar.getClan() != null && activeChar.getClan().getCharPenaltyExpiryTime() > System.currentTimeMillis()) { - StringUtil.append(htmlContent, - "<td width=170>Unable to invite a clan member.</td>" + - "<td width=100 align=center>", - format.format(activeChar.getClan().getCharPenaltyExpiryTime()), - "</td>" - ); + if ((activeChar.getClan() != null) && (activeChar.getClan().getCharPenaltyExpiryTime() > System.currentTimeMillis())) + { + StringUtil.append(htmlContent, "<td width=170>Unable to invite a clan member.</td><td width=100 align=center>", format.format(activeChar.getClan().getCharPenaltyExpiryTime()), "</td>"); penalty = true; } - if (!penalty) { - htmlContent.append( - "<td width=170>No penalty is imposed.</td>" + - "<td width=100 align=center> </td>"); + if (!penalty) + { + htmlContent.append("<td width=170>No penalty is imposed.</td><td width=100 align=center></td>"); } - htmlContent.append( - "</tr></table><img src=\"L2UI.SquareWhite\" width=270 height=1>" + - "</center></body></html>"); + htmlContent.append("</tr></table><img src=\"L2UI.SquareWhite\" width=270 height=1></center></body></html>"); - NpcHtmlMessage penaltyHtml = new NpcHtmlMessage(0); + final NpcHtmlMessage penaltyHtml = new NpcHtmlMessage(0); penaltyHtml.setHtml(htmlContent.toString()); activeChar.sendPacket(penaltyHtml); diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/usercommandhandlers/ClanWarsList.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/usercommandhandlers/ClanWarsList.java index f84407289156d0f1fe0436ff4056f1b841c103ad..dcc1518ce7d1c769ba835cb3d03c8e561e16c600 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/usercommandhandlers/ClanWarsList.java +++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/usercommandhandlers/ClanWarsList.java @@ -28,7 +28,7 @@ import com.l2jserver.gameserver.network.SystemMessageId; import com.l2jserver.gameserver.network.serverpackets.SystemMessage; /** - * Support for /clanwarlist command + * Clan War Start, Under Attack List, War List user commands. * @author Tempy */ public class ClanWarsList implements IUserCommandHandler @@ -36,88 +36,89 @@ public class ClanWarsList implements IUserCommandHandler private static final Logger _log = Logger.getLogger(ClanWarsList.class.getName()); private static final int[] COMMAND_IDS = { - 88, 89, 90 + 88, + 89, + 90 }; + // SQL queries + private static final String ATTACK_LIST = "SELECT clan_name,clan_id,ally_id,ally_name FROM clan_data,clan_wars WHERE clan1=? AND clan_id=clan2 AND clan2 NOT IN (SELECT clan1 FROM clan_wars WHERE clan2=?)"; + private static final String UNDER_ATTACK_LIST = "SELECT clan_name,clan_id,ally_id,ally_name FROM clan_data,clan_wars WHERE clan2=? AND clan_id=clan1 AND clan1 NOT IN (SELECT clan2 FROM clan_wars WHERE clan1=?)"; + private static final String WAR_LIST = "SELECT clan_name,clan_id,ally_id,ally_name FROM clan_data,clan_wars WHERE clan1=? AND clan_id=clan2 AND clan2 IN (SELECT clan1 FROM clan_wars WHERE clan2=?)"; @Override public boolean useUserCommand(int id, L2PcInstance activeChar) { - if (id != COMMAND_IDS[0] && id != COMMAND_IDS[1] && id != COMMAND_IDS[2]) + if ((id != COMMAND_IDS[0]) && (id != COMMAND_IDS[1]) && (id != COMMAND_IDS[2])) + { return false; + } - L2Clan clan = activeChar.getClan(); - + final L2Clan clan = activeChar.getClan(); if (clan == null) { - activeChar.sendMessage("You are not in a clan."); + activeChar.sendPacket(SystemMessageId.NOT_JOINED_IN_ANY_CLAN); return false; } - SystemMessage sm; try (Connection con = L2DatabaseFactory.getInstance().getConnection()) { - PreparedStatement statement; - + String query; + // Attack List if (id == 88) { - // Attack List activeChar.sendPacket(SystemMessageId.CLANS_YOU_DECLARED_WAR_ON); - statement = con.prepareStatement("select clan_name,clan_id,ally_id,ally_name from clan_data,clan_wars where clan1=? and clan_id=clan2 and clan2 not in (select clan1 from clan_wars where clan2=?)"); - statement.setInt(1, clan.getClanId()); - statement.setInt(2, clan.getClanId()); + query = ATTACK_LIST; } + // Under Attack List else if (id == 89) { - // Under Attack List activeChar.sendPacket(SystemMessageId.CLANS_THAT_HAVE_DECLARED_WAR_ON_YOU); - statement = con.prepareStatement("select clan_name,clan_id,ally_id,ally_name from clan_data,clan_wars where clan2=? and clan_id=clan1 and clan1 not in (select clan2 from clan_wars where clan1=?)"); - statement.setInt(1, clan.getClanId()); - statement.setInt(2, clan.getClanId()); + query = UNDER_ATTACK_LIST; } + // War List else - // ID = 90 { - // War List activeChar.sendPacket(SystemMessageId.WAR_LIST); - statement = con.prepareStatement("select clan_name,clan_id,ally_id,ally_name from clan_data,clan_wars where clan1=? and clan_id=clan2 and clan2 in (select clan1 from clan_wars where clan2=?)"); - statement.setInt(1, clan.getClanId()); - statement.setInt(2, clan.getClanId()); + query = WAR_LIST; } - ResultSet rset = statement.executeQuery(); - - while (rset.next()) + try (PreparedStatement ps = con.prepareStatement(query)) { - String clanName = rset.getString("clan_name"); - int ally_id = rset.getInt("ally_id"); + ps.setInt(1, clan.getClanId()); + ps.setInt(2, clan.getClanId()); - if (ally_id > 0) + SystemMessage sm; + try (ResultSet rs = ps.executeQuery()) { - // Target With Ally - sm = SystemMessage.getSystemMessage(SystemMessageId.S1_S2_ALLIANCE); - sm.addString(clanName); - sm.addString(rset.getString("ally_name")); + String clanName; + int ally_id; + while (rs.next()) + { + clanName = rs.getString("clan_name"); + ally_id = rs.getInt("ally_id"); + if (ally_id > 0) + { + // Target With Ally + sm = SystemMessage.getSystemMessage(SystemMessageId.S1_S2_ALLIANCE); + sm.addString(clanName); + sm.addString(rs.getString("ally_name")); + } + else + { + // Target Without Ally + sm = SystemMessage.getSystemMessage(SystemMessageId.S1_NO_ALLI_EXISTS); + sm.addString(clanName); + } + activeChar.sendPacket(sm); + } } - else - { - // Target Without Ally - sm = SystemMessage.getSystemMessage(SystemMessageId.S1_NO_ALLI_EXISTS); - sm.addString(clanName); - } - - activeChar.sendPacket(sm); } - activeChar.sendPacket(SystemMessageId.FRIEND_LIST_FOOTER); - - rset.close(); - statement.close(); } catch (Exception e) { _log.log(Level.WARNING, "", e); } - return true; } diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/usercommandhandlers/DisMount.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/usercommandhandlers/Dismount.java similarity index 88% rename from L2J_DataPack_BETA/dist/game/data/scripts/handlers/usercommandhandlers/DisMount.java rename to L2J_DataPack_BETA/dist/game/data/scripts/handlers/usercommandhandlers/Dismount.java index 101e84ce21c0347207120ebb72d05dfcd096a8a4..c0e2018fa6aecdf2e8ff44d38bdb4c9565519d20 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/usercommandhandlers/DisMount.java +++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/usercommandhandlers/Dismount.java @@ -18,10 +18,10 @@ import com.l2jserver.gameserver.handler.IUserCommandHandler; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; /** - * Support for /dismount command. + * Dismount user command. * @author Micht */ -public class DisMount implements IUserCommandHandler +public class Dismount implements IUserCommandHandler { private static final int[] COMMAND_IDS = { @@ -32,13 +32,18 @@ public class DisMount implements IUserCommandHandler public synchronized boolean useUserCommand(int id, L2PcInstance activeChar) { if (id != COMMAND_IDS[0]) + { return false; + } if (activeChar.isRentedPet()) + { activeChar.stopRentPet(); + } else if (activeChar.isMounted()) + { activeChar.dismount(); - + } return true; } diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/usercommandhandlers/InstanceZone.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/usercommandhandlers/InstanceZone.java index 3264cbeed5a5494a682a09ba3c604c7a0eeafc0c..88a3248ff2a0f319f7161be06303c7249ce49f85 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/usercommandhandlers/InstanceZone.java +++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/usercommandhandlers/InstanceZone.java @@ -24,6 +24,7 @@ import com.l2jserver.gameserver.network.SystemMessageId; import com.l2jserver.gameserver.network.serverpackets.SystemMessage; /** + * Instance Zone user command. * @author nille02 */ public class InstanceZone implements IUserCommandHandler @@ -43,20 +44,23 @@ public class InstanceZone implements IUserCommandHandler public boolean useUserCommand(int id, L2PcInstance activeChar) { if (id != COMMAND_IDS[0]) + { return false; + } final InstanceWorld world = InstanceManager.getInstance().getPlayerWorld(activeChar); - if (world != null && world.templateId >= 0) + if ((world != null) && (world.templateId >= 0)) { SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.INSTANT_ZONE_CURRENTLY_INUSE_S1); sm.addInstanceName(world.templateId); activeChar.sendPacket(sm); } - Map<Integer, Long> instanceTimes = InstanceManager.getInstance().getAllInstanceTimes(activeChar.getObjectId()); + final Map<Integer, Long> instanceTimes = InstanceManager.getInstance().getAllInstanceTimes(activeChar.getObjectId()); boolean firstMessage = true; if (instanceTimes != null) - for(int instanceId : instanceTimes.keySet()) + { + for (int instanceId : instanceTimes.keySet()) { long remainingTime = (instanceTimes.get(instanceId) - System.currentTimeMillis()) / 1000; if (remainingTime > 60) @@ -67,7 +71,7 @@ public class InstanceZone implements IUserCommandHandler activeChar.sendPacket(SystemMessageId.INSTANCE_ZONE_TIME_LIMIT); } int hours = (int) (remainingTime / 3600); - int minutes = (int) ((remainingTime%3600) / 60); + int minutes = (int) ((remainingTime % 3600) / 60); SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.AVAILABLE_AFTER_S1_S2_HOURS_S3_MINUTES); sm.addInstanceName(instanceId); sm.addNumber(hours); @@ -75,10 +79,15 @@ public class InstanceZone implements IUserCommandHandler activeChar.sendPacket(sm); } else + { InstanceManager.getInstance().deleteInstanceTime(activeChar.getObjectId(), instanceId); + } } + } if (firstMessage) + { activeChar.sendPacket(SystemMessageId.NO_INSTANCEZONE_TIME_LIMIT); + } return true; } } diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/usercommandhandlers/Loc.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/usercommandhandlers/Loc.java index 0ac0d2327045bccfdd9a044e761a15bc6c161338..fd037df7c3885f8cd637c99e8dd0d0121ac58a01 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/usercommandhandlers/Loc.java +++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/usercommandhandlers/Loc.java @@ -23,6 +23,9 @@ import com.l2jserver.gameserver.model.zone.type.L2RespawnZone; import com.l2jserver.gameserver.network.SystemMessageId; import com.l2jserver.gameserver.network.serverpackets.SystemMessage; +/** + * Loc user command. + */ public class Loc implements IUserCommandHandler { private static final int[] COMMAND_IDS = @@ -35,17 +38,20 @@ public class Loc implements IUserCommandHandler { int region; L2RespawnZone zone = ZoneManager.getInstance().getZone(activeChar, L2RespawnZone.class); - if (zone != null) + { region = MapRegionManager.getInstance().getRestartRegion(activeChar, zone.getAllRespawnPoints().get(Race.Human)).getLocId(); + } else + { region = MapRegionManager.getInstance().getMapRegionLocId(activeChar); + } SystemMessage sm; if (region > 0) { sm = SystemMessage.getSystemMessage(region); - if(sm.getSystemMessageId().getParamCount() == 3) + if (sm.getSystemMessageId().getParamCount() == 3) { sm.addNumber(activeChar.getX()); sm.addNumber(activeChar.getY()); diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/usercommandhandlers/Mount.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/usercommandhandlers/Mount.java index aebdbf5dc8b1c271b9b089ef6bc28b34466e3eac..04038a128da8d44b9c4e5bba903fe072d2b4f47c 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/usercommandhandlers/Mount.java +++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/usercommandhandlers/Mount.java @@ -18,7 +18,7 @@ import com.l2jserver.gameserver.handler.IUserCommandHandler; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; /** - * Support for /mount command. + * Mount user command. * @author Tempy */ public class Mount implements IUserCommandHandler @@ -32,8 +32,9 @@ public class Mount implements IUserCommandHandler public synchronized boolean useUserCommand(int id, L2PcInstance activeChar) { if (id != COMMAND_IDS[0]) + { return false; - + } return activeChar.mountPlayer(activeChar.getSummon()); } diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/usercommandhandlers/Birthday.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/usercommandhandlers/MyBirthday.java similarity index 88% rename from L2J_DataPack_BETA/dist/game/data/scripts/handlers/usercommandhandlers/Birthday.java rename to L2J_DataPack_BETA/dist/game/data/scripts/handlers/usercommandhandlers/MyBirthday.java index efc2f689fb8dbda9a069efe94b885e309eeaa27c..043a7bfc8c13f8220ceac923ec76027bf2593651 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/usercommandhandlers/Birthday.java +++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/usercommandhandlers/MyBirthday.java @@ -22,10 +22,10 @@ import com.l2jserver.gameserver.network.SystemMessageId; import com.l2jserver.gameserver.network.serverpackets.SystemMessage; /** - * Support for /mybirthday command + * My Birthday user command. * @author JIV */ -public class Birthday implements IUserCommandHandler +public class MyBirthday implements IUserCommandHandler { private static final int[] COMMAND_IDS = { @@ -36,14 +36,16 @@ public class Birthday implements IUserCommandHandler public boolean useUserCommand(int id, L2PcInstance activeChar) { if (id != COMMAND_IDS[0]) + { return false; + } Calendar date = activeChar.getCreateDate(); SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.C1_BIRTHDAY_IS_S3_S4_S2); sm.addPcName(activeChar); sm.addString(Integer.toString(date.get(Calendar.YEAR))); - sm.addString(Integer.toString(date.get(Calendar.MONTH)+1)); + sm.addString(Integer.toString(date.get(Calendar.MONTH) + 1)); sm.addString(Integer.toString(date.get(Calendar.DATE))); activeChar.sendPacket(sm); diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/usercommandhandlers/OlympiadStat.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/usercommandhandlers/OlympiadStat.java index 8b5156f7fc4de8cf415555dd88692b6e94e25b70..cb1f49bc8b01179d46c841a1c11e92e24addc604 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/usercommandhandlers/OlympiadStat.java +++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/usercommandhandlers/OlympiadStat.java @@ -22,12 +22,15 @@ import com.l2jserver.gameserver.network.SystemMessageId; import com.l2jserver.gameserver.network.serverpackets.SystemMessage; /** - * Support for /olympiadstat command + * Olympiad Stat user command. * @author kamy, Zoey76 */ public class OlympiadStat implements IUserCommandHandler { - private static final int[] COMMAND_IDS = { 109 }; + private static final int[] COMMAND_IDS = + { + 109 + }; @Override public boolean useUserCommand(int id, L2PcInstance activeChar) @@ -41,7 +44,7 @@ public class OlympiadStat implements IUserCommandHandler final L2Object target = activeChar.getTarget(); if (target != null) { - if ((target instanceof L2PcInstance) && target.getActingPlayer().isNoble()) + if (target.isPlayer() && target.getActingPlayer().isNoble()) { nobleObjId = target.getObjectId(); } diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/usercommandhandlers/PartyInfo.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/usercommandhandlers/PartyInfo.java index 094d5639eb051b75ec1b01130a8518037cc0ce9d..0ea40ccb0742359162ed5489f64bd2ae358489f0 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/usercommandhandlers/PartyInfo.java +++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/usercommandhandlers/PartyInfo.java @@ -21,8 +21,8 @@ import com.l2jserver.gameserver.network.SystemMessageId; import com.l2jserver.gameserver.network.serverpackets.SystemMessage; /** - * Support for /partyinfo command - * Added by Tempy - 28 Jul 05 + * Party Info user command. + * @author Tempy */ public class PartyInfo implements IUserCommandHandler { @@ -35,47 +35,41 @@ public class PartyInfo implements IUserCommandHandler public boolean useUserCommand(int id, L2PcInstance activeChar) { if (id != COMMAND_IDS[0]) - return false; - - if (!activeChar.isInParty()) { - activeChar.sendPacket(SystemMessageId.PARTY_INFORMATION); - activeChar.sendPacket(SystemMessageId.FRIEND_LIST_FOOTER); return false; } - L2Party playerParty = activeChar.getParty(); - int memberCount = playerParty.getMemberCount(); - int lootDistribution = playerParty.getLootDistribution(); - String partyLeader = playerParty.getMembers().get(0).getName(); - activeChar.sendPacket(SystemMessageId.PARTY_INFORMATION); - - switch (lootDistribution) + if (activeChar.isInParty()) { - case L2Party.ITEM_LOOTER: - activeChar.sendPacket(SystemMessageId.LOOTING_FINDERS_KEEPERS); - break; - case L2Party.ITEM_ORDER: - activeChar.sendPacket(SystemMessageId.LOOTING_BY_TURN); - break; - case L2Party.ITEM_ORDER_SPOIL: - activeChar.sendPacket(SystemMessageId.LOOTING_BY_TURN_INCLUDE_SPOIL); - break; - case L2Party.ITEM_RANDOM: - activeChar.sendPacket(SystemMessageId.LOOTING_RANDOM); - break; - case L2Party.ITEM_RANDOM_SPOIL: - activeChar.sendPacket(SystemMessageId.LOOTING_RANDOM_INCLUDE_SPOIL); - break; + final L2Party party = activeChar.getParty(); + switch (party.getLootDistribution()) + { + case L2Party.ITEM_LOOTER: + activeChar.sendPacket(SystemMessageId.LOOTING_FINDERS_KEEPERS); + break; + case L2Party.ITEM_ORDER: + activeChar.sendPacket(SystemMessageId.LOOTING_BY_TURN); + break; + case L2Party.ITEM_ORDER_SPOIL: + activeChar.sendPacket(SystemMessageId.LOOTING_BY_TURN_INCLUDE_SPOIL); + break; + case L2Party.ITEM_RANDOM: + activeChar.sendPacket(SystemMessageId.LOOTING_RANDOM); + break; + case L2Party.ITEM_RANDOM_SPOIL: + activeChar.sendPacket(SystemMessageId.LOOTING_RANDOM_INCLUDE_SPOIL); + break; + } + + if (!party.isLeader(activeChar)) + { + final SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.PARTY_LEADER_C1); + sm.addPcName(party.getLeader()); + activeChar.sendPacket(sm); + } + activeChar.sendMessage("Members: " + party.getMemberCount() + "/9"); // TODO: Custom? } - - SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.PARTY_LEADER_C1); - sm.addString(partyLeader); - activeChar.sendPacket(sm); - - activeChar.sendMessage("Members: " + memberCount + "/9"); - activeChar.sendPacket(SystemMessageId.FRIEND_LIST_FOOTER); return true; } diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/usercommandhandlers/Time.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/usercommandhandlers/Time.java index 2d2421f9b3252e7f97208857514b4041c91f2c1d..13ed42a79f63829f6581f3629cec5b185b979e77 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/usercommandhandlers/Time.java +++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/usercommandhandlers/Time.java @@ -24,6 +24,9 @@ import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; import com.l2jserver.gameserver.network.SystemMessageId; import com.l2jserver.gameserver.network.serverpackets.SystemMessage; +/** + * Time user command. + */ public class Time implements IUserCommandHandler { private static final int[] COMMAND_IDS = @@ -37,15 +40,21 @@ public class Time implements IUserCommandHandler public boolean useUserCommand(int id, L2PcInstance activeChar) { if (COMMAND_IDS[0] != id) + { return false; + } int t = GameTimeController.getInstance().getGameTime(); - String h = "" + (t / 60) % 24; + String h = "" + ((t / 60) % 24); String m; - if (t % 60 < 10) - m = "0" + t % 60; + if ((t % 60) < 10) + { + m = "0" + (t % 60); + } else - m = "" + t % 60; + { + m = "" + (t % 60); + } SystemMessage sm; if (GameTimeController.getInstance().isNowNight()) @@ -62,7 +71,9 @@ public class Time implements IUserCommandHandler } activeChar.sendPacket(sm); if (Config.L2JMOD_DISPLAY_SERVER_TIME) + { activeChar.sendMessage("Server time is " + fmt.format(new Date(System.currentTimeMillis()))); + } return true; } diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/usercommandhandlers/Escape.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/usercommandhandlers/Unstuck.java similarity index 87% rename from L2J_DataPack_BETA/dist/game/data/scripts/handlers/usercommandhandlers/Escape.java rename to L2J_DataPack_BETA/dist/game/data/scripts/handlers/usercommandhandlers/Unstuck.java index 0075382034057f1f97314ea736ef67d46d15fb82..1248dcab473567737afe1e2bc36452b4e07d3028 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/usercommandhandlers/Escape.java +++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/usercommandhandlers/Unstuck.java @@ -14,8 +14,6 @@ */ package handlers.usercommandhandlers; -import java.util.logging.Level; - import com.l2jserver.Config; import com.l2jserver.gameserver.GameTimeController; import com.l2jserver.gameserver.ThreadPoolManager; @@ -32,9 +30,9 @@ import com.l2jserver.gameserver.network.serverpackets.SetupGauge; import com.l2jserver.gameserver.util.Broadcast; /** - * + * Unstuck user command. */ -public class Escape implements IUserCommandHandler +public class Unstuck implements IUserCommandHandler { private static final int[] COMMAND_IDS = { @@ -97,18 +95,17 @@ public class Escape implements IUserCommandHandler activeChar.sendPacket(sg); // End SoE Animation section - EscapeFinalizer ef = new EscapeFinalizer(activeChar); // continue execution later - activeChar.setSkillCast(ThreadPoolManager.getInstance().scheduleGeneral(ef, unstuckTimer)); + activeChar.setSkillCast(ThreadPoolManager.getInstance().scheduleGeneral(new EscapeFinalizer(activeChar), unstuckTimer)); return true; } - static class EscapeFinalizer implements Runnable + private static class EscapeFinalizer implements Runnable { private final L2PcInstance _activeChar; - EscapeFinalizer(L2PcInstance activeChar) + protected EscapeFinalizer(L2PcInstance activeChar) { _activeChar = activeChar; } @@ -125,15 +122,7 @@ public class Escape implements IUserCommandHandler _activeChar.enableAllSkills(); _activeChar.setIsCastingNow(false); _activeChar.setInstanceId(0); - - try - { - _activeChar.teleToLocation(MapRegionManager.TeleportWhereType.Town); - } - catch (Exception e) - { - _log.log(Level.SEVERE, "", e); - } + _activeChar.teleToLocation(MapRegionManager.TeleportWhereType.Town); } }