Use final modifier for local variables.
This commit is contained in:
@@ -52,11 +52,11 @@ public class Server
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Start game server.
|
// Start game server.
|
||||||
GameServer gameServer = new GameServer();
|
final GameServer gameServer = new GameServer();
|
||||||
gameServer.start();
|
gameServer.start();
|
||||||
|
|
||||||
// Start login server.
|
// Start login server.
|
||||||
LoginServer loginServer = new LoginServer();
|
final LoginServer loginServer = new LoginServer();
|
||||||
loginServer.start();
|
loginServer.start();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -74,15 +74,15 @@ public class AdminCommands extends Thread
|
|||||||
StringTokenizer st;
|
StringTokenizer st;
|
||||||
NpcInstance target;
|
NpcInstance target;
|
||||||
String id;
|
String id;
|
||||||
PlayerInstance activeChar = client.getActiveChar();
|
final PlayerInstance activeChar = client.getActiveChar();
|
||||||
if (command.equals("admin_show"))
|
if (command.equals("admin_show"))
|
||||||
{
|
{
|
||||||
showMainPage(client);
|
showMainPage(client);
|
||||||
}
|
}
|
||||||
else if (command.startsWith("admin_kill"))
|
else if (command.startsWith("admin_kill"))
|
||||||
{
|
{
|
||||||
int objectId = Integer.parseInt(command.substring(11));
|
final int objectId = Integer.parseInt(command.substring(11));
|
||||||
WorldObject temp = World.getInstance().findObject(objectId);
|
final WorldObject temp = World.getInstance().findObject(objectId);
|
||||||
if (temp instanceof NpcInstance)
|
if (temp instanceof NpcInstance)
|
||||||
{
|
{
|
||||||
target = (NpcInstance) temp;
|
target = (NpcInstance) temp;
|
||||||
@@ -91,8 +91,8 @@ public class AdminCommands extends Thread
|
|||||||
}
|
}
|
||||||
else if (command.startsWith("admin_delete"))
|
else if (command.startsWith("admin_delete"))
|
||||||
{
|
{
|
||||||
int objectId = Integer.parseInt(command.substring(13));
|
final int objectId = Integer.parseInt(command.substring(13));
|
||||||
WorldObject temp = World.getInstance().findObject(objectId);
|
final WorldObject temp = World.getInstance().findObject(objectId);
|
||||||
if (temp instanceof NpcInstance)
|
if (temp instanceof NpcInstance)
|
||||||
{
|
{
|
||||||
target = (NpcInstance) temp;
|
target = (NpcInstance) temp;
|
||||||
@@ -122,7 +122,7 @@ public class AdminCommands extends Thread
|
|||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
String val = command.substring(23);
|
final String val = command.substring(23);
|
||||||
Announcements.getInstance().addAnnouncement(val);
|
Announcements.getInstance().addAnnouncement(val);
|
||||||
Announcements.getInstance().listAnnouncements(activeChar);
|
Announcements.getInstance().listAnnouncements(activeChar);
|
||||||
}
|
}
|
||||||
@@ -133,7 +133,7 @@ public class AdminCommands extends Thread
|
|||||||
}
|
}
|
||||||
else if (command.startsWith("admin_del_announcement"))
|
else if (command.startsWith("admin_del_announcement"))
|
||||||
{
|
{
|
||||||
int val = Integer.parseInt(command.substring(23));
|
final int val = Integer.parseInt(command.substring(23));
|
||||||
Announcements.getInstance().delAnnouncement(val);
|
Announcements.getInstance().delAnnouncement(val);
|
||||||
Announcements.getInstance().listAnnouncements(activeChar);
|
Announcements.getInstance().listAnnouncements(activeChar);
|
||||||
}
|
}
|
||||||
@@ -163,12 +163,12 @@ public class AdminCommands extends Thread
|
|||||||
}
|
}
|
||||||
else if (command.startsWith("admin_skill_index"))
|
else if (command.startsWith("admin_skill_index"))
|
||||||
{
|
{
|
||||||
String val = command.substring(18);
|
final String val = command.substring(18);
|
||||||
showHelpPage(client, "skills/" + val + ".htm");
|
showHelpPage(client, "skills/" + val + ".htm");
|
||||||
}
|
}
|
||||||
else if (command.startsWith("admin_spawn_index"))
|
else if (command.startsWith("admin_spawn_index"))
|
||||||
{
|
{
|
||||||
String val = command.substring(18);
|
final String val = command.substring(18);
|
||||||
showHelpPage(client, "spawns/" + val + ".htm");
|
showHelpPage(client, "spawns/" + val + ".htm");
|
||||||
}
|
}
|
||||||
else if (command.equals("admin_character_disconnect"))
|
else if (command.equals("admin_character_disconnect"))
|
||||||
@@ -207,7 +207,7 @@ public class AdminCommands extends Thread
|
|||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
String val = command.substring(14);
|
final String val = command.substring(14);
|
||||||
teleportTo(client, val);
|
teleportTo(client, val);
|
||||||
}
|
}
|
||||||
catch (StringIndexOutOfBoundsException e)
|
catch (StringIndexOutOfBoundsException e)
|
||||||
@@ -220,7 +220,7 @@ public class AdminCommands extends Thread
|
|||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
String val = command.substring(11);
|
final String val = command.substring(11);
|
||||||
showHelpPage(client, val);
|
showHelpPage(client, val);
|
||||||
}
|
}
|
||||||
catch (StringIndexOutOfBoundsException e)
|
catch (StringIndexOutOfBoundsException e)
|
||||||
@@ -231,7 +231,7 @@ public class AdminCommands extends Thread
|
|||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
String val = command.substring(21);
|
final String val = command.substring(21);
|
||||||
showCharacterList(client, val);
|
showCharacterList(client, val);
|
||||||
}
|
}
|
||||||
catch (StringIndexOutOfBoundsException e)
|
catch (StringIndexOutOfBoundsException e)
|
||||||
@@ -242,8 +242,8 @@ public class AdminCommands extends Thread
|
|||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
String val = command.substring(22);
|
final String val = command.substring(22);
|
||||||
int page = Integer.parseInt(val);
|
final int page = Integer.parseInt(val);
|
||||||
listCharacters(client, page);
|
listCharacters(client, page);
|
||||||
}
|
}
|
||||||
catch (StringIndexOutOfBoundsException e)
|
catch (StringIndexOutOfBoundsException e)
|
||||||
@@ -254,7 +254,7 @@ public class AdminCommands extends Thread
|
|||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
String val = command.substring(21);
|
final String val = command.substring(21);
|
||||||
findCharacter(client, val);
|
findCharacter(client, val);
|
||||||
}
|
}
|
||||||
catch (StringIndexOutOfBoundsException e)
|
catch (StringIndexOutOfBoundsException e)
|
||||||
@@ -267,7 +267,7 @@ public class AdminCommands extends Thread
|
|||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
String val = command.substring(16);
|
final String val = command.substring(16);
|
||||||
adminAddExpSp(client, val);
|
adminAddExpSp(client, val);
|
||||||
}
|
}
|
||||||
catch (StringIndexOutOfBoundsException e)
|
catch (StringIndexOutOfBoundsException e)
|
||||||
@@ -280,7 +280,7 @@ public class AdminCommands extends Thread
|
|||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
String val = command.substring(15);
|
final String val = command.substring(15);
|
||||||
adminAddSkill(client, val);
|
adminAddSkill(client, val);
|
||||||
}
|
}
|
||||||
catch (StringIndexOutOfBoundsException e)
|
catch (StringIndexOutOfBoundsException e)
|
||||||
@@ -293,8 +293,8 @@ public class AdminCommands extends Thread
|
|||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
String id2 = command.substring(19);
|
final String id2 = command.substring(19);
|
||||||
int idval = Integer.parseInt(id2);
|
final int idval = Integer.parseInt(id2);
|
||||||
adminRemoveSkill(client, idval);
|
adminRemoveSkill(client, idval);
|
||||||
}
|
}
|
||||||
catch (StringIndexOutOfBoundsException e)
|
catch (StringIndexOutOfBoundsException e)
|
||||||
@@ -307,7 +307,7 @@ public class AdminCommands extends Thread
|
|||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
String val = command.substring(24);
|
final String val = command.substring(24);
|
||||||
adminModifyCharacter(client, val);
|
adminModifyCharacter(client, val);
|
||||||
}
|
}
|
||||||
catch (StringIndexOutOfBoundsException e)
|
catch (StringIndexOutOfBoundsException e)
|
||||||
@@ -320,7 +320,7 @@ public class AdminCommands extends Thread
|
|||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
String val = command.substring(25);
|
final String val = command.substring(25);
|
||||||
teleportCharacter(client, val);
|
teleportCharacter(client, val);
|
||||||
}
|
}
|
||||||
catch (StringIndexOutOfBoundsException e)
|
catch (StringIndexOutOfBoundsException e)
|
||||||
@@ -333,7 +333,7 @@ public class AdminCommands extends Thread
|
|||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
String val = command.substring(20);
|
final String val = command.substring(20);
|
||||||
spawnMenu(client, val);
|
spawnMenu(client, val);
|
||||||
}
|
}
|
||||||
catch (StringIndexOutOfBoundsException e)
|
catch (StringIndexOutOfBoundsException e)
|
||||||
@@ -344,7 +344,7 @@ public class AdminCommands extends Thread
|
|||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
String val = command.substring(20);
|
final String val = command.substring(20);
|
||||||
st = new StringTokenizer(val);
|
st = new StringTokenizer(val);
|
||||||
if (st.countTokens() != 2)
|
if (st.countTokens() != 2)
|
||||||
{
|
{
|
||||||
@@ -353,7 +353,7 @@ public class AdminCommands extends Thread
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
id = st.nextToken();
|
id = st.nextToken();
|
||||||
String targetName = st.nextToken();
|
final String targetName = st.nextToken();
|
||||||
spawnMonster(client, id, targetName);
|
spawnMonster(client, id, targetName);
|
||||||
}
|
}
|
||||||
catch (StringIndexOutOfBoundsException e)
|
catch (StringIndexOutOfBoundsException e)
|
||||||
@@ -364,7 +364,7 @@ public class AdminCommands extends Thread
|
|||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
int val = Integer.parseInt(command.substring(22));
|
final int val = Integer.parseInt(command.substring(22));
|
||||||
serverShutdown(client, val);
|
serverShutdown(client, val);
|
||||||
}
|
}
|
||||||
catch (StringIndexOutOfBoundsException e)
|
catch (StringIndexOutOfBoundsException e)
|
||||||
@@ -385,20 +385,20 @@ public class AdminCommands extends Thread
|
|||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
String val = command.substring(17);
|
final String val = command.substring(17);
|
||||||
st = new StringTokenizer(val);
|
st = new StringTokenizer(val);
|
||||||
if (st.countTokens() == 2)
|
if (st.countTokens() == 2)
|
||||||
{
|
{
|
||||||
id = st.nextToken();
|
id = st.nextToken();
|
||||||
int idval = Integer.parseInt(id);
|
final int idval = Integer.parseInt(id);
|
||||||
String num = st.nextToken();
|
final String num = st.nextToken();
|
||||||
int numval = Integer.parseInt(num);
|
final int numval = Integer.parseInt(num);
|
||||||
createItem(client, idval, numval);
|
createItem(client, idval, numval);
|
||||||
}
|
}
|
||||||
else if (st.countTokens() == 1)
|
else if (st.countTokens() == 1)
|
||||||
{
|
{
|
||||||
id = st.nextToken();
|
id = st.nextToken();
|
||||||
int idval = Integer.parseInt(id);
|
final int idval = Integer.parseInt(id);
|
||||||
createItem(client, idval, 1);
|
createItem(client, idval, 1);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@@ -415,7 +415,7 @@ public class AdminCommands extends Thread
|
|||||||
|
|
||||||
private void handleBuyRequest(ClientThread client, String command)
|
private void handleBuyRequest(ClientThread client, String command)
|
||||||
{
|
{
|
||||||
PlayerInstance player = client.getActiveChar();
|
final PlayerInstance player = client.getActiveChar();
|
||||||
int val = -1;
|
int val = -1;
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
@@ -425,10 +425,10 @@ public class AdminCommands extends Thread
|
|||||||
{
|
{
|
||||||
_log.warning("admin buylist failed:" + command);
|
_log.warning("admin buylist failed:" + command);
|
||||||
}
|
}
|
||||||
TradeList list = TradeController.getInstance().getBuyList(val);
|
final TradeList list = TradeController.getInstance().getBuyList(val);
|
||||||
if (list != null)
|
if (list != null)
|
||||||
{
|
{
|
||||||
BuyList bl = new BuyList(list, player.getAdena());
|
final BuyList bl = new BuyList(list, player.getAdena());
|
||||||
player.sendPacket(bl);
|
player.sendPacket(bl);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@@ -440,9 +440,9 @@ public class AdminCommands extends Thread
|
|||||||
|
|
||||||
public void showMainPage(ClientThread client)
|
public void showMainPage(ClientThread client)
|
||||||
{
|
{
|
||||||
PlayerInstance activeChar = client.getActiveChar();
|
final PlayerInstance activeChar = client.getActiveChar();
|
||||||
NpcHtmlMessage adminReply = new NpcHtmlMessage(5);
|
final NpcHtmlMessage adminReply = new NpcHtmlMessage(5);
|
||||||
StringBuffer replyMSG = new StringBuffer("<html><title>Server Status</title>");
|
final StringBuffer replyMSG = new StringBuffer("<html><title>Server Status</title>");
|
||||||
replyMSG.append("<body>");
|
replyMSG.append("<body>");
|
||||||
replyMSG.append("<table>");
|
replyMSG.append("<table>");
|
||||||
replyMSG.append("<tr><td>Players Online: " + World.getInstance().getAllPlayers().size() + "</td></tr>");
|
replyMSG.append("<tr><td>Players Online: " + World.getInstance().getAllPlayers().size() + "</td></tr>");
|
||||||
@@ -468,15 +468,15 @@ public class AdminCommands extends Thread
|
|||||||
|
|
||||||
private void teleportTo(ClientThread client, String coords)
|
private void teleportTo(ClientThread client, String coords)
|
||||||
{
|
{
|
||||||
PlayerInstance activeChar = client.getActiveChar();
|
final PlayerInstance activeChar = client.getActiveChar();
|
||||||
StringTokenizer st = new StringTokenizer(coords);
|
final StringTokenizer st = new StringTokenizer(coords);
|
||||||
String x1 = st.nextToken();
|
final String x1 = st.nextToken();
|
||||||
int x = Integer.parseInt(x1);
|
final int x = Integer.parseInt(x1);
|
||||||
String y1 = st.nextToken();
|
final String y1 = st.nextToken();
|
||||||
int y = Integer.parseInt(y1);
|
final int y = Integer.parseInt(y1);
|
||||||
String z1 = st.nextToken();
|
final String z1 = st.nextToken();
|
||||||
int z = Integer.parseInt(z1);
|
final int z = Integer.parseInt(z1);
|
||||||
TeleportToLocation tele = new TeleportToLocation(activeChar, x, y, z);
|
final TeleportToLocation tele = new TeleportToLocation(activeChar, x, y, z);
|
||||||
activeChar.sendPacket(tele);
|
activeChar.sendPacket(tele);
|
||||||
activeChar.setX(x);
|
activeChar.setX(x);
|
||||||
activeChar.setY(y);
|
activeChar.setY(y);
|
||||||
@@ -487,17 +487,17 @@ public class AdminCommands extends Thread
|
|||||||
|
|
||||||
private void createItem(ClientThread client, int id, int num)
|
private void createItem(ClientThread client, int id, int num)
|
||||||
{
|
{
|
||||||
PlayerInstance activeChar = client.getActiveChar();
|
final PlayerInstance activeChar = client.getActiveChar();
|
||||||
ItemInstance createditem = ItemTable.getInstance().createItem(id);
|
final ItemInstance createditem = ItemTable.getInstance().createItem(id);
|
||||||
for (int i = 0; i < num; ++i)
|
for (int i = 0; i < num; ++i)
|
||||||
{
|
{
|
||||||
activeChar.getInventory().addItem(createditem);
|
activeChar.getInventory().addItem(createditem);
|
||||||
}
|
}
|
||||||
ItemList il = new ItemList(activeChar, true);
|
final ItemList il = new ItemList(activeChar, true);
|
||||||
activeChar.sendPacket(il);
|
activeChar.sendPacket(il);
|
||||||
activeChar.sendMessage("You have spawned " + num + " item(s) number " + id + " in your inventory.");
|
activeChar.sendMessage("You have spawned " + num + " item(s) number " + id + " in your inventory.");
|
||||||
NpcHtmlMessage adminReply = new NpcHtmlMessage(5);
|
final NpcHtmlMessage adminReply = new NpcHtmlMessage(5);
|
||||||
StringBuffer replyMSG = new StringBuffer("<html><title>Item Creation Complete(I Hope)</title>");
|
final StringBuffer replyMSG = new StringBuffer("<html><title>Item Creation Complete(I Hope)</title>");
|
||||||
replyMSG.append("<body>");
|
replyMSG.append("<body>");
|
||||||
replyMSG.append("<center><button value=\"Back\" action=\"bypass -h admin_show\" width=40 height=15></center>");
|
replyMSG.append("<center><button value=\"Back\" action=\"bypass -h admin_show\" width=40 height=15></center>");
|
||||||
replyMSG.append("</body></html>");
|
replyMSG.append("</body></html>");
|
||||||
@@ -507,12 +507,12 @@ public class AdminCommands extends Thread
|
|||||||
|
|
||||||
private void listCharacters(ClientThread client, int page)
|
private void listCharacters(ClientThread client, int page)
|
||||||
{
|
{
|
||||||
PlayerInstance activeChar = client.getActiveChar();
|
final PlayerInstance activeChar = client.getActiveChar();
|
||||||
Collection<PlayerInstance> allWorldPlayers = World.getInstance().getAllPlayers();
|
final Collection<PlayerInstance> allWorldPlayers = World.getInstance().getAllPlayers();
|
||||||
PlayerInstance[] players = allWorldPlayers.toArray(new PlayerInstance[allWorldPlayers.size()]);
|
final PlayerInstance[] players = allWorldPlayers.toArray(new PlayerInstance[allWorldPlayers.size()]);
|
||||||
int MaxCharactersPerPage = 20;
|
final int MaxCharactersPerPage = 20;
|
||||||
int MaxPages = players.length / MaxCharactersPerPage;
|
int MaxPages = players.length / MaxCharactersPerPage;
|
||||||
int modulus = players.length % MaxCharactersPerPage;
|
final int modulus = players.length % MaxCharactersPerPage;
|
||||||
if (modulus != 0)
|
if (modulus != 0)
|
||||||
{
|
{
|
||||||
++MaxPages;
|
++MaxPages;
|
||||||
@@ -521,10 +521,10 @@ public class AdminCommands extends Thread
|
|||||||
{
|
{
|
||||||
page = MaxPages;
|
page = MaxPages;
|
||||||
}
|
}
|
||||||
int CharactersStart = MaxCharactersPerPage * page;
|
final int CharactersStart = MaxCharactersPerPage * page;
|
||||||
int CharactersEnd = players.length - CharactersStart;
|
final int CharactersEnd = players.length - CharactersStart;
|
||||||
NpcHtmlMessage adminReply = new NpcHtmlMessage(5);
|
final NpcHtmlMessage adminReply = new NpcHtmlMessage(5);
|
||||||
StringBuffer replyMSG = new StringBuffer("<html><title>Characters List</title>");
|
final StringBuffer replyMSG = new StringBuffer("<html><title>Characters List</title>");
|
||||||
replyMSG.append("<body>");
|
replyMSG.append("<body>");
|
||||||
for (int x = 0; x < MaxPages; ++x)
|
for (int x = 0; x < MaxPages; ++x)
|
||||||
{
|
{
|
||||||
@@ -550,10 +550,10 @@ public class AdminCommands extends Thread
|
|||||||
|
|
||||||
private void showCharacterList(ClientThread client, String CharName)
|
private void showCharacterList(ClientThread client, String CharName)
|
||||||
{
|
{
|
||||||
PlayerInstance activeChar = client.getActiveChar();
|
final PlayerInstance activeChar = client.getActiveChar();
|
||||||
PlayerInstance player = World.getInstance().getPlayer(CharName);
|
final PlayerInstance player = World.getInstance().getPlayer(CharName);
|
||||||
NpcHtmlMessage adminReply = new NpcHtmlMessage(5);
|
final NpcHtmlMessage adminReply = new NpcHtmlMessage(5);
|
||||||
StringBuffer replyMSG = new StringBuffer("<html><title>Character Information</title>");
|
final StringBuffer replyMSG = new StringBuffer("<html><title>Character Information</title>");
|
||||||
replyMSG.append("<body>");
|
replyMSG.append("<body>");
|
||||||
replyMSG.append("<br>");
|
replyMSG.append("<br>");
|
||||||
replyMSG.append("<center>" + player.getName() + "</center><p>");
|
replyMSG.append("<center>" + player.getName() + "</center><p>");
|
||||||
@@ -611,10 +611,10 @@ public class AdminCommands extends Thread
|
|||||||
|
|
||||||
private void addExpSp(ClientThread client)
|
private void addExpSp(ClientThread client)
|
||||||
{
|
{
|
||||||
PlayerInstance activeChar = client.getActiveChar();
|
final PlayerInstance activeChar = client.getActiveChar();
|
||||||
PlayerInstance player = World.getInstance().getPlayer(_characterToManipulate);
|
final PlayerInstance player = World.getInstance().getPlayer(_characterToManipulate);
|
||||||
NpcHtmlMessage adminReply = new NpcHtmlMessage(5);
|
final NpcHtmlMessage adminReply = new NpcHtmlMessage(5);
|
||||||
StringBuffer replyMSG = new StringBuffer("<html><title>Add Exp-Sp to " + player.getName() + "</title>");
|
final StringBuffer replyMSG = new StringBuffer("<html><title>Add Exp-Sp to " + player.getName() + "</title>");
|
||||||
replyMSG.append("<body>");
|
replyMSG.append("<body>");
|
||||||
replyMSG.append("<br>");
|
replyMSG.append("<br>");
|
||||||
replyMSG.append("<center>Lv: " + player.getLevel() + " " + CharTemplateTable.getInstance().getTemplate(player.getClassId()).getClassName() + "<p>");
|
replyMSG.append("<center>Lv: " + player.getLevel() + " " + CharTemplateTable.getInstance().getTemplate(player.getClassId()).getClassName() + "<p>");
|
||||||
@@ -635,19 +635,19 @@ public class AdminCommands extends Thread
|
|||||||
|
|
||||||
private void adminAddExpSp(ClientThread client, String ExpSp)
|
private void adminAddExpSp(ClientThread client, String ExpSp)
|
||||||
{
|
{
|
||||||
PlayerInstance activeChar = client.getActiveChar();
|
final PlayerInstance activeChar = client.getActiveChar();
|
||||||
PlayerInstance player = World.getInstance().getPlayer(_characterToManipulate);
|
final PlayerInstance player = World.getInstance().getPlayer(_characterToManipulate);
|
||||||
StringTokenizer st = new StringTokenizer(ExpSp);
|
final StringTokenizer st = new StringTokenizer(ExpSp);
|
||||||
if (st.countTokens() != 2)
|
if (st.countTokens() != 2)
|
||||||
{
|
{
|
||||||
addExpSp(client);
|
addExpSp(client);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
String exp = st.nextToken();
|
final String exp = st.nextToken();
|
||||||
String sp = st.nextToken();
|
final String sp = st.nextToken();
|
||||||
int expval = Integer.parseInt(exp);
|
final int expval = Integer.parseInt(exp);
|
||||||
int spval = Integer.parseInt(sp);
|
final int spval = Integer.parseInt(sp);
|
||||||
player.sendMessage("Admin is adding you " + expval + " xp and " + spval + " sp.");
|
player.sendMessage("Admin is adding you " + expval + " xp and " + spval + " sp.");
|
||||||
player.addExpAndSp(expval, spval);
|
player.addExpAndSp(expval, spval);
|
||||||
activeChar.sendMessage("Added " + expval + " xp and " + spval + " sp to " + player.getName() + ".");
|
activeChar.sendMessage("Added " + expval + " xp and " + spval + " sp to " + player.getName() + ".");
|
||||||
@@ -657,33 +657,33 @@ public class AdminCommands extends Thread
|
|||||||
|
|
||||||
private void adminModifyCharacter(ClientThread client, String modifications)
|
private void adminModifyCharacter(ClientThread client, String modifications)
|
||||||
{
|
{
|
||||||
PlayerInstance activeChar = client.getActiveChar();
|
final PlayerInstance activeChar = client.getActiveChar();
|
||||||
PlayerInstance player = World.getInstance().getPlayer(_characterToManipulate);
|
final PlayerInstance player = World.getInstance().getPlayer(_characterToManipulate);
|
||||||
StringTokenizer st = new StringTokenizer(modifications);
|
final StringTokenizer st = new StringTokenizer(modifications);
|
||||||
if (st.countTokens() != 9)
|
if (st.countTokens() != 9)
|
||||||
{
|
{
|
||||||
editCharacter(client);
|
editCharacter(client);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
String hp = st.nextToken();
|
final String hp = st.nextToken();
|
||||||
String hpmax = st.nextToken();
|
final String hpmax = st.nextToken();
|
||||||
String mp = st.nextToken();
|
final String mp = st.nextToken();
|
||||||
String mpmax = st.nextToken();
|
final String mpmax = st.nextToken();
|
||||||
String load = st.nextToken();
|
final String load = st.nextToken();
|
||||||
String karma = st.nextToken();
|
final String karma = st.nextToken();
|
||||||
String pvpflag = st.nextToken();
|
final String pvpflag = st.nextToken();
|
||||||
String pvpkills = st.nextToken();
|
final String pvpkills = st.nextToken();
|
||||||
String classid = st.nextToken();
|
final String classid = st.nextToken();
|
||||||
int hpval = Integer.parseInt(hp);
|
final int hpval = Integer.parseInt(hp);
|
||||||
int hpmaxval = Integer.parseInt(hpmax);
|
final int hpmaxval = Integer.parseInt(hpmax);
|
||||||
int mpval = Integer.parseInt(mp);
|
final int mpval = Integer.parseInt(mp);
|
||||||
int mpmaxval = Integer.parseInt(mpmax);
|
final int mpmaxval = Integer.parseInt(mpmax);
|
||||||
int loadval = Integer.parseInt(load);
|
final int loadval = Integer.parseInt(load);
|
||||||
int karmaval = Integer.parseInt(karma);
|
final int karmaval = Integer.parseInt(karma);
|
||||||
int pvpflagval = Integer.parseInt(pvpflag);
|
final int pvpflagval = Integer.parseInt(pvpflag);
|
||||||
int pvpkillsval = Integer.parseInt(pvpkills);
|
final int pvpkillsval = Integer.parseInt(pvpkills);
|
||||||
int classidval = Integer.parseInt(classid);
|
final int classidval = Integer.parseInt(classid);
|
||||||
player.sendMessage("Admin has changed your stats. Hp: " + hpval + " HpMax: " + hpmaxval + " Mp: " + mpval + " MpMax: " + mpmaxval + " MaxLoad: " + loadval + " Karma: " + karmaval + " Pvp: " + pvpflagval + " / " + pvpkillsval + " ClassId: " + classidval);
|
player.sendMessage("Admin has changed your stats. Hp: " + hpval + " HpMax: " + hpmaxval + " Mp: " + mpval + " MpMax: " + mpmaxval + " MaxLoad: " + loadval + " Karma: " + karmaval + " Pvp: " + pvpflagval + " / " + pvpkillsval + " ClassId: " + classidval);
|
||||||
player.setCurrentHp(hpval);
|
player.setCurrentHp(hpval);
|
||||||
player.setCurrentMp(mpval);
|
player.setCurrentMp(mpval);
|
||||||
@@ -693,7 +693,7 @@ public class AdminCommands extends Thread
|
|||||||
player.setKarma(karmaval);
|
player.setKarma(karmaval);
|
||||||
player.setPvpKills(pvpkillsval);
|
player.setPvpKills(pvpkillsval);
|
||||||
player.setClassId(classidval);
|
player.setClassId(classidval);
|
||||||
StatusUpdate su = new StatusUpdate(player.getObjectId());
|
final StatusUpdate su = new StatusUpdate(player.getObjectId());
|
||||||
su.addAttribute(StatusUpdate.CUR_HP, hpval);
|
su.addAttribute(StatusUpdate.CUR_HP, hpval);
|
||||||
su.addAttribute(StatusUpdate.MAX_HP, hpmaxval);
|
su.addAttribute(StatusUpdate.MAX_HP, hpmaxval);
|
||||||
su.addAttribute(StatusUpdate.CUR_MP, mpval);
|
su.addAttribute(StatusUpdate.CUR_MP, mpval);
|
||||||
@@ -709,10 +709,10 @@ public class AdminCommands extends Thread
|
|||||||
|
|
||||||
private void editCharacter(ClientThread client)
|
private void editCharacter(ClientThread client)
|
||||||
{
|
{
|
||||||
PlayerInstance activeChar = client.getActiveChar();
|
final PlayerInstance activeChar = client.getActiveChar();
|
||||||
PlayerInstance player = World.getInstance().getPlayer(_characterToManipulate);
|
final PlayerInstance player = World.getInstance().getPlayer(_characterToManipulate);
|
||||||
NpcHtmlMessage adminReply = new NpcHtmlMessage(5);
|
final NpcHtmlMessage adminReply = new NpcHtmlMessage(5);
|
||||||
StringBuffer replyMSG = new StringBuffer("<html><title>Editing character " + player.getName() + "</title>");
|
final StringBuffer replyMSG = new StringBuffer("<html><title>Editing character " + player.getName() + "</title>");
|
||||||
replyMSG.append("<body>");
|
replyMSG.append("<body>");
|
||||||
replyMSG.append("<br><center>Caution ! Dont forget that modifying players stats can ruin the game...</center><br>");
|
replyMSG.append("<br><center>Caution ! Dont forget that modifying players stats can ruin the game...</center><br>");
|
||||||
replyMSG.append("Note: you must type all values to confirm modifications.</center><br>");
|
replyMSG.append("Note: you must type all values to confirm modifications.</center><br>");
|
||||||
@@ -759,8 +759,8 @@ public class AdminCommands extends Thread
|
|||||||
|
|
||||||
private void disconnectCharacter(ClientThread client)
|
private void disconnectCharacter(ClientThread client)
|
||||||
{
|
{
|
||||||
PlayerInstance activeChar = client.getActiveChar();
|
final PlayerInstance activeChar = client.getActiveChar();
|
||||||
PlayerInstance player = World.getInstance().getPlayer(_characterToManipulate);
|
final PlayerInstance player = World.getInstance().getPlayer(_characterToManipulate);
|
||||||
if (player.getName().equals(activeChar.getName()))
|
if (player.getName().equals(activeChar.getName()))
|
||||||
{
|
{
|
||||||
activeChar.sendMessage("You cannot logout your character.");
|
activeChar.sendMessage("You cannot logout your character.");
|
||||||
@@ -768,7 +768,7 @@ public class AdminCommands extends Thread
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
activeChar.sendMessage("Character " + player.getName() + " disconnected from server.");
|
activeChar.sendMessage("Character " + player.getName() + " disconnected from server.");
|
||||||
LeaveWorld ql = new LeaveWorld();
|
final LeaveWorld ql = new LeaveWorld();
|
||||||
player.sendPacket(ql);
|
player.sendPacket(ql);
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
@@ -784,10 +784,10 @@ public class AdminCommands extends Thread
|
|||||||
|
|
||||||
private void findCharacter(ClientThread client, String CharacterToFind)
|
private void findCharacter(ClientThread client, String CharacterToFind)
|
||||||
{
|
{
|
||||||
PlayerInstance activeChar = client.getActiveChar();
|
final PlayerInstance activeChar = client.getActiveChar();
|
||||||
NpcHtmlMessage adminReply = new NpcHtmlMessage(5);
|
final NpcHtmlMessage adminReply = new NpcHtmlMessage(5);
|
||||||
int CharactersFound = 0;
|
int CharactersFound = 0;
|
||||||
StringBuffer replyMSG = new StringBuffer("<html><title>Character Search</title>");
|
final StringBuffer replyMSG = new StringBuffer("<html><title>Character Search</title>");
|
||||||
replyMSG.append("<body>");
|
replyMSG.append("<body>");
|
||||||
replyMSG.append("<br>");
|
replyMSG.append("<br>");
|
||||||
replyMSG.append("<table>");
|
replyMSG.append("<table>");
|
||||||
@@ -830,10 +830,10 @@ public class AdminCommands extends Thread
|
|||||||
|
|
||||||
private void showTeleportCharWindow(ClientThread client)
|
private void showTeleportCharWindow(ClientThread client)
|
||||||
{
|
{
|
||||||
PlayerInstance activeChar = client.getActiveChar();
|
final PlayerInstance activeChar = client.getActiveChar();
|
||||||
PlayerInstance player = World.getInstance().getPlayer(_characterToManipulate);
|
final PlayerInstance player = World.getInstance().getPlayer(_characterToManipulate);
|
||||||
NpcHtmlMessage adminReply = new NpcHtmlMessage(5);
|
final NpcHtmlMessage adminReply = new NpcHtmlMessage(5);
|
||||||
StringBuffer replyMSG = new StringBuffer("<html><title>Teleport Character</title>");
|
final StringBuffer replyMSG = new StringBuffer("<html><title>Teleport Character</title>");
|
||||||
replyMSG.append("<body>");
|
replyMSG.append("<body>");
|
||||||
replyMSG.append("The character you will teleport is " + player.getName() + ".");
|
replyMSG.append("The character you will teleport is " + player.getName() + ".");
|
||||||
replyMSG.append("<br>");
|
replyMSG.append("<br>");
|
||||||
@@ -853,23 +853,23 @@ public class AdminCommands extends Thread
|
|||||||
|
|
||||||
private void teleportCharacter(ClientThread client, String Cords)
|
private void teleportCharacter(ClientThread client, String Cords)
|
||||||
{
|
{
|
||||||
PlayerInstance activeChar = client.getActiveChar();
|
final PlayerInstance activeChar = client.getActiveChar();
|
||||||
PlayerInstance player = World.getInstance().getPlayer(_characterToManipulate);
|
final PlayerInstance player = World.getInstance().getPlayer(_characterToManipulate);
|
||||||
if (player.getName().equals(activeChar.getName()))
|
if (player.getName().equals(activeChar.getName()))
|
||||||
{
|
{
|
||||||
player.sendMessage("You cannot teleport your character.");
|
player.sendMessage("You cannot teleport your character.");
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
StringTokenizer st = new StringTokenizer(Cords);
|
final StringTokenizer st = new StringTokenizer(Cords);
|
||||||
String x1 = st.nextToken();
|
final String x1 = st.nextToken();
|
||||||
int x = Integer.parseInt(x1);
|
final int x = Integer.parseInt(x1);
|
||||||
String y1 = st.nextToken();
|
final String y1 = st.nextToken();
|
||||||
int y = Integer.parseInt(y1);
|
final int y = Integer.parseInt(y1);
|
||||||
String z1 = st.nextToken();
|
final String z1 = st.nextToken();
|
||||||
int z = Integer.parseInt(z1);
|
final int z = Integer.parseInt(z1);
|
||||||
player.sendMessage("Admin is teleporting you.");
|
player.sendMessage("Admin is teleporting you.");
|
||||||
TeleportToLocation tele = new TeleportToLocation(player, x, y, z);
|
final TeleportToLocation tele = new TeleportToLocation(player, x, y, z);
|
||||||
player.sendPacket(tele);
|
player.sendPacket(tele);
|
||||||
player.setX(x);
|
player.setX(x);
|
||||||
player.setY(y);
|
player.setY(y);
|
||||||
@@ -881,18 +881,18 @@ public class AdminCommands extends Thread
|
|||||||
|
|
||||||
private void teleportToCharacter(ClientThread client)
|
private void teleportToCharacter(ClientThread client)
|
||||||
{
|
{
|
||||||
PlayerInstance activeChar = client.getActiveChar();
|
final PlayerInstance activeChar = client.getActiveChar();
|
||||||
PlayerInstance player = World.getInstance().getPlayer(_characterToManipulate);
|
final PlayerInstance player = World.getInstance().getPlayer(_characterToManipulate);
|
||||||
if (player.getName().equals(activeChar.getName()))
|
if (player.getName().equals(activeChar.getName()))
|
||||||
{
|
{
|
||||||
activeChar.sendMessage("You cannot self teleport.");
|
activeChar.sendMessage("You cannot self teleport.");
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
int x = player.getX();
|
final int x = player.getX();
|
||||||
int y = player.getY();
|
final int y = player.getY();
|
||||||
int z = player.getZ();
|
final int z = player.getZ();
|
||||||
TeleportToLocation tele = new TeleportToLocation(activeChar, x, y, z);
|
final TeleportToLocation tele = new TeleportToLocation(activeChar, x, y, z);
|
||||||
activeChar.sendPacket(tele);
|
activeChar.sendPacket(tele);
|
||||||
activeChar.setX(x);
|
activeChar.setX(x);
|
||||||
activeChar.setY(y);
|
activeChar.setY(y);
|
||||||
@@ -904,9 +904,9 @@ public class AdminCommands extends Thread
|
|||||||
|
|
||||||
private void spawnMenu(ClientThread client, String monsterId)
|
private void spawnMenu(ClientThread client, String monsterId)
|
||||||
{
|
{
|
||||||
PlayerInstance activeChar = client.getActiveChar();
|
final PlayerInstance activeChar = client.getActiveChar();
|
||||||
NpcHtmlMessage adminReply = new NpcHtmlMessage(5);
|
final NpcHtmlMessage adminReply = new NpcHtmlMessage(5);
|
||||||
StringBuffer replyMSG = new StringBuffer("<html><title>Custom Spawn Menu</title>");
|
final StringBuffer replyMSG = new StringBuffer("<html><title>Custom Spawn Menu</title>");
|
||||||
replyMSG.append("<body><br>Enter target player's name below.<br>You may leave the field blank for self-spawn.<br><br>");
|
replyMSG.append("<body><br>Enter target player's name below.<br>You may leave the field blank for self-spawn.<br><br>");
|
||||||
replyMSG.append("<center><edit var=\"targetname\" width=160></center><br><br>");
|
replyMSG.append("<center><edit var=\"targetname\" width=160></center><br><br>");
|
||||||
replyMSG.append("<center><button value=\"Spawn on self\" action=\"bypass -h admin_spawn_confirm " + monsterId + " " + activeChar.getName() + "\" width=160 height=15></center><br>");
|
replyMSG.append("<center><button value=\"Spawn on self\" action=\"bypass -h admin_spawn_confirm " + monsterId + " " + activeChar.getName() + "\" width=160 height=15></center><br>");
|
||||||
@@ -917,17 +917,17 @@ public class AdminCommands extends Thread
|
|||||||
|
|
||||||
private void spawnMonster(ClientThread client, String monsterId, String CharName)
|
private void spawnMonster(ClientThread client, String monsterId, String CharName)
|
||||||
{
|
{
|
||||||
PlayerInstance activeChar = client.getActiveChar();
|
final PlayerInstance activeChar = client.getActiveChar();
|
||||||
PlayerInstance targetPlayer = World.getInstance().getPlayer(CharName);
|
final PlayerInstance targetPlayer = World.getInstance().getPlayer(CharName);
|
||||||
int monsterTemplate = Integer.parseInt(monsterId);
|
final int monsterTemplate = Integer.parseInt(monsterId);
|
||||||
Npc template1 = NpcTable.getInstance().getTemplate(monsterTemplate);
|
final Npc template1 = NpcTable.getInstance().getTemplate(monsterTemplate);
|
||||||
if (template1 == null)
|
if (template1 == null)
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
Spawn spawn = new Spawn(template1);
|
final Spawn spawn = new Spawn(template1);
|
||||||
spawn.setLocx(targetPlayer.getX());
|
spawn.setLocx(targetPlayer.getX());
|
||||||
spawn.setLocy(targetPlayer.getY());
|
spawn.setLocy(targetPlayer.getY());
|
||||||
spawn.setLocz(targetPlayer.getZ());
|
spawn.setLocz(targetPlayer.getZ());
|
||||||
@@ -951,7 +951,7 @@ public class AdminCommands extends Thread
|
|||||||
{
|
{
|
||||||
for (PlayerInstance player : World.getInstance().getAllPlayers())
|
for (PlayerInstance player : World.getInstance().getAllPlayers())
|
||||||
{
|
{
|
||||||
LeaveWorld ql = new LeaveWorld();
|
final LeaveWorld ql = new LeaveWorld();
|
||||||
player.sendPacket(ql);
|
player.sendPacket(ql);
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
@@ -970,7 +970,7 @@ public class AdminCommands extends Thread
|
|||||||
{
|
{
|
||||||
secondsShut = seconds;
|
secondsShut = seconds;
|
||||||
clientShut = client;
|
clientShut = client;
|
||||||
AdminCommands ShutDownThread = new AdminCommands();
|
final AdminCommands ShutDownThread = new AdminCommands();
|
||||||
ShutDownThread.start();
|
ShutDownThread.start();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -979,9 +979,9 @@ public class AdminCommands extends Thread
|
|||||||
{
|
{
|
||||||
if ((secondsShut == 0) && (clientShut != null))
|
if ((secondsShut == 0) && (clientShut != null))
|
||||||
{
|
{
|
||||||
PlayerInstance activeChar = clientShut.getActiveChar();
|
final PlayerInstance activeChar = clientShut.getActiveChar();
|
||||||
NpcHtmlMessage adminReply = new NpcHtmlMessage(5);
|
final NpcHtmlMessage adminReply = new NpcHtmlMessage(5);
|
||||||
StringBuffer replyMSG = new StringBuffer("<html><title>Shutdown Server</title>");
|
final StringBuffer replyMSG = new StringBuffer("<html><title>Shutdown Server</title>");
|
||||||
replyMSG.append("<body><br>");
|
replyMSG.append("<body><br>");
|
||||||
replyMSG.append("Enter in seconds the time till the server<p> shutdowns bellow:");
|
replyMSG.append("Enter in seconds the time till the server<p> shutdowns bellow:");
|
||||||
replyMSG.append("<edit var=\"shutdown_time\" width=110>");
|
replyMSG.append("<edit var=\"shutdown_time\" width=110>");
|
||||||
@@ -1034,7 +1034,7 @@ public class AdminCommands extends Thread
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
int delay = 1000;
|
final int delay = 1000;
|
||||||
Thread.sleep(delay);
|
Thread.sleep(delay);
|
||||||
}
|
}
|
||||||
if (disconnectAllCharacters() == 1)
|
if (disconnectAllCharacters() == 1)
|
||||||
@@ -1058,13 +1058,13 @@ public class AdminCommands extends Thread
|
|||||||
FileInputStream fis = null;
|
FileInputStream fis = null;
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
File file = new File("data/html/admin/" + filename);
|
final File file = new File("data/html/admin/" + filename);
|
||||||
fis = new FileInputStream(file);
|
fis = new FileInputStream(file);
|
||||||
byte[] raw = new byte[fis.available()];
|
final byte[] raw = new byte[fis.available()];
|
||||||
fis.read(raw);
|
fis.read(raw);
|
||||||
String content = new String(raw, "UTF-8");
|
final String content = new String(raw, "UTF-8");
|
||||||
PlayerInstance activeChar = client.getActiveChar();
|
final PlayerInstance activeChar = client.getActiveChar();
|
||||||
NpcHtmlMessage adminReply = new NpcHtmlMessage(5);
|
final NpcHtmlMessage adminReply = new NpcHtmlMessage(5);
|
||||||
adminReply.setHtml(content);
|
adminReply.setHtml(content);
|
||||||
activeChar.sendPacket(adminReply);
|
activeChar.sendPacket(adminReply);
|
||||||
|
|
||||||
@@ -1106,7 +1106,7 @@ public class AdminCommands extends Thread
|
|||||||
|
|
||||||
public void broadcastToAll(String message)
|
public void broadcastToAll(String message)
|
||||||
{
|
{
|
||||||
CreatureSay cs = new CreatureSay(0, 9, "[Announcement]", message);
|
final CreatureSay cs = new CreatureSay(0, 9, "[Announcement]", message);
|
||||||
for (PlayerInstance player : World.getInstance().getAllPlayers())
|
for (PlayerInstance player : World.getInstance().getAllPlayers())
|
||||||
{
|
{
|
||||||
player.sendPacket(cs);
|
player.sendPacket(cs);
|
||||||
@@ -1115,10 +1115,10 @@ public class AdminCommands extends Thread
|
|||||||
|
|
||||||
private void removeSkillsPage(ClientThread client)
|
private void removeSkillsPage(ClientThread client)
|
||||||
{
|
{
|
||||||
PlayerInstance activeChar = client.getActiveChar();
|
final PlayerInstance activeChar = client.getActiveChar();
|
||||||
PlayerInstance player = World.getInstance().getPlayer(_characterToManipulate);
|
final PlayerInstance player = World.getInstance().getPlayer(_characterToManipulate);
|
||||||
NpcHtmlMessage adminReply = new NpcHtmlMessage(5);
|
final NpcHtmlMessage adminReply = new NpcHtmlMessage(5);
|
||||||
StringBuffer replyMSG = new StringBuffer("<html><title>Remove skills of " + player.getName() + "</title>");
|
final StringBuffer replyMSG = new StringBuffer("<html><title>Remove skills of " + player.getName() + "</title>");
|
||||||
replyMSG.append("<body>");
|
replyMSG.append("<body>");
|
||||||
replyMSG.append("<br>");
|
replyMSG.append("<br>");
|
||||||
replyMSG.append("<center>Lv: " + player.getLevel() + " " + CharTemplateTable.getInstance().getTemplate(player.getClassId()).getClassName() + "<p>");
|
replyMSG.append("<center>Lv: " + player.getLevel() + " " + CharTemplateTable.getInstance().getTemplate(player.getClassId()).getClassName() + "<p>");
|
||||||
@@ -1146,10 +1146,10 @@ public class AdminCommands extends Thread
|
|||||||
|
|
||||||
private void showSkillsPage(ClientThread client)
|
private void showSkillsPage(ClientThread client)
|
||||||
{
|
{
|
||||||
PlayerInstance activeChar = client.getActiveChar();
|
final PlayerInstance activeChar = client.getActiveChar();
|
||||||
PlayerInstance player = World.getInstance().getPlayer(_characterToManipulate);
|
final PlayerInstance player = World.getInstance().getPlayer(_characterToManipulate);
|
||||||
NpcHtmlMessage adminReply = new NpcHtmlMessage(5);
|
final NpcHtmlMessage adminReply = new NpcHtmlMessage(5);
|
||||||
StringBuffer replyMSG = new StringBuffer("<html><title>Modify skills of " + player.getName() + "</title>");
|
final StringBuffer replyMSG = new StringBuffer("<html><title>Modify skills of " + player.getName() + "</title>");
|
||||||
replyMSG.append("<body>");
|
replyMSG.append("<body>");
|
||||||
replyMSG.append("<br>");
|
replyMSG.append("<br>");
|
||||||
replyMSG.append("<center>Lv: " + player.getLevel() + " " + CharTemplateTable.getInstance().getTemplate(player.getClassId()).getClassName() + "<p>");
|
replyMSG.append("<center>Lv: " + player.getLevel() + " " + CharTemplateTable.getInstance().getTemplate(player.getClassId()).getClassName() + "<p>");
|
||||||
@@ -1169,15 +1169,15 @@ public class AdminCommands extends Thread
|
|||||||
|
|
||||||
private void adminGetSkills(ClientThread client)
|
private void adminGetSkills(ClientThread client)
|
||||||
{
|
{
|
||||||
PlayerInstance activeChar = client.getActiveChar();
|
final PlayerInstance activeChar = client.getActiveChar();
|
||||||
PlayerInstance player = World.getInstance().getPlayer(_characterToManipulate);
|
final PlayerInstance player = World.getInstance().getPlayer(_characterToManipulate);
|
||||||
if (player.getName().equals(activeChar.getName()))
|
if (player.getName().equals(activeChar.getName()))
|
||||||
{
|
{
|
||||||
player.sendMessage("There is no point in doing it on your character...");
|
player.sendMessage("There is no point in doing it on your character...");
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
Collection<Skill> skills = player.getAllSkills();
|
final Collection<Skill> skills = player.getAllSkills();
|
||||||
adminSkills = activeChar.getAllSkills();
|
adminSkills = activeChar.getAllSkills();
|
||||||
for (Skill skill : adminSkills)
|
for (Skill skill : adminSkills)
|
||||||
{
|
{
|
||||||
@@ -1194,15 +1194,15 @@ public class AdminCommands extends Thread
|
|||||||
|
|
||||||
private void adminResetSkills(ClientThread client)
|
private void adminResetSkills(ClientThread client)
|
||||||
{
|
{
|
||||||
PlayerInstance activeChar = client.getActiveChar();
|
final PlayerInstance activeChar = client.getActiveChar();
|
||||||
PlayerInstance player = World.getInstance().getPlayer(_characterToManipulate);
|
final PlayerInstance player = World.getInstance().getPlayer(_characterToManipulate);
|
||||||
if (adminSkills == null)
|
if (adminSkills == null)
|
||||||
{
|
{
|
||||||
activeChar.sendMessage("You must first get the skills of someone to do this.");
|
activeChar.sendMessage("You must first get the skills of someone to do this.");
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
Collection<Skill> skills = player.getAllSkills();
|
final Collection<Skill> skills = player.getAllSkills();
|
||||||
for (Skill skill : skills)
|
for (Skill skill : skills)
|
||||||
{
|
{
|
||||||
player.removeSkill(skill);
|
player.removeSkill(skill);
|
||||||
@@ -1228,20 +1228,20 @@ public class AdminCommands extends Thread
|
|||||||
|
|
||||||
private void adminAddSkill(ClientThread client, String val)
|
private void adminAddSkill(ClientThread client, String val)
|
||||||
{
|
{
|
||||||
PlayerInstance activeChar = client.getActiveChar();
|
final PlayerInstance activeChar = client.getActiveChar();
|
||||||
PlayerInstance player = World.getInstance().getPlayer(_characterToManipulate);
|
final PlayerInstance player = World.getInstance().getPlayer(_characterToManipulate);
|
||||||
StringTokenizer st = new StringTokenizer(val);
|
final StringTokenizer st = new StringTokenizer(val);
|
||||||
if (st.countTokens() != 2)
|
if (st.countTokens() != 2)
|
||||||
{
|
{
|
||||||
showSkillsPage(client);
|
showSkillsPage(client);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
String id = st.nextToken();
|
final String id = st.nextToken();
|
||||||
String level = st.nextToken();
|
final String level = st.nextToken();
|
||||||
int idval = Integer.parseInt(id);
|
final int idval = Integer.parseInt(id);
|
||||||
int levelval = Integer.parseInt(level);
|
final int levelval = Integer.parseInt(level);
|
||||||
Skill skill = SkillTable.getInstance().getInfo(idval, levelval);
|
final Skill skill = SkillTable.getInstance().getInfo(idval, levelval);
|
||||||
if (skill != null)
|
if (skill != null)
|
||||||
{
|
{
|
||||||
player.sendMessage("Admin gave you the skill " + skill.getName() + ".");
|
player.sendMessage("Admin gave you the skill " + skill.getName() + ".");
|
||||||
@@ -1258,9 +1258,9 @@ public class AdminCommands extends Thread
|
|||||||
|
|
||||||
private void adminRemoveSkill(ClientThread client, int idval)
|
private void adminRemoveSkill(ClientThread client, int idval)
|
||||||
{
|
{
|
||||||
PlayerInstance activeChar = client.getActiveChar();
|
final PlayerInstance activeChar = client.getActiveChar();
|
||||||
PlayerInstance player = World.getInstance().getPlayer(_characterToManipulate);
|
final PlayerInstance player = World.getInstance().getPlayer(_characterToManipulate);
|
||||||
Skill skill = SkillTable.getInstance().getInfo(idval, player.getSkillLevel(idval));
|
final Skill skill = SkillTable.getInstance().getInfo(idval, player.getSkillLevel(idval));
|
||||||
if (skill != null)
|
if (skill != null)
|
||||||
{
|
{
|
||||||
player.sendMessage("Admin removed the skill " + skill.getName() + ".");
|
player.sendMessage("Admin removed the skill " + skill.getName() + ".");
|
||||||
@@ -1276,15 +1276,15 @@ public class AdminCommands extends Thread
|
|||||||
|
|
||||||
public void showSkill(ClientThread client, String val)
|
public void showSkill(ClientThread client, String val)
|
||||||
{
|
{
|
||||||
PlayerInstance activeChar = client.getActiveChar();
|
final PlayerInstance activeChar = client.getActiveChar();
|
||||||
int skillid = Integer.parseInt(val);
|
final int skillid = Integer.parseInt(val);
|
||||||
Skill skill = SkillTable.getInstance().getInfo(skillid, 1);
|
final Skill skill = SkillTable.getInstance().getInfo(skillid, 1);
|
||||||
if (skill != null)
|
if (skill != null)
|
||||||
{
|
{
|
||||||
if (skill.getTargetType() == 0)
|
if (skill.getTargetType() == 0)
|
||||||
{
|
{
|
||||||
activeChar.setTarget(activeChar);
|
activeChar.setTarget(activeChar);
|
||||||
MagicSkillUser msk = new MagicSkillUser(activeChar, skillid, 1, skill.getHitTime(), skill.getReuseDelay());
|
final MagicSkillUser msk = new MagicSkillUser(activeChar, skillid, 1, skill.getHitTime(), skill.getReuseDelay());
|
||||||
activeChar.sendPacket(msk);
|
activeChar.sendPacket(msk);
|
||||||
activeChar.broadcastPacket(msk);
|
activeChar.broadcastPacket(msk);
|
||||||
// ActionFailed af = new ActionFailed();
|
// ActionFailed af = new ActionFailed();
|
||||||
|
@@ -56,7 +56,7 @@ public class Announcements
|
|||||||
public void loadAnnouncements()
|
public void loadAnnouncements()
|
||||||
{
|
{
|
||||||
_announcements.clear();
|
_announcements.clear();
|
||||||
File file = new File("data/announcements.txt");
|
final File file = new File("data/announcements.txt");
|
||||||
if (file.exists())
|
if (file.exists())
|
||||||
{
|
{
|
||||||
readFromDisk(file);
|
readFromDisk(file);
|
||||||
@@ -71,15 +71,15 @@ public class Announcements
|
|||||||
{
|
{
|
||||||
for (int i = 0; i < _announcements.size(); ++i)
|
for (int i = 0; i < _announcements.size(); ++i)
|
||||||
{
|
{
|
||||||
CreatureSay cs = new CreatureSay(0, 10, activeChar.getName(), _announcements.get(i).toString());
|
final CreatureSay cs = new CreatureSay(0, 10, activeChar.getName(), _announcements.get(i).toString());
|
||||||
activeChar.sendPacket(cs);
|
activeChar.sendPacket(cs);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void listAnnouncements(PlayerInstance activeChar)
|
public void listAnnouncements(PlayerInstance activeChar)
|
||||||
{
|
{
|
||||||
NpcHtmlMessage adminReply = new NpcHtmlMessage(5);
|
final NpcHtmlMessage adminReply = new NpcHtmlMessage(5);
|
||||||
StringBuffer replyMSG = new StringBuffer("<html><title>Announcements:</title>");
|
final StringBuffer replyMSG = new StringBuffer("<html><title>Announcements:</title>");
|
||||||
replyMSG.append("<body>");
|
replyMSG.append("<body>");
|
||||||
for (int i = 0; i < _announcements.size(); ++i)
|
for (int i = 0; i < _announcements.size(); ++i)
|
||||||
{
|
{
|
||||||
@@ -117,15 +117,15 @@ public class Announcements
|
|||||||
String line = null;
|
String line = null;
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
LineNumberReader lnr = new LineNumberReader(new InputStreamReader(new FileInputStream(file)));
|
final LineNumberReader lnr = new LineNumberReader(new InputStreamReader(new FileInputStream(file)));
|
||||||
while ((line = lnr.readLine()) != null)
|
while ((line = lnr.readLine()) != null)
|
||||||
{
|
{
|
||||||
StringTokenizer st = new StringTokenizer(line, "\n\r");
|
final StringTokenizer st = new StringTokenizer(line, "\n\r");
|
||||||
if (!st.hasMoreTokens())
|
if (!st.hasMoreTokens())
|
||||||
{
|
{
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
String announcement = st.nextToken();
|
final String announcement = st.nextToken();
|
||||||
_announcements.add(announcement);
|
_announcements.add(announcement);
|
||||||
++i;
|
++i;
|
||||||
}
|
}
|
||||||
@@ -146,7 +146,7 @@ public class Announcements
|
|||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
FileWriter save = new FileWriter(new File("data/announcements.txt"));
|
final FileWriter save = new FileWriter(new File("data/announcements.txt"));
|
||||||
for (int i = 0; i < _announcements.size(); ++i)
|
for (int i = 0; i < _announcements.size(); ++i)
|
||||||
{
|
{
|
||||||
save.write(_announcements.get(i).toString());
|
save.write(_announcements.get(i).toString());
|
||||||
|
@@ -87,7 +87,7 @@ public class GameServer extends Thread
|
|||||||
|
|
||||||
public static void main(String[] args) throws Exception
|
public static void main(String[] args) throws Exception
|
||||||
{
|
{
|
||||||
GameServer server = new GameServer();
|
final GameServer server = new GameServer();
|
||||||
_log.config("GameServer Listening on port 7777");
|
_log.config("GameServer Listening on port 7777");
|
||||||
server.start();
|
server.start();
|
||||||
}
|
}
|
||||||
@@ -102,7 +102,7 @@ public class GameServer extends Thread
|
|||||||
do
|
do
|
||||||
{
|
{
|
||||||
// _log.info("Waiting for client connection...");
|
// _log.info("Waiting for client connection...");
|
||||||
Socket connection = _serverSocket.accept();
|
final Socket connection = _serverSocket.accept();
|
||||||
new ClientThread(connection);
|
new ClientThread(connection);
|
||||||
}
|
}
|
||||||
while (true);
|
while (true);
|
||||||
@@ -126,7 +126,7 @@ public class GameServer extends Thread
|
|||||||
|
|
||||||
if (!Config.SERVER_HOST_NAME.equals("*"))
|
if (!Config.SERVER_HOST_NAME.equals("*"))
|
||||||
{
|
{
|
||||||
InetAddress adr = InetAddress.getByName(Config.SERVER_HOST_NAME);
|
final InetAddress adr = InetAddress.getByName(Config.SERVER_HOST_NAME);
|
||||||
Config._ip = adr.getHostAddress();
|
Config._ip = adr.getHostAddress();
|
||||||
_serverSocket = new ServerSocket(Config.SERVER_PORT, 50, adr);
|
_serverSocket = new ServerSocket(Config.SERVER_PORT, 50, adr);
|
||||||
_log.config("GameServer listening on IP:" + Config._ip + " Port " + Config.SERVER_PORT);
|
_log.config("GameServer listening on IP:" + Config._ip + " Port " + Config.SERVER_PORT);
|
||||||
|
@@ -45,7 +45,7 @@ public class GameTimeController extends Thread
|
|||||||
|
|
||||||
public int getGameTime()
|
public int getGameTime()
|
||||||
{
|
{
|
||||||
long time = (System.currentTimeMillis() - _gameStartTime) / 10000L;
|
final long time = (System.currentTimeMillis() - _gameStartTime) / 10000L;
|
||||||
return (int) time;
|
return (int) time;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -40,9 +40,9 @@ public class IdFactory
|
|||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
FileInputStream fis = new FileInputStream("data/idstate.dat");
|
final FileInputStream fis = new FileInputStream("data/idstate.dat");
|
||||||
BufferedInputStream bis = new BufferedInputStream(fis);
|
final BufferedInputStream bis = new BufferedInputStream(fis);
|
||||||
ObjectInputStream oos = new ObjectInputStream(bis);
|
final ObjectInputStream oos = new ObjectInputStream(bis);
|
||||||
_curOID = (Integer) oos.readObject();
|
_curOID = (Integer) oos.readObject();
|
||||||
_oldOIDs = (Stack<Integer>) oos.readObject();
|
_oldOIDs = (Stack<Integer>) oos.readObject();
|
||||||
oos.close();
|
oos.close();
|
||||||
@@ -81,9 +81,9 @@ public class IdFactory
|
|||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
FileOutputStream fos = new FileOutputStream("data/idstate.dat");
|
final FileOutputStream fos = new FileOutputStream("data/idstate.dat");
|
||||||
BufferedOutputStream bos = new BufferedOutputStream(fos);
|
final BufferedOutputStream bos = new BufferedOutputStream(fos);
|
||||||
ObjectOutputStream oos = new ObjectOutputStream(bos);
|
final ObjectOutputStream oos = new ObjectOutputStream(bos);
|
||||||
oos.writeObject(_curOID);
|
oos.writeObject(_curOID);
|
||||||
oos.writeObject(_oldOIDs);
|
oos.writeObject(_oldOIDs);
|
||||||
oos.close();
|
oos.close();
|
||||||
|
@@ -38,16 +38,16 @@ public class CharNameTable
|
|||||||
|
|
||||||
private CharNameTable()
|
private CharNameTable()
|
||||||
{
|
{
|
||||||
File _accountsFolder = new File("data/accounts");
|
final File _accountsFolder = new File("data/accounts");
|
||||||
_accountsFolder.mkdirs();
|
_accountsFolder.mkdirs();
|
||||||
_charNames = new ArrayList<>();
|
_charNames = new ArrayList<>();
|
||||||
File[] accounts = _accountsFolder.listFiles();
|
final File[] accounts = _accountsFolder.listFiles();
|
||||||
for (File account : accounts)
|
for (File account : accounts)
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
File _charFolder = new File("data/accounts/" + account.getName());
|
final File _charFolder = new File("data/accounts/" + account.getName());
|
||||||
File[] chars = _charFolder.listFiles((FilenameFilter) (dir, name) -> name.endsWith("_char.csv"));
|
final File[] chars = _charFolder.listFiles((FilenameFilter) (dir, name) -> name.endsWith("_char.csv"));
|
||||||
for (File c : chars)
|
for (File c : chars)
|
||||||
{
|
{
|
||||||
_charNames.add(c.getName().replaceAll("_char.csv", "").toLowerCase());
|
_charNames.add(c.getName().replaceAll("_char.csv", "").toLowerCase());
|
||||||
|
@@ -47,10 +47,10 @@ public class CharStatsTable
|
|||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
File modifierData = new File("data/char_stats.csv");
|
final File modifierData = new File("data/char_stats.csv");
|
||||||
if (modifierData.isFile() && modifierData.exists())
|
if (modifierData.isFile() && modifierData.exists())
|
||||||
{
|
{
|
||||||
LineNumberReader lnr = new LineNumberReader(new InputStreamReader(new FileInputStream(modifierData)));
|
final LineNumberReader lnr = new LineNumberReader(new InputStreamReader(new FileInputStream(modifierData)));
|
||||||
String line = null;
|
String line = null;
|
||||||
while ((line = lnr.readLine()) != null)
|
while ((line = lnr.readLine()) != null)
|
||||||
{
|
{
|
||||||
@@ -58,8 +58,8 @@ public class CharStatsTable
|
|||||||
{
|
{
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
StringTokenizer st = new StringTokenizer(line, ";");
|
final StringTokenizer st = new StringTokenizer(line, ";");
|
||||||
StatModifiers modifier = new StatModifiers();
|
final StatModifiers modifier = new StatModifiers();
|
||||||
modifier.setClassid(Integer.parseInt(st.nextToken()));
|
modifier.setClassid(Integer.parseInt(st.nextToken()));
|
||||||
modifier.setModstr(Integer.parseInt(st.nextToken()));
|
modifier.setModstr(Integer.parseInt(st.nextToken()));
|
||||||
modifier.setModcon(Integer.parseInt(st.nextToken()));
|
modifier.setModcon(Integer.parseInt(st.nextToken()));
|
||||||
|
@@ -48,10 +48,10 @@ public class CharTemplateTable
|
|||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
File charTemplateData = new File("data/char_templates.csv");
|
final File charTemplateData = new File("data/char_templates.csv");
|
||||||
if (charTemplateData.isFile() && charTemplateData.exists())
|
if (charTemplateData.isFile() && charTemplateData.exists())
|
||||||
{
|
{
|
||||||
LineNumberReader lnr = new LineNumberReader(new InputStreamReader(new FileInputStream(charTemplateData)));
|
final LineNumberReader lnr = new LineNumberReader(new InputStreamReader(new FileInputStream(charTemplateData)));
|
||||||
String line = null;
|
String line = null;
|
||||||
while ((line = lnr.readLine()) != null)
|
while ((line = lnr.readLine()) != null)
|
||||||
{
|
{
|
||||||
@@ -59,8 +59,8 @@ public class CharTemplateTable
|
|||||||
{
|
{
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
CharTemplate ct = new CharTemplate();
|
final CharTemplate ct = new CharTemplate();
|
||||||
StringTokenizer st = new StringTokenizer(line, ";");
|
final StringTokenizer st = new StringTokenizer(line, ";");
|
||||||
ct.setClassId(Integer.parseInt(st.nextToken()));
|
ct.setClassId(Integer.parseInt(st.nextToken()));
|
||||||
ct.setClassName(st.nextToken());
|
ct.setClassName(st.nextToken());
|
||||||
ct.setRaceId(Integer.parseInt(st.nextToken()));
|
ct.setRaceId(Integer.parseInt(st.nextToken()));
|
||||||
|
@@ -51,12 +51,12 @@ public class ClanTable
|
|||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
File clanFolder = new File("data/clans");
|
final File clanFolder = new File("data/clans");
|
||||||
clanFolder.mkdirs();
|
clanFolder.mkdirs();
|
||||||
File[] clans = clanFolder.listFiles((FilenameFilter) (dir, name) -> name.endsWith(".csv"));
|
final File[] clans = clanFolder.listFiles((FilenameFilter) (dir, name) -> name.endsWith(".csv"));
|
||||||
for (File clan2 : clans)
|
for (File clan2 : clans)
|
||||||
{
|
{
|
||||||
Clan clan = restoreClan(clan2);
|
final Clan clan = restoreClan(clan2);
|
||||||
_clans.put(clan.getClanId(), clan);
|
_clans.put(clan.getClanId(), clan);
|
||||||
}
|
}
|
||||||
_log.config("Restored " + _clans.size() + " clans.");
|
_log.config("Restored " + _clans.size() + " clans.");
|
||||||
@@ -72,7 +72,7 @@ public class ClanTable
|
|||||||
Clan clan = null;
|
Clan clan = null;
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
LineNumberReader lnr = new LineNumberReader(new InputStreamReader(new FileInputStream(file)));
|
final LineNumberReader lnr = new LineNumberReader(new InputStreamReader(new FileInputStream(file)));
|
||||||
lnr.readLine();
|
lnr.readLine();
|
||||||
clan = parseClanData(lnr.readLine());
|
clan = parseClanData(lnr.readLine());
|
||||||
lnr.readLine();
|
lnr.readLine();
|
||||||
@@ -80,7 +80,7 @@ public class ClanTable
|
|||||||
boolean first = true;
|
boolean first = true;
|
||||||
while ((line = lnr.readLine()) != null)
|
while ((line = lnr.readLine()) != null)
|
||||||
{
|
{
|
||||||
ClanMember member = parseMembers(line);
|
final ClanMember member = parseMembers(line);
|
||||||
if (first)
|
if (first)
|
||||||
{
|
{
|
||||||
clan.setLeader(member);
|
clan.setLeader(member);
|
||||||
@@ -100,8 +100,8 @@ public class ClanTable
|
|||||||
|
|
||||||
private Clan parseClanData(String line)
|
private Clan parseClanData(String line)
|
||||||
{
|
{
|
||||||
Clan clan = new Clan();
|
final Clan clan = new Clan();
|
||||||
StringTokenizer st = new StringTokenizer(line, ";");
|
final StringTokenizer st = new StringTokenizer(line, ";");
|
||||||
clan.setClanId(Integer.parseInt(st.nextToken()));
|
clan.setClanId(Integer.parseInt(st.nextToken()));
|
||||||
clan.setName(st.nextToken());
|
clan.setName(st.nextToken());
|
||||||
clan.setLevel(Integer.parseInt(st.nextToken()));
|
clan.setLevel(Integer.parseInt(st.nextToken()));
|
||||||
@@ -114,11 +114,11 @@ public class ClanTable
|
|||||||
|
|
||||||
private ClanMember parseMembers(String line)
|
private ClanMember parseMembers(String line)
|
||||||
{
|
{
|
||||||
StringTokenizer st = new StringTokenizer(line, ";");
|
final StringTokenizer st = new StringTokenizer(line, ";");
|
||||||
String name = st.nextToken();
|
final String name = st.nextToken();
|
||||||
int level = Integer.parseInt(st.nextToken());
|
final int level = Integer.parseInt(st.nextToken());
|
||||||
int classId = Integer.parseInt(st.nextToken());
|
final int classId = Integer.parseInt(st.nextToken());
|
||||||
int objectId = Integer.parseInt(st.nextToken());
|
final int objectId = Integer.parseInt(st.nextToken());
|
||||||
return new ClanMember(name, level, classId, objectId);
|
return new ClanMember(name, level, classId, objectId);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -137,7 +137,7 @@ public class ClanTable
|
|||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
Clan clan = new Clan();
|
final Clan clan = new Clan();
|
||||||
clan.setClanId(IdFactory.getInstance().getNextId());
|
clan.setClanId(IdFactory.getInstance().getNextId());
|
||||||
clan.setName(clanName);
|
clan.setName(clanName);
|
||||||
clan.setLevel(0);
|
clan.setLevel(0);
|
||||||
@@ -145,7 +145,7 @@ public class ClanTable
|
|||||||
clan.setHasHideout(0);
|
clan.setHasHideout(0);
|
||||||
clan.setAllyId(0);
|
clan.setAllyId(0);
|
||||||
clan.setAllyName(" ");
|
clan.setAllyName(" ");
|
||||||
ClanMember leader = new ClanMember(player.getName(), player.getLevel(), player.getClassId(), player.getObjectId());
|
final ClanMember leader = new ClanMember(player.getName(), player.getLevel(), player.getClassId(), player.getObjectId());
|
||||||
clan.setLeader(leader);
|
clan.setLeader(leader);
|
||||||
_clans.put(clan.getClanId(), clan);
|
_clans.put(clan.getClanId(), clan);
|
||||||
clan.store();
|
clan.store();
|
||||||
|
@@ -36,10 +36,10 @@ public class ExperienceTable
|
|||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
File expData = new File("data/exp.csv");
|
final File expData = new File("data/exp.csv");
|
||||||
if (expData.isFile() && expData.exists())
|
if (expData.isFile() && expData.exists())
|
||||||
{
|
{
|
||||||
LineNumberReader lnr = new LineNumberReader(new InputStreamReader(new FileInputStream(expData)));
|
final LineNumberReader lnr = new LineNumberReader(new InputStreamReader(new FileInputStream(expData)));
|
||||||
String line = null;
|
String line = null;
|
||||||
while ((line = lnr.readLine()) != null)
|
while ((line = lnr.readLine()) != null)
|
||||||
{
|
{
|
||||||
@@ -47,9 +47,9 @@ public class ExperienceTable
|
|||||||
{
|
{
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
StringTokenizer expLine = new StringTokenizer(line, ";");
|
final StringTokenizer expLine = new StringTokenizer(line, ";");
|
||||||
String level = expLine.nextToken().trim();
|
final String level = expLine.nextToken().trim();
|
||||||
String exp = expLine.nextToken().trim();
|
final String exp = expLine.nextToken().trim();
|
||||||
_exp.put(Integer.parseInt(level), Integer.parseInt(exp));
|
_exp.put(Integer.parseInt(level), Integer.parseInt(exp));
|
||||||
}
|
}
|
||||||
lnr.close();
|
lnr.close();
|
||||||
|
@@ -140,7 +140,7 @@ public class ItemTable
|
|||||||
{
|
{
|
||||||
File weaponFile;
|
File weaponFile;
|
||||||
File armorFile;
|
File armorFile;
|
||||||
File etcItemFile = new File("data/etcitem.csv");
|
final File etcItemFile = new File("data/etcitem.csv");
|
||||||
if (!etcItemFile.isFile() && !etcItemFile.canRead())
|
if (!etcItemFile.isFile() && !etcItemFile.canRead())
|
||||||
{
|
{
|
||||||
_initialized = false;
|
_initialized = false;
|
||||||
@@ -175,7 +175,7 @@ public class ItemTable
|
|||||||
{
|
{
|
||||||
for (int key : items.keySet())
|
for (int key : items.keySet())
|
||||||
{
|
{
|
||||||
EtcItem item = (EtcItem) items.get(key);
|
final EtcItem item = (EtcItem) items.get(key);
|
||||||
if ((item.getWeight() == 0) && (item.getEtcItemType() != 7) && !item.getName().startsWith("world_map") && !item.getName().startsWith("crystal_"))
|
if ((item.getWeight() == 0) && (item.getEtcItemType() != 7) && !item.getName().startsWith("world_map") && !item.getName().startsWith("crystal_"))
|
||||||
{
|
{
|
||||||
item.setType2(3);
|
item.setType2(3);
|
||||||
@@ -205,7 +205,7 @@ public class ItemTable
|
|||||||
|
|
||||||
private HashMap<Integer, Item> parseFile(File dataFile, int type)
|
private HashMap<Integer, Item> parseFile(File dataFile, int type)
|
||||||
{
|
{
|
||||||
HashMap<Integer, Item> result = new HashMap<>();
|
final HashMap<Integer, Item> result = new HashMap<>();
|
||||||
LineNumberReader lnr = null;
|
LineNumberReader lnr = null;
|
||||||
Item temp = null;
|
Item temp = null;
|
||||||
try
|
try
|
||||||
@@ -257,14 +257,14 @@ public class ItemTable
|
|||||||
|
|
||||||
private EtcItem parseEtcLine(String line)
|
private EtcItem parseEtcLine(String line)
|
||||||
{
|
{
|
||||||
EtcItem result = new EtcItem();
|
final EtcItem result = new EtcItem();
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
StringTokenizer st = new StringTokenizer(line, ";");
|
final StringTokenizer st = new StringTokenizer(line, ";");
|
||||||
result.setItemId(Integer.parseInt(st.nextToken()));
|
result.setItemId(Integer.parseInt(st.nextToken()));
|
||||||
result.setName(st.nextToken());
|
result.setName(st.nextToken());
|
||||||
result.setCrystallizable(Boolean.valueOf(st.nextToken()));
|
result.setCrystallizable(Boolean.valueOf(st.nextToken()));
|
||||||
String itemType = st.nextToken();
|
final String itemType = st.nextToken();
|
||||||
result.setType1(4);
|
result.setType1(4);
|
||||||
if (itemType.equals("none"))
|
if (itemType.equals("none"))
|
||||||
{
|
{
|
||||||
@@ -312,7 +312,7 @@ public class ItemTable
|
|||||||
_log.warning("Unknown etcitem type:" + itemType);
|
_log.warning("Unknown etcitem type:" + itemType);
|
||||||
}
|
}
|
||||||
result.setWeight(Integer.parseInt(st.nextToken()));
|
result.setWeight(Integer.parseInt(st.nextToken()));
|
||||||
String consume = st.nextToken();
|
final String consume = st.nextToken();
|
||||||
if (consume.equals("asset"))
|
if (consume.equals("asset"))
|
||||||
{
|
{
|
||||||
result.setStackable(true);
|
result.setStackable(true);
|
||||||
@@ -323,9 +323,9 @@ public class ItemTable
|
|||||||
{
|
{
|
||||||
result.setStackable(true);
|
result.setStackable(true);
|
||||||
}
|
}
|
||||||
Integer material = _materials.get(st.nextToken());
|
final Integer material = _materials.get(st.nextToken());
|
||||||
result.setMaterialType(material);
|
result.setMaterialType(material);
|
||||||
Integer crystal = _crystalTypes.get(st.nextToken());
|
final Integer crystal = _crystalTypes.get(st.nextToken());
|
||||||
result.setCrystalType(crystal);
|
result.setCrystalType(crystal);
|
||||||
result.setDurability(Integer.parseInt(st.nextToken()));
|
result.setDurability(Integer.parseInt(st.nextToken()));
|
||||||
}
|
}
|
||||||
@@ -339,18 +339,18 @@ public class ItemTable
|
|||||||
|
|
||||||
private Armor parseArmorLine(String line)
|
private Armor parseArmorLine(String line)
|
||||||
{
|
{
|
||||||
Armor result = new Armor();
|
final Armor result = new Armor();
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
StringTokenizer st = new StringTokenizer(line, ";");
|
final StringTokenizer st = new StringTokenizer(line, ";");
|
||||||
result.setItemId(Integer.parseInt(st.nextToken()));
|
result.setItemId(Integer.parseInt(st.nextToken()));
|
||||||
result.setName(st.nextToken());
|
result.setName(st.nextToken());
|
||||||
Integer bodyPart = _slots.get(st.nextToken());
|
final Integer bodyPart = _slots.get(st.nextToken());
|
||||||
result.setBodyPart(bodyPart);
|
result.setBodyPart(bodyPart);
|
||||||
result.setCrystallizable(Boolean.valueOf(st.nextToken()));
|
result.setCrystallizable(Boolean.valueOf(st.nextToken()));
|
||||||
Integer armor = _armorTypes.get(st.nextToken());
|
final Integer armor = _armorTypes.get(st.nextToken());
|
||||||
result.setArmorType(armor);
|
result.setArmorType(armor);
|
||||||
int slot = result.getBodyPart();
|
final int slot = result.getBodyPart();
|
||||||
if ((slot == 8) || ((slot & 4) != 0) || ((slot & 0x20) != 0))
|
if ((slot == 8) || ((slot & 4) != 0) || ((slot & 0x20) != 0))
|
||||||
{
|
{
|
||||||
result.setType1(0);
|
result.setType1(0);
|
||||||
@@ -362,9 +362,9 @@ public class ItemTable
|
|||||||
result.setType2(1);
|
result.setType2(1);
|
||||||
}
|
}
|
||||||
result.setWeight(Integer.parseInt(st.nextToken()));
|
result.setWeight(Integer.parseInt(st.nextToken()));
|
||||||
Integer material = _materials.get(st.nextToken());
|
final Integer material = _materials.get(st.nextToken());
|
||||||
result.setMaterialType(material);
|
result.setMaterialType(material);
|
||||||
Integer crystal = _crystalTypes.get(st.nextToken());
|
final Integer crystal = _crystalTypes.get(st.nextToken());
|
||||||
result.setCrystalType(crystal);
|
result.setCrystalType(crystal);
|
||||||
result.setAvoidModifier(Integer.parseInt(st.nextToken()));
|
result.setAvoidModifier(Integer.parseInt(st.nextToken()));
|
||||||
result.setDurability(Integer.parseInt(st.nextToken()));
|
result.setDurability(Integer.parseInt(st.nextToken()));
|
||||||
@@ -382,27 +382,27 @@ public class ItemTable
|
|||||||
|
|
||||||
private Weapon parseWeaponLine(String line)
|
private Weapon parseWeaponLine(String line)
|
||||||
{
|
{
|
||||||
Weapon result = new Weapon();
|
final Weapon result = new Weapon();
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
StringTokenizer st = new StringTokenizer(line, ";");
|
final StringTokenizer st = new StringTokenizer(line, ";");
|
||||||
result.setItemId(Integer.parseInt(st.nextToken()));
|
result.setItemId(Integer.parseInt(st.nextToken()));
|
||||||
result.setName(st.nextToken());
|
result.setName(st.nextToken());
|
||||||
result.setType1(0);
|
result.setType1(0);
|
||||||
result.setType2(0);
|
result.setType2(0);
|
||||||
Integer bodyPart = _slots.get(st.nextToken());
|
final Integer bodyPart = _slots.get(st.nextToken());
|
||||||
result.setBodyPart(bodyPart);
|
result.setBodyPart(bodyPart);
|
||||||
result.setCrystallizable(Boolean.valueOf(st.nextToken()));
|
result.setCrystallizable(Boolean.valueOf(st.nextToken()));
|
||||||
result.setWeight(Integer.parseInt(st.nextToken()));
|
result.setWeight(Integer.parseInt(st.nextToken()));
|
||||||
result.setSoulShotCount(Integer.parseInt(st.nextToken()));
|
result.setSoulShotCount(Integer.parseInt(st.nextToken()));
|
||||||
result.setSpiritShotCount(Integer.parseInt(st.nextToken()));
|
result.setSpiritShotCount(Integer.parseInt(st.nextToken()));
|
||||||
Integer material = _materials.get(st.nextToken());
|
final Integer material = _materials.get(st.nextToken());
|
||||||
result.setMaterialType(material);
|
result.setMaterialType(material);
|
||||||
Integer crystal = _crystalTypes.get(st.nextToken());
|
final Integer crystal = _crystalTypes.get(st.nextToken());
|
||||||
result.setCrystalType(crystal);
|
result.setCrystalType(crystal);
|
||||||
result.setPDamage(Integer.parseInt(st.nextToken()));
|
result.setPDamage(Integer.parseInt(st.nextToken()));
|
||||||
result.setRandomDamage(Integer.parseInt(st.nextToken()));
|
result.setRandomDamage(Integer.parseInt(st.nextToken()));
|
||||||
Integer weapon = _weaponTypes.get(st.nextToken());
|
final Integer weapon = _weaponTypes.get(st.nextToken());
|
||||||
result.setWeaponType(weapon);
|
result.setWeaponType(weapon);
|
||||||
if (weapon == 1)
|
if (weapon == 1)
|
||||||
{
|
{
|
||||||
@@ -496,7 +496,7 @@ public class ItemTable
|
|||||||
|
|
||||||
public ItemInstance createItem(int itemId)
|
public ItemInstance createItem(int itemId)
|
||||||
{
|
{
|
||||||
ItemInstance temp = new ItemInstance();
|
final ItemInstance temp = new ItemInstance();
|
||||||
temp.setObjectId(IdFactory.getInstance().getNextId());
|
temp.setObjectId(IdFactory.getInstance().getNextId());
|
||||||
temp.setItem(getTemplate(itemId));
|
temp.setItem(getTemplate(itemId));
|
||||||
World.getInstance().storeObject(temp);
|
World.getInstance().storeObject(temp);
|
||||||
@@ -505,7 +505,7 @@ public class ItemTable
|
|||||||
|
|
||||||
public ItemInstance createDummyItem(int itemId)
|
public ItemInstance createDummyItem(int itemId)
|
||||||
{
|
{
|
||||||
ItemInstance temp = new ItemInstance();
|
final ItemInstance temp = new ItemInstance();
|
||||||
temp.setObjectId(0);
|
temp.setObjectId(0);
|
||||||
Item item = null;
|
Item item = null;
|
||||||
try
|
try
|
||||||
|
@@ -49,8 +49,8 @@ public class LevelUpData
|
|||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
File spawnDataFile = new File("data/lvlupgain.csv");
|
final File spawnDataFile = new File("data/lvlupgain.csv");
|
||||||
LineNumberReader lnr = new LineNumberReader(new InputStreamReader(new FileInputStream(spawnDataFile)));
|
final LineNumberReader lnr = new LineNumberReader(new InputStreamReader(new FileInputStream(spawnDataFile)));
|
||||||
String line = null;
|
String line = null;
|
||||||
while ((line = lnr.readLine()) != null)
|
while ((line = lnr.readLine()) != null)
|
||||||
{
|
{
|
||||||
@@ -58,8 +58,8 @@ public class LevelUpData
|
|||||||
{
|
{
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
StringTokenizer st = new StringTokenizer(line, ";");
|
final StringTokenizer st = new StringTokenizer(line, ";");
|
||||||
LvlupData lvlupData = new LvlupData();
|
final LvlupData lvlupData = new LvlupData();
|
||||||
lvlupData.setClassid(Integer.parseInt(st.nextToken()));
|
lvlupData.setClassid(Integer.parseInt(st.nextToken()));
|
||||||
lvlupData.setDefaulthp(Double.parseDouble(st.nextToken()));
|
lvlupData.setDefaulthp(Double.parseDouble(st.nextToken()));
|
||||||
lvlupData.setDefaulthpadd(Double.parseDouble(st.nextToken()));
|
lvlupData.setDefaulthpadd(Double.parseDouble(st.nextToken()));
|
||||||
|
@@ -46,8 +46,8 @@ public class MapRegionTable
|
|||||||
int count = 0;
|
int count = 0;
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
File regionDataFile = new File("data/mapregion.csv");
|
final File regionDataFile = new File("data/mapregion.csv");
|
||||||
LineNumberReader lnr = new LineNumberReader(new InputStreamReader(new FileInputStream(regionDataFile)));
|
final LineNumberReader lnr = new LineNumberReader(new InputStreamReader(new FileInputStream(regionDataFile)));
|
||||||
String line = null;
|
String line = null;
|
||||||
while ((line = lnr.readLine()) != null)
|
while ((line = lnr.readLine()) != null)
|
||||||
{
|
{
|
||||||
@@ -55,7 +55,7 @@ public class MapRegionTable
|
|||||||
{
|
{
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
StringTokenizer st = new StringTokenizer(line, ";");
|
final StringTokenizer st = new StringTokenizer(line, ";");
|
||||||
for (int j = 0; j < 10; ++j)
|
for (int j = 0; j < 10; ++j)
|
||||||
{
|
{
|
||||||
MapRegionTable._regions[j][count] = Integer.parseInt(st.nextToken());
|
MapRegionTable._regions[j][count] = Integer.parseInt(st.nextToken());
|
||||||
@@ -152,14 +152,14 @@ public class MapRegionTable
|
|||||||
|
|
||||||
public int getMapRegion(int posX, int posY)
|
public int getMapRegion(int posX, int posY)
|
||||||
{
|
{
|
||||||
int tileX = (posX >> 15) + 4;
|
final int tileX = (posX >> 15) + 4;
|
||||||
int tileY = (posY >> 15) + 10;
|
final int tileY = (posY >> 15) + 10;
|
||||||
return _regions[tileX][tileY];
|
return _regions[tileX][tileY];
|
||||||
}
|
}
|
||||||
|
|
||||||
public int[] getClosestTownCords(PlayerInstance player)
|
public int[] getClosestTownCords(PlayerInstance player)
|
||||||
{
|
{
|
||||||
int closest = getMapRegion(player.getX(), player.getY());
|
final int closest = getMapRegion(player.getX(), player.getY());
|
||||||
int[] closestCords;
|
int[] closestCords;
|
||||||
if (player.getKarma() > 0)
|
if (player.getKarma() > 0)
|
||||||
{
|
{
|
||||||
|
@@ -62,8 +62,8 @@ public class NpcTable
|
|||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
File npcData = new File("data/npc.csv");
|
final File npcData = new File("data/npc.csv");
|
||||||
LineNumberReader lnr = new LineNumberReader(new InputStreamReader(new FileInputStream(npcData)));
|
final LineNumberReader lnr = new LineNumberReader(new InputStreamReader(new FileInputStream(npcData)));
|
||||||
String line = null;
|
String line = null;
|
||||||
while ((line = lnr.readLine()) != null)
|
while ((line = lnr.readLine()) != null)
|
||||||
{
|
{
|
||||||
@@ -71,7 +71,7 @@ public class NpcTable
|
|||||||
{
|
{
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
Npc npc = parseList(line);
|
final Npc npc = parseList(line);
|
||||||
_npcs.put(npc.getNpcId(), npc);
|
_npcs.put(npc.getNpcId(), npc);
|
||||||
}
|
}
|
||||||
lnr.close();
|
lnr.close();
|
||||||
@@ -91,8 +91,8 @@ public class NpcTable
|
|||||||
|
|
||||||
private Npc parseList(String line)
|
private Npc parseList(String line)
|
||||||
{
|
{
|
||||||
StringTokenizer st = new StringTokenizer(line, ";");
|
final StringTokenizer st = new StringTokenizer(line, ";");
|
||||||
Npc npc = new Npc();
|
final Npc npc = new Npc();
|
||||||
int id = Integer.parseInt(st.nextToken());
|
int id = Integer.parseInt(st.nextToken());
|
||||||
if (id > 1000000)
|
if (id > 1000000)
|
||||||
{
|
{
|
||||||
@@ -110,8 +110,8 @@ public class NpcTable
|
|||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
File npcData2 = new File("data/npc2.csv");
|
final File npcData2 = new File("data/npc2.csv");
|
||||||
LineNumberReader lnr = new LineNumberReader(new InputStreamReader(new FileInputStream(npcData2)));
|
final LineNumberReader lnr = new LineNumberReader(new InputStreamReader(new FileInputStream(npcData2)));
|
||||||
String line = null;
|
String line = null;
|
||||||
while ((line = lnr.readLine()) != null)
|
while ((line = lnr.readLine()) != null)
|
||||||
{
|
{
|
||||||
@@ -142,9 +142,9 @@ public class NpcTable
|
|||||||
|
|
||||||
private void parseAdditionalDataLine(String line)
|
private void parseAdditionalDataLine(String line)
|
||||||
{
|
{
|
||||||
StringTokenizer st = new StringTokenizer(line, ";");
|
final StringTokenizer st = new StringTokenizer(line, ";");
|
||||||
int id = Integer.parseInt(st.nextToken());
|
final int id = Integer.parseInt(st.nextToken());
|
||||||
Npc npcDat = _npcs.get(id);
|
final Npc npcDat = _npcs.get(id);
|
||||||
if (npcDat == null)
|
if (npcDat == null)
|
||||||
{
|
{
|
||||||
_log.warning("Missing npc template id:" + id);
|
_log.warning("Missing npc template id:" + id);
|
||||||
@@ -177,8 +177,8 @@ public class NpcTable
|
|||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
File dropData = new File("data/droplist.csv");
|
final File dropData = new File("data/droplist.csv");
|
||||||
LineNumberReader lnr = new LineNumberReader(new InputStreamReader(new FileInputStream(dropData)));
|
final LineNumberReader lnr = new LineNumberReader(new InputStreamReader(new FileInputStream(dropData)));
|
||||||
String line = null;
|
String line = null;
|
||||||
int n = 0;
|
int n = 0;
|
||||||
while ((line = lnr.readLine()) != null)
|
while ((line = lnr.readLine()) != null)
|
||||||
@@ -212,15 +212,15 @@ public class NpcTable
|
|||||||
|
|
||||||
private void parseDropLine(String line)
|
private void parseDropLine(String line)
|
||||||
{
|
{
|
||||||
StringTokenizer st = new StringTokenizer(line, ";");
|
final StringTokenizer st = new StringTokenizer(line, ";");
|
||||||
int mobId = Integer.parseInt(st.nextToken());
|
final int mobId = Integer.parseInt(st.nextToken());
|
||||||
Npc npc = _npcs.get(mobId);
|
final Npc npc = _npcs.get(mobId);
|
||||||
if (npc == null)
|
if (npc == null)
|
||||||
{
|
{
|
||||||
_log.warning("Could not add drop data for npcid:" + mobId);
|
_log.warning("Could not add drop data for npcid:" + mobId);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
DropData dropDat = new DropData();
|
final DropData dropDat = new DropData();
|
||||||
dropDat.setItemId(Integer.parseInt(st.nextToken()));
|
dropDat.setItemId(Integer.parseInt(st.nextToken()));
|
||||||
dropDat.setMinDrop(Integer.parseInt(st.nextToken()));
|
dropDat.setMinDrop(Integer.parseInt(st.nextToken()));
|
||||||
dropDat.setMaxDrop(Integer.parseInt(st.nextToken()));
|
dropDat.setMaxDrop(Integer.parseInt(st.nextToken()));
|
||||||
|
@@ -49,22 +49,22 @@ public class PriceListTable
|
|||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
File file = new File("data/pricelist.csv");
|
final File file = new File("data/pricelist.csv");
|
||||||
if (file.isFile() && file.exists())
|
if (file.isFile() && file.exists())
|
||||||
{
|
{
|
||||||
int i = 0;
|
int i = 0;
|
||||||
String line = null;
|
String line = null;
|
||||||
LineNumberReader lnr = new LineNumberReader(new InputStreamReader(new FileInputStream(file)));
|
final LineNumberReader lnr = new LineNumberReader(new InputStreamReader(new FileInputStream(file)));
|
||||||
while ((line = lnr.readLine()) != null)
|
while ((line = lnr.readLine()) != null)
|
||||||
{
|
{
|
||||||
if (line.startsWith("#"))
|
if (line.startsWith("#"))
|
||||||
{
|
{
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
StringTokenizer st = new StringTokenizer(line, ";");
|
final StringTokenizer st = new StringTokenizer(line, ";");
|
||||||
int itemId = Integer.parseInt(st.nextToken().toString());
|
final int itemId = Integer.parseInt(st.nextToken().toString());
|
||||||
int price = Integer.parseInt(st.nextToken().toString());
|
final int price = Integer.parseInt(st.nextToken().toString());
|
||||||
Item temp = ItemTable.getInstance().getTemplate(itemId);
|
final Item temp = ItemTable.getInstance().getTemplate(itemId);
|
||||||
temp.setItemId(itemId);
|
temp.setItemId(itemId);
|
||||||
temp.setReferencePrice(price);
|
temp.setReferencePrice(price);
|
||||||
++i;
|
++i;
|
||||||
|
@@ -60,7 +60,7 @@ public class SkillTable
|
|||||||
{
|
{
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
Skill skill = parseList(line);
|
final Skill skill = parseList(line);
|
||||||
_skills.put((skill.getId() * 100) + skill.getLevel(), skill);
|
_skills.put((skill.getId() * 100) + skill.getLevel(), skill);
|
||||||
}
|
}
|
||||||
skillData = new File("data/skills2.csv");
|
skillData = new File("data/skills2.csv");
|
||||||
@@ -96,17 +96,17 @@ public class SkillTable
|
|||||||
|
|
||||||
private void parseList2(String line)
|
private void parseList2(String line)
|
||||||
{
|
{
|
||||||
StringTokenizer st = new StringTokenizer(line, ";");
|
final StringTokenizer st = new StringTokenizer(line, ";");
|
||||||
int id = Integer.parseInt(st.nextToken());
|
final int id = Integer.parseInt(st.nextToken());
|
||||||
st.nextToken();
|
st.nextToken();
|
||||||
int level = Integer.parseInt(st.nextToken());
|
final int level = Integer.parseInt(st.nextToken());
|
||||||
int key = (id * 100) + level;
|
final int key = (id * 100) + level;
|
||||||
Skill skill = _skills.get(key);
|
final Skill skill = _skills.get(key);
|
||||||
if (skill == null)
|
if (skill == null)
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
String target = st.nextToken();
|
final String target = st.nextToken();
|
||||||
if (target.equalsIgnoreCase("self"))
|
if (target.equalsIgnoreCase("self"))
|
||||||
{
|
{
|
||||||
skill.setTargetType(Skill.TARGET_SELF);
|
skill.setTargetType(Skill.TARGET_SELF);
|
||||||
@@ -132,12 +132,12 @@ public class SkillTable
|
|||||||
|
|
||||||
private Skill parseList(String line)
|
private Skill parseList(String line)
|
||||||
{
|
{
|
||||||
StringTokenizer st = new StringTokenizer(line, ";");
|
final StringTokenizer st = new StringTokenizer(line, ";");
|
||||||
Skill skill = new Skill();
|
final Skill skill = new Skill();
|
||||||
skill.setId(Integer.parseInt(st.nextToken()));
|
skill.setId(Integer.parseInt(st.nextToken()));
|
||||||
skill.setName(st.nextToken());
|
skill.setName(st.nextToken());
|
||||||
skill.setLevel(Integer.parseInt(st.nextToken()));
|
skill.setLevel(Integer.parseInt(st.nextToken()));
|
||||||
String opType = st.nextToken();
|
final String opType = st.nextToken();
|
||||||
if (opType.equalsIgnoreCase("once"))
|
if (opType.equalsIgnoreCase("once"))
|
||||||
{
|
{
|
||||||
skill.setOperateType(Skill.OP_ONCE);
|
skill.setOperateType(Skill.OP_ONCE);
|
||||||
|
@@ -175,11 +175,11 @@ public class SkillTreeTable
|
|||||||
String line = null;
|
String line = null;
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
LineNumberReader lnr = new LineNumberReader(new InputStreamReader(new FileInputStream(skillData)));
|
final LineNumberReader lnr = new LineNumberReader(new InputStreamReader(new FileInputStream(skillData)));
|
||||||
List<SkillLearn> list = new ArrayList<>();
|
final List<SkillLearn> list = new ArrayList<>();
|
||||||
if (parentClassId != -1)
|
if (parentClassId != -1)
|
||||||
{
|
{
|
||||||
List<SkillLearn> parentList = _skillTrees.get(parentClassId);
|
final List<SkillLearn> parentList = _skillTrees.get(parentClassId);
|
||||||
list.addAll(parentList);
|
list.addAll(parentList);
|
||||||
}
|
}
|
||||||
while ((line = lnr.readLine()) != null)
|
while ((line = lnr.readLine()) != null)
|
||||||
@@ -188,7 +188,7 @@ public class SkillTreeTable
|
|||||||
{
|
{
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
SkillLearn skill = parseList(line);
|
final SkillLearn skill = parseList(line);
|
||||||
list.add(skill);
|
list.add(skill);
|
||||||
}
|
}
|
||||||
_skillTrees.put(classId, list);
|
_skillTrees.put(classId, list);
|
||||||
@@ -207,8 +207,8 @@ public class SkillTreeTable
|
|||||||
|
|
||||||
private SkillLearn parseList(String line)
|
private SkillLearn parseList(String line)
|
||||||
{
|
{
|
||||||
StringTokenizer st = new StringTokenizer(line, ";");
|
final StringTokenizer st = new StringTokenizer(line, ";");
|
||||||
SkillLearn skill = new SkillLearn();
|
final SkillLearn skill = new SkillLearn();
|
||||||
skill.setId(Integer.parseInt(st.nextToken()));
|
skill.setId(Integer.parseInt(st.nextToken()));
|
||||||
skill.setName(st.nextToken());
|
skill.setName(st.nextToken());
|
||||||
skill.setLevel(Integer.parseInt(st.nextToken()));
|
skill.setLevel(Integer.parseInt(st.nextToken()));
|
||||||
@@ -219,8 +219,8 @@ public class SkillTreeTable
|
|||||||
|
|
||||||
public Collection<SkillLearn> getAvailableSkills(PlayerInstance cha)
|
public Collection<SkillLearn> getAvailableSkills(PlayerInstance cha)
|
||||||
{
|
{
|
||||||
List<SkillLearn> result = new ArrayList<>();
|
final List<SkillLearn> result = new ArrayList<>();
|
||||||
List<SkillLearn> skills = _skillTrees.get(cha.getClassId());
|
final List<SkillLearn> skills = _skillTrees.get(cha.getClassId());
|
||||||
if (skills == null)
|
if (skills == null)
|
||||||
{
|
{
|
||||||
_log.warning("Skilltree for class " + cha.getClassId() + " is not defined !");
|
_log.warning("Skilltree for class " + cha.getClassId() + " is not defined !");
|
||||||
@@ -228,10 +228,10 @@ public class SkillTreeTable
|
|||||||
}
|
}
|
||||||
|
|
||||||
// TODO: Remove toArray.
|
// TODO: Remove toArray.
|
||||||
Skill[] oldSkills = cha.getAllSkills().toArray(new Skill[cha.getAllSkills().size()]);
|
final Skill[] oldSkills = cha.getAllSkills().toArray(new Skill[cha.getAllSkills().size()]);
|
||||||
for (int i = 0; i < skills.size(); ++i)
|
for (int i = 0; i < skills.size(); ++i)
|
||||||
{
|
{
|
||||||
SkillLearn temp = skills.get(i);
|
final SkillLearn temp = skills.get(i);
|
||||||
if (temp.getMinLevel() > cha.getLevel())
|
if (temp.getMinLevel() > cha.getLevel())
|
||||||
{
|
{
|
||||||
continue;
|
continue;
|
||||||
|
@@ -50,8 +50,8 @@ public class SpawnTable
|
|||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
File spawnDataFile = new File("data/spawnlist.csv");
|
final File spawnDataFile = new File("data/spawnlist.csv");
|
||||||
LineNumberReader lnr = new LineNumberReader(new InputStreamReader(new FileInputStream(spawnDataFile)));
|
final LineNumberReader lnr = new LineNumberReader(new InputStreamReader(new FileInputStream(spawnDataFile)));
|
||||||
String line = null;
|
String line = null;
|
||||||
while ((line = lnr.readLine()) != null)
|
while ((line = lnr.readLine()) != null)
|
||||||
{
|
{
|
||||||
@@ -61,7 +61,7 @@ public class SpawnTable
|
|||||||
{
|
{
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
Spawn spawn = parseList(line);
|
final Spawn spawn = parseList(line);
|
||||||
_spawntable.put(spawn.getId(), spawn);
|
_spawntable.put(spawn.getId(), spawn);
|
||||||
if (spawn.getId() <= _highestId)
|
if (spawn.getId() <= _highestId)
|
||||||
{
|
{
|
||||||
@@ -89,18 +89,18 @@ public class SpawnTable
|
|||||||
|
|
||||||
private Spawn parseList(String line) throws SecurityException, ClassNotFoundException
|
private Spawn parseList(String line) throws SecurityException, ClassNotFoundException
|
||||||
{
|
{
|
||||||
StringTokenizer st = new StringTokenizer(line, ";");
|
final StringTokenizer st = new StringTokenizer(line, ";");
|
||||||
int spawnId = Integer.parseInt(st.nextToken());
|
final int spawnId = Integer.parseInt(st.nextToken());
|
||||||
String location = st.nextToken();
|
final String location = st.nextToken();
|
||||||
int count = Integer.parseInt(st.nextToken());
|
final int count = Integer.parseInt(st.nextToken());
|
||||||
int npcId = Integer.parseInt(st.nextToken());
|
final int npcId = Integer.parseInt(st.nextToken());
|
||||||
Npc template1 = NpcTable.getInstance().getTemplate(npcId);
|
final Npc template1 = NpcTable.getInstance().getTemplate(npcId);
|
||||||
if (template1 == null)
|
if (template1 == null)
|
||||||
{
|
{
|
||||||
_log.warning("Monster data for id:" + npcId + " missing in npc.csv");
|
_log.warning("Monster data for id:" + npcId + " missing in npc.csv");
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
Spawn spawnDat = new Spawn(template1);
|
final Spawn spawnDat = new Spawn(template1);
|
||||||
spawnDat.setId(spawnId);
|
spawnDat.setId(spawnId);
|
||||||
spawnDat.setLocation(location); // ?
|
spawnDat.setLocation(location); // ?
|
||||||
spawnDat.setAmount(count);
|
spawnDat.setAmount(count);
|
||||||
|
@@ -47,10 +47,10 @@ public class TeleportLocationTable
|
|||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
File teleData = new File("data/teleport.csv");
|
final File teleData = new File("data/teleport.csv");
|
||||||
if (teleData.isFile() && teleData.exists())
|
if (teleData.isFile() && teleData.exists())
|
||||||
{
|
{
|
||||||
LineNumberReader lnr = new LineNumberReader(new InputStreamReader(new FileInputStream(teleData)));
|
final LineNumberReader lnr = new LineNumberReader(new InputStreamReader(new FileInputStream(teleData)));
|
||||||
String line = null;
|
String line = null;
|
||||||
while ((line = lnr.readLine()) != null)
|
while ((line = lnr.readLine()) != null)
|
||||||
{
|
{
|
||||||
@@ -58,8 +58,8 @@ public class TeleportLocationTable
|
|||||||
{
|
{
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
StringTokenizer st = new StringTokenizer(line, ";");
|
final StringTokenizer st = new StringTokenizer(line, ";");
|
||||||
TeleportLocation teleport = new TeleportLocation();
|
final TeleportLocation teleport = new TeleportLocation();
|
||||||
teleport.setTeleId(Integer.parseInt(st.nextToken()));
|
teleport.setTeleId(Integer.parseInt(st.nextToken()));
|
||||||
teleport.setLocX(Integer.parseInt(st.nextToken()));
|
teleport.setLocX(Integer.parseInt(st.nextToken()));
|
||||||
teleport.setLocY(Integer.parseInt(st.nextToken()));
|
teleport.setLocY(Integer.parseInt(st.nextToken()));
|
||||||
|
@@ -50,8 +50,8 @@ public class TradeController
|
|||||||
String line = null;
|
String line = null;
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
File buylistData = new File("data/buylists.csv");
|
final File buylistData = new File("data/buylists.csv");
|
||||||
LineNumberReader lnr = new LineNumberReader(new InputStreamReader(new FileInputStream(buylistData)));
|
final LineNumberReader lnr = new LineNumberReader(new InputStreamReader(new FileInputStream(buylistData)));
|
||||||
while ((line = lnr.readLine()) != null)
|
while ((line = lnr.readLine()) != null)
|
||||||
{
|
{
|
||||||
if (line.trim().isEmpty() || line.startsWith("#"))
|
if (line.trim().isEmpty() || line.startsWith("#"))
|
||||||
@@ -75,14 +75,14 @@ public class TradeController
|
|||||||
|
|
||||||
private void parseList(String line)
|
private void parseList(String line)
|
||||||
{
|
{
|
||||||
StringTokenizer st = new StringTokenizer(line, ";");
|
final StringTokenizer st = new StringTokenizer(line, ";");
|
||||||
int listId = Integer.parseInt(st.nextToken());
|
final int listId = Integer.parseInt(st.nextToken());
|
||||||
TradeList buy1 = new TradeList(listId);
|
final TradeList buy1 = new TradeList(listId);
|
||||||
while (st.hasMoreTokens())
|
while (st.hasMoreTokens())
|
||||||
{
|
{
|
||||||
int itemId = Integer.parseInt(st.nextToken());
|
final int itemId = Integer.parseInt(st.nextToken());
|
||||||
int price = Integer.parseInt(st.nextToken());
|
final int price = Integer.parseInt(st.nextToken());
|
||||||
ItemInstance item = ItemTable.getInstance().createDummyItem(itemId);
|
final ItemInstance item = ItemTable.getInstance().createDummyItem(itemId);
|
||||||
item.setPrice(price);
|
item.setPrice(price);
|
||||||
buy1.addItem(item);
|
buy1.addItem(item);
|
||||||
}
|
}
|
||||||
|
@@ -40,7 +40,7 @@ public class ItemHandler
|
|||||||
|
|
||||||
public void registerItemHandler(IItemHandler handler)
|
public void registerItemHandler(IItemHandler handler)
|
||||||
{
|
{
|
||||||
int[] ids = handler.getItemIds();
|
final int[] ids = handler.getItemIds();
|
||||||
for (int id : ids)
|
for (int id : ids)
|
||||||
{
|
{
|
||||||
_datatable.put(id, handler);
|
_datatable.put(id, handler);
|
||||||
|
@@ -40,7 +40,7 @@ public class SkillHandler
|
|||||||
|
|
||||||
public void registerSkillHandler(ISkillHandler handler)
|
public void registerSkillHandler(ISkillHandler handler)
|
||||||
{
|
{
|
||||||
int[] ids = handler.getSkillIds();
|
final int[] ids = handler.getSkillIds();
|
||||||
for (int id : ids)
|
for (int id : ids)
|
||||||
{
|
{
|
||||||
_datatable.put(id, handler);
|
_datatable.put(id, handler);
|
||||||
|
@@ -77,8 +77,8 @@ public class PetSummon implements IItemHandler
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Npc petTemplate = NpcTable.getInstance().getTemplate(npcId);
|
final Npc petTemplate = NpcTable.getInstance().getTemplate(npcId);
|
||||||
PetInstance newpet = new PetInstance(petTemplate);
|
final PetInstance newpet = new PetInstance(petTemplate);
|
||||||
newpet.setTitle(activeChar.getName());
|
newpet.setTitle(activeChar.getName());
|
||||||
newpet.setControlItemId(item.getObjectId());
|
newpet.setControlItemId(item.getObjectId());
|
||||||
newpet.setObjectId(IdFactory.getInstance().getNextId());
|
newpet.setObjectId(IdFactory.getInstance().getNextId());
|
||||||
@@ -102,10 +102,10 @@ public class PetSummon implements IItemHandler
|
|||||||
newpet.setRunning(true);
|
newpet.setRunning(true);
|
||||||
World.getInstance().storeObject(newpet);
|
World.getInstance().storeObject(newpet);
|
||||||
World.getInstance().addVisibleObject(newpet);
|
World.getInstance().addVisibleObject(newpet);
|
||||||
MagicSkillUser msk = new MagicSkillUser(activeChar, 2046, 1, 1000, 600000);
|
final MagicSkillUser msk = new MagicSkillUser(activeChar, 2046, 1, 1000, 600000);
|
||||||
activeChar.sendPacket(msk);
|
activeChar.sendPacket(msk);
|
||||||
PetInfo ownerni = new PetInfo(newpet);
|
final PetInfo ownerni = new PetInfo(newpet);
|
||||||
NpcInfo ni = new NpcInfo(newpet);
|
final NpcInfo ni = new NpcInfo(newpet);
|
||||||
activeChar.broadcastPacket(ni);
|
activeChar.broadcastPacket(ni);
|
||||||
activeChar.sendPacket(ownerni);
|
activeChar.sendPacket(ownerni);
|
||||||
activeChar.sendPacket(new PetItemList(newpet));
|
activeChar.sendPacket(new PetItemList(newpet));
|
||||||
|
@@ -43,13 +43,13 @@ public class Potions implements IItemHandler
|
|||||||
@Override
|
@Override
|
||||||
public int useItem(PlayerInstance activeChar, ItemInstance item)
|
public int useItem(PlayerInstance activeChar, ItemInstance item)
|
||||||
{
|
{
|
||||||
Potion Potion = new Potion();
|
final Potion Potion = new Potion();
|
||||||
int itemId = item.getItemId();
|
final int itemId = item.getItemId();
|
||||||
if ((itemId == 65) || (itemId == 725) || (itemId == 727) || (itemId == 1060) || (itemId == 1061) || (itemId == 1539) || (itemId == 1540) || (itemId == 1073))
|
if ((itemId == 65) || (itemId == 725) || (itemId == 727) || (itemId == 1060) || (itemId == 1061) || (itemId == 1539) || (itemId == 1540) || (itemId == 1073))
|
||||||
{
|
{
|
||||||
WorldObject OldTarget = activeChar.getTarget();
|
final WorldObject OldTarget = activeChar.getTarget();
|
||||||
activeChar.setTarget(activeChar);
|
activeChar.setTarget(activeChar);
|
||||||
MagicSkillUser MSU = new MagicSkillUser(activeChar, 2038, 1, 0, 0);
|
final MagicSkillUser MSU = new MagicSkillUser(activeChar, 2038, 1, 0, 0);
|
||||||
activeChar.sendPacket(MSU);
|
activeChar.sendPacket(MSU);
|
||||||
activeChar.broadcastPacket(MSU);
|
activeChar.broadcastPacket(MSU);
|
||||||
activeChar.setTarget(OldTarget);
|
activeChar.setTarget(OldTarget);
|
||||||
@@ -57,9 +57,9 @@ public class Potions implements IItemHandler
|
|||||||
}
|
}
|
||||||
else if ((itemId == 726) || (itemId == 728))
|
else if ((itemId == 726) || (itemId == 728))
|
||||||
{
|
{
|
||||||
WorldObject OldTarget = activeChar.getTarget();
|
final WorldObject OldTarget = activeChar.getTarget();
|
||||||
activeChar.setTarget(activeChar);
|
activeChar.setTarget(activeChar);
|
||||||
MagicSkillUser MSU = new MagicSkillUser(activeChar, 2038, 1, 0, 0);
|
final MagicSkillUser MSU = new MagicSkillUser(activeChar, 2038, 1, 0, 0);
|
||||||
activeChar.sendPacket(MSU);
|
activeChar.sendPacket(MSU);
|
||||||
activeChar.broadcastPacket(MSU);
|
activeChar.broadcastPacket(MSU);
|
||||||
activeChar.setTarget(OldTarget);
|
activeChar.setTarget(OldTarget);
|
||||||
|
@@ -40,13 +40,13 @@ public class ScrollOfEscape implements IItemHandler
|
|||||||
@Override
|
@Override
|
||||||
public int useItem(PlayerInstance activeChar, ItemInstance item)
|
public int useItem(PlayerInstance activeChar, ItemInstance item)
|
||||||
{
|
{
|
||||||
int[] townCords = MapRegionTable.getInstance().getClosestTownCords(activeChar);
|
final int[] townCords = MapRegionTable.getInstance().getClosestTownCords(activeChar);
|
||||||
activeChar.setTarget(activeChar);
|
activeChar.setTarget(activeChar);
|
||||||
Skill skill = SkillTable.getInstance().getInfo(1050, 1);
|
final Skill skill = SkillTable.getInstance().getInfo(1050, 1);
|
||||||
MagicSkillUser msk = new MagicSkillUser(activeChar, 1050, 1, 20000, 0);
|
final MagicSkillUser msk = new MagicSkillUser(activeChar, 1050, 1, 20000, 0);
|
||||||
activeChar.sendPacket(msk);
|
activeChar.sendPacket(msk);
|
||||||
activeChar.broadcastPacket(msk);
|
activeChar.broadcastPacket(msk);
|
||||||
SetupGauge sg = new SetupGauge(0, skill.getSkillTime());
|
final SetupGauge sg = new SetupGauge(0, skill.getSkillTime());
|
||||||
activeChar.sendPacket(sg);
|
activeChar.sendPacket(sg);
|
||||||
if (skill.getSkillTime() > 200)
|
if (skill.getSkillTime() > 200)
|
||||||
{
|
{
|
||||||
@@ -59,14 +59,14 @@ public class ScrollOfEscape implements IItemHandler
|
|||||||
// empty catch block
|
// empty catch block
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
StopMove sm = new StopMove(activeChar);
|
final StopMove sm = new StopMove(activeChar);
|
||||||
activeChar.sendPacket(sm);
|
activeChar.sendPacket(sm);
|
||||||
activeChar.broadcastPacket(sm);
|
activeChar.broadcastPacket(sm);
|
||||||
ActionFailed af = new ActionFailed();
|
final ActionFailed af = new ActionFailed();
|
||||||
activeChar.sendPacket(af);
|
activeChar.sendPacket(af);
|
||||||
World.getInstance().removeVisibleObject(activeChar);
|
World.getInstance().removeVisibleObject(activeChar);
|
||||||
activeChar.removeAllKnownObjects();
|
activeChar.removeAllKnownObjects();
|
||||||
TeleportToLocation teleport = new TeleportToLocation(activeChar, townCords[0], townCords[1], townCords[2]);
|
final TeleportToLocation teleport = new TeleportToLocation(activeChar, townCords[0], townCords[1], townCords[2]);
|
||||||
activeChar.sendPacket(teleport);
|
activeChar.sendPacket(teleport);
|
||||||
activeChar.broadcastPacket(teleport);
|
activeChar.broadcastPacket(teleport);
|
||||||
activeChar.setX(townCords[0]);
|
activeChar.setX(townCords[0]);
|
||||||
|
@@ -44,16 +44,16 @@ public class SoulShots implements IItemHandler
|
|||||||
{
|
{
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
int SoulshotId = item.getItemId();
|
final int SoulshotId = item.getItemId();
|
||||||
Weapon weapon = activeChar.getActiveWeapon();
|
final Weapon weapon = activeChar.getActiveWeapon();
|
||||||
if (weapon == null)
|
if (weapon == null)
|
||||||
{
|
{
|
||||||
activeChar.sendPacket(new SystemMessage(SystemMessage.CANNOT_USE_SOULSHOTS));
|
activeChar.sendPacket(new SystemMessage(SystemMessage.CANNOT_USE_SOULSHOTS));
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
int grade = weapon.getCrystalType();
|
final int grade = weapon.getCrystalType();
|
||||||
int soulShotConsumption = weapon.getSoulShotCount();
|
final int soulShotConsumption = weapon.getSoulShotCount();
|
||||||
int count = item.getCount();
|
final int count = item.getCount();
|
||||||
if (soulShotConsumption == 0)
|
if (soulShotConsumption == 0)
|
||||||
{
|
{
|
||||||
activeChar.sendPacket(new SystemMessage(SystemMessage.CANNOT_USE_SOULSHOTS));
|
activeChar.sendPacket(new SystemMessage(SystemMessage.CANNOT_USE_SOULSHOTS));
|
||||||
@@ -71,9 +71,9 @@ public class SoulShots implements IItemHandler
|
|||||||
}
|
}
|
||||||
activeChar.setActiveSoulshotGrade(grade);
|
activeChar.setActiveSoulshotGrade(grade);
|
||||||
activeChar.sendPacket(new SystemMessage(SystemMessage.ENABLED_SOULSHOT));
|
activeChar.sendPacket(new SystemMessage(SystemMessage.ENABLED_SOULSHOT));
|
||||||
WorldObject OldTarget = activeChar.getTarget();
|
final WorldObject OldTarget = activeChar.getTarget();
|
||||||
activeChar.setTarget(activeChar);
|
activeChar.setTarget(activeChar);
|
||||||
MagicSkillUser MSU = new MagicSkillUser(activeChar, 2039, 1, 0, 0);
|
final MagicSkillUser MSU = new MagicSkillUser(activeChar, 2039, 1, 0, 0);
|
||||||
activeChar.sendPacket(MSU);
|
activeChar.sendPacket(MSU);
|
||||||
activeChar.broadcastPacket(MSU);
|
activeChar.broadcastPacket(MSU);
|
||||||
activeChar.setTarget(OldTarget);
|
activeChar.setTarget(OldTarget);
|
||||||
|
@@ -55,14 +55,14 @@ public class DamageSkill implements ISkillHandler
|
|||||||
|
|
||||||
if (target instanceof Creature)
|
if (target instanceof Creature)
|
||||||
{
|
{
|
||||||
Creature creature = (Creature) target;
|
final Creature creature = (Creature) target;
|
||||||
int mdef = creature.getMagicalDefense();
|
int mdef = creature.getMagicalDefense();
|
||||||
if (mdef == 0)
|
if (mdef == 0)
|
||||||
{
|
{
|
||||||
mdef = 350;
|
mdef = 350;
|
||||||
}
|
}
|
||||||
int dmg = (int) ((91 * skill.getPower() * Math.sqrt(activeChar.getMagicalAttack())) / mdef);
|
final int dmg = (int) ((91 * skill.getPower() * Math.sqrt(activeChar.getMagicalAttack())) / mdef);
|
||||||
SystemMessage sm = new SystemMessage(SystemMessage.YOU_DID_S1_DMG);
|
final SystemMessage sm = new SystemMessage(SystemMessage.YOU_DID_S1_DMG);
|
||||||
sm.addNumber(dmg);
|
sm.addNumber(dmg);
|
||||||
activeChar.sendPacket(sm);
|
activeChar.sendPacket(sm);
|
||||||
if (creature.getCurrentHp() > creature.getMaxHp())
|
if (creature.getCurrentHp() > creature.getMaxHp())
|
||||||
|
@@ -56,7 +56,7 @@ public class HealSkill implements ISkillHandler
|
|||||||
|
|
||||||
if (skill.getTargetType() == Skill.TARGET_PET)
|
if (skill.getTargetType() == Skill.TARGET_PET)
|
||||||
{
|
{
|
||||||
PetInstance pet = activeChar.getPet();
|
final PetInstance pet = activeChar.getPet();
|
||||||
double hp = pet.getCurrentHp();
|
double hp = pet.getCurrentHp();
|
||||||
pet.setCurrentHp(hp += skill.getPower());
|
pet.setCurrentHp(hp += skill.getPower());
|
||||||
}
|
}
|
||||||
@@ -66,7 +66,7 @@ public class HealSkill implements ISkillHandler
|
|||||||
{
|
{
|
||||||
double hp = player.getCurrentHp();
|
double hp = player.getCurrentHp();
|
||||||
player.setCurrentHp(hp += skill.getPower());
|
player.setCurrentHp(hp += skill.getPower());
|
||||||
StatusUpdate su = new StatusUpdate(player.getObjectId());
|
final StatusUpdate su = new StatusUpdate(player.getObjectId());
|
||||||
su.addAttribute(StatusUpdate.CUR_HP, (int) hp);
|
su.addAttribute(StatusUpdate.CUR_HP, (int) hp);
|
||||||
player.sendPacket(su);
|
player.sendPacket(su);
|
||||||
player.sendPacket(new SystemMessage(SystemMessage.REJUVENATING_HP));
|
player.sendPacket(new SystemMessage(SystemMessage.REJUVENATING_HP));
|
||||||
@@ -76,7 +76,7 @@ public class HealSkill implements ISkillHandler
|
|||||||
{
|
{
|
||||||
double hp = activeChar.getCurrentHp();
|
double hp = activeChar.getCurrentHp();
|
||||||
activeChar.setCurrentHp(hp += skill.getPower());
|
activeChar.setCurrentHp(hp += skill.getPower());
|
||||||
StatusUpdate su = new StatusUpdate(activeChar.getObjectId());
|
final StatusUpdate su = new StatusUpdate(activeChar.getObjectId());
|
||||||
su.addAttribute(StatusUpdate.CUR_HP, (int) hp);
|
su.addAttribute(StatusUpdate.CUR_HP, (int) hp);
|
||||||
activeChar.sendPacket(su);
|
activeChar.sendPacket(su);
|
||||||
activeChar.sendPacket(new SystemMessage(SystemMessage.REJUVENATING_HP));
|
activeChar.sendPacket(new SystemMessage(SystemMessage.REJUVENATING_HP));
|
||||||
|
@@ -49,19 +49,19 @@ public class CommunityBoardManager
|
|||||||
|
|
||||||
public void handleCommands(ClientThread client, String command)
|
public void handleCommands(ClientThread client, String command)
|
||||||
{
|
{
|
||||||
PlayerInstance activeChar = client.getActiveChar();
|
final PlayerInstance activeChar = client.getActiveChar();
|
||||||
if (command.startsWith("bbs_"))
|
if (command.startsWith("bbs_"))
|
||||||
{
|
{
|
||||||
StringBuffer htmlCode = new StringBuffer("<html imgsrc=\"sek.cbui353\"><body><br><table border=0><tr><td FIXWIDTH=15></td><td align=center>L2J Community Board<img src=\"sek.cbui355\" width=610 height=1></td></tr><tr><td FIXWIDTH=15></td><td>");
|
final StringBuffer htmlCode = new StringBuffer("<html imgsrc=\"sek.cbui353\"><body><br><table border=0><tr><td FIXWIDTH=15></td><td align=center>L2J Community Board<img src=\"sek.cbui355\" width=610 height=1></td></tr><tr><td FIXWIDTH=15></td><td>");
|
||||||
if (command.equals("bbs_default"))
|
if (command.equals("bbs_default"))
|
||||||
{
|
{
|
||||||
Collection<PlayerInstance> players = World.getInstance().getAllPlayers();
|
final Collection<PlayerInstance> players = World.getInstance().getAllPlayers();
|
||||||
htmlCode.append("<table border=0>");
|
htmlCode.append("<table border=0>");
|
||||||
int t = GameTimeController.getInstance().getGameTime();
|
final int t = GameTimeController.getInstance().getGameTime();
|
||||||
int h = t / 60;
|
final int h = t / 60;
|
||||||
int m = t % 60;
|
final int m = t % 60;
|
||||||
SimpleDateFormat format = new SimpleDateFormat("h:mm a");
|
final SimpleDateFormat format = new SimpleDateFormat("h:mm a");
|
||||||
Calendar cal = Calendar.getInstance();
|
final Calendar cal = Calendar.getInstance();
|
||||||
cal.set(11, h);
|
cal.set(11, h);
|
||||||
cal.set(12, m);
|
cal.set(12, m);
|
||||||
htmlCode.append("<tr><td>Game Time: " + format.format(cal.getTime()) + "</td></tr>");
|
htmlCode.append("<tr><td>Game Time: " + format.format(cal.getTime()) + "</td></tr>");
|
||||||
@@ -106,7 +106,7 @@ public class CommunityBoardManager
|
|||||||
}
|
}
|
||||||
else if (command.equals("bbs_clan"))
|
else if (command.equals("bbs_clan"))
|
||||||
{
|
{
|
||||||
Clan clan = activeChar.getClan();
|
final Clan clan = activeChar.getClan();
|
||||||
htmlCode.append("<table border=0><tr><td>" + clan.getName() + " (Level " + clan.getLevel() + "):</td></tr><tr><td><table border=0>");
|
htmlCode.append("<table border=0><tr><td>" + clan.getName() + " (Level " + clan.getLevel() + "):</td></tr><tr><td><table border=0>");
|
||||||
String title = "";
|
String title = "";
|
||||||
if (!clan.getClanMember(clan.getLeaderName()).getTitle().equals(""))
|
if (!clan.getClanMember(clan.getLeaderName()).getTitle().equals(""))
|
||||||
@@ -142,8 +142,8 @@ public class CommunityBoardManager
|
|||||||
}
|
}
|
||||||
else if (command.startsWith("bbs_player_info"))
|
else if (command.startsWith("bbs_player_info"))
|
||||||
{
|
{
|
||||||
String name = command.substring(16);
|
final String name = command.substring(16);
|
||||||
PlayerInstance player = World.getInstance().getPlayer(name);
|
final PlayerInstance player = World.getInstance().getPlayer(name);
|
||||||
String sex = "Male";
|
String sex = "Male";
|
||||||
if (player.getSex() == 1)
|
if (player.getSex() == 1)
|
||||||
{
|
{
|
||||||
@@ -162,10 +162,10 @@ public class CommunityBoardManager
|
|||||||
htmlCode.append("<tr><td>Experience: " + player.getExp() + "/" + nextLevelExp + "</td></tr>");
|
htmlCode.append("<tr><td>Experience: " + player.getExp() + "/" + nextLevelExp + "</td></tr>");
|
||||||
htmlCode.append("<tr><td>Experience needed for level up: " + nextLevelExpNeeded + "</td></tr>");
|
htmlCode.append("<tr><td>Experience needed for level up: " + nextLevelExpNeeded + "</td></tr>");
|
||||||
htmlCode.append("<tr><td><br></td></tr>");
|
htmlCode.append("<tr><td><br></td></tr>");
|
||||||
int uptime = (int) player.getUptime() / 1000;
|
final int uptime = (int) player.getUptime() / 1000;
|
||||||
int h = uptime / 3600;
|
final int h = uptime / 3600;
|
||||||
int m = (uptime - (h * 3600)) / 60;
|
final int m = (uptime - (h * 3600)) / 60;
|
||||||
int s = uptime - (h * 3600) - (m * 60);
|
final int s = uptime - (h * 3600) - (m * 60);
|
||||||
htmlCode.append("<tr><td>Uptime: " + h + "h " + m + "m " + s + "s</td></tr>");
|
htmlCode.append("<tr><td>Uptime: " + h + "h " + m + "m " + s + "s</td></tr>");
|
||||||
htmlCode.append("<tr><td><br></td></tr>");
|
htmlCode.append("<tr><td><br></td></tr>");
|
||||||
if (player.getClan() != null)
|
if (player.getClan() != null)
|
||||||
@@ -179,12 +179,12 @@ public class CommunityBoardManager
|
|||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
String val = command.substring(14);
|
final String val = command.substring(14);
|
||||||
StringTokenizer st = new StringTokenizer(val);
|
final StringTokenizer st = new StringTokenizer(val);
|
||||||
String name = st.nextToken();
|
final String name = st.nextToken();
|
||||||
String message = val.substring(name.length() + 1);
|
final String message = val.substring(name.length() + 1);
|
||||||
PlayerInstance reciever = World.getInstance().getPlayer(name);
|
final PlayerInstance reciever = World.getInstance().getPlayer(name);
|
||||||
CreatureSay cs = new CreatureSay(activeChar.getObjectId(), 2, activeChar.getName(), message);
|
final CreatureSay cs = new CreatureSay(activeChar.getObjectId(), 2, activeChar.getName(), message);
|
||||||
reciever.sendPacket(cs);
|
reciever.sendPacket(cs);
|
||||||
activeChar.sendPacket(cs);
|
activeChar.sendPacket(cs);
|
||||||
htmlCode.append("Message Sent<br><button value=\"Back\" action=\"bypass bbs_player_info " + reciever.getName() + "\" width=40 height=15 back=\"sek.cbui94\" fore=\"sek.cbui92\">");
|
htmlCode.append("Message Sent<br><button value=\"Back\" action=\"bypass bbs_player_info " + reciever.getName() + "\" width=40 height=15 back=\"sek.cbui94\" fore=\"sek.cbui92\">");
|
||||||
@@ -195,7 +195,7 @@ public class CommunityBoardManager
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
htmlCode.append("</td></tr></table></body></html>");
|
htmlCode.append("</td></tr></table></body></html>");
|
||||||
ShowBoard sb = new ShowBoard(activeChar, htmlCode.toString());
|
final ShowBoard sb = new ShowBoard(activeChar, htmlCode.toString());
|
||||||
activeChar.sendPacket(sb);
|
activeChar.sendPacket(sb);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -85,7 +85,7 @@ public class Clan
|
|||||||
|
|
||||||
public void addClanMember(PlayerInstance player)
|
public void addClanMember(PlayerInstance player)
|
||||||
{
|
{
|
||||||
ClanMember member = new ClanMember(player);
|
final ClanMember member = new ClanMember(player);
|
||||||
this.addClanMember(member);
|
this.addClanMember(member);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -106,7 +106,7 @@ public class Clan
|
|||||||
|
|
||||||
public Collection<PlayerInstance> getOnlineMembers(String exclude)
|
public Collection<PlayerInstance> getOnlineMembers(String exclude)
|
||||||
{
|
{
|
||||||
List<PlayerInstance> result = new ArrayList<>();
|
final List<PlayerInstance> result = new ArrayList<>();
|
||||||
for (ClanMember member : _members.values())
|
for (ClanMember member : _members.values())
|
||||||
{
|
{
|
||||||
if (!member.isOnline() || member.getName().equals(exclude))
|
if (!member.isOnline() || member.getName().equals(exclude))
|
||||||
@@ -185,7 +185,7 @@ public class Clan
|
|||||||
|
|
||||||
public void store()
|
public void store()
|
||||||
{
|
{
|
||||||
File clanFile = new File("data/clans/" + getName() + ".csv");
|
final File clanFile = new File("data/clans/" + getName() + ".csv");
|
||||||
FileWriter out = null;
|
FileWriter out = null;
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
|
@@ -91,7 +91,7 @@ public class Inventory
|
|||||||
{
|
{
|
||||||
for (int i = 0; i < _items.size(); ++i)
|
for (int i = 0; i < _items.size(); ++i)
|
||||||
{
|
{
|
||||||
ItemInstance temp = _items.get(i);
|
final ItemInstance temp = _items.get(i);
|
||||||
if (temp.getItemId() != itemId)
|
if (temp.getItemId() != itemId)
|
||||||
{
|
{
|
||||||
continue;
|
continue;
|
||||||
@@ -133,7 +133,7 @@ public class Inventory
|
|||||||
|
|
||||||
public Collection<ItemInstance> unEquipItemInBodySlot(int slot)
|
public Collection<ItemInstance> unEquipItemInBodySlot(int slot)
|
||||||
{
|
{
|
||||||
List<ItemInstance> unequipedItems = new ArrayList<>();
|
final List<ItemInstance> unequipedItems = new ArrayList<>();
|
||||||
int pdollSlot = -1;
|
int pdollSlot = -1;
|
||||||
switch (slot)
|
switch (slot)
|
||||||
{
|
{
|
||||||
@@ -221,7 +221,7 @@ public class Inventory
|
|||||||
|
|
||||||
public Collection<ItemInstance> unEquipItemOnPaperdoll(int pdollSlot)
|
public Collection<ItemInstance> unEquipItemOnPaperdoll(int pdollSlot)
|
||||||
{
|
{
|
||||||
List<ItemInstance> unequipedItems = new ArrayList<>();
|
final List<ItemInstance> unequipedItems = new ArrayList<>();
|
||||||
if (pdollSlot == 14)
|
if (pdollSlot == 14)
|
||||||
{
|
{
|
||||||
unEquipSlot(unequipedItems, 8);
|
unEquipSlot(unequipedItems, 8);
|
||||||
@@ -233,15 +233,15 @@ public class Inventory
|
|||||||
|
|
||||||
public List<ItemInstance> equipItem(ItemInstance item)
|
public List<ItemInstance> equipItem(ItemInstance item)
|
||||||
{
|
{
|
||||||
ArrayList<ItemInstance> changedItems = new ArrayList<>();
|
final ArrayList<ItemInstance> changedItems = new ArrayList<>();
|
||||||
int targetSlot = item.getItem().getBodyPart();
|
final int targetSlot = item.getItem().getBodyPart();
|
||||||
switch (targetSlot)
|
switch (targetSlot)
|
||||||
{
|
{
|
||||||
case 16384:
|
case 16384:
|
||||||
{
|
{
|
||||||
ItemInstance arrow;
|
ItemInstance arrow;
|
||||||
unEquipSlot(changedItems, 8);
|
unEquipSlot(changedItems, 8);
|
||||||
ItemInstance old1 = unEquipSlot(14);
|
final ItemInstance old1 = unEquipSlot(14);
|
||||||
if (old1 != null)
|
if (old1 != null)
|
||||||
{
|
{
|
||||||
changedItems.add(old1);
|
changedItems.add(old1);
|
||||||
@@ -265,7 +265,7 @@ public class Inventory
|
|||||||
}
|
}
|
||||||
case 256:
|
case 256:
|
||||||
{
|
{
|
||||||
ItemInstance old1 = unEquipSlot(14);
|
final ItemInstance old1 = unEquipSlot(14);
|
||||||
if (old1 != null)
|
if (old1 != null)
|
||||||
{
|
{
|
||||||
unEquipSlot(changedItems, 7);
|
unEquipSlot(changedItems, 7);
|
||||||
@@ -341,7 +341,7 @@ public class Inventory
|
|||||||
}
|
}
|
||||||
case 2048:
|
case 2048:
|
||||||
{
|
{
|
||||||
ItemInstance chest = getPaperdollItem(10);
|
final ItemInstance chest = getPaperdollItem(10);
|
||||||
if ((chest != null) && (chest.getItem().getBodyPart() == 32768))
|
if ((chest != null) && (chest.getItem().getBodyPart() == 32768))
|
||||||
{
|
{
|
||||||
unEquipSlot(changedItems, 10);
|
unEquipSlot(changedItems, 10);
|
||||||
@@ -392,7 +392,7 @@ public class Inventory
|
|||||||
|
|
||||||
private ItemInstance unEquipSlot(int slot)
|
private ItemInstance unEquipSlot(int slot)
|
||||||
{
|
{
|
||||||
ItemInstance item = _paperdoll[slot];
|
final ItemInstance item = _paperdoll[slot];
|
||||||
if (item != null)
|
if (item != null)
|
||||||
{
|
{
|
||||||
item.setEquipSlot(-1);
|
item.setEquipSlot(-1);
|
||||||
@@ -408,7 +408,7 @@ public class Inventory
|
|||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
ItemInstance item = _paperdoll[slot];
|
final ItemInstance item = _paperdoll[slot];
|
||||||
if (item != null)
|
if (item != null)
|
||||||
{
|
{
|
||||||
item.setEquipSlot(-1);
|
item.setEquipSlot(-1);
|
||||||
@@ -423,7 +423,7 @@ public class Inventory
|
|||||||
{
|
{
|
||||||
for (int i = 0; i < _items.size(); ++i)
|
for (int i = 0; i < _items.size(); ++i)
|
||||||
{
|
{
|
||||||
ItemInstance temp = _items.get(i);
|
final ItemInstance temp = _items.get(i);
|
||||||
if (temp.getObjectId() != objectId)
|
if (temp.getObjectId() != objectId)
|
||||||
{
|
{
|
||||||
continue;
|
continue;
|
||||||
@@ -483,7 +483,7 @@ public class Inventory
|
|||||||
|
|
||||||
public ItemInstance destroyItem(int objectId, int count)
|
public ItemInstance destroyItem(int objectId, int count)
|
||||||
{
|
{
|
||||||
ItemInstance item = getItem(objectId);
|
final ItemInstance item = getItem(objectId);
|
||||||
if (item.getCount() == count)
|
if (item.getCount() == count)
|
||||||
{
|
{
|
||||||
_items.remove(item);
|
_items.remove(item);
|
||||||
@@ -501,7 +501,7 @@ public class Inventory
|
|||||||
|
|
||||||
public ItemInstance destroyItemByItemId(int itemId, int count)
|
public ItemInstance destroyItemByItemId(int itemId, int count)
|
||||||
{
|
{
|
||||||
ItemInstance item = findItemByItemId(itemId);
|
final ItemInstance item = findItemByItemId(itemId);
|
||||||
if (item.getCount() == count)
|
if (item.getCount() == count)
|
||||||
{
|
{
|
||||||
_items.remove(item);
|
_items.remove(item);
|
||||||
@@ -519,7 +519,7 @@ public class Inventory
|
|||||||
|
|
||||||
public ItemInstance dropItem(int objectId, int count)
|
public ItemInstance dropItem(int objectId, int count)
|
||||||
{
|
{
|
||||||
ItemInstance oldItem = getItem(objectId);
|
final ItemInstance oldItem = getItem(objectId);
|
||||||
return this.dropItem(oldItem, count);
|
return this.dropItem(oldItem, count);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -537,7 +537,7 @@ public class Inventory
|
|||||||
if (oldItem.getItemId() == 57)
|
if (oldItem.getItemId() == 57)
|
||||||
{
|
{
|
||||||
reduceAdena(count);
|
reduceAdena(count);
|
||||||
ItemInstance adena = ItemTable.getInstance().createItem(oldItem.getItemId());
|
final ItemInstance adena = ItemTable.getInstance().createItem(oldItem.getItemId());
|
||||||
adena.setCount(count);
|
adena.setCount(count);
|
||||||
return adena;
|
return adena;
|
||||||
}
|
}
|
||||||
@@ -550,7 +550,7 @@ public class Inventory
|
|||||||
}
|
}
|
||||||
oldItem.setCount(oldItem.getCount() - count);
|
oldItem.setCount(oldItem.getCount() - count);
|
||||||
oldItem.setLastChange(2);
|
oldItem.setLastChange(2);
|
||||||
ItemInstance newItem = ItemTable.getInstance().createItem(oldItem.getItemId());
|
final ItemInstance newItem = ItemTable.getInstance().createItem(oldItem.getItemId());
|
||||||
newItem.setCount(count);
|
newItem.setCount(count);
|
||||||
refreshWeight();
|
refreshWeight();
|
||||||
return newItem;
|
return newItem;
|
||||||
|
@@ -87,7 +87,7 @@ public class Party
|
|||||||
|
|
||||||
public void addPartyMember(PlayerInstance player)
|
public void addPartyMember(PlayerInstance player)
|
||||||
{
|
{
|
||||||
PartySmallWindowAll window = new PartySmallWindowAll();
|
final PartySmallWindowAll window = new PartySmallWindowAll();
|
||||||
window.setPartyList(_members);
|
window.setPartyList(_members);
|
||||||
player.sendPacket(window);
|
player.sendPacket(window);
|
||||||
SystemMessage msg = new SystemMessage(SystemMessage.YOU_JOINED_S1_PARTY);
|
SystemMessage msg = new SystemMessage(SystemMessage.YOU_JOINED_S1_PARTY);
|
||||||
@@ -126,7 +126,7 @@ public class Party
|
|||||||
{
|
{
|
||||||
for (int i = 0; i < _members.size(); ++i)
|
for (int i = 0; i < _members.size(); ++i)
|
||||||
{
|
{
|
||||||
PlayerInstance temp = _members.get(i);
|
final PlayerInstance temp = _members.get(i);
|
||||||
if (!temp.getName().equals(name))
|
if (!temp.getName().equals(name))
|
||||||
{
|
{
|
||||||
continue;
|
continue;
|
||||||
@@ -153,7 +153,7 @@ public class Party
|
|||||||
|
|
||||||
public void oustPartyMember(String name)
|
public void oustPartyMember(String name)
|
||||||
{
|
{
|
||||||
PlayerInstance player = getPlayerByName(name);
|
final PlayerInstance player = getPlayerByName(name);
|
||||||
if (player != null)
|
if (player != null)
|
||||||
{
|
{
|
||||||
if (isLeader(player))
|
if (isLeader(player))
|
||||||
@@ -169,10 +169,10 @@ public class Party
|
|||||||
|
|
||||||
private void dissolveParty()
|
private void dissolveParty()
|
||||||
{
|
{
|
||||||
SystemMessage msg = new SystemMessage(SystemMessage.PARTY_DISPERSED);
|
final SystemMessage msg = new SystemMessage(SystemMessage.PARTY_DISPERSED);
|
||||||
for (int i = 0; i < _members.size(); ++i)
|
for (int i = 0; i < _members.size(); ++i)
|
||||||
{
|
{
|
||||||
PlayerInstance temp = _members.get(i);
|
final PlayerInstance temp = _members.get(i);
|
||||||
temp.sendPacket(msg);
|
temp.sendPacket(msg);
|
||||||
temp.sendPacket(new PartySmallWindowDeleteAll());
|
temp.sendPacket(new PartySmallWindowDeleteAll());
|
||||||
temp.setParty(null);
|
temp.setParty(null);
|
||||||
@@ -206,8 +206,8 @@ public class Party
|
|||||||
smsg.addItemName(item.getItemId());
|
smsg.addItemName(item.getItemId());
|
||||||
this.broadcastToPartyMembers(target, smsg);
|
this.broadcastToPartyMembers(target, smsg);
|
||||||
}
|
}
|
||||||
ItemInstance item2 = target.getInventory().addItem(item);
|
final ItemInstance item2 = target.getInventory().addItem(item);
|
||||||
InventoryUpdate iu = new InventoryUpdate();
|
final InventoryUpdate iu = new InventoryUpdate();
|
||||||
if (item2.getLastChange() == 1)
|
if (item2.getLastChange() == 1)
|
||||||
{
|
{
|
||||||
iu.addNewItem(item);
|
iu.addNewItem(item);
|
||||||
@@ -217,20 +217,20 @@ public class Party
|
|||||||
iu.addModifiedItem(item2);
|
iu.addModifiedItem(item2);
|
||||||
}
|
}
|
||||||
target.sendPacket(iu);
|
target.sendPacket(iu);
|
||||||
UserInfo ci = new UserInfo(target);
|
final UserInfo ci = new UserInfo(target);
|
||||||
target.sendPacket(ci);
|
target.sendPacket(ci);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void distributeAdena(ItemInstance adena)
|
public void distributeAdena(ItemInstance adena)
|
||||||
{
|
{
|
||||||
adena.setCount(adena.getCount() / _members.size());
|
adena.setCount(adena.getCount() / _members.size());
|
||||||
SystemMessage smsg = new SystemMessage(SystemMessage.YOU_PICKED_UP_S1_ADENA);
|
final SystemMessage smsg = new SystemMessage(SystemMessage.YOU_PICKED_UP_S1_ADENA);
|
||||||
smsg.addNumber(adena.getCount());
|
smsg.addNumber(adena.getCount());
|
||||||
for (int i = 0; i < _members.size(); ++i)
|
for (int i = 0; i < _members.size(); ++i)
|
||||||
{
|
{
|
||||||
PlayerInstance member = _members.get(i);
|
final PlayerInstance member = _members.get(i);
|
||||||
ItemInstance item2 = member.getInventory().addItem(adena);
|
final ItemInstance item2 = member.getInventory().addItem(adena);
|
||||||
InventoryUpdate iu = new InventoryUpdate();
|
final InventoryUpdate iu = new InventoryUpdate();
|
||||||
if (item2.getLastChange() == 1)
|
if (item2.getLastChange() == 1)
|
||||||
{
|
{
|
||||||
iu.addNewItem(adena);
|
iu.addNewItem(adena);
|
||||||
@@ -247,14 +247,14 @@ public class Party
|
|||||||
public void distributeXpAndSp(int partyDmg, int maxHp, int xpReward, int spReward)
|
public void distributeXpAndSp(int partyDmg, int maxHp, int xpReward, int spReward)
|
||||||
{
|
{
|
||||||
double mul = (Math.pow(1.07, _members.size() - 1) * partyDmg) / maxHp;
|
double mul = (Math.pow(1.07, _members.size() - 1) * partyDmg) / maxHp;
|
||||||
double xpTotal = mul * xpReward;
|
final double xpTotal = mul * xpReward;
|
||||||
double spTotal = mul * spReward;
|
final double spTotal = mul * spReward;
|
||||||
for (int i = 0; i < _members.size(); ++i)
|
for (int i = 0; i < _members.size(); ++i)
|
||||||
{
|
{
|
||||||
PlayerInstance player = _members.get(i);
|
final PlayerInstance player = _members.get(i);
|
||||||
mul = ((double) player.getLevel() * (double) player.getLevel()) / _partyLvl;
|
mul = ((double) player.getLevel() * (double) player.getLevel()) / _partyLvl;
|
||||||
int xp = (int) (mul * xpTotal);
|
final int xp = (int) (mul * xpTotal);
|
||||||
int sp = (int) (mul * spTotal);
|
final int sp = (int) (mul * spTotal);
|
||||||
player.addExpAndSp(xp, sp);
|
player.addExpAndSp(xp, sp);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -264,7 +264,7 @@ public class Party
|
|||||||
int newlevel = 0;
|
int newlevel = 0;
|
||||||
for (int i = 0; i < _members.size(); ++i)
|
for (int i = 0; i < _members.size(); ++i)
|
||||||
{
|
{
|
||||||
int plLevel = _members.get(i).getLevel();
|
final int plLevel = _members.get(i).getLevel();
|
||||||
newlevel += plLevel * plLevel;
|
newlevel += plLevel * plLevel;
|
||||||
}
|
}
|
||||||
_partyLvl = newlevel;
|
_partyLvl = newlevel;
|
||||||
|
@@ -213,7 +213,7 @@ public class Potion extends WorldObject
|
|||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
Object object = _mpLock;
|
final Object object = _mpLock;
|
||||||
synchronized (object)
|
synchronized (object)
|
||||||
{
|
{
|
||||||
double nowMp = _instance.getCurrentMp();
|
double nowMp = _instance.getCurrentMp();
|
||||||
@@ -250,7 +250,7 @@ public class Potion extends WorldObject
|
|||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
Object object = _hpLock;
|
final Object object = _hpLock;
|
||||||
synchronized (object)
|
synchronized (object)
|
||||||
{
|
{
|
||||||
double nowHp = _instance.getCurrentHp();
|
double nowHp = _instance.getCurrentHp();
|
||||||
|
@@ -51,7 +51,7 @@ public class Spawn
|
|||||||
public Spawn(Npc mobTemplate) throws SecurityException, ClassNotFoundException
|
public Spawn(Npc mobTemplate) throws SecurityException, ClassNotFoundException
|
||||||
{
|
{
|
||||||
_template = mobTemplate;
|
_template = mobTemplate;
|
||||||
String implementationName = _template.getType();
|
final String implementationName = _template.getType();
|
||||||
_constructor = Class.forName("org.l2jmobius.gameserver.model.actor.instance." + implementationName + "Instance").getConstructors()[0];
|
_constructor = Class.forName("org.l2jmobius.gameserver.model.actor.instance." + implementationName + "Instance").getConstructors()[0];
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -161,7 +161,7 @@ public class Spawn
|
|||||||
if ((_scheduledCount + _currentCount) < _maximumCount)
|
if ((_scheduledCount + _currentCount) < _maximumCount)
|
||||||
{
|
{
|
||||||
++_scheduledCount;
|
++_scheduledCount;
|
||||||
SpawnTask task = new SpawnTask(npcId);
|
final SpawnTask task = new SpawnTask(npcId);
|
||||||
_spawnTimer.schedule(task, _respawnDelay);
|
_spawnTimer.schedule(task, _respawnDelay);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -179,7 +179,7 @@ public class Spawn
|
|||||||
NpcInstance mob = null;
|
NpcInstance mob = null;
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
Object[] parameters = new Object[]
|
final Object[] parameters = new Object[]
|
||||||
{
|
{
|
||||||
_template
|
_template
|
||||||
};
|
};
|
||||||
@@ -195,8 +195,8 @@ public class Spawn
|
|||||||
}
|
}
|
||||||
if (getRandomx() > 0)
|
if (getRandomx() > 0)
|
||||||
{
|
{
|
||||||
int random1 = Rnd.get(getRandomx());
|
final int random1 = Rnd.get(getRandomx());
|
||||||
int newlocx = (getLocx() + Rnd.get(getRandomx())) - random1;
|
final int newlocx = (getLocx() + Rnd.get(getRandomx())) - random1;
|
||||||
mob.setX(newlocx);
|
mob.setX(newlocx);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@@ -205,8 +205,8 @@ public class Spawn
|
|||||||
}
|
}
|
||||||
if (getRandomy() > 0)
|
if (getRandomy() > 0)
|
||||||
{
|
{
|
||||||
int random2 = Rnd.get(getRandomy());
|
final int random2 = Rnd.get(getRandomy());
|
||||||
int newlocy = (getLocy() + Rnd.get(getRandomy())) - random2;
|
final int newlocy = (getLocy() + Rnd.get(getRandomy())) - random2;
|
||||||
mob.setY(newlocy);
|
mob.setY(newlocy);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@@ -79,7 +79,7 @@ public class TradeList
|
|||||||
{
|
{
|
||||||
for (int i = 0; i < _items.size(); ++i)
|
for (int i = 0; i < _items.size(); ++i)
|
||||||
{
|
{
|
||||||
ItemInstance item = _items.get(i);
|
final ItemInstance item = _items.get(i);
|
||||||
if (item.getItemId() != itemId)
|
if (item.getItemId() != itemId)
|
||||||
{
|
{
|
||||||
continue;
|
continue;
|
||||||
@@ -93,7 +93,7 @@ public class TradeList
|
|||||||
{
|
{
|
||||||
for (int i = 0; i < _items.size(); ++i)
|
for (int i = 0; i < _items.size(); ++i)
|
||||||
{
|
{
|
||||||
ItemInstance item = _items.get(i);
|
final ItemInstance item = _items.get(i);
|
||||||
if (item.getObjectId() != ObjectId)
|
if (item.getObjectId() != ObjectId)
|
||||||
{
|
{
|
||||||
continue;
|
continue;
|
||||||
@@ -117,7 +117,7 @@ public class TradeList
|
|||||||
{
|
{
|
||||||
for (int y = 0; y < _items.size(); ++y)
|
for (int y = 0; y < _items.size(); ++y)
|
||||||
{
|
{
|
||||||
ItemInstance temp = _items.get(y);
|
final ItemInstance temp = _items.get(y);
|
||||||
if (temp.getObjectId() != objId)
|
if (temp.getObjectId() != objId)
|
||||||
{
|
{
|
||||||
continue;
|
continue;
|
||||||
@@ -136,7 +136,7 @@ public class TradeList
|
|||||||
boolean bool = false;
|
boolean bool = false;
|
||||||
for (int y = 0; y < _items.size(); ++y)
|
for (int y = 0; y < _items.size(); ++y)
|
||||||
{
|
{
|
||||||
ItemInstance temp = _items.get(y);
|
final ItemInstance temp = _items.get(y);
|
||||||
if (temp.getObjectId() != objId)
|
if (temp.getObjectId() != objId)
|
||||||
{
|
{
|
||||||
continue;
|
continue;
|
||||||
@@ -149,25 +149,25 @@ public class TradeList
|
|||||||
|
|
||||||
public void tradeItems(PlayerInstance player, PlayerInstance reciever)
|
public void tradeItems(PlayerInstance player, PlayerInstance reciever)
|
||||||
{
|
{
|
||||||
Inventory playersInv = player.getInventory();
|
final Inventory playersInv = player.getInventory();
|
||||||
Inventory recieverInv = reciever.getInventory();
|
final Inventory recieverInv = reciever.getInventory();
|
||||||
InventoryUpdate update = new InventoryUpdate();
|
InventoryUpdate update = new InventoryUpdate();
|
||||||
ItemTable itemTable = ItemTable.getInstance();
|
final ItemTable itemTable = ItemTable.getInstance();
|
||||||
for (int y = 0; y < _items.size(); ++y)
|
for (int y = 0; y < _items.size(); ++y)
|
||||||
{
|
{
|
||||||
ItemInstance temp = _items.get(y);
|
final ItemInstance temp = _items.get(y);
|
||||||
ItemInstance playerItem = playersInv.getItem(temp.getObjectId());
|
ItemInstance playerItem = playersInv.getItem(temp.getObjectId());
|
||||||
ItemInstance newitem = itemTable.createItem(playerItem.getItemId());
|
final ItemInstance newitem = itemTable.createItem(playerItem.getItemId());
|
||||||
newitem.setCount(temp.getCount());
|
newitem.setCount(temp.getCount());
|
||||||
playerItem = playersInv.destroyItem(playerItem.getObjectId(), temp.getCount());
|
playerItem = playersInv.destroyItem(playerItem.getObjectId(), temp.getCount());
|
||||||
ItemInstance recieverItem = recieverInv.addItem(newitem);
|
final ItemInstance recieverItem = recieverInv.addItem(newitem);
|
||||||
if (playerItem.getLastChange() == 2)
|
if (playerItem.getLastChange() == 2)
|
||||||
{
|
{
|
||||||
update.addModifiedItem(playerItem);
|
update.addModifiedItem(playerItem);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
World world = World.getInstance();
|
final World world = World.getInstance();
|
||||||
world.removeObject(playerItem);
|
world.removeObject(playerItem);
|
||||||
update.addRemovedItem(playerItem);
|
update.addRemovedItem(playerItem);
|
||||||
}
|
}
|
||||||
@@ -187,11 +187,11 @@ public class TradeList
|
|||||||
|
|
||||||
public void updateBuyList(PlayerInstance player, List<TradeItem> list)
|
public void updateBuyList(PlayerInstance player, List<TradeItem> list)
|
||||||
{
|
{
|
||||||
Inventory playersInv = player.getInventory();
|
final Inventory playersInv = player.getInventory();
|
||||||
for (int count = 0; count != list.size(); ++count)
|
for (int count = 0; count != list.size(); ++count)
|
||||||
{
|
{
|
||||||
TradeItem temp = list.get(count);
|
final TradeItem temp = list.get(count);
|
||||||
ItemInstance temp2 = playersInv.findItemByItemId(temp.getItemId());
|
final ItemInstance temp2 = playersInv.findItemByItemId(temp.getItemId());
|
||||||
if (temp2 == null)
|
if (temp2 == null)
|
||||||
{
|
{
|
||||||
list.remove(count);
|
list.remove(count);
|
||||||
@@ -209,11 +209,11 @@ public class TradeList
|
|||||||
|
|
||||||
public void updateSellList(PlayerInstance player, List<TradeItem> list)
|
public void updateSellList(PlayerInstance player, List<TradeItem> list)
|
||||||
{
|
{
|
||||||
Inventory playersInv = player.getInventory();
|
final Inventory playersInv = player.getInventory();
|
||||||
for (int count = 0; count != list.size(); ++count)
|
for (int count = 0; count != list.size(); ++count)
|
||||||
{
|
{
|
||||||
TradeItem temp = list.get(count);
|
final TradeItem temp = list.get(count);
|
||||||
ItemInstance temp2 = playersInv.getItem(temp.getObjectId());
|
final ItemInstance temp2 = playersInv.getItem(temp.getObjectId());
|
||||||
if (temp2 == null)
|
if (temp2 == null)
|
||||||
{
|
{
|
||||||
list.remove(count);
|
list.remove(count);
|
||||||
@@ -232,20 +232,20 @@ public class TradeList
|
|||||||
{
|
{
|
||||||
int x;
|
int x;
|
||||||
int y;
|
int y;
|
||||||
Inventory sellerInv = seller.getInventory();
|
final Inventory sellerInv = seller.getInventory();
|
||||||
Inventory buyerInv = buyer.getInventory();
|
final Inventory buyerInv = buyer.getInventory();
|
||||||
TradeItem temp2 = null;
|
TradeItem temp2 = null;
|
||||||
WorldObject sellerItem = null;
|
WorldObject sellerItem = null;
|
||||||
ItemInstance newitem = null;
|
ItemInstance newitem = null;
|
||||||
InventoryUpdate buyerupdate = new InventoryUpdate();
|
final InventoryUpdate buyerupdate = new InventoryUpdate();
|
||||||
InventoryUpdate sellerupdate = new InventoryUpdate();
|
final InventoryUpdate sellerupdate = new InventoryUpdate();
|
||||||
ItemTable itemTable = ItemTable.getInstance();
|
final ItemTable itemTable = ItemTable.getInstance();
|
||||||
int cost = 0;
|
int cost = 0;
|
||||||
List<SystemMessage> sysmsgs = new ArrayList<>();
|
final List<SystemMessage> sysmsgs = new ArrayList<>();
|
||||||
for (y = 0; y < buyerlist.size(); ++y)
|
for (y = 0; y < buyerlist.size(); ++y)
|
||||||
{
|
{
|
||||||
SystemMessage msg;
|
SystemMessage msg;
|
||||||
TradeItem buyerItem = buyerlist.get(y);
|
final TradeItem buyerItem = buyerlist.get(y);
|
||||||
for (x = 0; x < sellerlist.size(); ++x)
|
for (x = 0; x < sellerlist.size(); ++x)
|
||||||
{
|
{
|
||||||
temp2 = sellerlist.get(x);
|
temp2 = sellerlist.get(x);
|
||||||
@@ -260,13 +260,13 @@ public class TradeList
|
|||||||
{
|
{
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
int amount = buyerItem.getCount() > temp2.getCount() ? temp2.getCount() : buyerItem.getCount();
|
final int amount = buyerItem.getCount() > temp2.getCount() ? temp2.getCount() : buyerItem.getCount();
|
||||||
sellerItem = sellerInv.destroyItem(sellerItem.getObjectId(), amount);
|
sellerItem = sellerInv.destroyItem(sellerItem.getObjectId(), amount);
|
||||||
cost = buyerItem.getCount() * buyerItem.getOwnersPrice();
|
cost = buyerItem.getCount() * buyerItem.getOwnersPrice();
|
||||||
seller.addAdena(cost);
|
seller.addAdena(cost);
|
||||||
newitem = itemTable.createItem(((ItemInstance) sellerItem).getItemId());
|
newitem = itemTable.createItem(((ItemInstance) sellerItem).getItemId());
|
||||||
newitem.setCount(amount);
|
newitem.setCount(amount);
|
||||||
ItemInstance temp = buyerInv.addItem(newitem);
|
final ItemInstance temp = buyerInv.addItem(newitem);
|
||||||
if (amount == 1)
|
if (amount == 1)
|
||||||
{
|
{
|
||||||
msg = new SystemMessage(SystemMessage.S1_PURCHASED_S2);
|
msg = new SystemMessage(SystemMessage.S1_PURCHASED_S2);
|
||||||
@@ -311,7 +311,7 @@ public class TradeList
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
World world = World.getInstance();
|
final World world = World.getInstance();
|
||||||
world.removeObject(sellerItem);
|
world.removeObject(sellerItem);
|
||||||
sellerupdate.addRemovedItem((ItemInstance) sellerItem);
|
sellerupdate.addRemovedItem((ItemInstance) sellerItem);
|
||||||
}
|
}
|
||||||
|
@@ -60,7 +60,7 @@ public class Warehouse
|
|||||||
{
|
{
|
||||||
for (int i = 0; i < _items.size(); ++i)
|
for (int i = 0; i < _items.size(); ++i)
|
||||||
{
|
{
|
||||||
ItemInstance temp = _items.get(i);
|
final ItemInstance temp = _items.get(i);
|
||||||
if (temp.getItemId() != itemId)
|
if (temp.getItemId() != itemId)
|
||||||
{
|
{
|
||||||
continue;
|
continue;
|
||||||
@@ -74,7 +74,7 @@ public class Warehouse
|
|||||||
{
|
{
|
||||||
for (int i = 0; i < _items.size(); ++i)
|
for (int i = 0; i < _items.size(); ++i)
|
||||||
{
|
{
|
||||||
ItemInstance temp = _items.get(i);
|
final ItemInstance temp = _items.get(i);
|
||||||
if (temp.getObjectId() != objectId)
|
if (temp.getObjectId() != objectId)
|
||||||
{
|
{
|
||||||
continue;
|
continue;
|
||||||
@@ -86,7 +86,7 @@ public class Warehouse
|
|||||||
|
|
||||||
public ItemInstance destroyItem(int itemId, int count)
|
public ItemInstance destroyItem(int itemId, int count)
|
||||||
{
|
{
|
||||||
ItemInstance item = findItemId(itemId);
|
final ItemInstance item = findItemId(itemId);
|
||||||
if (item != null)
|
if (item != null)
|
||||||
{
|
{
|
||||||
if (item.getCount() == count)
|
if (item.getCount() == count)
|
||||||
|
@@ -82,15 +82,15 @@ public class World
|
|||||||
}
|
}
|
||||||
else if ((_allPlayers.size() != 0) && !(object instanceof PetInstance) && !(object instanceof ItemInstance))
|
else if ((_allPlayers.size() != 0) && !(object instanceof PetInstance) && !(object instanceof ItemInstance))
|
||||||
{
|
{
|
||||||
int x = object.getX();
|
final int x = object.getX();
|
||||||
int y = object.getY();
|
final int y = object.getY();
|
||||||
int sqRadius = 4000000;
|
final int sqRadius = 4000000;
|
||||||
for (PlayerInstance player : _allPlayers.values())
|
for (PlayerInstance player : _allPlayers.values())
|
||||||
{
|
{
|
||||||
long dy;
|
long dy;
|
||||||
int x1 = player.getX();
|
final int x1 = player.getX();
|
||||||
long dx = x1 - x;
|
final long dx = x1 - x;
|
||||||
long sqDist = (dx * dx) + ((dy = player.getY() - y) * dy);
|
final long sqDist = (dx * dx) + ((dy = player.getY() - y) * dy);
|
||||||
if (sqDist >= sqRadius)
|
if (sqDist >= sqRadius)
|
||||||
{
|
{
|
||||||
continue;
|
continue;
|
||||||
@@ -107,7 +107,7 @@ public class World
|
|||||||
_visibleObjects.remove(object.getObjectId());
|
_visibleObjects.remove(object.getObjectId());
|
||||||
for (Object element : object.getKnownObjects())
|
for (Object element : object.getKnownObjects())
|
||||||
{
|
{
|
||||||
WorldObject temp1 = (WorldObject) element;
|
final WorldObject temp1 = (WorldObject) element;
|
||||||
temp1.removeKnownObject(object);
|
temp1.removeKnownObject(object);
|
||||||
object.removeKnownObject(temp1);
|
object.removeKnownObject(temp1);
|
||||||
}
|
}
|
||||||
@@ -123,9 +123,9 @@ public class World
|
|||||||
|
|
||||||
public Collection<WorldObject> getVisibleObjects(WorldObject object, int radius)
|
public Collection<WorldObject> getVisibleObjects(WorldObject object, int radius)
|
||||||
{
|
{
|
||||||
int x = object.getX();
|
final int x = object.getX();
|
||||||
int y = object.getY();
|
final int y = object.getY();
|
||||||
List<WorldObject> result = new ArrayList<>();
|
final List<WorldObject> result = new ArrayList<>();
|
||||||
for (WorldObject worldObject : _visibleObjects.values())
|
for (WorldObject worldObject : _visibleObjects.values())
|
||||||
{
|
{
|
||||||
if ((worldObject == null) || worldObject.equals(object) || (Math.sqrt(Math.pow(x - worldObject.getX(), 2) + Math.pow(y - worldObject.getY(), 2)) > radius))
|
if ((worldObject == null) || worldObject.equals(object) || (Math.sqrt(Math.pow(x - worldObject.getX(), 2) + Math.pow(y - worldObject.getY(), 2)) > radius))
|
||||||
|
@@ -88,7 +88,7 @@ public class Attackable extends NpcInstance
|
|||||||
{
|
{
|
||||||
if (_active)
|
if (_active)
|
||||||
{
|
{
|
||||||
int wait = (10 + Rnd.get(120)) * 1000;
|
final int wait = (10 + Rnd.get(120)) * 1000;
|
||||||
_currentAiTask = new AITask(this);
|
_currentAiTask = new AITask(this);
|
||||||
_aiTimer.schedule(_currentAiTask, wait);
|
_aiTimer.schedule(_currentAiTask, wait);
|
||||||
}
|
}
|
||||||
@@ -97,7 +97,7 @@ public class Attackable extends NpcInstance
|
|||||||
protected void startRandomWalking()
|
protected void startRandomWalking()
|
||||||
{
|
{
|
||||||
_currentAiTask = new AITask(this);
|
_currentAiTask = new AITask(this);
|
||||||
int wait = (10 + Rnd.get(120)) * 1000;
|
final int wait = (10 + Rnd.get(120)) * 1000;
|
||||||
_aiTimer.schedule(_currentAiTask, wait);
|
_aiTimer.schedule(_currentAiTask, wait);
|
||||||
setCurrentState(CreatureState.RANDOM_WALK);
|
setCurrentState(CreatureState.RANDOM_WALK);
|
||||||
}
|
}
|
||||||
@@ -161,7 +161,7 @@ public class Attackable extends NpcInstance
|
|||||||
}
|
}
|
||||||
else if (isDead())
|
else if (isDead())
|
||||||
{
|
{
|
||||||
Attackable Attackable = this;
|
final Attackable Attackable = this;
|
||||||
synchronized (Attackable)
|
synchronized (Attackable)
|
||||||
{
|
{
|
||||||
if (!_killedAlready)
|
if (!_killedAlready)
|
||||||
@@ -185,12 +185,12 @@ public class Attackable extends NpcInstance
|
|||||||
{
|
{
|
||||||
// TODO: Figure iterator logic and replace with for, if possible.
|
// TODO: Figure iterator logic and replace with for, if possible.
|
||||||
Iterator<WorldObject> it = _aggroList.keySet().iterator();
|
Iterator<WorldObject> it = _aggroList.keySet().iterator();
|
||||||
int npcID = getNpcTemplate().getNpcId();
|
final int npcID = getNpcTemplate().getNpcId();
|
||||||
while (it.hasNext())
|
while (it.hasNext())
|
||||||
{
|
{
|
||||||
PlayerInstance temp;
|
PlayerInstance temp;
|
||||||
Creature attacker = (Creature) it.next();
|
final Creature attacker = (Creature) it.next();
|
||||||
Integer value = _aggroList.get(attacker);
|
final Integer value = _aggroList.get(attacker);
|
||||||
Party attackerParty = null;
|
Party attackerParty = null;
|
||||||
if ((attacker instanceof PlayerInstance) && (temp = (PlayerInstance) attacker).isInParty())
|
if ((attacker instanceof PlayerInstance) && (temp = (PlayerInstance) attacker).isInParty())
|
||||||
{
|
{
|
||||||
@@ -240,10 +240,10 @@ public class Attackable extends NpcInstance
|
|||||||
int partyDmg = 0;
|
int partyDmg = 0;
|
||||||
if (attackerParty != null)
|
if (attackerParty != null)
|
||||||
{
|
{
|
||||||
List<PlayerInstance> members = attackerParty.getPartyMembers();
|
final List<PlayerInstance> members = attackerParty.getPartyMembers();
|
||||||
for (int i = 0; i < members.size(); ++i)
|
for (int i = 0; i < members.size(); ++i)
|
||||||
{
|
{
|
||||||
PlayerInstance tmp = members.get(i);
|
final PlayerInstance tmp = members.get(i);
|
||||||
if (!_aggroList.containsKey(tmp))
|
if (!_aggroList.containsKey(tmp))
|
||||||
{
|
{
|
||||||
continue;
|
continue;
|
||||||
@@ -265,7 +265,7 @@ public class Attackable extends NpcInstance
|
|||||||
private void calculateAggro(int damage, Creature attacker)
|
private void calculateAggro(int damage, Creature attacker)
|
||||||
{
|
{
|
||||||
int newAggro = damage;
|
int newAggro = damage;
|
||||||
Integer aggroValue = _aggroList.get(attacker);
|
final Integer aggroValue = _aggroList.get(attacker);
|
||||||
if (aggroValue != null)
|
if (aggroValue != null)
|
||||||
{
|
{
|
||||||
newAggro += aggroValue.intValue();
|
newAggro += aggroValue.intValue();
|
||||||
@@ -289,9 +289,9 @@ public class Attackable extends NpcInstance
|
|||||||
{
|
{
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
ItemInstance dropit = ItemTable.getInstance().createItem(drop.getItemId());
|
final ItemInstance dropit = ItemTable.getInstance().createItem(drop.getItemId());
|
||||||
int min = drop.getMinDrop();
|
final int min = drop.getMinDrop();
|
||||||
int max = drop.getMaxDrop();
|
final int max = drop.getMaxDrop();
|
||||||
int itemCount = 0;
|
int itemCount = 0;
|
||||||
itemCount = min < max ? Rnd.get(max - min) + min : 1;
|
itemCount = min < max ? Rnd.get(max - min) + min : 1;
|
||||||
if (dropit.getItemId() == 57)
|
if (dropit.getItemId() == 57)
|
||||||
@@ -305,7 +305,7 @@ public class Attackable extends NpcInstance
|
|||||||
dropit.setY(getY());
|
dropit.setY(getY());
|
||||||
dropit.setZ(getZ() + 100);
|
dropit.setZ(getZ() + 100);
|
||||||
dropit.setOnTheGround(true);
|
dropit.setOnTheGround(true);
|
||||||
DropItem dis = new DropItem(dropit, getObjectId());
|
final DropItem dis = new DropItem(dropit, getObjectId());
|
||||||
for (Creature player : broadcastPacket(dis))
|
for (Creature player : broadcastPacket(dis))
|
||||||
{
|
{
|
||||||
((PlayerInstance) player).addKnownObjectWithoutCreate(dropit);
|
((PlayerInstance) player).addKnownObjectWithoutCreate(dropit);
|
||||||
@@ -357,7 +357,7 @@ public class Attackable extends NpcInstance
|
|||||||
super.setPhysicalAttack(physicalAttack);
|
super.setPhysicalAttack(physicalAttack);
|
||||||
_dummyWeapon = new Weapon();
|
_dummyWeapon = new Weapon();
|
||||||
_dummyWeapon.setPDamage(physicalAttack);
|
_dummyWeapon.setPDamage(physicalAttack);
|
||||||
int randDmg = getLevel();
|
final int randDmg = getLevel();
|
||||||
_dummyWeapon.setRandomDamage(randDmg);
|
_dummyWeapon.setRandomDamage(randDmg);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -457,8 +457,8 @@ public class Attackable extends NpcInstance
|
|||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
int x1 = (getX() + Rnd.get(500)) - 250;
|
final int x1 = (getX() + Rnd.get(500)) - 250;
|
||||||
int y1 = (getY() + Rnd.get(500)) - 250;
|
final int y1 = (getY() + Rnd.get(500)) - 250;
|
||||||
moveTo(x1, y1, getZ(), 0);
|
moveTo(x1, y1, getZ(), 0);
|
||||||
}
|
}
|
||||||
catch (Exception e)
|
catch (Exception e)
|
||||||
|
@@ -201,9 +201,9 @@ public abstract class Creature extends WorldObject
|
|||||||
{
|
{
|
||||||
return super.getX();
|
return super.getX();
|
||||||
}
|
}
|
||||||
long elapsed = System.currentTimeMillis() - _moveStartTime;
|
final long elapsed = System.currentTimeMillis() - _moveStartTime;
|
||||||
int diff = (int) (elapsed * _xAddition);
|
final int diff = (int) (elapsed * _xAddition);
|
||||||
int remain = Math.abs(getXdestination() - super.getX()) - Math.abs(diff);
|
final int remain = Math.abs(getXdestination() - super.getX()) - Math.abs(diff);
|
||||||
if (remain > 0)
|
if (remain > 0)
|
||||||
{
|
{
|
||||||
return super.getX() + diff;
|
return super.getX() + diff;
|
||||||
@@ -218,9 +218,9 @@ public abstract class Creature extends WorldObject
|
|||||||
{
|
{
|
||||||
return super.getY();
|
return super.getY();
|
||||||
}
|
}
|
||||||
long elapsed = System.currentTimeMillis() - _moveStartTime;
|
final long elapsed = System.currentTimeMillis() - _moveStartTime;
|
||||||
int diff = (int) (elapsed * _yAddition);
|
final int diff = (int) (elapsed * _yAddition);
|
||||||
int remain = Math.abs(getYdestination() - super.getY()) - Math.abs(diff);
|
final int remain = Math.abs(getYdestination() - super.getY()) - Math.abs(diff);
|
||||||
if (remain > 0)
|
if (remain > 0)
|
||||||
{
|
{
|
||||||
return super.getY() + diff;
|
return super.getY() + diff;
|
||||||
@@ -392,22 +392,22 @@ public abstract class Creature extends WorldObject
|
|||||||
|
|
||||||
public void broadcastStatusUpdate()
|
public void broadcastStatusUpdate()
|
||||||
{
|
{
|
||||||
List<Creature> list = getStatusListener();
|
final List<Creature> list = getStatusListener();
|
||||||
if (list.isEmpty())
|
if (list.isEmpty())
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
StatusUpdate su = new StatusUpdate(getObjectId());
|
final StatusUpdate su = new StatusUpdate(getObjectId());
|
||||||
su.addAttribute(StatusUpdate.CUR_HP, (int) getCurrentHp());
|
su.addAttribute(StatusUpdate.CUR_HP, (int) getCurrentHp());
|
||||||
su.addAttribute(StatusUpdate.CUR_MP, (int) getCurrentMp());
|
su.addAttribute(StatusUpdate.CUR_MP, (int) getCurrentMp());
|
||||||
for (int i = 0; i < list.size(); ++i)
|
for (int i = 0; i < list.size(); ++i)
|
||||||
{
|
{
|
||||||
Creature temp = list.get(i);
|
final Creature temp = list.get(i);
|
||||||
if (!(temp instanceof PlayerInstance))
|
if (!(temp instanceof PlayerInstance))
|
||||||
{
|
{
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
PlayerInstance player = (PlayerInstance) temp;
|
final PlayerInstance player = (PlayerInstance) temp;
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
player.sendPacket(su);
|
player.sendPacket(su);
|
||||||
@@ -508,11 +508,11 @@ public abstract class Creature extends WorldObject
|
|||||||
public void increaseLevel()
|
public void increaseLevel()
|
||||||
{
|
{
|
||||||
++_level;
|
++_level;
|
||||||
StatusUpdate su = new StatusUpdate(getObjectId());
|
final StatusUpdate su = new StatusUpdate(getObjectId());
|
||||||
su.addAttribute(StatusUpdate.LEVEL, _level);
|
su.addAttribute(StatusUpdate.LEVEL, _level);
|
||||||
sendPacket(su);
|
sendPacket(su);
|
||||||
sendPacket(new SystemMessage(SystemMessage.YOU_INCREASED_YOUR_LEVEL));
|
sendPacket(new SystemMessage(SystemMessage.YOU_INCREASED_YOUR_LEVEL));
|
||||||
SocialAction sa = new SocialAction(getObjectId(), 15);
|
final SocialAction sa = new SocialAction(getObjectId(), 15);
|
||||||
broadcastPacket(sa);
|
broadcastPacket(sa);
|
||||||
sendPacket(sa);
|
sendPacket(sa);
|
||||||
}
|
}
|
||||||
@@ -520,7 +520,7 @@ public abstract class Creature extends WorldObject
|
|||||||
public void decreaseLevel()
|
public void decreaseLevel()
|
||||||
{
|
{
|
||||||
--_level;
|
--_level;
|
||||||
StatusUpdate su = new StatusUpdate(getObjectId());
|
final StatusUpdate su = new StatusUpdate(getObjectId());
|
||||||
su.addAttribute(StatusUpdate.LEVEL, _level);
|
su.addAttribute(StatusUpdate.LEVEL, _level);
|
||||||
sendPacket(su);
|
sendPacket(su);
|
||||||
}
|
}
|
||||||
@@ -779,7 +779,7 @@ public abstract class Creature extends WorldObject
|
|||||||
|
|
||||||
public void reduceCurrentMp(int i)
|
public void reduceCurrentMp(int i)
|
||||||
{
|
{
|
||||||
Object object = _mpLock;
|
final Object object = _mpLock;
|
||||||
synchronized (object)
|
synchronized (object)
|
||||||
{
|
{
|
||||||
_currentMp -= i;
|
_currentMp -= i;
|
||||||
@@ -818,8 +818,8 @@ public abstract class Creature extends WorldObject
|
|||||||
{
|
{
|
||||||
_currentMoveTask.cancel();
|
_currentMoveTask.cancel();
|
||||||
}
|
}
|
||||||
StopMove stop = new StopMove(this);
|
final StopMove stop = new StopMove(this);
|
||||||
Die die = new Die(this);
|
final Die die = new Die(this);
|
||||||
broadcastPacket(stop);
|
broadcastPacket(stop);
|
||||||
sendPacket(stop);
|
sendPacket(stop);
|
||||||
broadcastPacket(die);
|
broadcastPacket(die);
|
||||||
@@ -836,7 +836,7 @@ public abstract class Creature extends WorldObject
|
|||||||
public void moveTo(int x, int y, int z, int offset)
|
public void moveTo(int x, int y, int z, int offset)
|
||||||
{
|
{
|
||||||
_moveOffset = offset;
|
_moveOffset = offset;
|
||||||
double distance = getDistance(x, y);
|
final double distance = getDistance(x, y);
|
||||||
if ((distance > 0.0) || (offset > 0))
|
if ((distance > 0.0) || (offset > 0))
|
||||||
{
|
{
|
||||||
if (offset == 0)
|
if (offset == 0)
|
||||||
@@ -847,7 +847,7 @@ public abstract class Creature extends WorldObject
|
|||||||
setPawnTarget(null);
|
setPawnTarget(null);
|
||||||
}
|
}
|
||||||
calculateMovement(x, y, z, distance);
|
calculateMovement(x, y, z, distance);
|
||||||
CharMoveToLocation mov = new CharMoveToLocation(this);
|
final CharMoveToLocation mov = new CharMoveToLocation(this);
|
||||||
if (getCurrentState() == CreatureState.CASTING)
|
if (getCurrentState() == CreatureState.CASTING)
|
||||||
{
|
{
|
||||||
setCurrentState(CreatureState.IDLE);
|
setCurrentState(CreatureState.IDLE);
|
||||||
@@ -869,7 +869,7 @@ public abstract class Creature extends WorldObject
|
|||||||
setPawnTarget((Creature) getTarget());
|
setPawnTarget((Creature) getTarget());
|
||||||
setPawnOffset(offset);
|
setPawnOffset(offset);
|
||||||
calculateMovement(x, y, z, distance);
|
calculateMovement(x, y, z, distance);
|
||||||
MoveToPawn mov = new MoveToPawn(this, getTarget(), offset);
|
final MoveToPawn mov = new MoveToPawn(this, getTarget(), offset);
|
||||||
broadcastPacket(mov);
|
broadcastPacket(mov);
|
||||||
sendPacket(mov);
|
sendPacket(mov);
|
||||||
return;
|
return;
|
||||||
@@ -893,7 +893,7 @@ public abstract class Creature extends WorldObject
|
|||||||
}
|
}
|
||||||
if ((getPawnTarget() != null) && (distance <= getAttackRange()) && (getCurrentState() == CreatureState.FOLLOW))
|
if ((getPawnTarget() != null) && (distance <= getAttackRange()) && (getCurrentState() == CreatureState.FOLLOW))
|
||||||
{
|
{
|
||||||
ArriveTask newMoveTask = new ArriveTask(this);
|
final ArriveTask newMoveTask = new ArriveTask(this);
|
||||||
_moveTimer.schedule(newMoveTask, 3000L);
|
_moveTimer.schedule(newMoveTask, 3000L);
|
||||||
_currentMoveTask = newMoveTask;
|
_currentMoveTask = newMoveTask;
|
||||||
return;
|
return;
|
||||||
@@ -910,13 +910,13 @@ public abstract class Creature extends WorldObject
|
|||||||
{
|
{
|
||||||
distance -= _moveOffset - 5;
|
distance -= _moveOffset - 5;
|
||||||
}
|
}
|
||||||
double angle = Math.atan2(-dy, -dx);
|
final double angle = Math.atan2(-dy, -dx);
|
||||||
dy = (int) (-(Math.sin(angle) * distance));
|
dy = (int) (-(Math.sin(angle) * distance));
|
||||||
dx = (int) (-(Math.cos(angle) * distance));
|
dx = (int) (-(Math.cos(angle) * distance));
|
||||||
}
|
}
|
||||||
if ((distance > 0.0) || (getPawnTarget() != null))
|
if ((distance > 0.0) || (getPawnTarget() != null))
|
||||||
{
|
{
|
||||||
float speed = _effectiveSpeed;
|
final float speed = _effectiveSpeed;
|
||||||
if (speed == 0.0f)
|
if (speed == 0.0f)
|
||||||
{
|
{
|
||||||
_log.warning("speed is 0 for Character oid:" + getObjectId() + " movement canceld");
|
_log.warning("speed is 0 for Character oid:" + getObjectId() + " movement canceld");
|
||||||
@@ -927,8 +927,8 @@ public abstract class Creature extends WorldObject
|
|||||||
_yAddition = ((dy / distance) * speed) / 1000.0;
|
_yAddition = ((dy / distance) * speed) / 1000.0;
|
||||||
int heading = (int) (Math.atan2(-dy, -dx) * 10430.378350470453);
|
int heading = (int) (Math.atan2(-dy, -dx) * 10430.378350470453);
|
||||||
setHeading(heading += 32768);
|
setHeading(heading += 32768);
|
||||||
int destinationX = getX() + (int) (_xAddition * _timeToTarget);
|
final int destinationX = getX() + (int) (_xAddition * _timeToTarget);
|
||||||
int destinationY = getY() + (int) (_yAddition * _timeToTarget);
|
final int destinationY = getY() + (int) (_yAddition * _timeToTarget);
|
||||||
setXdestination(destinationX);
|
setXdestination(destinationX);
|
||||||
setYdestination(destinationY);
|
setYdestination(destinationY);
|
||||||
setZdestination(z);
|
setZdestination(z);
|
||||||
@@ -937,7 +937,7 @@ public abstract class Creature extends WorldObject
|
|||||||
{
|
{
|
||||||
_timeToTarget = 0L;
|
_timeToTarget = 0L;
|
||||||
}
|
}
|
||||||
ArriveTask newMoveTask = new ArriveTask(this);
|
final ArriveTask newMoveTask = new ArriveTask(this);
|
||||||
if (getPawnTarget() != null)
|
if (getPawnTarget() != null)
|
||||||
{
|
{
|
||||||
if (getCurrentState() == CreatureState.INTERACT)
|
if (getCurrentState() == CreatureState.INTERACT)
|
||||||
@@ -994,15 +994,15 @@ public abstract class Creature extends WorldObject
|
|||||||
|
|
||||||
public double getDistance(int x, int y)
|
public double getDistance(int x, int y)
|
||||||
{
|
{
|
||||||
long dx = x - getX();
|
final long dx = x - getX();
|
||||||
long dy = y - getY();
|
final long dy = y - getY();
|
||||||
double distance = Math.sqrt((dx * dx) + (dy * dy));
|
final double distance = Math.sqrt((dx * dx) + (dy * dy));
|
||||||
return distance;
|
return distance;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Collection<PlayerInstance> broadcastPacket(ServerBasePacket mov)
|
public Collection<PlayerInstance> broadcastPacket(ServerBasePacket mov)
|
||||||
{
|
{
|
||||||
Set<PlayerInstance> nearby = getKnownPlayers();
|
final Set<PlayerInstance> nearby = getKnownPlayers();
|
||||||
for (Creature player : nearby)
|
for (Creature player : nearby)
|
||||||
{
|
{
|
||||||
player.sendPacket(mov);
|
player.sendPacket(mov);
|
||||||
@@ -1018,10 +1018,10 @@ public abstract class Creature extends WorldObject
|
|||||||
{
|
{
|
||||||
if (getPawnTarget() != null)
|
if (getPawnTarget() != null)
|
||||||
{
|
{
|
||||||
int x = getPawnTarget().getX();
|
final int x = getPawnTarget().getX();
|
||||||
int y = getPawnTarget().getY();
|
final int y = getPawnTarget().getY();
|
||||||
int z = getPawnTarget().getZ();
|
final int z = getPawnTarget().getZ();
|
||||||
double distance = getDistance(x, y);
|
final double distance = getDistance(x, y);
|
||||||
if (getCurrentState() == CreatureState.FOLLOW)
|
if (getCurrentState() == CreatureState.FOLLOW)
|
||||||
{
|
{
|
||||||
calculateMovement(x, y, z, distance);
|
calculateMovement(x, y, z, distance);
|
||||||
@@ -1059,7 +1059,7 @@ public abstract class Creature extends WorldObject
|
|||||||
setto = new SetToLocation(this);
|
setto = new SetToLocation(this);
|
||||||
broadcastPacket(setto);
|
broadcastPacket(setto);
|
||||||
}
|
}
|
||||||
FinishRotation fr = new FinishRotation(this);
|
final FinishRotation fr = new FinishRotation(this);
|
||||||
broadcastPacket(fr);
|
broadcastPacket(fr);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1084,12 +1084,12 @@ public abstract class Creature extends WorldObject
|
|||||||
private void onAttackTimer()
|
private void onAttackTimer()
|
||||||
{
|
{
|
||||||
_currentAttackTask = null;
|
_currentAttackTask = null;
|
||||||
Creature target = (Creature) _attackTarget;
|
final Creature target = (Creature) _attackTarget;
|
||||||
if (isDead() || (target == null) || target.isDead() || ((getCurrentState() != CreatureState.ATTACKING) && (getCurrentState() != CreatureState.CASTING)) || !target.knownsObject(this) || !knownsObject(target))
|
if (isDead() || (target == null) || target.isDead() || ((getCurrentState() != CreatureState.ATTACKING) && (getCurrentState() != CreatureState.CASTING)) || !target.knownsObject(this) || !knownsObject(target))
|
||||||
{
|
{
|
||||||
setInCombat(false);
|
setInCombat(false);
|
||||||
setCurrentState(CreatureState.IDLE);
|
setCurrentState(CreatureState.IDLE);
|
||||||
ActionFailed af = new ActionFailed();
|
final ActionFailed af = new ActionFailed();
|
||||||
sendPacket(af);
|
sendPacket(af);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -1097,12 +1097,12 @@ public abstract class Creature extends WorldObject
|
|||||||
{
|
{
|
||||||
setInCombat(false);
|
setInCombat(false);
|
||||||
setCurrentState(CreatureState.IDLE);
|
setCurrentState(CreatureState.IDLE);
|
||||||
ActionFailed af = new ActionFailed();
|
final ActionFailed af = new ActionFailed();
|
||||||
sendPacket(af);
|
sendPacket(af);
|
||||||
sendPacket(new SystemMessage(SystemMessage.NOT_ENOUGH_ARROWS));
|
sendPacket(new SystemMessage(SystemMessage.NOT_ENOUGH_ARROWS));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
double distance = getDistance(target.getX(), target.getY());
|
final double distance = getDistance(target.getX(), target.getY());
|
||||||
if (distance > getAttackRange())
|
if (distance > getAttackRange())
|
||||||
{
|
{
|
||||||
moveTo(_attackTarget.getX(), _attackTarget.getY(), _attackTarget.getZ(), getAttackRange());
|
moveTo(_attackTarget.getX(), _attackTarget.getY(), _attackTarget.getZ(), getAttackRange());
|
||||||
@@ -1110,24 +1110,24 @@ public abstract class Creature extends WorldObject
|
|||||||
}
|
}
|
||||||
if ((getCurrentState() == CreatureState.ATTACKING) && !_currentlyAttacking)
|
if ((getCurrentState() == CreatureState.ATTACKING) && !_currentlyAttacking)
|
||||||
{
|
{
|
||||||
Weapon weaponItem = getActiveWeapon();
|
final Weapon weaponItem = getActiveWeapon();
|
||||||
if (weaponItem == null)
|
if (weaponItem == null)
|
||||||
{
|
{
|
||||||
setInCombat(false);
|
setInCombat(false);
|
||||||
setCurrentState(CreatureState.IDLE);
|
setCurrentState(CreatureState.IDLE);
|
||||||
ActionFailed af = new ActionFailed();
|
final ActionFailed af = new ActionFailed();
|
||||||
sendPacket(af);
|
sendPacket(af);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (!_currentlyAttacking)
|
if (!_currentlyAttacking)
|
||||||
{
|
{
|
||||||
_currentlyAttacking = true;
|
_currentlyAttacking = true;
|
||||||
int baseDamage = weaponItem.getPDamage();
|
final int baseDamage = weaponItem.getPDamage();
|
||||||
int randomDamage = weaponItem.getRandomDamage();
|
final int randomDamage = weaponItem.getRandomDamage();
|
||||||
int damage = 0;
|
int damage = 0;
|
||||||
boolean crit = false;
|
boolean crit = false;
|
||||||
// int hitTarget = Creature.getRnd().nextInt(100);
|
// int hitTarget = Creature.getRnd().nextInt(100);
|
||||||
boolean miss = false;
|
final boolean miss = false;
|
||||||
boolean soulShotUse = false;
|
boolean soulShotUse = false;
|
||||||
if (!miss)
|
if (!miss)
|
||||||
{
|
{
|
||||||
@@ -1145,7 +1145,7 @@ public abstract class Creature extends WorldObject
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
damage = ((baseDamage + Rnd.get(randomDamage)) * 70) / pDef;
|
damage = ((baseDamage + Rnd.get(randomDamage)) * 70) / pDef;
|
||||||
int critHit = Rnd.get(100);
|
final int critHit = Rnd.get(100);
|
||||||
crit = getCriticalHit() > critHit;
|
crit = getCriticalHit() > critHit;
|
||||||
if (crit)
|
if (crit)
|
||||||
{
|
{
|
||||||
@@ -1173,13 +1173,13 @@ public abstract class Creature extends WorldObject
|
|||||||
sendPacket(new SystemMessage(SystemMessage.NOT_ENOUGH_MP));
|
sendPacket(new SystemMessage(SystemMessage.NOT_ENOUGH_MP));
|
||||||
setInCombat(false);
|
setInCombat(false);
|
||||||
setCurrentState(CreatureState.IDLE);
|
setCurrentState(CreatureState.IDLE);
|
||||||
ActionFailed af = new ActionFailed();
|
final ActionFailed af = new ActionFailed();
|
||||||
sendPacket(af);
|
sendPacket(af);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
reduceCurrentMp(weaponItem.getMpConsume());
|
reduceCurrentMp(weaponItem.getMpConsume());
|
||||||
sendPacket(new SystemMessage(SystemMessage.GETTING_READY_TO_SHOOT_AN_ARROW));
|
sendPacket(new SystemMessage(SystemMessage.GETTING_READY_TO_SHOOT_AN_ARROW));
|
||||||
SetupGauge sg = new SetupGauge(1, calculateAttackSpeed(weaponItem) * 2);
|
final SetupGauge sg = new SetupGauge(1, calculateAttackSpeed(weaponItem) * 2);
|
||||||
sendPacket(sg);
|
sendPacket(sg);
|
||||||
_hitTimer.schedule(new HitTask(this, target, damage, crit, miss, false), calculateHitSpeed(weaponItem, 1));
|
_hitTimer.schedule(new HitTask(this, target, damage, crit, miss, false), calculateHitSpeed(weaponItem, 1));
|
||||||
}
|
}
|
||||||
@@ -1187,7 +1187,7 @@ public abstract class Creature extends WorldObject
|
|||||||
{
|
{
|
||||||
_hitTimer.schedule(new HitTask(this, target, damage, crit, miss, false), calculateHitSpeed(weaponItem, 1));
|
_hitTimer.schedule(new HitTask(this, target, damage, crit, miss, false), calculateHitSpeed(weaponItem, 1));
|
||||||
}
|
}
|
||||||
Attack attack = new Attack(getObjectId(), _attackTarget.getObjectId(), damage, miss, crit, soulShotUse, getX(), getY(), getZ());
|
final Attack attack = new Attack(getObjectId(), _attackTarget.getObjectId(), damage, miss, crit, soulShotUse, getX(), getY(), getZ());
|
||||||
setActiveSoulshotGrade(0);
|
setActiveSoulshotGrade(0);
|
||||||
broadcastPacket(attack);
|
broadcastPacket(attack);
|
||||||
sendPacket(attack);
|
sendPacket(attack);
|
||||||
@@ -1213,7 +1213,7 @@ public abstract class Creature extends WorldObject
|
|||||||
setInCombat(false);
|
setInCombat(false);
|
||||||
setTarget(null);
|
setTarget(null);
|
||||||
setCurrentState(CreatureState.IDLE);
|
setCurrentState(CreatureState.IDLE);
|
||||||
ActionFailed af = new ActionFailed();
|
final ActionFailed af = new ActionFailed();
|
||||||
sendPacket(af);
|
sendPacket(af);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -1292,7 +1292,7 @@ public abstract class Creature extends WorldObject
|
|||||||
{
|
{
|
||||||
setInCombat(false);
|
setInCombat(false);
|
||||||
setCurrentState(CreatureState.IDLE);
|
setCurrentState(CreatureState.IDLE);
|
||||||
ActionFailed af = new ActionFailed();
|
final ActionFailed af = new ActionFailed();
|
||||||
sendPacket(af);
|
sendPacket(af);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -1421,7 +1421,7 @@ public abstract class Creature extends WorldObject
|
|||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
Object object = _mpLock;
|
final Object object = _mpLock;
|
||||||
synchronized (object)
|
synchronized (object)
|
||||||
{
|
{
|
||||||
double nowMp = _instance.getCurrentMp();
|
double nowMp = _instance.getCurrentMp();
|
||||||
|
@@ -40,15 +40,15 @@ public class ClassMasterInstance extends NpcInstance
|
|||||||
{
|
{
|
||||||
player.setCurrentState(CreatureState.IDLE);
|
player.setCurrentState(CreatureState.IDLE);
|
||||||
player.setTarget(this);
|
player.setTarget(this);
|
||||||
MyTargetSelected my = new MyTargetSelected(getObjectId(), player.getLevel() - getLevel());
|
final MyTargetSelected my = new MyTargetSelected(getObjectId(), player.getLevel() - getLevel());
|
||||||
player.sendPacket(my);
|
player.sendPacket(my);
|
||||||
player.sendPacket(new SetToLocation(this));
|
player.sendPacket(new SetToLocation(this));
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
int classId = player.getClassId();
|
final int classId = player.getClassId();
|
||||||
int jobLevel = 0;
|
int jobLevel = 0;
|
||||||
int level = player.getLevel();
|
final int level = player.getLevel();
|
||||||
switch (classId)
|
switch (classId)
|
||||||
{
|
{
|
||||||
case 0:
|
case 0:
|
||||||
@@ -97,7 +97,7 @@ public class ClassMasterInstance extends NpcInstance
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
NpcHtmlMessage html = new NpcHtmlMessage(1);
|
final NpcHtmlMessage html = new NpcHtmlMessage(1);
|
||||||
switch (jobLevel)
|
switch (jobLevel)
|
||||||
{
|
{
|
||||||
case 1:
|
case 1:
|
||||||
@@ -132,7 +132,7 @@ public class ClassMasterInstance extends NpcInstance
|
|||||||
{
|
{
|
||||||
if (command.startsWith("change_class"))
|
if (command.startsWith("change_class"))
|
||||||
{
|
{
|
||||||
int val = Integer.parseInt(command.substring(13));
|
final int val = Integer.parseInt(command.substring(13));
|
||||||
changeClass(player, val);
|
changeClass(player, val);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@@ -144,9 +144,9 @@ public class ClassMasterInstance extends NpcInstance
|
|||||||
private void changeClass(PlayerInstance player, int val)
|
private void changeClass(PlayerInstance player, int val)
|
||||||
{
|
{
|
||||||
player.setClassId(val);
|
player.setClassId(val);
|
||||||
UserInfo ui = new UserInfo(player);
|
final UserInfo ui = new UserInfo(player);
|
||||||
player.sendPacket(ui);
|
player.sendPacket(ui);
|
||||||
CharInfo info = new CharInfo(player);
|
final CharInfo info = new CharInfo(player);
|
||||||
player.broadcastPacket(info);
|
player.broadcastPacket(info);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -105,7 +105,7 @@ public class GuardInstance extends Attackable
|
|||||||
{
|
{
|
||||||
player.setCurrentState(CreatureState.IDLE);
|
player.setCurrentState(CreatureState.IDLE);
|
||||||
player.setTarget(this);
|
player.setTarget(this);
|
||||||
MyTargetSelected my = new MyTargetSelected(getObjectId(), 0);
|
final MyTargetSelected my = new MyTargetSelected(getObjectId(), 0);
|
||||||
player.sendPacket(my);
|
player.sendPacket(my);
|
||||||
player.sendPacket(new SetToLocation(this));
|
player.sendPacket(new SetToLocation(this));
|
||||||
}
|
}
|
||||||
@@ -115,7 +115,7 @@ public class GuardInstance extends Attackable
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
double distance = getDistance(player.getX(), player.getY());
|
final double distance = getDistance(player.getX(), player.getY());
|
||||||
if (distance > INTERACTION_DISTANCE)
|
if (distance > INTERACTION_DISTANCE)
|
||||||
{
|
{
|
||||||
player.setCurrentState(CreatureState.INTERACT);
|
player.setCurrentState(CreatureState.INTERACT);
|
||||||
|
@@ -51,10 +51,10 @@ public class MerchantInstance extends NpcInstance
|
|||||||
|
|
||||||
private void showBuyWindow(PlayerInstance player, int val)
|
private void showBuyWindow(PlayerInstance player, int val)
|
||||||
{
|
{
|
||||||
TradeList list = TradeController.getInstance().getBuyList(val);
|
final TradeList list = TradeController.getInstance().getBuyList(val);
|
||||||
if (list != null)
|
if (list != null)
|
||||||
{
|
{
|
||||||
BuyList bl = new BuyList(list, player.getAdena());
|
final BuyList bl = new BuyList(list, player.getAdena());
|
||||||
player.sendPacket(bl);
|
player.sendPacket(bl);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@@ -66,7 +66,7 @@ public class MerchantInstance extends NpcInstance
|
|||||||
|
|
||||||
private void showSellWindow(PlayerInstance player)
|
private void showSellWindow(PlayerInstance player)
|
||||||
{
|
{
|
||||||
SellList sl = new SellList(player);
|
final SellList sl = new SellList(player);
|
||||||
player.sendPacket(sl);
|
player.sendPacket(sl);
|
||||||
player.sendPacket(new ActionFailed());
|
player.sendPacket(new ActionFailed());
|
||||||
}
|
}
|
||||||
@@ -77,7 +77,7 @@ public class MerchantInstance extends NpcInstance
|
|||||||
super.onBypassFeedback(player, command);
|
super.onBypassFeedback(player, command);
|
||||||
if (command.startsWith("Buy"))
|
if (command.startsWith("Buy"))
|
||||||
{
|
{
|
||||||
int val = Integer.parseInt(command.substring(4));
|
final int val = Integer.parseInt(command.substring(4));
|
||||||
showBuyWindow(player, val);
|
showBuyWindow(player, val);
|
||||||
}
|
}
|
||||||
else if (command.equals("Sell"))
|
else if (command.equals("Sell"))
|
||||||
|
@@ -51,7 +51,7 @@ public class MonsterInstance extends Attackable
|
|||||||
public void removeKnownObject(WorldObject object)
|
public void removeKnownObject(WorldObject object)
|
||||||
{
|
{
|
||||||
super.removeKnownObject(object);
|
super.removeKnownObject(object);
|
||||||
Creature temp = (Creature) object;
|
final Creature temp = (Creature) object;
|
||||||
if (getTarget() == temp)
|
if (getTarget() == temp)
|
||||||
{
|
{
|
||||||
setTarget(null);
|
setTarget(null);
|
||||||
|
@@ -71,7 +71,7 @@ public class NpcInstance extends Creature
|
|||||||
if (!isRunning())
|
if (!isRunning())
|
||||||
{
|
{
|
||||||
setRunning(true);
|
setRunning(true);
|
||||||
ChangeMoveType move = new ChangeMoveType(this, ChangeMoveType.RUN);
|
final ChangeMoveType move = new ChangeMoveType(this, ChangeMoveType.RUN);
|
||||||
broadcastPacket(move);
|
broadcastPacket(move);
|
||||||
}
|
}
|
||||||
super.startAttack(target);
|
super.startAttack(target);
|
||||||
@@ -128,11 +128,11 @@ public class NpcInstance extends Creature
|
|||||||
}
|
}
|
||||||
player.setCurrentState(CreatureState.IDLE);
|
player.setCurrentState(CreatureState.IDLE);
|
||||||
player.setTarget(this);
|
player.setTarget(this);
|
||||||
MyTargetSelected my = new MyTargetSelected(getObjectId(), player.getLevel() - getLevel());
|
final MyTargetSelected my = new MyTargetSelected(getObjectId(), player.getLevel() - getLevel());
|
||||||
player.sendPacket(my);
|
player.sendPacket(my);
|
||||||
if (isAttackable())
|
if (isAttackable())
|
||||||
{
|
{
|
||||||
StatusUpdate su = new StatusUpdate(getObjectId());
|
final StatusUpdate su = new StatusUpdate(getObjectId());
|
||||||
su.addAttribute(StatusUpdate.CUR_HP, (int) getCurrentHp());
|
su.addAttribute(StatusUpdate.CUR_HP, (int) getCurrentHp());
|
||||||
su.addAttribute(StatusUpdate.MAX_HP, getMaxHp());
|
su.addAttribute(StatusUpdate.MAX_HP, getMaxHp());
|
||||||
player.sendPacket(su);
|
player.sendPacket(su);
|
||||||
@@ -147,7 +147,7 @@ public class NpcInstance extends Creature
|
|||||||
}
|
}
|
||||||
if (!isAttackable())
|
if (!isAttackable())
|
||||||
{
|
{
|
||||||
double distance = getDistance(player.getX(), player.getY());
|
final double distance = getDistance(player.getX(), player.getY());
|
||||||
if (distance > INTERACTION_DISTANCE)
|
if (distance > INTERACTION_DISTANCE)
|
||||||
{
|
{
|
||||||
player.setCurrentState(CreatureState.INTERACT);
|
player.setCurrentState(CreatureState.INTERACT);
|
||||||
@@ -167,11 +167,11 @@ public class NpcInstance extends Creature
|
|||||||
@Override
|
@Override
|
||||||
public void onActionShift(ClientThread client)
|
public void onActionShift(ClientThread client)
|
||||||
{
|
{
|
||||||
PlayerInstance player = client.getActiveChar();
|
final PlayerInstance player = client.getActiveChar();
|
||||||
if (client.getAccessLevel() >= 100)
|
if (client.getAccessLevel() >= 100)
|
||||||
{
|
{
|
||||||
NpcHtmlMessage html = new NpcHtmlMessage(1);
|
final NpcHtmlMessage html = new NpcHtmlMessage(1);
|
||||||
StringBuffer html1 = new StringBuffer("<html><body><table border=0>");
|
final StringBuffer html1 = new StringBuffer("<html><body><table border=0>");
|
||||||
html1.append("<tr><td>Current Target:</td></tr>");
|
html1.append("<tr><td>Current Target:</td></tr>");
|
||||||
html1.append("<tr><td><br></td></tr>");
|
html1.append("<tr><td><br></td></tr>");
|
||||||
html1.append("<tr><td>Object ID: " + getObjectId() + "</td></tr>");
|
html1.append("<tr><td>Object ID: " + getObjectId() + "</td></tr>");
|
||||||
@@ -194,19 +194,19 @@ public class NpcInstance extends Creature
|
|||||||
|
|
||||||
public void onBypassFeedback(PlayerInstance player, String command)
|
public void onBypassFeedback(PlayerInstance player, String command)
|
||||||
{
|
{
|
||||||
double distance = getDistance(player.getX(), player.getY());
|
final double distance = getDistance(player.getX(), player.getY());
|
||||||
if (distance > 150.0)
|
if (distance > 150.0)
|
||||||
{
|
{
|
||||||
player.moveTo(getX(), getY(), getZ(), 150);
|
player.moveTo(getX(), getY(), getZ(), 150);
|
||||||
}
|
}
|
||||||
else if (command.startsWith("Quest"))
|
else if (command.startsWith("Quest"))
|
||||||
{
|
{
|
||||||
int val = Integer.parseInt(command.substring(6));
|
final int val = Integer.parseInt(command.substring(6));
|
||||||
showQuestWindow(player, val);
|
showQuestWindow(player, val);
|
||||||
}
|
}
|
||||||
else if (command.startsWith("Chat"))
|
else if (command.startsWith("Chat"))
|
||||||
{
|
{
|
||||||
int val = Integer.parseInt(command.substring(5));
|
final int val = Integer.parseInt(command.substring(5));
|
||||||
showChatWindow(player, val);
|
showChatWindow(player, val);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -220,14 +220,14 @@ public class NpcInstance extends Creature
|
|||||||
public void insertObjectIdAndShowChatWindow(PlayerInstance player, String content)
|
public void insertObjectIdAndShowChatWindow(PlayerInstance player, String content)
|
||||||
{
|
{
|
||||||
content = content.replaceAll("%objectId%", String.valueOf(getObjectId()));
|
content = content.replaceAll("%objectId%", String.valueOf(getObjectId()));
|
||||||
NpcHtmlMessage npcReply = new NpcHtmlMessage(5);
|
final NpcHtmlMessage npcReply = new NpcHtmlMessage(5);
|
||||||
npcReply.setHtml(content);
|
npcReply.setHtml(content);
|
||||||
player.sendPacket(npcReply);
|
player.sendPacket(npcReply);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void showQuestWindow(PlayerInstance player, int val)
|
protected void showQuestWindow(PlayerInstance player, int val)
|
||||||
{
|
{
|
||||||
NpcHtmlMessage html = new NpcHtmlMessage(1);
|
final NpcHtmlMessage html = new NpcHtmlMessage(1);
|
||||||
html.setHtml("<html><head><body>There is no quests here yet.</body></html>");
|
html.setHtml("<html><head><body>There is no quests here yet.</body></html>");
|
||||||
player.sendPacket(html);
|
player.sendPacket(html);
|
||||||
player.sendPacket(new ActionFailed());
|
player.sendPacket(new ActionFailed());
|
||||||
@@ -237,8 +237,8 @@ public class NpcInstance extends Creature
|
|||||||
{
|
{
|
||||||
String pom = "";
|
String pom = "";
|
||||||
pom = val == 0 ? "" + npcId : npcId + "-" + val;
|
pom = val == 0 ? "" + npcId : npcId + "-" + val;
|
||||||
String temp = "data/html/default/" + pom + ".htm";
|
final String temp = "data/html/default/" + pom + ".htm";
|
||||||
File mainText = new File(temp);
|
final File mainText = new File(temp);
|
||||||
if (mainText.exists())
|
if (mainText.exists())
|
||||||
{
|
{
|
||||||
return temp;
|
return temp;
|
||||||
@@ -248,12 +248,12 @@ public class NpcInstance extends Creature
|
|||||||
|
|
||||||
public void showChatWindow(PlayerInstance player, int val)
|
public void showChatWindow(PlayerInstance player, int val)
|
||||||
{
|
{
|
||||||
int npcId = getNpcTemplate().getNpcId();
|
final int npcId = getNpcTemplate().getNpcId();
|
||||||
String filename = getHtmlPath(npcId, val);
|
final String filename = getHtmlPath(npcId, val);
|
||||||
File file = new File(filename);
|
final File file = new File(filename);
|
||||||
if (!file.exists())
|
if (!file.exists())
|
||||||
{
|
{
|
||||||
NpcHtmlMessage html = new NpcHtmlMessage(1);
|
final NpcHtmlMessage html = new NpcHtmlMessage(1);
|
||||||
html.setHtml("<html><head><body>My Text is missing:<br>" + filename + "</body></html>");
|
html.setHtml("<html><head><body>My Text is missing:<br>" + filename + "</body></html>");
|
||||||
player.sendPacket(html);
|
player.sendPacket(html);
|
||||||
player.sendPacket(new ActionFailed());
|
player.sendPacket(new ActionFailed());
|
||||||
@@ -264,9 +264,9 @@ public class NpcInstance extends Creature
|
|||||||
try
|
try
|
||||||
{
|
{
|
||||||
fis = new FileInputStream(file);
|
fis = new FileInputStream(file);
|
||||||
byte[] raw = new byte[fis.available()];
|
final byte[] raw = new byte[fis.available()];
|
||||||
fis.read(raw);
|
fis.read(raw);
|
||||||
String content = new String(raw, "UTF-8");
|
final String content = new String(raw, "UTF-8");
|
||||||
insertObjectIdAndShowChatWindow(player, content);
|
insertObjectIdAndShowChatWindow(player, content);
|
||||||
}
|
}
|
||||||
catch (Exception e)
|
catch (Exception e)
|
||||||
@@ -327,7 +327,7 @@ public class NpcInstance extends Creature
|
|||||||
super.reduceCurrentHp(i, attacker);
|
super.reduceCurrentHp(i, attacker);
|
||||||
if (isDead())
|
if (isDead())
|
||||||
{
|
{
|
||||||
NpcInstance NpcInstance = this;
|
final NpcInstance NpcInstance = this;
|
||||||
synchronized (NpcInstance)
|
synchronized (NpcInstance)
|
||||||
{
|
{
|
||||||
if (_decayTask == null)
|
if (_decayTask == null)
|
||||||
|
@@ -91,7 +91,7 @@ public class PetInstance extends Creature
|
|||||||
}
|
}
|
||||||
player.setCurrentState(CreatureState.IDLE);
|
player.setCurrentState(CreatureState.IDLE);
|
||||||
player.setTarget(this);
|
player.setTarget(this);
|
||||||
MyTargetSelected my = new MyTargetSelected(getObjectId(), player.getLevel() - getLevel());
|
final MyTargetSelected my = new MyTargetSelected(getObjectId(), player.getLevel() - getLevel());
|
||||||
player.sendPacket(my);
|
player.sendPacket(my);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -258,7 +258,7 @@ public class PetInstance extends Creature
|
|||||||
{
|
{
|
||||||
_exp += addToExp;
|
_exp += addToExp;
|
||||||
_sp += addToSp;
|
_sp += addToSp;
|
||||||
PetStatusUpdate su = new PetStatusUpdate(this);
|
final PetStatusUpdate su = new PetStatusUpdate(this);
|
||||||
_owner.sendPacket(su);
|
_owner.sendPacket(su);
|
||||||
while (_exp >= getNextLevel())
|
while (_exp >= getNextLevel())
|
||||||
{
|
{
|
||||||
@@ -272,12 +272,12 @@ public class PetInstance extends Creature
|
|||||||
setLastLevel(getNextLevel());
|
setLastLevel(getNextLevel());
|
||||||
setLevel(getLevel() + 1);
|
setLevel(getLevel() + 1);
|
||||||
setNextLevel(ExperienceTable.getInstance().getExp(getLevel() + 1));
|
setNextLevel(ExperienceTable.getInstance().getExp(getLevel() + 1));
|
||||||
PetStatusUpdate ps = new PetStatusUpdate(this);
|
final PetStatusUpdate ps = new PetStatusUpdate(this);
|
||||||
_owner.sendPacket(ps);
|
_owner.sendPacket(ps);
|
||||||
StatusUpdate su = new StatusUpdate(getObjectId());
|
final StatusUpdate su = new StatusUpdate(getObjectId());
|
||||||
su.addAttribute(StatusUpdate.LEVEL, getLevel());
|
su.addAttribute(StatusUpdate.LEVEL, getLevel());
|
||||||
broadcastPacket(su);
|
broadcastPacket(su);
|
||||||
SocialAction sa = new SocialAction(getObjectId(), 15);
|
final SocialAction sa = new SocialAction(getObjectId(), 15);
|
||||||
broadcastPacket(sa);
|
broadcastPacket(sa);
|
||||||
_owner.sendPacket(new SystemMessage(SystemMessage.YOU_INCREASED_YOUR_LEVEL));
|
_owner.sendPacket(new SystemMessage(SystemMessage.YOU_INCREASED_YOUR_LEVEL));
|
||||||
}
|
}
|
||||||
@@ -343,7 +343,7 @@ public class PetInstance extends Creature
|
|||||||
|
|
||||||
private void doPickupItem()
|
private void doPickupItem()
|
||||||
{
|
{
|
||||||
StopMove sm = new StopMove(getObjectId(), getX(), getY(), getZ(), getHeading());
|
final StopMove sm = new StopMove(getObjectId(), getX(), getY(), getZ(), getHeading());
|
||||||
broadcastPacket(sm);
|
broadcastPacket(sm);
|
||||||
if (!(getTarget() instanceof ItemInstance))
|
if (!(getTarget() instanceof ItemInstance))
|
||||||
{
|
{
|
||||||
@@ -351,9 +351,9 @@ public class PetInstance extends Creature
|
|||||||
_owner.sendPacket(new ActionFailed());
|
_owner.sendPacket(new ActionFailed());
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
ItemInstance target = (ItemInstance) getTarget();
|
final ItemInstance target = (ItemInstance) getTarget();
|
||||||
boolean pickupOk = false;
|
boolean pickupOk = false;
|
||||||
ItemInstance ItemInstance = target;
|
final ItemInstance ItemInstance = target;
|
||||||
synchronized (ItemInstance)
|
synchronized (ItemInstance)
|
||||||
{
|
{
|
||||||
if (target.isOnTheGround())
|
if (target.isOnTheGround())
|
||||||
@@ -368,13 +368,13 @@ public class PetInstance extends Creature
|
|||||||
setCurrentState(CreatureState.IDLE);
|
setCurrentState(CreatureState.IDLE);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
GetItem gi = new GetItem(target, getObjectId());
|
final GetItem gi = new GetItem(target, getObjectId());
|
||||||
broadcastPacket(gi);
|
broadcastPacket(gi);
|
||||||
World.getInstance().removeVisibleObject(target);
|
World.getInstance().removeVisibleObject(target);
|
||||||
DeleteObject del = new DeleteObject(target);
|
final DeleteObject del = new DeleteObject(target);
|
||||||
broadcastPacket(del);
|
broadcastPacket(del);
|
||||||
getInventory().addItem(target);
|
getInventory().addItem(target);
|
||||||
PetItemList iu = new PetItemList(this);
|
final PetItemList iu = new PetItemList(this);
|
||||||
_owner.sendPacket(iu);
|
_owner.sendPacket(iu);
|
||||||
setCurrentState(CreatureState.IDLE);
|
setCurrentState(CreatureState.IDLE);
|
||||||
if (getFollowStatus())
|
if (getFollowStatus())
|
||||||
@@ -400,7 +400,7 @@ public class PetInstance extends Creature
|
|||||||
}
|
}
|
||||||
if (isDead())
|
if (isDead())
|
||||||
{
|
{
|
||||||
PetInstance PetInstance = this;
|
final PetInstance PetInstance = this;
|
||||||
synchronized (PetInstance)
|
synchronized (PetInstance)
|
||||||
{
|
{
|
||||||
if (_decayTask == null)
|
if (_decayTask == null)
|
||||||
@@ -422,7 +422,7 @@ public class PetInstance extends Creature
|
|||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
Inventory petInventory = getInventory();
|
final Inventory petInventory = getInventory();
|
||||||
for (ItemInstance giveit : petInventory.getItems())
|
for (ItemInstance giveit : petInventory.getItems())
|
||||||
{
|
{
|
||||||
if (((giveit.getItem().getWeight() * giveit.getCount()) + _owner.getInventory().getTotalWeight()) < _owner.getMaxLoad())
|
if (((giveit.getItem().getWeight() * giveit.getCount()) + _owner.getInventory().getTotalWeight()) < _owner.getMaxLoad())
|
||||||
@@ -445,8 +445,8 @@ public class PetInstance extends Creature
|
|||||||
{
|
{
|
||||||
_owner.getInventory().addItem(item);
|
_owner.getInventory().addItem(item);
|
||||||
getInventory().dropItem(item, item.getCount());
|
getInventory().dropItem(item, item.getCount());
|
||||||
PetInventoryUpdate petiu = new PetInventoryUpdate();
|
final PetInventoryUpdate petiu = new PetInventoryUpdate();
|
||||||
ItemList PlayerUI = new ItemList(_owner, false);
|
final ItemList PlayerUI = new ItemList(_owner, false);
|
||||||
petiu.addRemovedItem(item);
|
petiu.addRemovedItem(item);
|
||||||
_owner.sendPacket(petiu);
|
_owner.sendPacket(petiu);
|
||||||
_owner.sendPacket(PlayerUI);
|
_owner.sendPacket(PlayerUI);
|
||||||
@@ -487,18 +487,18 @@ public class PetInstance extends Creature
|
|||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
ItemInstance removedItem = owner.getInventory().destroyItem(getControlItemId(), 1);
|
final ItemInstance removedItem = owner.getInventory().destroyItem(getControlItemId(), 1);
|
||||||
InventoryUpdate iu = new InventoryUpdate();
|
final InventoryUpdate iu = new InventoryUpdate();
|
||||||
iu.addRemovedItem(removedItem);
|
iu.addRemovedItem(removedItem);
|
||||||
owner.sendPacket(iu);
|
owner.sendPacket(iu);
|
||||||
StatusUpdate su = new StatusUpdate(owner.getObjectId());
|
final StatusUpdate su = new StatusUpdate(owner.getObjectId());
|
||||||
su.addAttribute(StatusUpdate.CUR_LOAD, owner.getCurrentLoad());
|
su.addAttribute(StatusUpdate.CUR_LOAD, owner.getCurrentLoad());
|
||||||
owner.sendPacket(su);
|
owner.sendPacket(su);
|
||||||
UserInfo ui = new UserInfo(owner);
|
final UserInfo ui = new UserInfo(owner);
|
||||||
owner.sendPacket(ui);
|
owner.sendPacket(ui);
|
||||||
CharInfo info = new CharInfo(owner);
|
final CharInfo info = new CharInfo(owner);
|
||||||
owner.broadcastPacket(info);
|
owner.broadcastPacket(info);
|
||||||
World world = World.getInstance();
|
final World world = World.getInstance();
|
||||||
world.removeObject(removedItem);
|
world.removeObject(removedItem);
|
||||||
}
|
}
|
||||||
catch (Exception e)
|
catch (Exception e)
|
||||||
@@ -531,7 +531,7 @@ public class PetInstance extends Creature
|
|||||||
dropit.setY(getY());
|
dropit.setY(getY());
|
||||||
dropit.setZ(getZ() + 100);
|
dropit.setZ(getZ() + 100);
|
||||||
dropit.setOnTheGround(true);
|
dropit.setOnTheGround(true);
|
||||||
DropItem dis = new DropItem(dropit, getObjectId());
|
final DropItem dis = new DropItem(dropit, getObjectId());
|
||||||
for (Creature player : broadcastPacket(dis))
|
for (Creature player : broadcastPacket(dis))
|
||||||
{
|
{
|
||||||
((PlayerInstance) player).addKnownObjectWithoutCreate(dropit);
|
((PlayerInstance) player).addKnownObjectWithoutCreate(dropit);
|
||||||
@@ -551,7 +551,7 @@ public class PetInstance extends Creature
|
|||||||
if (!isRunning())
|
if (!isRunning())
|
||||||
{
|
{
|
||||||
setRunning(true);
|
setRunning(true);
|
||||||
ChangeMoveType move = new ChangeMoveType(this, ChangeMoveType.RUN);
|
final ChangeMoveType move = new ChangeMoveType(this, ChangeMoveType.RUN);
|
||||||
broadcastPacket(move);
|
broadcastPacket(move);
|
||||||
}
|
}
|
||||||
super.startAttack(target);
|
super.startAttack(target);
|
||||||
|
@@ -138,7 +138,7 @@ public class PlayerInstance extends Creature
|
|||||||
|
|
||||||
public Skill addSkill(Skill newSkill)
|
public Skill addSkill(Skill newSkill)
|
||||||
{
|
{
|
||||||
Skill oldSkill = _skills.put(newSkill.getId(), newSkill);
|
final Skill oldSkill = _skills.put(newSkill.getId(), newSkill);
|
||||||
return oldSkill;
|
return oldSkill;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -174,7 +174,7 @@ public class PlayerInstance extends Creature
|
|||||||
|
|
||||||
public int getSkillLevel(int skillId)
|
public int getSkillLevel(int skillId)
|
||||||
{
|
{
|
||||||
Skill skill = _skills.get(skillId);
|
final Skill skill = _skills.get(skillId);
|
||||||
if (skill == null)
|
if (skill == null)
|
||||||
{
|
{
|
||||||
return -1;
|
return -1;
|
||||||
@@ -287,47 +287,47 @@ public class PlayerInstance extends Creature
|
|||||||
Weapon weaponItem = null;
|
Weapon weaponItem = null;
|
||||||
if ((classId >= 0) && (classId <= 9))
|
if ((classId >= 0) && (classId <= 9))
|
||||||
{
|
{
|
||||||
Item temp = ItemTable.getInstance().getTemplate(246);
|
final Item temp = ItemTable.getInstance().getTemplate(246);
|
||||||
weaponItem = (Weapon) temp;
|
weaponItem = (Weapon) temp;
|
||||||
}
|
}
|
||||||
else if ((classId >= 10) && (classId <= 17))
|
else if ((classId >= 10) && (classId <= 17))
|
||||||
{
|
{
|
||||||
Item temp = ItemTable.getInstance().getTemplate(251);
|
final Item temp = ItemTable.getInstance().getTemplate(251);
|
||||||
weaponItem = (Weapon) temp;
|
weaponItem = (Weapon) temp;
|
||||||
}
|
}
|
||||||
else if ((classId >= 18) && (classId <= 24))
|
else if ((classId >= 18) && (classId <= 24))
|
||||||
{
|
{
|
||||||
Item temp = ItemTable.getInstance().getTemplate(244);
|
final Item temp = ItemTable.getInstance().getTemplate(244);
|
||||||
weaponItem = (Weapon) temp;
|
weaponItem = (Weapon) temp;
|
||||||
}
|
}
|
||||||
else if ((classId >= 25) && (classId <= 30))
|
else if ((classId >= 25) && (classId <= 30))
|
||||||
{
|
{
|
||||||
Item temp = ItemTable.getInstance().getTemplate(249);
|
final Item temp = ItemTable.getInstance().getTemplate(249);
|
||||||
weaponItem = (Weapon) temp;
|
weaponItem = (Weapon) temp;
|
||||||
}
|
}
|
||||||
else if ((classId >= 31) && (classId <= 37))
|
else if ((classId >= 31) && (classId <= 37))
|
||||||
{
|
{
|
||||||
Item temp = ItemTable.getInstance().getTemplate(245);
|
final Item temp = ItemTable.getInstance().getTemplate(245);
|
||||||
weaponItem = (Weapon) temp;
|
weaponItem = (Weapon) temp;
|
||||||
}
|
}
|
||||||
else if ((classId >= 38) && (classId <= 43))
|
else if ((classId >= 38) && (classId <= 43))
|
||||||
{
|
{
|
||||||
Item temp = ItemTable.getInstance().getTemplate(250);
|
final Item temp = ItemTable.getInstance().getTemplate(250);
|
||||||
weaponItem = (Weapon) temp;
|
weaponItem = (Weapon) temp;
|
||||||
}
|
}
|
||||||
else if ((classId >= 44) && (classId <= 48))
|
else if ((classId >= 44) && (classId <= 48))
|
||||||
{
|
{
|
||||||
Item temp = ItemTable.getInstance().getTemplate(248);
|
final Item temp = ItemTable.getInstance().getTemplate(248);
|
||||||
weaponItem = (Weapon) temp;
|
weaponItem = (Weapon) temp;
|
||||||
}
|
}
|
||||||
else if ((classId >= 49) && (classId <= 52))
|
else if ((classId >= 49) && (classId <= 52))
|
||||||
{
|
{
|
||||||
Item temp = ItemTable.getInstance().getTemplate(252);
|
final Item temp = ItemTable.getInstance().getTemplate(252);
|
||||||
weaponItem = (Weapon) temp;
|
weaponItem = (Weapon) temp;
|
||||||
}
|
}
|
||||||
else if ((classId >= 53) && (classId <= 57))
|
else if ((classId >= 53) && (classId <= 57))
|
||||||
{
|
{
|
||||||
Item temp = ItemTable.getInstance().getTemplate(247);
|
final Item temp = ItemTable.getInstance().getTemplate(247);
|
||||||
weaponItem = (Weapon) temp;
|
weaponItem = (Weapon) temp;
|
||||||
}
|
}
|
||||||
return weaponItem;
|
return weaponItem;
|
||||||
@@ -338,11 +338,11 @@ public class PlayerInstance extends Creature
|
|||||||
{
|
{
|
||||||
_exp += addToExp;
|
_exp += addToExp;
|
||||||
_sp += addToSp;
|
_sp += addToSp;
|
||||||
StatusUpdate su = new StatusUpdate(getObjectId());
|
final StatusUpdate su = new StatusUpdate(getObjectId());
|
||||||
su.addAttribute(StatusUpdate.EXP, _exp);
|
su.addAttribute(StatusUpdate.EXP, _exp);
|
||||||
su.addAttribute(StatusUpdate.SP, _sp);
|
su.addAttribute(StatusUpdate.SP, _sp);
|
||||||
sendPacket(su);
|
sendPacket(su);
|
||||||
SystemMessage sm = new SystemMessage(SystemMessage.YOU_EARNED_S1_EXP_AND_S2_SP);
|
final SystemMessage sm = new SystemMessage(SystemMessage.YOU_EARNED_S1_EXP_AND_S2_SP);
|
||||||
sm.addNumber(addToExp);
|
sm.addNumber(addToExp);
|
||||||
sm.addNumber(addToSp);
|
sm.addNumber(addToSp);
|
||||||
sendPacket(sm);
|
sendPacket(sm);
|
||||||
@@ -361,25 +361,25 @@ public class PlayerInstance extends Creature
|
|||||||
private void rewardSkills()
|
private void rewardSkills()
|
||||||
{
|
{
|
||||||
// int charclass = this.getClassId();
|
// int charclass = this.getClassId();
|
||||||
int lvl = getLevel();
|
final int lvl = getLevel();
|
||||||
if (lvl == 5)
|
if (lvl == 5)
|
||||||
{
|
{
|
||||||
Skill skill = SkillTable.getInstance().getInfo(194, 1);
|
final Skill skill = SkillTable.getInstance().getInfo(194, 1);
|
||||||
removeSkill(skill);
|
removeSkill(skill);
|
||||||
}
|
}
|
||||||
else if (lvl == 20)
|
else if (lvl == 20)
|
||||||
{
|
{
|
||||||
Skill skill = SkillTable.getInstance().getInfo(239, 1);
|
final Skill skill = SkillTable.getInstance().getInfo(239, 1);
|
||||||
addSkill(skill);
|
addSkill(skill);
|
||||||
}
|
}
|
||||||
else if (lvl == 40)
|
else if (lvl == 40)
|
||||||
{
|
{
|
||||||
Skill skill = SkillTable.getInstance().getInfo(239, 2);
|
final Skill skill = SkillTable.getInstance().getInfo(239, 2);
|
||||||
addSkill(skill);
|
addSkill(skill);
|
||||||
}
|
}
|
||||||
else if (lvl == 52)
|
else if (lvl == 52)
|
||||||
{
|
{
|
||||||
Skill skill = SkillTable.getInstance().getInfo(239, 3);
|
final Skill skill = SkillTable.getInstance().getInfo(239, 3);
|
||||||
addSkill(skill);
|
addSkill(skill);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -588,7 +588,7 @@ public class PlayerInstance extends Creature
|
|||||||
if (player.getTarget() != this)
|
if (player.getTarget() != this)
|
||||||
{
|
{
|
||||||
player.setTarget(this);
|
player.setTarget(this);
|
||||||
MyTargetSelected my = new MyTargetSelected(getObjectId(), 0);
|
final MyTargetSelected my = new MyTargetSelected(getObjectId(), 0);
|
||||||
player.sendPacket(my);
|
player.sendPacket(my);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@@ -605,7 +605,7 @@ public class PlayerInstance extends Creature
|
|||||||
@Override
|
@Override
|
||||||
public void broadcastStatusUpdate()
|
public void broadcastStatusUpdate()
|
||||||
{
|
{
|
||||||
StatusUpdate su = new StatusUpdate(getObjectId());
|
final StatusUpdate su = new StatusUpdate(getObjectId());
|
||||||
su.addAttribute(StatusUpdate.CUR_HP, (int) getCurrentHp());
|
su.addAttribute(StatusUpdate.CUR_HP, (int) getCurrentHp());
|
||||||
su.addAttribute(StatusUpdate.CUR_MP, (int) getCurrentMp());
|
su.addAttribute(StatusUpdate.CUR_MP, (int) getCurrentMp());
|
||||||
super.broadcastStatusUpdate();
|
super.broadcastStatusUpdate();
|
||||||
@@ -615,7 +615,7 @@ public class PlayerInstance extends Creature
|
|||||||
}
|
}
|
||||||
if (isInParty())
|
if (isInParty())
|
||||||
{
|
{
|
||||||
PartySmallWindowUpdate update = new PartySmallWindowUpdate(this);
|
final PartySmallWindowUpdate update = new PartySmallWindowUpdate(this);
|
||||||
getParty().broadcastToPartyMembers(this, update);
|
getParty().broadcastToPartyMembers(this, update);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -661,7 +661,7 @@ public class PlayerInstance extends Creature
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
SystemMessage sm = new SystemMessage(SystemMessage.YOU_DID_S1_DMG);
|
final SystemMessage sm = new SystemMessage(SystemMessage.YOU_DID_S1_DMG);
|
||||||
sm.addNumber(damage);
|
sm.addNumber(damage);
|
||||||
sendPacket(sm);
|
sendPacket(sm);
|
||||||
}
|
}
|
||||||
@@ -682,7 +682,7 @@ public class PlayerInstance extends Creature
|
|||||||
|
|
||||||
public void sendMessage(String message)
|
public void sendMessage(String message)
|
||||||
{
|
{
|
||||||
SystemMessage sm = new SystemMessage(SystemMessage.S1_S2);
|
final SystemMessage sm = new SystemMessage(SystemMessage.S1_S2);
|
||||||
sm.addString(message);
|
sm.addString(message);
|
||||||
sendPacket(sm);
|
sendPacket(sm);
|
||||||
}
|
}
|
||||||
@@ -690,7 +690,7 @@ public class PlayerInstance extends Creature
|
|||||||
@Override
|
@Override
|
||||||
protected void startCombat()
|
protected void startCombat()
|
||||||
{
|
{
|
||||||
Creature target = (Creature) getTarget();
|
final Creature target = (Creature) getTarget();
|
||||||
if (target == null)
|
if (target == null)
|
||||||
{
|
{
|
||||||
_log.warning("Failed to start combat without target.");
|
_log.warning("Failed to start combat without target.");
|
||||||
@@ -732,7 +732,7 @@ public class PlayerInstance extends Creature
|
|||||||
{
|
{
|
||||||
if (getTarget() instanceof PlayerInstance)
|
if (getTarget() instanceof PlayerInstance)
|
||||||
{
|
{
|
||||||
PlayerInstance temp = (PlayerInstance) getTarget();
|
final PlayerInstance temp = (PlayerInstance) getTarget();
|
||||||
sendPacket(new ActionFailed());
|
sendPacket(new ActionFailed());
|
||||||
if (temp.getPrivateStoreType() == 1)
|
if (temp.getPrivateStoreType() == 1)
|
||||||
{
|
{
|
||||||
@@ -767,12 +767,12 @@ public class PlayerInstance extends Creature
|
|||||||
_log.warning("trying to pickup wrong target." + getTarget());
|
_log.warning("trying to pickup wrong target." + getTarget());
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
ItemInstance target = (ItemInstance) getTarget();
|
final ItemInstance target = (ItemInstance) getTarget();
|
||||||
sendPacket(new ActionFailed());
|
sendPacket(new ActionFailed());
|
||||||
StopMove sm = new StopMove(getObjectId(), getX(), getY(), getZ(), getHeading());
|
final StopMove sm = new StopMove(getObjectId(), getX(), getY(), getZ(), getHeading());
|
||||||
sendPacket(sm);
|
sendPacket(sm);
|
||||||
boolean pickupOk = false;
|
boolean pickupOk = false;
|
||||||
ItemInstance ItemInstance = target;
|
final ItemInstance ItemInstance = target;
|
||||||
synchronized (ItemInstance)
|
synchronized (ItemInstance)
|
||||||
{
|
{
|
||||||
if (target.isOnTheGround())
|
if (target.isOnTheGround())
|
||||||
@@ -786,10 +786,10 @@ public class PlayerInstance extends Creature
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
World.getInstance().removeVisibleObject(target);
|
World.getInstance().removeVisibleObject(target);
|
||||||
GetItem gi = new GetItem(target, getObjectId());
|
final GetItem gi = new GetItem(target, getObjectId());
|
||||||
sendPacket(gi);
|
sendPacket(gi);
|
||||||
broadcastPacket(gi);
|
broadcastPacket(gi);
|
||||||
DeleteObject del = new DeleteObject(target);
|
final DeleteObject del = new DeleteObject(target);
|
||||||
sendPacket(del);
|
sendPacket(del);
|
||||||
broadcastPacket(del);
|
broadcastPacket(del);
|
||||||
if (!isInParty())
|
if (!isInParty())
|
||||||
@@ -808,8 +808,8 @@ public class PlayerInstance extends Creature
|
|||||||
smsg.addItemName(target.getItemId());
|
smsg.addItemName(target.getItemId());
|
||||||
sendPacket(smsg);
|
sendPacket(smsg);
|
||||||
}
|
}
|
||||||
ItemInstance target2 = getInventory().addItem(target);
|
final ItemInstance target2 = getInventory().addItem(target);
|
||||||
InventoryUpdate iu = new InventoryUpdate();
|
final InventoryUpdate iu = new InventoryUpdate();
|
||||||
if (target2.getLastChange() == 1)
|
if (target2.getLastChange() == 1)
|
||||||
{
|
{
|
||||||
iu.addNewItem(target);
|
iu.addNewItem(target);
|
||||||
@@ -819,7 +819,7 @@ public class PlayerInstance extends Creature
|
|||||||
iu.addModifiedItem(target2);
|
iu.addModifiedItem(target2);
|
||||||
}
|
}
|
||||||
sendPacket(iu);
|
sendPacket(iu);
|
||||||
UserInfo ci = new UserInfo(this);
|
final UserInfo ci = new UserInfo(this);
|
||||||
sendPacket(ci);
|
sendPacket(ci);
|
||||||
}
|
}
|
||||||
else if (target.getItemId() == 57)
|
else if (target.getItemId() == 57)
|
||||||
@@ -861,7 +861,7 @@ public class PlayerInstance extends Creature
|
|||||||
@Override
|
@Override
|
||||||
public Weapon getActiveWeapon()
|
public Weapon getActiveWeapon()
|
||||||
{
|
{
|
||||||
ItemInstance weapon = getInventory().getPaperdollItem(7);
|
final ItemInstance weapon = getInventory().getPaperdollItem(7);
|
||||||
if (weapon == null)
|
if (weapon == null)
|
||||||
{
|
{
|
||||||
return getFistsWeaponItem();
|
return getFistsWeaponItem();
|
||||||
@@ -889,10 +889,10 @@ public class PlayerInstance extends Creature
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Damage message.
|
// Damage message.
|
||||||
SystemMessage smsg = new SystemMessage(SystemMessage.S1_GAVE_YOU_S2_DMG);
|
final SystemMessage smsg = new SystemMessage(SystemMessage.S1_GAVE_YOU_S2_DMG);
|
||||||
if ((attacker instanceof MonsterInstance) || (attacker instanceof NpcInstance))
|
if ((attacker instanceof MonsterInstance) || (attacker instanceof NpcInstance))
|
||||||
{
|
{
|
||||||
int mobId = ((NpcInstance) attacker).getNpcTemplate().getNpcId();
|
final int mobId = ((NpcInstance) attacker).getNpcTemplate().getNpcId();
|
||||||
smsg.addNpcName(mobId);
|
smsg.addNpcName(mobId);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@@ -965,7 +965,7 @@ public class PlayerInstance extends Creature
|
|||||||
public void increasePkKillsAndKarma(int level)
|
public void increasePkKillsAndKarma(int level)
|
||||||
{
|
{
|
||||||
int newKarma = Config.KARMA_MIN_KARMA;
|
int newKarma = Config.KARMA_MIN_KARMA;
|
||||||
int pkLevel = getLevel();
|
final int pkLevel = getLevel();
|
||||||
|
|
||||||
final int pkPKCount = getPkKills();
|
final int pkPKCount = getPkKills();
|
||||||
int pkCountMulti = 0;
|
int pkCountMulti = 0;
|
||||||
@@ -1088,7 +1088,7 @@ public class PlayerInstance extends Creature
|
|||||||
super.addKnownObject(object);
|
super.addKnownObject(object);
|
||||||
if (object instanceof ItemInstance)
|
if (object instanceof ItemInstance)
|
||||||
{
|
{
|
||||||
SpawnItem si = new SpawnItem((ItemInstance) object);
|
final SpawnItem si = new SpawnItem((ItemInstance) object);
|
||||||
sendPacket(si);
|
sendPacket(si);
|
||||||
}
|
}
|
||||||
else if (object instanceof NpcInstance)
|
else if (object instanceof NpcInstance)
|
||||||
@@ -1103,7 +1103,7 @@ public class PlayerInstance extends Creature
|
|||||||
}
|
}
|
||||||
else if (object instanceof PlayerInstance)
|
else if (object instanceof PlayerInstance)
|
||||||
{
|
{
|
||||||
PlayerInstance otherPlayer = (PlayerInstance) object;
|
final PlayerInstance otherPlayer = (PlayerInstance) object;
|
||||||
sendPacket(new CharInfo(otherPlayer));
|
sendPacket(new CharInfo(otherPlayer));
|
||||||
if ((otherPlayer.getPrivateStoreType() == 1) || (otherPlayer.getPrivateStoreType() == 3))
|
if ((otherPlayer.getPrivateStoreType() == 1) || (otherPlayer.getPrivateStoreType() == 3))
|
||||||
{
|
{
|
||||||
@@ -1114,15 +1114,15 @@ public class PlayerInstance extends Creature
|
|||||||
}
|
}
|
||||||
if (object instanceof Creature)
|
if (object instanceof Creature)
|
||||||
{
|
{
|
||||||
Creature obj = (Creature) object;
|
final Creature obj = (Creature) object;
|
||||||
if (obj.isMoving())
|
if (obj.isMoving())
|
||||||
{
|
{
|
||||||
CharMoveToLocation mov = new CharMoveToLocation(obj);
|
final CharMoveToLocation mov = new CharMoveToLocation(obj);
|
||||||
sendPacket(mov);
|
sendPacket(mov);
|
||||||
}
|
}
|
||||||
else if (obj.isMovingToPawn())
|
else if (obj.isMovingToPawn())
|
||||||
{
|
{
|
||||||
MoveToPawn mov = new MoveToPawn(obj, obj.getPawnTarget(), obj.getPawnOffset());
|
final MoveToPawn mov = new MoveToPawn(obj, obj.getPawnTarget(), obj.getPawnOffset());
|
||||||
sendPacket(mov);
|
sendPacket(mov);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1139,18 +1139,18 @@ public class PlayerInstance extends Creature
|
|||||||
public void increaseLevel()
|
public void increaseLevel()
|
||||||
{
|
{
|
||||||
super.increaseLevel();
|
super.increaseLevel();
|
||||||
LvlupData lvlData = LevelUpData.getInstance().getTemplate(getClassId());
|
final LvlupData lvlData = LevelUpData.getInstance().getTemplate(getClassId());
|
||||||
if (lvlData != null)
|
if (lvlData != null)
|
||||||
{
|
{
|
||||||
double hp1 = (getLevel() - 1) * lvlData.getDefaulthpadd();
|
final double hp1 = (getLevel() - 1) * lvlData.getDefaulthpadd();
|
||||||
double hp2 = (getLevel() - 2) * lvlData.getDefaulthpbonus();
|
final double hp2 = (getLevel() - 2) * lvlData.getDefaulthpbonus();
|
||||||
double mp1 = (getLevel() - 1) * lvlData.getDefaultmpadd();
|
final double mp1 = (getLevel() - 1) * lvlData.getDefaultmpadd();
|
||||||
double mp2 = (getLevel() - 2) * lvlData.getDefaultmpbonus();
|
final double mp2 = (getLevel() - 2) * lvlData.getDefaultmpbonus();
|
||||||
int newhp = (int) Math.rint(lvlData.getDefaulthp() + hp1 + hp2);
|
final int newhp = (int) Math.rint(lvlData.getDefaulthp() + hp1 + hp2);
|
||||||
int newmp = (int) Math.rint(lvlData.getDefaultmp() + mp1 + mp2);
|
final int newmp = (int) Math.rint(lvlData.getDefaultmp() + mp1 + mp2);
|
||||||
setMaxHp(newhp);
|
setMaxHp(newhp);
|
||||||
setCurrentHp(newhp);
|
setCurrentHp(newhp);
|
||||||
StatusUpdate su = new StatusUpdate(getObjectId());
|
final StatusUpdate su = new StatusUpdate(getObjectId());
|
||||||
su.addAttribute(StatusUpdate.MAX_HP, newhp);
|
su.addAttribute(StatusUpdate.MAX_HP, newhp);
|
||||||
su.addAttribute(StatusUpdate.CUR_HP, newhp);
|
su.addAttribute(StatusUpdate.CUR_HP, newhp);
|
||||||
setMaxMp(newmp);
|
setMaxMp(newmp);
|
||||||
@@ -1172,7 +1172,7 @@ public class PlayerInstance extends Creature
|
|||||||
@Override
|
@Override
|
||||||
public int getAttackRange()
|
public int getAttackRange()
|
||||||
{
|
{
|
||||||
Weapon weapon = getActiveWeapon();
|
final Weapon weapon = getActiveWeapon();
|
||||||
if ((weapon != null) && (weapon.getWeaponType() == 5))
|
if ((weapon != null) && (weapon.getWeaponType() == 5))
|
||||||
{
|
{
|
||||||
return 500;
|
return 500;
|
||||||
@@ -1203,7 +1203,7 @@ public class PlayerInstance extends Creature
|
|||||||
{
|
{
|
||||||
stopAllTimers();
|
stopAllTimers();
|
||||||
setTarget(null);
|
setTarget(null);
|
||||||
World world = World.getInstance();
|
final World world = World.getInstance();
|
||||||
world.removeVisibleObject(this);
|
world.removeVisibleObject(this);
|
||||||
if (isInParty())
|
if (isInParty())
|
||||||
{
|
{
|
||||||
@@ -1232,8 +1232,8 @@ public class PlayerInstance extends Creature
|
|||||||
|
|
||||||
public void updatePAtk()
|
public void updatePAtk()
|
||||||
{
|
{
|
||||||
double lvlmod = (89.0 + getLevel()) / 100.0;
|
final double lvlmod = (89.0 + getLevel()) / 100.0;
|
||||||
StatModifiers modifier = CharStatsTable.getInstance().getTemplate(getClassId());
|
final StatModifiers modifier = CharStatsTable.getInstance().getTemplate(getClassId());
|
||||||
double strmod = 1.0;
|
double strmod = 1.0;
|
||||||
if (modifier != null)
|
if (modifier != null)
|
||||||
{
|
{
|
||||||
@@ -1243,7 +1243,7 @@ public class PlayerInstance extends Creature
|
|||||||
{
|
{
|
||||||
_log.warning("Missing STR modifier for classId: " + getClassId());
|
_log.warning("Missing STR modifier for classId: " + getClassId());
|
||||||
}
|
}
|
||||||
CharTemplate template = CharTemplateTable.getInstance().getTemplate(getClassId());
|
final CharTemplate template = CharTemplateTable.getInstance().getTemplate(getClassId());
|
||||||
double weapondmg = 1.0;
|
double weapondmg = 1.0;
|
||||||
if (template != null)
|
if (template != null)
|
||||||
{
|
{
|
||||||
@@ -1253,20 +1253,20 @@ public class PlayerInstance extends Creature
|
|||||||
{
|
{
|
||||||
_log.warning("Missing template for classId: " + getClassId());
|
_log.warning("Missing template for classId: " + getClassId());
|
||||||
}
|
}
|
||||||
Weapon weapon = getActiveWeapon();
|
final Weapon weapon = getActiveWeapon();
|
||||||
if (weapon != null)
|
if (weapon != null)
|
||||||
{
|
{
|
||||||
weapondmg += weapon.getPDamage();
|
weapondmg += weapon.getPDamage();
|
||||||
}
|
}
|
||||||
double pAtk = weapondmg * lvlmod * strmod;
|
final double pAtk = weapondmg * lvlmod * strmod;
|
||||||
setPhysicalAttack((int) Math.rint(pAtk));
|
setPhysicalAttack((int) Math.rint(pAtk));
|
||||||
}
|
}
|
||||||
|
|
||||||
public void updatePDef()
|
public void updatePDef()
|
||||||
{
|
{
|
||||||
Armor armorPiece;
|
Armor armorPiece;
|
||||||
double lvlmod = (89.0 + getLevel()) / 100.0;
|
final double lvlmod = (89.0 + getLevel()) / 100.0;
|
||||||
CharTemplate template = CharTemplateTable.getInstance().getTemplate(getClassId());
|
final CharTemplate template = CharTemplateTable.getInstance().getTemplate(getClassId());
|
||||||
double totalItemDef = 40.0;
|
double totalItemDef = 40.0;
|
||||||
if (template != null)
|
if (template != null)
|
||||||
{
|
{
|
||||||
@@ -1312,15 +1312,15 @@ public class PlayerInstance extends Creature
|
|||||||
armorPiece = (Armor) dummy.getItem();
|
armorPiece = (Armor) dummy.getItem();
|
||||||
totalItemDef += armorPiece.getPDef();
|
totalItemDef += armorPiece.getPDef();
|
||||||
}
|
}
|
||||||
double pDef = totalItemDef * lvlmod;
|
final double pDef = totalItemDef * lvlmod;
|
||||||
setPhysicalDefense((int) Math.round(pDef));
|
setPhysicalDefense((int) Math.round(pDef));
|
||||||
}
|
}
|
||||||
|
|
||||||
public void updateMAtk()
|
public void updateMAtk()
|
||||||
{
|
{
|
||||||
double lmod = (89.0 + getLevel()) / 100.0;
|
final double lmod = (89.0 + getLevel()) / 100.0;
|
||||||
double lvlmod = Math.sqrt(lmod);
|
final double lvlmod = Math.sqrt(lmod);
|
||||||
StatModifiers modifier = CharStatsTable.getInstance().getTemplate(getClassId());
|
final StatModifiers modifier = CharStatsTable.getInstance().getTemplate(getClassId());
|
||||||
double imod = 1.0;
|
double imod = 1.0;
|
||||||
if (modifier != null)
|
if (modifier != null)
|
||||||
{
|
{
|
||||||
@@ -1330,8 +1330,8 @@ public class PlayerInstance extends Creature
|
|||||||
{
|
{
|
||||||
_log.warning("Missing INT modifier for classId: " + getClassId());
|
_log.warning("Missing INT modifier for classId: " + getClassId());
|
||||||
}
|
}
|
||||||
double intmod = Math.sqrt(imod);
|
final double intmod = Math.sqrt(imod);
|
||||||
CharTemplate template = CharTemplateTable.getInstance().getTemplate(getClassId());
|
final CharTemplate template = CharTemplateTable.getInstance().getTemplate(getClassId());
|
||||||
double weapondmg = 1.0;
|
double weapondmg = 1.0;
|
||||||
if (template != null)
|
if (template != null)
|
||||||
{
|
{
|
||||||
@@ -1341,20 +1341,20 @@ public class PlayerInstance extends Creature
|
|||||||
{
|
{
|
||||||
_log.warning("Missing template for classId: " + getClassId());
|
_log.warning("Missing template for classId: " + getClassId());
|
||||||
}
|
}
|
||||||
Weapon weapon = getActiveWeapon();
|
final Weapon weapon = getActiveWeapon();
|
||||||
if (weapon != null)
|
if (weapon != null)
|
||||||
{
|
{
|
||||||
weapondmg += weapon.getMDamage();
|
weapondmg += weapon.getMDamage();
|
||||||
}
|
}
|
||||||
double mAtk = weapondmg * lvlmod * intmod;
|
final double mAtk = weapondmg * lvlmod * intmod;
|
||||||
setMagicalAttack((int) Math.rint(mAtk));
|
setMagicalAttack((int) Math.rint(mAtk));
|
||||||
}
|
}
|
||||||
|
|
||||||
public void updateMDef()
|
public void updateMDef()
|
||||||
{
|
{
|
||||||
Armor armorPiece;
|
Armor armorPiece;
|
||||||
double lvlBonus = (89.0 + getLevel()) / 100.0;
|
final double lvlBonus = (89.0 + getLevel()) / 100.0;
|
||||||
StatModifiers modifier = CharStatsTable.getInstance().getTemplate(getClassId());
|
final StatModifiers modifier = CharStatsTable.getInstance().getTemplate(getClassId());
|
||||||
double MENbonus = 1.0;
|
double MENbonus = 1.0;
|
||||||
if (modifier != null)
|
if (modifier != null)
|
||||||
{
|
{
|
||||||
@@ -1364,7 +1364,7 @@ public class PlayerInstance extends Creature
|
|||||||
{
|
{
|
||||||
_log.warning("Missing MEN modifier for classId: " + getClassId());
|
_log.warning("Missing MEN modifier for classId: " + getClassId());
|
||||||
}
|
}
|
||||||
CharTemplate template = CharTemplateTable.getInstance().getTemplate(getClassId());
|
final CharTemplate template = CharTemplateTable.getInstance().getTemplate(getClassId());
|
||||||
double totalItemDef = 40.0;
|
double totalItemDef = 40.0;
|
||||||
if (template != null)
|
if (template != null)
|
||||||
{
|
{
|
||||||
@@ -1400,7 +1400,7 @@ public class PlayerInstance extends Creature
|
|||||||
armorPiece = (Armor) dummy.getItem();
|
armorPiece = (Armor) dummy.getItem();
|
||||||
totalItemDef += armorPiece.getMDef();
|
totalItemDef += armorPiece.getMDef();
|
||||||
}
|
}
|
||||||
double mDef = totalItemDef * lvlBonus * MENbonus;
|
final double mDef = totalItemDef * lvlBonus * MENbonus;
|
||||||
setMagicalDefense((int) Math.round(mDef));
|
setMagicalDefense((int) Math.round(mDef));
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1482,8 +1482,8 @@ public class PlayerInstance extends Creature
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
int weaponType = getActiveWeapon().getWeaponType();
|
final int weaponType = getActiveWeapon().getWeaponType();
|
||||||
int skillId = skill.getId();
|
final int skillId = skill.getId();
|
||||||
if ((skillId == 56) && (weaponType != 5))
|
if ((skillId == 56) && (weaponType != 5))
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
@@ -1518,21 +1518,21 @@ public class PlayerInstance extends Creature
|
|||||||
}
|
}
|
||||||
setCurrentState(CreatureState.CASTING);
|
setCurrentState(CreatureState.CASTING);
|
||||||
setSkill(skill);
|
setSkill(skill);
|
||||||
double distance = getDistance(target.getX(), target.getY());
|
final double distance = getDistance(target.getX(), target.getY());
|
||||||
if ((skill.getCastRange() > 0) && (distance > skill.getCastRange()))
|
if ((skill.getCastRange() > 0) && (distance > skill.getCastRange()))
|
||||||
{
|
{
|
||||||
moveTo(target.getX(), target.getY(), target.getZ(), skill.getCastRange());
|
moveTo(target.getX(), target.getY(), target.getZ(), skill.getCastRange());
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
int magicId = skill.getId();
|
final int magicId = skill.getId();
|
||||||
int level = getSkillLevel(magicId);
|
final int level = getSkillLevel(magicId);
|
||||||
ActionFailed af = new ActionFailed();
|
final ActionFailed af = new ActionFailed();
|
||||||
sendPacket(af);
|
sendPacket(af);
|
||||||
MagicSkillUser msu = new MagicSkillUser(this, target, magicId, level, skill.getHitTime(), skill.getReuseDelay());
|
final MagicSkillUser msu = new MagicSkillUser(this, target, magicId, level, skill.getHitTime(), skill.getReuseDelay());
|
||||||
sendPacket(msu);
|
sendPacket(msu);
|
||||||
broadcastPacket(msu);
|
broadcastPacket(msu);
|
||||||
sendPacket(new SetupGauge(0, skill.getHitTime()));
|
sendPacket(new SetupGauge(0, skill.getHitTime()));
|
||||||
SystemMessage sm = new SystemMessage(SystemMessage.USE_S1);
|
final SystemMessage sm = new SystemMessage(SystemMessage.USE_S1);
|
||||||
sm.addSkillName(magicId);
|
sm.addSkillName(magicId);
|
||||||
sendPacket(sm);
|
sendPacket(sm);
|
||||||
if (skill.getSkillTime() > 300)
|
if (skill.getSkillTime() > 300)
|
||||||
@@ -1548,7 +1548,7 @@ public class PlayerInstance extends Creature
|
|||||||
@Override
|
@Override
|
||||||
protected void reduceArrowCount()
|
protected void reduceArrowCount()
|
||||||
{
|
{
|
||||||
ItemInstance arrows = getInventory().destroyItem(getInventory().getPaperdollObjectId(8), 1);
|
final ItemInstance arrows = getInventory().destroyItem(getInventory().getPaperdollObjectId(8), 1);
|
||||||
// _log.info("arrow count:" + arrows.getCount());
|
// _log.info("arrow count:" + arrows.getCount());
|
||||||
if (arrows.getCount() == 0)
|
if (arrows.getCount() == 0)
|
||||||
{
|
{
|
||||||
@@ -1559,7 +1559,7 @@ public class PlayerInstance extends Creature
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
InventoryUpdate iu = new InventoryUpdate();
|
final InventoryUpdate iu = new InventoryUpdate();
|
||||||
iu.addModifiedItem(arrows);
|
iu.addModifiedItem(arrows);
|
||||||
sendPacket(iu);
|
sendPacket(iu);
|
||||||
}
|
}
|
||||||
@@ -1574,7 +1574,7 @@ public class PlayerInstance extends Creature
|
|||||||
if (_arrowItem != null)
|
if (_arrowItem != null)
|
||||||
{
|
{
|
||||||
getInventory().setPaperdollItem(8, _arrowItem);
|
getInventory().setPaperdollItem(8, _arrowItem);
|
||||||
ItemList il = new ItemList(this, false);
|
final ItemList il = new ItemList(this, false);
|
||||||
sendPacket(il);
|
sendPacket(il);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1588,7 +1588,7 @@ public class PlayerInstance extends Creature
|
|||||||
@Override
|
@Override
|
||||||
protected boolean isUsingDualWeapon()
|
protected boolean isUsingDualWeapon()
|
||||||
{
|
{
|
||||||
Weapon weaponItem = getActiveWeapon();
|
final Weapon weaponItem = getActiveWeapon();
|
||||||
if (weaponItem.getWeaponType() == 9)
|
if (weaponItem.getWeaponType() == 9)
|
||||||
{
|
{
|
||||||
return true;
|
return true;
|
||||||
@@ -1618,28 +1618,28 @@ public class PlayerInstance extends Creature
|
|||||||
{
|
{
|
||||||
if ((getCurrentState() == CreatureState.CASTING) && (getSkill() == skill))
|
if ((getCurrentState() == CreatureState.CASTING) && (getSkill() == skill))
|
||||||
{
|
{
|
||||||
int magicId = skill.getId();
|
final int magicId = skill.getId();
|
||||||
int level = getSkillLevel(magicId);
|
final int level = getSkillLevel(magicId);
|
||||||
if ((skill.getTargetType() == Skill.TARGET_PARTY) && isInParty())
|
if ((skill.getTargetType() == Skill.TARGET_PARTY) && isInParty())
|
||||||
{
|
{
|
||||||
for (PlayerInstance player : getParty().getPartyMembers())
|
for (PlayerInstance player : getParty().getPartyMembers())
|
||||||
{
|
{
|
||||||
MagicSkillLaunched msl = new MagicSkillLaunched(this, magicId, level, player);
|
final MagicSkillLaunched msl = new MagicSkillLaunched(this, magicId, level, player);
|
||||||
sendPacket(msl);
|
sendPacket(msl);
|
||||||
broadcastPacket(msl);
|
broadcastPacket(msl);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
MagicSkillLaunched msl = new MagicSkillLaunched(this, magicId, level, target);
|
final MagicSkillLaunched msl = new MagicSkillLaunched(this, magicId, level, target);
|
||||||
sendPacket(msl);
|
sendPacket(msl);
|
||||||
broadcastPacket(msl);
|
broadcastPacket(msl);
|
||||||
}
|
}
|
||||||
reduceCurrentMp(skill.getMpConsume());
|
reduceCurrentMp(skill.getMpConsume());
|
||||||
StatusUpdate su = new StatusUpdate(getObjectId());
|
final StatusUpdate su = new StatusUpdate(getObjectId());
|
||||||
su.addAttribute(StatusUpdate.CUR_MP, (int) getCurrentMp());
|
su.addAttribute(StatusUpdate.CUR_MP, (int) getCurrentMp());
|
||||||
sendPacket(su);
|
sendPacket(su);
|
||||||
ISkillHandler handler = SkillHandler.getInstance().getSkillHandler(skill.getId());
|
final ISkillHandler handler = SkillHandler.getInstance().getSkillHandler(skill.getId());
|
||||||
if (handler == null)
|
if (handler == null)
|
||||||
{
|
{
|
||||||
_log.warning("No skillhandler registered for skillId: " + skill.getId());
|
_log.warning("No skillhandler registered for skillId: " + skill.getId());
|
||||||
@@ -1739,7 +1739,7 @@ public class PlayerInstance extends Creature
|
|||||||
{
|
{
|
||||||
setCurrentState(CreatureState.IDLE);
|
setCurrentState(CreatureState.IDLE);
|
||||||
enableAllSkills();
|
enableAllSkills();
|
||||||
MagicSkillCanceld msc = new MagicSkillCanceld(getObjectId());
|
final MagicSkillCanceld msc = new MagicSkillCanceld(getObjectId());
|
||||||
sendPacket(msc);
|
sendPacket(msc);
|
||||||
broadcastPacket(msc);
|
broadcastPacket(msc);
|
||||||
}
|
}
|
||||||
|
@@ -41,7 +41,7 @@ public class TeleporterInstance extends NpcInstance
|
|||||||
super.onBypassFeedback(player, command);
|
super.onBypassFeedback(player, command);
|
||||||
if (command.startsWith("goto"))
|
if (command.startsWith("goto"))
|
||||||
{
|
{
|
||||||
int val = Integer.parseInt(command.substring(5));
|
final int val = Integer.parseInt(command.substring(5));
|
||||||
doTeleport(player, val);
|
doTeleport(player, val);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -62,18 +62,18 @@ public class TeleporterInstance extends NpcInstance
|
|||||||
|
|
||||||
private void doTeleport(PlayerInstance player, int val)
|
private void doTeleport(PlayerInstance player, int val)
|
||||||
{
|
{
|
||||||
TeleportLocation list = TeleportLocationTable.getInstance().getTemplate(val);
|
final TeleportLocation list = TeleportLocationTable.getInstance().getTemplate(val);
|
||||||
if (list != null)
|
if (list != null)
|
||||||
{
|
{
|
||||||
if (player.getAdena() >= list.getPrice())
|
if (player.getAdena() >= list.getPrice())
|
||||||
{
|
{
|
||||||
player.reduceAdena(list.getPrice());
|
player.reduceAdena(list.getPrice());
|
||||||
TeleportToLocation Tloc = new TeleportToLocation(player, list.getLocX(), list.getLocY(), list.getLocZ());
|
final TeleportToLocation Tloc = new TeleportToLocation(player, list.getLocX(), list.getLocY(), list.getLocZ());
|
||||||
player.sendPacket(Tloc);
|
player.sendPacket(Tloc);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
SystemMessage sm = new SystemMessage(SystemMessage.YOU_NOT_ENOUGH_ADENA);
|
final SystemMessage sm = new SystemMessage(SystemMessage.YOU_NOT_ENOUGH_ADENA);
|
||||||
player.sendPacket(sm);
|
player.sendPacket(sm);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -46,7 +46,7 @@ public class TrainerInstance extends NpcInstance
|
|||||||
|
|
||||||
public void showSkillList(PlayerInstance player)
|
public void showSkillList(PlayerInstance player)
|
||||||
{
|
{
|
||||||
AquireSkillList asl = new AquireSkillList();
|
final AquireSkillList asl = new AquireSkillList();
|
||||||
for (SkillLearn skill : SkillTreeTable.getInstance().getAvailableSkills(player))
|
for (SkillLearn skill : SkillTreeTable.getInstance().getAvailableSkills(player))
|
||||||
{
|
{
|
||||||
asl.addSkill(skill.getId(), skill.getLevel(), skill.getLevel(), skill.getSpCost(), 0);
|
asl.addSkill(skill.getId(), skill.getLevel(), skill.getLevel(), skill.getSpCost(), 0);
|
||||||
|
@@ -37,7 +37,7 @@ public class VillageMasterInstance extends NpcInstance
|
|||||||
super.onBypassFeedback(player, command);
|
super.onBypassFeedback(player, command);
|
||||||
if (command.startsWith("create_clan"))
|
if (command.startsWith("create_clan"))
|
||||||
{
|
{
|
||||||
String val = command.substring(12);
|
final String val = command.substring(12);
|
||||||
createClan(player, val);
|
createClan(player, val);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -60,37 +60,37 @@ public class VillageMasterInstance extends NpcInstance
|
|||||||
{
|
{
|
||||||
if (player.getLevel() < 10)
|
if (player.getLevel() < 10)
|
||||||
{
|
{
|
||||||
SystemMessage sm = new SystemMessage(SystemMessage.FAILED_TO_CREATE_CLAN);
|
final SystemMessage sm = new SystemMessage(SystemMessage.FAILED_TO_CREATE_CLAN);
|
||||||
player.sendPacket(sm);
|
player.sendPacket(sm);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (player.getClanId() != 0)
|
if (player.getClanId() != 0)
|
||||||
{
|
{
|
||||||
SystemMessage sm = new SystemMessage(SystemMessage.FAILED_TO_CREATE_CLAN);
|
final SystemMessage sm = new SystemMessage(SystemMessage.FAILED_TO_CREATE_CLAN);
|
||||||
player.sendPacket(sm);
|
player.sendPacket(sm);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (clanName.length() > 16)
|
if (clanName.length() > 16)
|
||||||
{
|
{
|
||||||
SystemMessage sm = new SystemMessage(SystemMessage.CLAN_NAME_TOO_LONG);
|
final SystemMessage sm = new SystemMessage(SystemMessage.CLAN_NAME_TOO_LONG);
|
||||||
player.sendPacket(sm);
|
player.sendPacket(sm);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
Clan clan = ClanTable.getInstance().createClan(player, clanName);
|
final Clan clan = ClanTable.getInstance().createClan(player, clanName);
|
||||||
if (clan == null)
|
if (clan == null)
|
||||||
{
|
{
|
||||||
SystemMessage sm = new SystemMessage(SystemMessage.CLAN_NAME_INCORRECT);
|
final SystemMessage sm = new SystemMessage(SystemMessage.CLAN_NAME_INCORRECT);
|
||||||
player.sendPacket(sm);
|
player.sendPacket(sm);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
player.setClan(clan);
|
player.setClan(clan);
|
||||||
player.setClanId(clan.getClanId());
|
player.setClanId(clan.getClanId());
|
||||||
player.setIsClanLeader(true);
|
player.setIsClanLeader(true);
|
||||||
PledgeShowInfoUpdate pu = new PledgeShowInfoUpdate(clan, player);
|
final PledgeShowInfoUpdate pu = new PledgeShowInfoUpdate(clan, player);
|
||||||
player.sendPacket(pu);
|
player.sendPacket(pu);
|
||||||
UserInfo ui = new UserInfo(player);
|
final UserInfo ui = new UserInfo(player);
|
||||||
player.sendPacket(ui);
|
player.sendPacket(ui);
|
||||||
SystemMessage sm = new SystemMessage(SystemMessage.CLAN_CREATED);
|
final SystemMessage sm = new SystemMessage(SystemMessage.CLAN_CREATED);
|
||||||
player.sendPacket(sm);
|
player.sendPacket(sm);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -51,10 +51,10 @@ public class WarehouseInstance extends NpcInstance
|
|||||||
|
|
||||||
private void showRetrieveWindow(PlayerInstance player)
|
private void showRetrieveWindow(PlayerInstance player)
|
||||||
{
|
{
|
||||||
Warehouse list = player.getWarehouse();
|
final Warehouse list = player.getWarehouse();
|
||||||
if (list != null)
|
if (list != null)
|
||||||
{
|
{
|
||||||
WareHouseWithdrawalList wl = new WareHouseWithdrawalList(player);
|
final WareHouseWithdrawalList wl = new WareHouseWithdrawalList(player);
|
||||||
player.sendPacket(wl);
|
player.sendPacket(wl);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@@ -66,14 +66,14 @@ public class WarehouseInstance extends NpcInstance
|
|||||||
|
|
||||||
private void showDepositWindow(PlayerInstance player)
|
private void showDepositWindow(PlayerInstance player)
|
||||||
{
|
{
|
||||||
WareHouseDepositList dl = new WareHouseDepositList(player);
|
final WareHouseDepositList dl = new WareHouseDepositList(player);
|
||||||
player.sendPacket(dl);
|
player.sendPacket(dl);
|
||||||
player.sendPacket(new ActionFailed());
|
player.sendPacket(new ActionFailed());
|
||||||
}
|
}
|
||||||
|
|
||||||
private void showDepositWindowClan(PlayerInstance player)
|
private void showDepositWindowClan(PlayerInstance player)
|
||||||
{
|
{
|
||||||
NpcHtmlMessage html = new NpcHtmlMessage(1);
|
final NpcHtmlMessage html = new NpcHtmlMessage(1);
|
||||||
html.setHtml("<html><body>Clans are not supported yet.</body></html>");
|
html.setHtml("<html><body>Clans are not supported yet.</body></html>");
|
||||||
player.sendPacket(html);
|
player.sendPacket(html);
|
||||||
player.sendPacket(new ActionFailed());
|
player.sendPacket(new ActionFailed());
|
||||||
@@ -81,7 +81,7 @@ public class WarehouseInstance extends NpcInstance
|
|||||||
|
|
||||||
private void showWithdrawWindowClan(PlayerInstance player)
|
private void showWithdrawWindowClan(PlayerInstance player)
|
||||||
{
|
{
|
||||||
NpcHtmlMessage html = new NpcHtmlMessage(1);
|
final NpcHtmlMessage html = new NpcHtmlMessage(1);
|
||||||
html.setHtml("<html><body>Clans are not supported yet.</body></html>");
|
html.setHtml("<html><body>Clans are not supported yet.</body></html>");
|
||||||
player.sendPacket(html);
|
player.sendPacket(html);
|
||||||
player.sendPacket(new ActionFailed());
|
player.sendPacket(new ActionFailed());
|
||||||
|
@@ -93,7 +93,7 @@ public class ClientThread extends Thread
|
|||||||
saveCharToDisk(_activeChar);
|
saveCharToDisk(_activeChar);
|
||||||
starttime = System.currentTimeMillis();
|
starttime = System.currentTimeMillis();
|
||||||
}
|
}
|
||||||
byte[] decrypt = _connection.getPacket();
|
final byte[] decrypt = _connection.getPacket();
|
||||||
_handler.handlePacket(decrypt);
|
_handler.handlePacket(decrypt);
|
||||||
}
|
}
|
||||||
while (true);
|
while (true);
|
||||||
@@ -272,7 +272,7 @@ public class ClientThread extends Thread
|
|||||||
public PlayerInstance loadCharFromDisk(int charslot)
|
public PlayerInstance loadCharFromDisk(int charslot)
|
||||||
{
|
{
|
||||||
PlayerInstance character = new PlayerInstance();
|
PlayerInstance character = new PlayerInstance();
|
||||||
File[] chars = _charFolder.listFiles((FilenameFilter) (dir, name) -> name.endsWith("_char.csv"));
|
final File[] chars = _charFolder.listFiles((FilenameFilter) (dir, name) -> name.endsWith("_char.csv"));
|
||||||
character = restoreChar(chars[charslot]);
|
character = restoreChar(chars[charslot]);
|
||||||
if (character != null)
|
if (character != null)
|
||||||
{
|
{
|
||||||
@@ -282,7 +282,7 @@ public class ClientThread extends Thread
|
|||||||
restoreWarehouse(new File(_charFolder, character.getName() + "_warehouse.csv"), character);
|
restoreWarehouse(new File(_charFolder, character.getName() + "_warehouse.csv"), character);
|
||||||
if (character.getClanId() != 0)
|
if (character.getClanId() != 0)
|
||||||
{
|
{
|
||||||
Clan clan = ClanTable.getInstance().getClan(character.getClanId());
|
final Clan clan = ClanTable.getInstance().getClan(character.getClanId());
|
||||||
if (!clan.isMember(character.getName()))
|
if (!clan.isMember(character.getName()))
|
||||||
{
|
{
|
||||||
character.setClanId(0);
|
character.setClanId(0);
|
||||||
@@ -312,13 +312,13 @@ public class ClientThread extends Thread
|
|||||||
String line = null;
|
String line = null;
|
||||||
while ((line = ((LineNumberReader) lnr).readLine()) != null)
|
while ((line = ((LineNumberReader) lnr).readLine()) != null)
|
||||||
{
|
{
|
||||||
StringTokenizer st = new StringTokenizer(line, ";");
|
final StringTokenizer st = new StringTokenizer(line, ";");
|
||||||
int slot = Integer.parseInt(st.nextToken());
|
final int slot = Integer.parseInt(st.nextToken());
|
||||||
int type = Integer.parseInt(st.nextToken());
|
final int type = Integer.parseInt(st.nextToken());
|
||||||
int id = Integer.parseInt(st.nextToken());
|
final int id = Integer.parseInt(st.nextToken());
|
||||||
int level = Integer.parseInt(st.nextToken());
|
final int level = Integer.parseInt(st.nextToken());
|
||||||
int unk = Integer.parseInt(st.nextToken());
|
final int unk = Integer.parseInt(st.nextToken());
|
||||||
ShortCut sc = new ShortCut(slot, type, id, level, unk);
|
final ShortCut sc = new ShortCut(slot, type, id, level, unk);
|
||||||
restored.registerShortCut(sc);
|
restored.registerShortCut(sc);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -501,11 +501,11 @@ public class ClientThread extends Thread
|
|||||||
String line = null;
|
String line = null;
|
||||||
while ((line = ((LineNumberReader) lnr).readLine()) != null)
|
while ((line = ((LineNumberReader) lnr).readLine()) != null)
|
||||||
{
|
{
|
||||||
StringTokenizer st = new StringTokenizer(line, ";");
|
final StringTokenizer st = new StringTokenizer(line, ";");
|
||||||
ItemInstance item = new ItemInstance();
|
final ItemInstance item = new ItemInstance();
|
||||||
item.setObjectId(Integer.parseInt(st.nextToken()));
|
item.setObjectId(Integer.parseInt(st.nextToken()));
|
||||||
int itemId = Integer.parseInt(st.nextToken());
|
final int itemId = Integer.parseInt(st.nextToken());
|
||||||
Item itemTemp = ItemTable.getInstance().getTemplate(itemId);
|
final Item itemTemp = ItemTable.getInstance().getTemplate(itemId);
|
||||||
item.setItem(itemTemp);
|
item.setItem(itemTemp);
|
||||||
st.nextToken();
|
st.nextToken();
|
||||||
item.setCount(Integer.parseInt(st.nextToken()));
|
item.setCount(Integer.parseInt(st.nextToken()));
|
||||||
@@ -537,12 +537,12 @@ public class ClientThread extends Thread
|
|||||||
OutputStreamWriter out = null;
|
OutputStreamWriter out = null;
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
List<ItemInstance> items = cha.getWarehouse().getItems();
|
final List<ItemInstance> items = cha.getWarehouse().getItems();
|
||||||
out = new FileWriter(saveFile);
|
out = new FileWriter(saveFile);
|
||||||
out.write("#objectId;itemId;name;count;\n");
|
out.write("#objectId;itemId;name;count;\n");
|
||||||
for (int i = 0; i < items.size(); ++i)
|
for (int i = 0; i < items.size(); ++i)
|
||||||
{
|
{
|
||||||
ItemInstance item = items.get(i);
|
final ItemInstance item = items.get(i);
|
||||||
out.write(item.getObjectId() + ";");
|
out.write(item.getObjectId() + ";");
|
||||||
out.write(item.getItemId() + ";");
|
out.write(item.getItemId() + ";");
|
||||||
out.write(item.getItem().getName() + ";");
|
out.write(item.getItem().getName() + ";");
|
||||||
@@ -578,11 +578,11 @@ public class ClientThread extends Thread
|
|||||||
String line = null;
|
String line = null;
|
||||||
while ((line = ((LineNumberReader) lnr).readLine()) != null)
|
while ((line = ((LineNumberReader) lnr).readLine()) != null)
|
||||||
{
|
{
|
||||||
StringTokenizer st = new StringTokenizer(line, ";");
|
final StringTokenizer st = new StringTokenizer(line, ";");
|
||||||
ItemInstance item = new ItemInstance();
|
final ItemInstance item = new ItemInstance();
|
||||||
item.setObjectId(Integer.parseInt(st.nextToken()));
|
item.setObjectId(Integer.parseInt(st.nextToken()));
|
||||||
int itemId = Integer.parseInt(st.nextToken());
|
final int itemId = Integer.parseInt(st.nextToken());
|
||||||
Item itemTemp = ItemTable.getInstance().getTemplate(itemId);
|
final Item itemTemp = ItemTable.getInstance().getTemplate(itemId);
|
||||||
item.setItem(itemTemp);
|
item.setItem(itemTemp);
|
||||||
st.nextToken();
|
st.nextToken();
|
||||||
item.setCount(Integer.parseInt(st.nextToken()));
|
item.setCount(Integer.parseInt(st.nextToken()));
|
||||||
@@ -625,11 +625,11 @@ public class ClientThread extends Thread
|
|||||||
String line = null;
|
String line = null;
|
||||||
while ((line = ((LineNumberReader) lnr).readLine()) != null)
|
while ((line = ((LineNumberReader) lnr).readLine()) != null)
|
||||||
{
|
{
|
||||||
StringTokenizer st = new StringTokenizer(line, ";");
|
final StringTokenizer st = new StringTokenizer(line, ";");
|
||||||
int id = Integer.parseInt(st.nextToken());
|
final int id = Integer.parseInt(st.nextToken());
|
||||||
int level = Integer.parseInt(st.nextToken());
|
final int level = Integer.parseInt(st.nextToken());
|
||||||
st.nextToken();
|
st.nextToken();
|
||||||
Skill skill = SkillTable.getInstance().getInfo(id, level);
|
final Skill skill = SkillTable.getInstance().getInfo(id, level);
|
||||||
cha.addSkill(skill);
|
cha.addSkill(skill);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -654,14 +654,14 @@ public class ClientThread extends Thread
|
|||||||
|
|
||||||
private PlayerInstance restoreChar(File charFile)
|
private PlayerInstance restoreChar(File charFile)
|
||||||
{
|
{
|
||||||
PlayerInstance oldChar = new PlayerInstance();
|
final PlayerInstance oldChar = new PlayerInstance();
|
||||||
BufferedReader lnr = null;
|
BufferedReader lnr = null;
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
lnr = new LineNumberReader(new BufferedReader(new FileReader(charFile)));
|
lnr = new LineNumberReader(new BufferedReader(new FileReader(charFile)));
|
||||||
((LineNumberReader) lnr).readLine();
|
((LineNumberReader) lnr).readLine();
|
||||||
String line = ((LineNumberReader) lnr).readLine();
|
final String line = ((LineNumberReader) lnr).readLine();
|
||||||
StringTokenizer st = new StringTokenizer(line, ";");
|
final StringTokenizer st = new StringTokenizer(line, ";");
|
||||||
oldChar.setObjectId(Integer.parseInt(st.nextToken()));
|
oldChar.setObjectId(Integer.parseInt(st.nextToken()));
|
||||||
oldChar.setName(st.nextToken());
|
oldChar.setName(st.nextToken());
|
||||||
oldChar.setLevel(Integer.parseInt(st.nextToken()));
|
oldChar.setLevel(Integer.parseInt(st.nextToken()));
|
||||||
|
@@ -60,7 +60,7 @@ public class Connection
|
|||||||
// _log.warning("client terminated connection");
|
// _log.warning("client terminated connection");
|
||||||
throw new IOException("EOF");
|
throw new IOException("EOF");
|
||||||
}
|
}
|
||||||
byte[] incoming = new byte[length];
|
final byte[] incoming = new byte[length];
|
||||||
incoming[0] = (byte) lengthLo;
|
incoming[0] = (byte) lengthLo;
|
||||||
incoming[1] = (byte) lengthHi;
|
incoming[1] = (byte) lengthHi;
|
||||||
int newBytes = 0;
|
int newBytes = 0;
|
||||||
@@ -73,7 +73,7 @@ public class Connection
|
|||||||
_log.warning("Incomplete Packet is sent to the server, closing connection.");
|
_log.warning("Incomplete Packet is sent to the server, closing connection.");
|
||||||
throw new IOException();
|
throw new IOException();
|
||||||
}
|
}
|
||||||
byte[] decrypt = new byte[incoming.length - 2];
|
final byte[] decrypt = new byte[incoming.length - 2];
|
||||||
System.arraycopy(incoming, 2, decrypt, 0, decrypt.length);
|
System.arraycopy(incoming, 2, decrypt, 0, decrypt.length);
|
||||||
_inCrypt.decrypt(decrypt);
|
_inCrypt.decrypt(decrypt);
|
||||||
// int packetType = decrypt[0] & 0xFF;
|
// int packetType = decrypt[0] & 0xFF;
|
||||||
@@ -82,12 +82,12 @@ public class Connection
|
|||||||
|
|
||||||
public void sendPacket(byte[] data) throws IOException
|
public void sendPacket(byte[] data) throws IOException
|
||||||
{
|
{
|
||||||
Connection connection = this;
|
final Connection connection = this;
|
||||||
synchronized (connection)
|
synchronized (connection)
|
||||||
{
|
{
|
||||||
// _log.config("\n" + printData(data, data.length));
|
// _log.config("\n" + printData(data, data.length));
|
||||||
_outCrypt.encrypt(data);
|
_outCrypt.encrypt(data);
|
||||||
int length = data.length + 2;
|
final int length = data.length + 2;
|
||||||
_out.write(length & 0xFF);
|
_out.write(length & 0xFF);
|
||||||
_out.write((length >> 8) & 0xFF);
|
_out.write((length >> 8) & 0xFF);
|
||||||
_out.flush();
|
_out.flush();
|
||||||
@@ -98,7 +98,7 @@ public class Connection
|
|||||||
|
|
||||||
public void sendPacket(ServerBasePacket bp) throws IOException
|
public void sendPacket(ServerBasePacket bp) throws IOException
|
||||||
{
|
{
|
||||||
byte[] data = bp.getContent();
|
final byte[] data = bp.getContent();
|
||||||
this.sendPacket(data);
|
this.sendPacket(data);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -124,7 +124,7 @@ public class Connection
|
|||||||
int a;
|
int a;
|
||||||
int charpoint;
|
int charpoint;
|
||||||
byte t1;
|
byte t1;
|
||||||
StringBuffer result = new StringBuffer();
|
final StringBuffer result = new StringBuffer();
|
||||||
int counter = 0;
|
int counter = 0;
|
||||||
for (int i = 0; i < len; ++i)
|
for (int i = 0; i < len; ++i)
|
||||||
{
|
{
|
||||||
@@ -151,7 +151,7 @@ public class Connection
|
|||||||
result.append("\n");
|
result.append("\n");
|
||||||
counter = 0;
|
counter = 0;
|
||||||
}
|
}
|
||||||
int rest = data.length % 16;
|
final int rest = data.length % 16;
|
||||||
if (rest > 0)
|
if (rest > 0)
|
||||||
{
|
{
|
||||||
for (int i = 0; i < (17 - rest); ++i)
|
for (int i = 0; i < (17 - rest); ++i)
|
||||||
|
@@ -37,7 +37,7 @@ public class Crypt
|
|||||||
int j = 0;
|
int j = 0;
|
||||||
for (int i = 0; i < raw.length; ++i)
|
for (int i = 0; i < raw.length; ++i)
|
||||||
{
|
{
|
||||||
int temp2 = raw[i] & 0xFF;
|
final int temp2 = raw[i] & 0xFF;
|
||||||
raw[i] = (byte) (temp2 ^ (_key[j++] & 0xFF) ^ temp);
|
raw[i] = (byte) (temp2 ^ (_key[j++] & 0xFF) ^ temp);
|
||||||
temp = temp2;
|
temp = temp2;
|
||||||
if (j <= 7)
|
if (j <= 7)
|
||||||
@@ -67,7 +67,7 @@ public class Crypt
|
|||||||
int j = 0;
|
int j = 0;
|
||||||
for (int i = 0; i < raw.length; ++i)
|
for (int i = 0; i < raw.length; ++i)
|
||||||
{
|
{
|
||||||
int temp2 = raw[i] & 0xFF;
|
final int temp2 = raw[i] & 0xFF;
|
||||||
raw[i] = (byte) (temp2 ^ (_key[j++] & 0xFF) ^ temp);
|
raw[i] = (byte) (temp2 ^ (_key[j++] & 0xFF) ^ temp);
|
||||||
temp = raw[i];
|
temp = raw[i];
|
||||||
if (j <= 7)
|
if (j <= 7)
|
||||||
|
@@ -115,7 +115,7 @@ public class PacketHandler
|
|||||||
|
|
||||||
public void handlePacket(byte[] data) throws IOException
|
public void handlePacket(byte[] data) throws IOException
|
||||||
{
|
{
|
||||||
int id = data[0] & 0xFF;
|
final int id = data[0] & 0xFF;
|
||||||
switch (id)
|
switch (id)
|
||||||
{
|
{
|
||||||
case 0:
|
case 0:
|
||||||
@@ -544,7 +544,7 @@ public class PacketHandler
|
|||||||
int a;
|
int a;
|
||||||
int charpoint;
|
int charpoint;
|
||||||
byte t1;
|
byte t1;
|
||||||
StringBuffer result = new StringBuffer();
|
final StringBuffer result = new StringBuffer();
|
||||||
int counter = 0;
|
int counter = 0;
|
||||||
for (int i = 0; i < len; ++i)
|
for (int i = 0; i < len; ++i)
|
||||||
{
|
{
|
||||||
@@ -571,7 +571,7 @@ public class PacketHandler
|
|||||||
result.append("\n");
|
result.append("\n");
|
||||||
counter = 0;
|
counter = 0;
|
||||||
}
|
}
|
||||||
int rest = data.length % 16;
|
final int rest = data.length % 16;
|
||||||
if (rest > 0)
|
if (rest > 0)
|
||||||
{
|
{
|
||||||
for (int i = 0; i < (17 - rest); ++i)
|
for (int i = 0; i < (17 - rest); ++i)
|
||||||
|
@@ -30,16 +30,16 @@ public class Action extends ClientBasePacket
|
|||||||
public Action(byte[] decrypt, ClientThread client)
|
public Action(byte[] decrypt, ClientThread client)
|
||||||
{
|
{
|
||||||
super(decrypt);
|
super(decrypt);
|
||||||
int objectId = readD();
|
final int objectId = readD();
|
||||||
@SuppressWarnings("unused")
|
@SuppressWarnings("unused")
|
||||||
int originX = readD();
|
final int originX = readD();
|
||||||
@SuppressWarnings("unused")
|
@SuppressWarnings("unused")
|
||||||
int originY = readD();
|
final int originY = readD();
|
||||||
@SuppressWarnings("unused")
|
@SuppressWarnings("unused")
|
||||||
int originZ = readD();
|
final int originZ = readD();
|
||||||
int actionId = readC();
|
final int actionId = readC();
|
||||||
PlayerInstance activeChar = client.getActiveChar();
|
final PlayerInstance activeChar = client.getActiveChar();
|
||||||
WorldObject obj = World.getInstance().findObject(objectId);
|
final WorldObject obj = World.getInstance().findObject(objectId);
|
||||||
if ((obj != null) && !activeChar.isDead() && (activeChar.getPrivateStoreType() == 0) && (activeChar.getTransactionRequester() == null))
|
if ((obj != null) && !activeChar.isDead() && (activeChar.getPrivateStoreType() == 0) && (activeChar.getTransactionRequester() == null))
|
||||||
{
|
{
|
||||||
switch (actionId)
|
switch (actionId)
|
||||||
|
@@ -34,21 +34,21 @@ public class AddTradeItem extends ClientBasePacket
|
|||||||
{
|
{
|
||||||
super(decrypt);
|
super(decrypt);
|
||||||
@SuppressWarnings("unused")
|
@SuppressWarnings("unused")
|
||||||
int tradeId = readD();
|
final int tradeId = readD();
|
||||||
int objectId = readD();
|
final int objectId = readD();
|
||||||
int amount = readD();
|
final int amount = readD();
|
||||||
PlayerInstance player = client.getActiveChar();
|
final PlayerInstance player = client.getActiveChar();
|
||||||
PlayerInstance requestor = player.getTransactionRequester();
|
final PlayerInstance requestor = player.getTransactionRequester();
|
||||||
if (requestor.getTransactionRequester() != null)
|
if (requestor.getTransactionRequester() != null)
|
||||||
{
|
{
|
||||||
TradeList playerItemList = player.getTradeList();
|
final TradeList playerItemList = player.getTradeList();
|
||||||
player.getTradeList().setConfirmedTrade(false);
|
player.getTradeList().setConfirmedTrade(false);
|
||||||
requestor.getTradeList().setConfirmedTrade(false);
|
requestor.getTradeList().setConfirmedTrade(false);
|
||||||
if (playerItemList.getItems().size() > 0)
|
if (playerItemList.getItems().size() > 0)
|
||||||
{
|
{
|
||||||
if (!playerItemList.contains(objectId))
|
if (!playerItemList.contains(objectId))
|
||||||
{
|
{
|
||||||
ItemInstance temp = new ItemInstance();
|
final ItemInstance temp = new ItemInstance();
|
||||||
temp.setObjectId(player.getInventory().getItem(objectId).getObjectId());
|
temp.setObjectId(player.getInventory().getItem(objectId).getObjectId());
|
||||||
temp.setCount(amount);
|
temp.setCount(amount);
|
||||||
playerItemList.addItem(temp);
|
playerItemList.addItem(temp);
|
||||||
@@ -58,7 +58,7 @@ public class AddTradeItem extends ClientBasePacket
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
ItemInstance tempTradeItem;
|
ItemInstance tempTradeItem;
|
||||||
int InvItemCount = player.getInventory().getItem(objectId).getCount();
|
final int InvItemCount = player.getInventory().getItem(objectId).getCount();
|
||||||
if (InvItemCount != (tempTradeItem = playerItemList.getItem(objectId)).getCount())
|
if (InvItemCount != (tempTradeItem = playerItemList.getItem(objectId)).getCount())
|
||||||
{
|
{
|
||||||
if ((amount + tempTradeItem.getCount()) >= InvItemCount)
|
if ((amount + tempTradeItem.getCount()) >= InvItemCount)
|
||||||
@@ -78,7 +78,7 @@ public class AddTradeItem extends ClientBasePacket
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
ItemInstance temp = new ItemInstance();
|
final ItemInstance temp = new ItemInstance();
|
||||||
temp.setObjectId(objectId);
|
temp.setObjectId(objectId);
|
||||||
temp.setCount(amount);
|
temp.setCount(amount);
|
||||||
playerItemList.addItem(temp);
|
playerItemList.addItem(temp);
|
||||||
@@ -89,7 +89,7 @@ public class AddTradeItem extends ClientBasePacket
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
player.sendPacket(new SendTradeDone(0));
|
player.sendPacket(new SendTradeDone(0));
|
||||||
SystemMessage msg = new SystemMessage(SystemMessage.TARGET_IS_NOT_FOUND_IN_THE_GAME);
|
final SystemMessage msg = new SystemMessage(SystemMessage.TARGET_IS_NOT_FOUND_IN_THE_GAME);
|
||||||
player.sendPacket(msg);
|
player.sendPacket(msg);
|
||||||
player.setTransactionRequester(null);
|
player.setTransactionRequester(null);
|
||||||
requestor.getTradeList().getItems().clear();
|
requestor.getTradeList().getItems().clear();
|
||||||
|
@@ -31,9 +31,9 @@ public class AnswerTradeRequest extends ClientBasePacket
|
|||||||
public AnswerTradeRequest(byte[] decrypt, ClientThread client)
|
public AnswerTradeRequest(byte[] decrypt, ClientThread client)
|
||||||
{
|
{
|
||||||
super(decrypt);
|
super(decrypt);
|
||||||
int response = readD();
|
final int response = readD();
|
||||||
PlayerInstance player = client.getActiveChar();
|
final PlayerInstance player = client.getActiveChar();
|
||||||
PlayerInstance requestor = player.getTransactionRequester();
|
final PlayerInstance requestor = player.getTransactionRequester();
|
||||||
if (requestor.getTransactionRequester() != null)
|
if (requestor.getTransactionRequester() != null)
|
||||||
{
|
{
|
||||||
if (response == 1)
|
if (response == 1)
|
||||||
@@ -57,7 +57,7 @@ public class AnswerTradeRequest extends ClientBasePacket
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
SystemMessage msg = new SystemMessage(SystemMessage.S1_DENIED_TRADE_REQUEST);
|
final SystemMessage msg = new SystemMessage(SystemMessage.S1_DENIED_TRADE_REQUEST);
|
||||||
msg.addString(player.getName());
|
msg.addString(player.getName());
|
||||||
requestor.sendPacket(msg);
|
requestor.sendPacket(msg);
|
||||||
requestor.setTransactionRequester(null);
|
requestor.setTransactionRequester(null);
|
||||||
@@ -67,7 +67,7 @@ public class AnswerTradeRequest extends ClientBasePacket
|
|||||||
else if (response != 0)
|
else if (response != 0)
|
||||||
{
|
{
|
||||||
player.sendPacket(new SendTradeDone(0));
|
player.sendPacket(new SendTradeDone(0));
|
||||||
SystemMessage msg = new SystemMessage(SystemMessage.TARGET_IS_NOT_FOUND_IN_THE_GAME);
|
final SystemMessage msg = new SystemMessage(SystemMessage.TARGET_IS_NOT_FOUND_IN_THE_GAME);
|
||||||
player.sendPacket(msg);
|
player.sendPacket(msg);
|
||||||
player.setTransactionRequester(null);
|
player.setTransactionRequester(null);
|
||||||
}
|
}
|
||||||
|
@@ -40,10 +40,10 @@ public class Appearing extends ClientBasePacket
|
|||||||
public Appearing(byte[] decrypt, ClientThread client) throws IOException
|
public Appearing(byte[] decrypt, ClientThread client) throws IOException
|
||||||
{
|
{
|
||||||
super(decrypt);
|
super(decrypt);
|
||||||
PlayerInstance activeChar = client.getActiveChar();
|
final PlayerInstance activeChar = client.getActiveChar();
|
||||||
activeChar.removeAllKnownObjects();
|
activeChar.removeAllKnownObjects();
|
||||||
Connection con = client.getConnection();
|
final Connection con = client.getConnection();
|
||||||
UserInfo ui = new UserInfo(activeChar);
|
final UserInfo ui = new UserInfo(activeChar);
|
||||||
con.sendPacket(ui);
|
con.sendPacket(ui);
|
||||||
for (WorldObject worldObject : World.getInstance().getVisibleObjects(activeChar, 2000))
|
for (WorldObject worldObject : World.getInstance().getVisibleObjects(activeChar, 2000))
|
||||||
{
|
{
|
||||||
@@ -52,7 +52,7 @@ public class Appearing extends ClientBasePacket
|
|||||||
activeChar.addKnownObject(worldObject);
|
activeChar.addKnownObject(worldObject);
|
||||||
if (worldObject instanceof ItemInstance)
|
if (worldObject instanceof ItemInstance)
|
||||||
{
|
{
|
||||||
SpawnItem si = new SpawnItem((ItemInstance) worldObject);
|
final SpawnItem si = new SpawnItem((ItemInstance) worldObject);
|
||||||
con.sendPacket(si);
|
con.sendPacket(si);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
@@ -76,7 +76,7 @@ public class Appearing extends ClientBasePacket
|
|||||||
{
|
{
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
PlayerInstance player = (PlayerInstance) worldObject;
|
final PlayerInstance player = (PlayerInstance) worldObject;
|
||||||
con.sendPacket(new CharInfo(player));
|
con.sendPacket(new CharInfo(player));
|
||||||
player.addKnownObject(activeChar);
|
player.addKnownObject(activeChar);
|
||||||
player.getNetConnection().sendPacket(new CharInfo(activeChar));
|
player.getNetConnection().sendPacket(new CharInfo(activeChar));
|
||||||
|
@@ -30,17 +30,17 @@ public class AttackRequest extends ClientBasePacket
|
|||||||
public AttackRequest(byte[] decrypt, ClientThread client)
|
public AttackRequest(byte[] decrypt, ClientThread client)
|
||||||
{
|
{
|
||||||
super(decrypt);
|
super(decrypt);
|
||||||
int objectId = readD();
|
final int objectId = readD();
|
||||||
@SuppressWarnings("unused")
|
@SuppressWarnings("unused")
|
||||||
int originX = readD();
|
final int originX = readD();
|
||||||
@SuppressWarnings("unused")
|
@SuppressWarnings("unused")
|
||||||
int originY = readD();
|
final int originY = readD();
|
||||||
@SuppressWarnings("unused")
|
@SuppressWarnings("unused")
|
||||||
int originZ = readD();
|
final int originZ = readD();
|
||||||
@SuppressWarnings("unused")
|
@SuppressWarnings("unused")
|
||||||
int attackId = readC();
|
final int attackId = readC();
|
||||||
PlayerInstance activeChar = client.getActiveChar();
|
final PlayerInstance activeChar = client.getActiveChar();
|
||||||
WorldObject target = World.getInstance().findObject(objectId);
|
final WorldObject target = World.getInstance().findObject(objectId);
|
||||||
if ((target != null) && (activeChar.getTarget() != target))
|
if ((target != null) && (activeChar.getTarget() != target))
|
||||||
{
|
{
|
||||||
target.onAction(activeChar);
|
target.onAction(activeChar);
|
||||||
|
@@ -31,12 +31,12 @@ public class AuthLogin extends ClientBasePacket
|
|||||||
public AuthLogin(byte[] decrypt, ClientThread client) throws IOException
|
public AuthLogin(byte[] decrypt, ClientThread client) throws IOException
|
||||||
{
|
{
|
||||||
super(decrypt);
|
super(decrypt);
|
||||||
String loginName = readS().toLowerCase();
|
final String loginName = readS().toLowerCase();
|
||||||
@SuppressWarnings("unused")
|
@SuppressWarnings("unused")
|
||||||
long key1 = readD();
|
final long key1 = readD();
|
||||||
long key2 = readD();
|
final long key2 = readD();
|
||||||
|
|
||||||
int access = LoginController.getInstance().getGmAccessLevel(loginName);
|
final int access = LoginController.getInstance().getGmAccessLevel(loginName);
|
||||||
if (!LoginController.getInstance().loginPossible(access))
|
if (!LoginController.getInstance().loginPossible(access))
|
||||||
{
|
{
|
||||||
_log.warning("Server is full. client is blocked: " + loginName);
|
_log.warning("Server is full. client is blocked: " + loginName);
|
||||||
@@ -45,7 +45,7 @@ public class AuthLogin extends ClientBasePacket
|
|||||||
}
|
}
|
||||||
client.setLoginName(loginName);
|
client.setLoginName(loginName);
|
||||||
client.setLoginFolder(loginName);
|
client.setLoginFolder(loginName);
|
||||||
int sessionKey = LoginController.getInstance().getKeyForAccount(loginName);
|
final int sessionKey = LoginController.getInstance().getKeyForAccount(loginName);
|
||||||
if (sessionKey != key2)
|
if (sessionKey != key2)
|
||||||
{
|
{
|
||||||
_log.warning("session key is not correct. closing connection");
|
_log.warning("session key is not correct. closing connection");
|
||||||
@@ -54,7 +54,7 @@ public class AuthLogin extends ClientBasePacket
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
LoginController.getInstance().addGameServerLogin(loginName, client.getConnection());
|
LoginController.getInstance().addGameServerLogin(loginName, client.getConnection());
|
||||||
CharSelectInfo cl = new CharSelectInfo(loginName, client.getSessionId());
|
final CharSelectInfo cl = new CharSelectInfo(loginName, client.getSessionId());
|
||||||
client.getConnection().sendPacket(cl);
|
client.getConnection().sendPacket(cl);
|
||||||
}
|
}
|
||||||
client.setAccessLevel(access);
|
client.setAccessLevel(access);
|
||||||
|
@@ -27,8 +27,8 @@ public class ChangeMoveType2 extends ClientBasePacket
|
|||||||
public ChangeMoveType2(byte[] decrypt, ClientThread client)
|
public ChangeMoveType2(byte[] decrypt, ClientThread client)
|
||||||
{
|
{
|
||||||
super(decrypt);
|
super(decrypt);
|
||||||
int type = readD();
|
final int type = readD();
|
||||||
ChangeMoveType cmt = new ChangeMoveType(client.getActiveChar(), type);
|
final ChangeMoveType cmt = new ChangeMoveType(client.getActiveChar(), type);
|
||||||
client.getActiveChar().setMoveType(type);
|
client.getActiveChar().setMoveType(type);
|
||||||
client.getActiveChar().sendPacket(cmt);
|
client.getActiveChar().sendPacket(cmt);
|
||||||
client.getActiveChar().broadcastPacket(cmt);
|
client.getActiveChar().broadcastPacket(cmt);
|
||||||
|
@@ -27,8 +27,8 @@ public class ChangeWaitType2 extends ClientBasePacket
|
|||||||
public ChangeWaitType2(byte[] decrypt, ClientThread client)
|
public ChangeWaitType2(byte[] decrypt, ClientThread client)
|
||||||
{
|
{
|
||||||
super(decrypt);
|
super(decrypt);
|
||||||
int type = readD();
|
final int type = readD();
|
||||||
ChangeWaitType cwt = new ChangeWaitType(client.getActiveChar(), type);
|
final ChangeWaitType cwt = new ChangeWaitType(client.getActiveChar(), type);
|
||||||
client.getActiveChar().setWaitType(type);
|
client.getActiveChar().setWaitType(type);
|
||||||
client.getActiveChar().sendPacket(cwt);
|
client.getActiveChar().sendPacket(cwt);
|
||||||
client.getActiveChar().broadcastPacket(cwt);
|
client.getActiveChar().broadcastPacket(cwt);
|
||||||
|
@@ -43,7 +43,7 @@ public class CharacterCreate extends ClientBasePacket
|
|||||||
public CharacterCreate(byte[] decrypt, ClientThread client) throws IOException
|
public CharacterCreate(byte[] decrypt, ClientThread client) throws IOException
|
||||||
{
|
{
|
||||||
super(decrypt);
|
super(decrypt);
|
||||||
PlayerInstance newChar = new PlayerInstance();
|
final PlayerInstance newChar = new PlayerInstance();
|
||||||
newChar.setName(readS());
|
newChar.setName(readS());
|
||||||
newChar.setRace(readD());
|
newChar.setRace(readD());
|
||||||
newChar.setSex(readD());
|
newChar.setSex(readD());
|
||||||
@@ -59,19 +59,19 @@ public class CharacterCreate extends ClientBasePacket
|
|||||||
newChar.setFace(readD());
|
newChar.setFace(readD());
|
||||||
if (CharNameTable.getInstance().doesCharNameExist(newChar.getName()))
|
if (CharNameTable.getInstance().doesCharNameExist(newChar.getName()))
|
||||||
{
|
{
|
||||||
CharCreateFail ccf = new CharCreateFail(CharCreateFail.REASON_NAME_ALREADY_EXISTS);
|
final CharCreateFail ccf = new CharCreateFail(CharCreateFail.REASON_NAME_ALREADY_EXISTS);
|
||||||
client.getConnection().sendPacket(ccf);
|
client.getConnection().sendPacket(ccf);
|
||||||
}
|
}
|
||||||
else if ((newChar.getName().length() <= 16) && isAlphaNumeric(newChar.getName()))
|
else if ((newChar.getName().length() <= 16) && isAlphaNumeric(newChar.getName()))
|
||||||
{
|
{
|
||||||
CharCreateOk cco = new CharCreateOk();
|
final CharCreateOk cco = new CharCreateOk();
|
||||||
client.getConnection().sendPacket(cco);
|
client.getConnection().sendPacket(cco);
|
||||||
initNewChar(client, newChar);
|
initNewChar(client, newChar);
|
||||||
CharNameTable.getInstance().addCharName(newChar.getName());
|
CharNameTable.getInstance().addCharName(newChar.getName());
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
CharCreateFail ccf = new CharCreateFail(CharCreateFail.REASON_16_ENG_CHARS);
|
final CharCreateFail ccf = new CharCreateFail(CharCreateFail.REASON_16_ENG_CHARS);
|
||||||
client.getConnection().sendPacket(ccf);
|
client.getConnection().sendPacket(ccf);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -79,7 +79,7 @@ public class CharacterCreate extends ClientBasePacket
|
|||||||
private boolean isAlphaNumeric(String text)
|
private boolean isAlphaNumeric(String text)
|
||||||
{
|
{
|
||||||
boolean result = true;
|
boolean result = true;
|
||||||
char[] chars = text.toCharArray();
|
final char[] chars = text.toCharArray();
|
||||||
for (char c : chars)
|
for (char c : chars)
|
||||||
{
|
{
|
||||||
if (Character.isLetterOrDigit(c))
|
if (Character.isLetterOrDigit(c))
|
||||||
@@ -96,7 +96,7 @@ public class CharacterCreate extends ClientBasePacket
|
|||||||
{
|
{
|
||||||
newChar.setObjectId(IdFactory.getInstance().getNextId());
|
newChar.setObjectId(IdFactory.getInstance().getNextId());
|
||||||
World.getInstance().storeObject(newChar);
|
World.getInstance().storeObject(newChar);
|
||||||
CharTemplate template = CharTemplateTable.getInstance().getTemplate(newChar.getClassId());
|
final CharTemplate template = CharTemplateTable.getInstance().getTemplate(newChar.getClassId());
|
||||||
newChar.setAccuracy(template.getAcc());
|
newChar.setAccuracy(template.getAcc());
|
||||||
newChar.setCon(template.getCon());
|
newChar.setCon(template.getCon());
|
||||||
newChar.setCriticalHit(template.getCrit());
|
newChar.setCriticalHit(template.getCrit());
|
||||||
@@ -144,10 +144,10 @@ public class CharacterCreate extends ClientBasePacket
|
|||||||
newChar.setCollisionRadius(template.getFColR());
|
newChar.setCollisionRadius(template.getFColR());
|
||||||
newChar.setCollisionHeight(template.getFColH());
|
newChar.setCollisionHeight(template.getFColH());
|
||||||
}
|
}
|
||||||
ItemTable itemTable = ItemTable.getInstance();
|
final ItemTable itemTable = ItemTable.getInstance();
|
||||||
for (Integer item2 : template.getItems())
|
for (Integer item2 : template.getItems())
|
||||||
{
|
{
|
||||||
ItemInstance item = itemTable.createItem(item2);
|
final ItemInstance item = itemTable.createItem(item2);
|
||||||
newChar.getInventory().addItem(item);
|
newChar.getInventory().addItem(item);
|
||||||
}
|
}
|
||||||
newChar.setTitle("");
|
newChar.setTitle("");
|
||||||
@@ -157,7 +157,7 @@ public class CharacterCreate extends ClientBasePacket
|
|||||||
newChar.addSkill(SkillTable.getInstance().getInfo(startSkill.getId(), startSkill.getLevel()));
|
newChar.addSkill(SkillTable.getInstance().getInfo(startSkill.getId(), startSkill.getLevel()));
|
||||||
}
|
}
|
||||||
client.saveCharToDisk(newChar);
|
client.saveCharToDisk(newChar);
|
||||||
CharSelectInfo cl = new CharSelectInfo(client.getLoginName(), client.getSessionId());
|
final CharSelectInfo cl = new CharSelectInfo(client.getLoginName(), client.getSessionId());
|
||||||
client.getConnection().sendPacket(cl);
|
client.getConnection().sendPacket(cl);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -31,12 +31,12 @@ public class CharacterDelete extends ClientBasePacket
|
|||||||
public CharacterDelete(byte[] decrypt, ClientThread client) throws IOException
|
public CharacterDelete(byte[] decrypt, ClientThread client) throws IOException
|
||||||
{
|
{
|
||||||
super(decrypt);
|
super(decrypt);
|
||||||
int charSlot = readD();
|
final int charSlot = readD();
|
||||||
Connection con = client.getConnection();
|
final Connection con = client.getConnection();
|
||||||
client.deleteCharFromDisk(charSlot);
|
client.deleteCharFromDisk(charSlot);
|
||||||
CharDeleteOk ccf = new CharDeleteOk();
|
final CharDeleteOk ccf = new CharDeleteOk();
|
||||||
con.sendPacket(ccf);
|
con.sendPacket(ccf);
|
||||||
CharSelectInfo cl = new CharSelectInfo(client.getLoginName(), client.getSessionId());
|
final CharSelectInfo cl = new CharSelectInfo(client.getLoginName(), client.getSessionId());
|
||||||
con.sendPacket(cl);
|
con.sendPacket(cl);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -30,8 +30,8 @@ public class CharacterRestore extends ClientBasePacket
|
|||||||
{
|
{
|
||||||
super(decrypt);
|
super(decrypt);
|
||||||
@SuppressWarnings("unused")
|
@SuppressWarnings("unused")
|
||||||
int charSlot = readD();
|
final int charSlot = readD();
|
||||||
CharSelectInfo cl = new CharSelectInfo(client.getLoginName(), client.getSessionId());
|
final CharSelectInfo cl = new CharSelectInfo(client.getLoginName(), client.getSessionId());
|
||||||
client.getConnection().sendPacket(cl);
|
client.getConnection().sendPacket(cl);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -30,11 +30,11 @@ public class CharacterSelected extends ClientBasePacket
|
|||||||
public CharacterSelected(byte[] decrypt, ClientThread client) throws IOException
|
public CharacterSelected(byte[] decrypt, ClientThread client) throws IOException
|
||||||
{
|
{
|
||||||
super(decrypt);
|
super(decrypt);
|
||||||
int charSlot = readD();
|
final int charSlot = readD();
|
||||||
PlayerInstance cha = client.loadCharFromDisk(charSlot);
|
final PlayerInstance cha = client.loadCharFromDisk(charSlot);
|
||||||
cha.setMoveType(1);
|
cha.setMoveType(1);
|
||||||
cha.setWaitType(1);
|
cha.setWaitType(1);
|
||||||
CharSelected cs = new CharSelected(cha, client.getSessionId());
|
final CharSelected cs = new CharSelected(cha, client.getSessionId());
|
||||||
client.getConnection().sendPacket(cs);
|
client.getConnection().sendPacket(cs);
|
||||||
client.setActiveChar(cha);
|
client.setActiveChar(cha);
|
||||||
}
|
}
|
||||||
|
@@ -43,7 +43,7 @@ public abstract class ClientBasePacket
|
|||||||
|
|
||||||
public int readC()
|
public int readC()
|
||||||
{
|
{
|
||||||
int result = _decrypt[_off++] & 0xFF;
|
final int result = _decrypt[_off++] & 0xFF;
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -83,7 +83,7 @@ public abstract class ClientBasePacket
|
|||||||
|
|
||||||
public byte[] readB(int length)
|
public byte[] readB(int length)
|
||||||
{
|
{
|
||||||
byte[] result = new byte[length];
|
final byte[] result = new byte[length];
|
||||||
System.arraycopy(_decrypt, _off, result, 0, length);
|
System.arraycopy(_decrypt, _off, result, 0, length);
|
||||||
_off += length;
|
_off += length;
|
||||||
return result;
|
return result;
|
||||||
|
@@ -40,22 +40,22 @@ public class EnterWorld extends ClientBasePacket
|
|||||||
public EnterWorld(byte[] decrypt, ClientThread client) throws IOException
|
public EnterWorld(byte[] decrypt, ClientThread client) throws IOException
|
||||||
{
|
{
|
||||||
super(decrypt);
|
super(decrypt);
|
||||||
PlayerInstance activeChar = client.getActiveChar();
|
final PlayerInstance activeChar = client.getActiveChar();
|
||||||
Connection con = client.getConnection();
|
final Connection con = client.getConnection();
|
||||||
if (client.getAccessLevel() >= 100)
|
if (client.getAccessLevel() >= 100)
|
||||||
{
|
{
|
||||||
activeChar.setIsGM(true);
|
activeChar.setIsGM(true);
|
||||||
GmListManager.getInstance().addGm(activeChar);
|
GmListManager.getInstance().addGm(activeChar);
|
||||||
}
|
}
|
||||||
SystemMessage sm = new SystemMessage(SystemMessage.WELCOME_TO_LINEAGE);
|
final SystemMessage sm = new SystemMessage(SystemMessage.WELCOME_TO_LINEAGE);
|
||||||
con.sendPacket(sm);
|
con.sendPacket(sm);
|
||||||
|
|
||||||
Announcements.getInstance().showAnnouncements(activeChar);
|
Announcements.getInstance().showAnnouncements(activeChar);
|
||||||
|
|
||||||
ItemList il = new ItemList(activeChar, false);
|
final ItemList il = new ItemList(activeChar, false);
|
||||||
activeChar.sendPacket(il);
|
activeChar.sendPacket(il);
|
||||||
|
|
||||||
ShortCutInit sci = new ShortCutInit();
|
final ShortCutInit sci = new ShortCutInit();
|
||||||
for (ShortCut shortcut : activeChar.getAllShortCuts())
|
for (ShortCut shortcut : activeChar.getAllShortCuts())
|
||||||
{
|
{
|
||||||
switch (shortcut.getType())
|
switch (shortcut.getType())
|
||||||
@@ -83,7 +83,7 @@ public class EnterWorld extends ClientBasePacket
|
|||||||
}
|
}
|
||||||
con.sendPacket(sci);
|
con.sendPacket(sci);
|
||||||
|
|
||||||
UserInfo ui = new UserInfo(activeChar);
|
final UserInfo ui = new UserInfo(activeChar);
|
||||||
con.sendPacket(ui);
|
con.sendPacket(ui);
|
||||||
if (activeChar.isDead())
|
if (activeChar.isDead())
|
||||||
{
|
{
|
||||||
@@ -95,11 +95,11 @@ public class EnterWorld extends ClientBasePacket
|
|||||||
|
|
||||||
private void notifyClanMembers(PlayerInstance activeChar)
|
private void notifyClanMembers(PlayerInstance activeChar)
|
||||||
{
|
{
|
||||||
Clan clan = activeChar.getClan();
|
final Clan clan = activeChar.getClan();
|
||||||
if (clan != null)
|
if (clan != null)
|
||||||
{
|
{
|
||||||
clan.getClanMember(activeChar.getName()).setPlayerInstance(activeChar);
|
clan.getClanMember(activeChar.getName()).setPlayerInstance(activeChar);
|
||||||
SystemMessage msg = new SystemMessage(SystemMessage.CLAN_MEMBER_S1_LOGGED_IN);
|
final SystemMessage msg = new SystemMessage(SystemMessage.CLAN_MEMBER_S1_LOGGED_IN);
|
||||||
msg.addString(activeChar.getName());
|
msg.addString(activeChar.getName());
|
||||||
for (PlayerInstance clanMember : clan.getOnlineMembers(activeChar.getName()))
|
for (PlayerInstance clanMember : clan.getOnlineMembers(activeChar.getName()))
|
||||||
{
|
{
|
||||||
|
@@ -27,10 +27,10 @@ public class FinishRotating extends ClientBasePacket
|
|||||||
public FinishRotating(byte[] decrypt, ClientThread client)
|
public FinishRotating(byte[] decrypt, ClientThread client)
|
||||||
{
|
{
|
||||||
super(decrypt);
|
super(decrypt);
|
||||||
int degree = readD();
|
final int degree = readD();
|
||||||
@SuppressWarnings("unused")
|
@SuppressWarnings("unused")
|
||||||
int unknown = readD();
|
final int unknown = readD();
|
||||||
StopRotation sr = new StopRotation(client.getActiveChar(), degree);
|
final StopRotation sr = new StopRotation(client.getActiveChar(), degree);
|
||||||
client.getActiveChar().sendPacket(sr);
|
client.getActiveChar().sendPacket(sr);
|
||||||
client.getActiveChar().broadcastPacket(sr);
|
client.getActiveChar().broadcastPacket(sr);
|
||||||
}
|
}
|
||||||
|
@@ -32,7 +32,7 @@ public class Logout extends ClientBasePacket
|
|||||||
{
|
{
|
||||||
super(decrypt);
|
super(decrypt);
|
||||||
|
|
||||||
PlayerInstance player = client.getActiveChar();
|
final PlayerInstance player = client.getActiveChar();
|
||||||
if (player != null)
|
if (player != null)
|
||||||
{
|
{
|
||||||
if ((player.getPvpFlag() > 0) || player.isInCombat())
|
if ((player.getPvpFlag() > 0) || player.isInCombat())
|
||||||
@@ -41,7 +41,7 @@ public class Logout extends ClientBasePacket
|
|||||||
player.sendPacket(new ActionFailed());
|
player.sendPacket(new ActionFailed());
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
LeaveWorld ql = new LeaveWorld();
|
final LeaveWorld ql = new LeaveWorld();
|
||||||
client.getConnection().sendPacket(ql);
|
client.getConnection().sendPacket(ql);
|
||||||
player.deleteMe();
|
player.deleteMe();
|
||||||
client.saveCharToDisk(player);
|
client.saveCharToDisk(player);
|
||||||
|
@@ -30,13 +30,13 @@ public class MoveBackwardToLocation extends ClientBasePacket
|
|||||||
public MoveBackwardToLocation(byte[] decrypt, ClientThread client)
|
public MoveBackwardToLocation(byte[] decrypt, ClientThread client)
|
||||||
{
|
{
|
||||||
super(decrypt);
|
super(decrypt);
|
||||||
int targetX = readD();
|
final int targetX = readD();
|
||||||
int targetY = readD();
|
final int targetY = readD();
|
||||||
int targetZ = readD();
|
final int targetZ = readD();
|
||||||
int originX = readD();
|
final int originX = readD();
|
||||||
int originY = readD();
|
final int originY = readD();
|
||||||
int originZ = readD();
|
final int originZ = readD();
|
||||||
PlayerInstance activeChar = client.getActiveChar();
|
final PlayerInstance activeChar = client.getActiveChar();
|
||||||
if (activeChar.getCurrentState() == CreatureState.CASTING)
|
if (activeChar.getCurrentState() == CreatureState.CASTING)
|
||||||
{
|
{
|
||||||
activeChar.sendPacket(new ActionFailed());
|
activeChar.sendPacket(new ActionFailed());
|
||||||
@@ -45,7 +45,7 @@ public class MoveBackwardToLocation extends ClientBasePacket
|
|||||||
{
|
{
|
||||||
if (activeChar.getCurrentState() == CreatureState.ATTACKING)
|
if (activeChar.getCurrentState() == CreatureState.ATTACKING)
|
||||||
{
|
{
|
||||||
AttackCanceld ac = new AttackCanceld(activeChar.getObjectId());
|
final AttackCanceld ac = new AttackCanceld(activeChar.getObjectId());
|
||||||
activeChar.sendPacket(ac);
|
activeChar.sendPacket(ac);
|
||||||
activeChar.broadcastPacket(ac);
|
activeChar.broadcastPacket(ac);
|
||||||
}
|
}
|
||||||
|
@@ -31,7 +31,7 @@ public class NewCharacter extends ClientBasePacket
|
|||||||
public NewCharacter(byte[] rawPacket, ClientThread client) throws IOException
|
public NewCharacter(byte[] rawPacket, ClientThread client) throws IOException
|
||||||
{
|
{
|
||||||
super(rawPacket);
|
super(rawPacket);
|
||||||
CharTemplates ct = new CharTemplates();
|
final CharTemplates ct = new CharTemplates();
|
||||||
CharTemplate template = CharTemplateTable.getInstance().getTemplate(0);
|
CharTemplate template = CharTemplateTable.getInstance().getTemplate(0);
|
||||||
ct.addChar(template);
|
ct.addChar(template);
|
||||||
template = CharTemplateTable.getInstance().getTemplate(0);
|
template = CharTemplateTable.getInstance().getTemplate(0);
|
||||||
|
@@ -31,7 +31,7 @@ public class ProtocolVersion extends ClientBasePacket
|
|||||||
public ProtocolVersion(byte[] rawPacket, ClientThread client) throws IOException
|
public ProtocolVersion(byte[] rawPacket, ClientThread client) throws IOException
|
||||||
{
|
{
|
||||||
super(rawPacket);
|
super(rawPacket);
|
||||||
int version = readD();
|
final int version = readD();
|
||||||
|
|
||||||
// this packet is never encrypted
|
// this packet is never encrypted
|
||||||
if (version == -2)
|
if (version == -2)
|
||||||
@@ -44,8 +44,8 @@ public class ProtocolVersion extends ClientBasePacket
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
Connection con = client.getConnection();
|
final Connection con = client.getConnection();
|
||||||
KeyPacket pk = new KeyPacket();
|
final KeyPacket pk = new KeyPacket();
|
||||||
pk.setKey(con.getCryptKey());
|
pk.setKey(con.getCryptKey());
|
||||||
con.sendPacket(pk);
|
con.sendPacket(pk);
|
||||||
con.activateCryptKey();
|
con.activateCryptKey();
|
||||||
|
@@ -33,13 +33,13 @@ public class RequestActionUse extends ClientBasePacket
|
|||||||
public RequestActionUse(byte[] rawPacket, ClientThread client)
|
public RequestActionUse(byte[] rawPacket, ClientThread client)
|
||||||
{
|
{
|
||||||
super(rawPacket);
|
super(rawPacket);
|
||||||
int actionId = readD();
|
final int actionId = readD();
|
||||||
@SuppressWarnings("unused")
|
@SuppressWarnings("unused")
|
||||||
int data2 = readD();
|
final int data2 = readD();
|
||||||
@SuppressWarnings("unused")
|
@SuppressWarnings("unused")
|
||||||
int data3 = readC();
|
final int data3 = readC();
|
||||||
|
|
||||||
PlayerInstance activeChar = client.getActiveChar();
|
final PlayerInstance activeChar = client.getActiveChar();
|
||||||
if (activeChar.isDead())
|
if (activeChar.isDead())
|
||||||
{
|
{
|
||||||
activeChar.sendPacket(new ActionFailed());
|
activeChar.sendPacket(new ActionFailed());
|
||||||
@@ -49,8 +49,8 @@ public class RequestActionUse extends ClientBasePacket
|
|||||||
{
|
{
|
||||||
case 0:
|
case 0:
|
||||||
{
|
{
|
||||||
int waitType = activeChar.getWaitType() ^ 1;
|
final int waitType = activeChar.getWaitType() ^ 1;
|
||||||
ChangeWaitType cmt = new ChangeWaitType(activeChar, waitType);
|
final ChangeWaitType cmt = new ChangeWaitType(activeChar, waitType);
|
||||||
activeChar.setWaitType(waitType);
|
activeChar.setWaitType(waitType);
|
||||||
activeChar.sendPacket(cmt);
|
activeChar.sendPacket(cmt);
|
||||||
activeChar.broadcastPacket(cmt);
|
activeChar.broadcastPacket(cmt);
|
||||||
@@ -58,8 +58,8 @@ public class RequestActionUse extends ClientBasePacket
|
|||||||
}
|
}
|
||||||
case 1:
|
case 1:
|
||||||
{
|
{
|
||||||
int moveType = activeChar.getMoveType() ^ 1;
|
final int moveType = activeChar.getMoveType() ^ 1;
|
||||||
ChangeMoveType cmt = new ChangeMoveType(activeChar, moveType);
|
final ChangeMoveType cmt = new ChangeMoveType(activeChar, moveType);
|
||||||
activeChar.setMoveType(moveType);
|
activeChar.setMoveType(moveType);
|
||||||
activeChar.sendPacket(cmt);
|
activeChar.sendPacket(cmt);
|
||||||
activeChar.broadcastPacket(cmt);
|
activeChar.broadcastPacket(cmt);
|
||||||
|
@@ -30,11 +30,11 @@ public class RequestAllyCrest extends ClientBasePacket
|
|||||||
public RequestAllyCrest(byte[] rawPacket, ClientThread client) throws IOException
|
public RequestAllyCrest(byte[] rawPacket, ClientThread client) throws IOException
|
||||||
{
|
{
|
||||||
super(rawPacket);
|
super(rawPacket);
|
||||||
int crestId = readD();
|
final int crestId = readD();
|
||||||
File crestFile = new File("data/allycrest_" + crestId + ".bmp");
|
final File crestFile = new File("data/allycrest_" + crestId + ".bmp");
|
||||||
if (crestFile.exists())
|
if (crestFile.exists())
|
||||||
{
|
{
|
||||||
AllyCrest ac = new AllyCrest(crestId, crestFile);
|
final AllyCrest ac = new AllyCrest(crestId, crestFile);
|
||||||
client.getConnection().sendPacket(ac);
|
client.getConnection().sendPacket(ac);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@@ -29,10 +29,10 @@ public class RequestAnswerJoinParty extends ClientBasePacket
|
|||||||
public RequestAnswerJoinParty(byte[] decrypt, ClientThread client)
|
public RequestAnswerJoinParty(byte[] decrypt, ClientThread client)
|
||||||
{
|
{
|
||||||
super(decrypt);
|
super(decrypt);
|
||||||
int response = readD();
|
final int response = readD();
|
||||||
PlayerInstance player = client.getActiveChar();
|
final PlayerInstance player = client.getActiveChar();
|
||||||
PlayerInstance requestor = player.getTransactionRequester();
|
final PlayerInstance requestor = player.getTransactionRequester();
|
||||||
JoinParty join = new JoinParty(response);
|
final JoinParty join = new JoinParty(response);
|
||||||
requestor.sendPacket(join);
|
requestor.sendPacket(join);
|
||||||
if (response == 1)
|
if (response == 1)
|
||||||
{
|
{
|
||||||
@@ -40,7 +40,7 @@ public class RequestAnswerJoinParty extends ClientBasePacket
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
SystemMessage msg = new SystemMessage(SystemMessage.PLAYER_DECLINED);
|
final SystemMessage msg = new SystemMessage(SystemMessage.PLAYER_DECLINED);
|
||||||
requestor.sendPacket(msg);
|
requestor.sendPacket(msg);
|
||||||
if (requestor.getParty().getMemberCount() == 1)
|
if (requestor.getParty().getMemberCount() == 1)
|
||||||
{
|
{
|
||||||
|
@@ -35,27 +35,27 @@ public class RequestAnswerJoinPledge extends ClientBasePacket
|
|||||||
public RequestAnswerJoinPledge(byte[] rawPacket, ClientThread client)
|
public RequestAnswerJoinPledge(byte[] rawPacket, ClientThread client)
|
||||||
{
|
{
|
||||||
super(rawPacket);
|
super(rawPacket);
|
||||||
int answer = readD();
|
final int answer = readD();
|
||||||
// Connection con = client.getConnection();
|
// Connection con = client.getConnection();
|
||||||
PlayerInstance activeChar = client.getActiveChar();
|
final PlayerInstance activeChar = client.getActiveChar();
|
||||||
PlayerInstance requestor = activeChar.getTransactionRequester();
|
final PlayerInstance requestor = activeChar.getTransactionRequester();
|
||||||
if (answer == 1)
|
if (answer == 1)
|
||||||
{
|
{
|
||||||
JoinPledge jp = new JoinPledge(requestor.getClanId());
|
final JoinPledge jp = new JoinPledge(requestor.getClanId());
|
||||||
activeChar.sendPacket(jp);
|
activeChar.sendPacket(jp);
|
||||||
Clan clan = requestor.getClan();
|
final Clan clan = requestor.getClan();
|
||||||
clan.addClanMember(activeChar);
|
clan.addClanMember(activeChar);
|
||||||
clan.store();
|
clan.store();
|
||||||
activeChar.setClanId(clan.getClanId());
|
activeChar.setClanId(clan.getClanId());
|
||||||
activeChar.setClan(clan);
|
activeChar.setClan(clan);
|
||||||
PledgeShowInfoUpdate pu = new PledgeShowInfoUpdate(clan, activeChar);
|
final PledgeShowInfoUpdate pu = new PledgeShowInfoUpdate(clan, activeChar);
|
||||||
activeChar.sendPacket(pu);
|
activeChar.sendPacket(pu);
|
||||||
activeChar.sendPacket(new UserInfo(activeChar));
|
activeChar.sendPacket(new UserInfo(activeChar));
|
||||||
activeChar.broadcastPacket(new CharInfo(activeChar));
|
activeChar.broadcastPacket(new CharInfo(activeChar));
|
||||||
SystemMessage sm = new SystemMessage(SystemMessage.ENTERED_THE_CLAN);
|
SystemMessage sm = new SystemMessage(SystemMessage.ENTERED_THE_CLAN);
|
||||||
activeChar.sendPacket(sm);
|
activeChar.sendPacket(sm);
|
||||||
// ClanMember[] members = clan.getMembers();
|
// ClanMember[] members = clan.getMembers();
|
||||||
PledgeShowMemberListAdd la = new PledgeShowMemberListAdd(activeChar);
|
final PledgeShowMemberListAdd la = new PledgeShowMemberListAdd(activeChar);
|
||||||
sm = new SystemMessage(SystemMessage.S1_HAS_JOINED_CLAN);
|
sm = new SystemMessage(SystemMessage.S1_HAS_JOINED_CLAN);
|
||||||
sm.addString(activeChar.getName());
|
sm.addString(activeChar.getName());
|
||||||
clan.broadcastToOnlineMembers(la);
|
clan.broadcastToOnlineMembers(la);
|
||||||
@@ -64,7 +64,7 @@ public class RequestAnswerJoinPledge extends ClientBasePacket
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
SystemMessage sm = new SystemMessage(SystemMessage.S1_REFUSED_TO_JOIN_CLAN);
|
final SystemMessage sm = new SystemMessage(SystemMessage.S1_REFUSED_TO_JOIN_CLAN);
|
||||||
sm.addString(activeChar.getName());
|
sm.addString(activeChar.getName());
|
||||||
requestor.sendPacket(sm);
|
requestor.sendPacket(sm);
|
||||||
}
|
}
|
||||||
|
@@ -39,10 +39,10 @@ public class RequestAquireSkill extends ClientBasePacket
|
|||||||
public RequestAquireSkill(byte[] rawPacket, ClientThread client) throws IOException
|
public RequestAquireSkill(byte[] rawPacket, ClientThread client) throws IOException
|
||||||
{
|
{
|
||||||
super(rawPacket);
|
super(rawPacket);
|
||||||
PlayerInstance player = client.getActiveChar();
|
final PlayerInstance player = client.getActiveChar();
|
||||||
int id = readD();
|
final int id = readD();
|
||||||
int level = readD();
|
final int level = readD();
|
||||||
Skill skill = SkillTable.getInstance().getInfo(id, level);
|
final Skill skill = SkillTable.getInstance().getInfo(id, level);
|
||||||
Collection<SkillLearn> skills = SkillTreeTable.getInstance().getAvailableSkills(player);
|
Collection<SkillLearn> skills = SkillTreeTable.getInstance().getAvailableSkills(player);
|
||||||
int _requiredSp = 0;
|
int _requiredSp = 0;
|
||||||
for (SkillLearn skill2 : skills)
|
for (SkillLearn skill2 : skills)
|
||||||
@@ -58,10 +58,10 @@ public class RequestAquireSkill extends ClientBasePacket
|
|||||||
{
|
{
|
||||||
player.addSkill(skill);
|
player.addSkill(skill);
|
||||||
player.setSp(player.getSp() - _requiredSp);
|
player.setSp(player.getSp() - _requiredSp);
|
||||||
StatusUpdate su = new StatusUpdate(player.getObjectId());
|
final StatusUpdate su = new StatusUpdate(player.getObjectId());
|
||||||
su.addAttribute(StatusUpdate.SP, player.getSp());
|
su.addAttribute(StatusUpdate.SP, player.getSp());
|
||||||
player.sendPacket(su);
|
player.sendPacket(su);
|
||||||
SystemMessage sm = new SystemMessage(SystemMessage.LEARNED_SKILL_S1);
|
final SystemMessage sm = new SystemMessage(SystemMessage.LEARNED_SKILL_S1);
|
||||||
sm.addSkillName(id);
|
sm.addSkillName(id);
|
||||||
player.sendPacket(sm);
|
player.sendPacket(sm);
|
||||||
if (level > 1)
|
if (level > 1)
|
||||||
@@ -79,11 +79,11 @@ public class RequestAquireSkill extends ClientBasePacket
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
SystemMessage sm = new SystemMessage(SystemMessage.NOT_ENOUGH_SP_TO_LEARN_SKILL);
|
final SystemMessage sm = new SystemMessage(SystemMessage.NOT_ENOUGH_SP_TO_LEARN_SKILL);
|
||||||
player.sendPacket(sm);
|
player.sendPacket(sm);
|
||||||
}
|
}
|
||||||
skills = SkillTreeTable.getInstance().getAvailableSkills(player);
|
skills = SkillTreeTable.getInstance().getAvailableSkills(player);
|
||||||
AquireSkillList asl = new AquireSkillList();
|
final AquireSkillList asl = new AquireSkillList();
|
||||||
for (SkillLearn skill2 : skills)
|
for (SkillLearn skill2 : skills)
|
||||||
{
|
{
|
||||||
asl.addSkill(skill2.getId(), skill2.getLevel(), skill2.getLevel(), skill2.getSpCost(), 0);
|
asl.addSkill(skill2.getId(), skill2.getLevel(), skill2.getLevel(), skill2.getSpCost(), 0);
|
||||||
|
@@ -35,11 +35,11 @@ public class RequestAquireSkillInfo extends ClientBasePacket
|
|||||||
public RequestAquireSkillInfo(byte[] rawPacket, ClientThread client) throws IOException
|
public RequestAquireSkillInfo(byte[] rawPacket, ClientThread client) throws IOException
|
||||||
{
|
{
|
||||||
super(rawPacket);
|
super(rawPacket);
|
||||||
PlayerInstance activeChar = client.getActiveChar();
|
final PlayerInstance activeChar = client.getActiveChar();
|
||||||
Connection con = client.getConnection();
|
final Connection con = client.getConnection();
|
||||||
int id = readD();
|
final int id = readD();
|
||||||
int level = readD();
|
final int level = readD();
|
||||||
Skill skill = SkillTable.getInstance().getInfo(id, level);
|
final Skill skill = SkillTable.getInstance().getInfo(id, level);
|
||||||
int requiredSp = 0;
|
int requiredSp = 0;
|
||||||
for (SkillLearn skill2 : SkillTreeTable.getInstance().getAvailableSkills(activeChar))
|
for (SkillLearn skill2 : SkillTreeTable.getInstance().getAvailableSkills(activeChar))
|
||||||
{
|
{
|
||||||
@@ -50,7 +50,7 @@ public class RequestAquireSkillInfo extends ClientBasePacket
|
|||||||
requiredSp = skill2.getSpCost();
|
requiredSp = skill2.getSpCost();
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
AquireSkillInfo asi = new AquireSkillInfo(skill.getId(), skill.getLevel(), requiredSp);
|
final AquireSkillInfo asi = new AquireSkillInfo(skill.getId(), skill.getLevel(), requiredSp);
|
||||||
con.sendPacket(asi);
|
con.sendPacket(asi);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -38,26 +38,26 @@ public class RequestBuyItem extends ClientBasePacket
|
|||||||
{
|
{
|
||||||
super(decrypt);
|
super(decrypt);
|
||||||
int i;
|
int i;
|
||||||
int listId = readD();
|
final int listId = readD();
|
||||||
int count = readD();
|
final int count = readD();
|
||||||
ItemInstance[] items = new ItemInstance[count];
|
final ItemInstance[] items = new ItemInstance[count];
|
||||||
for (int i2 = 0; i2 < count; ++i2)
|
for (int i2 = 0; i2 < count; ++i2)
|
||||||
{
|
{
|
||||||
int itemId = readD();
|
final int itemId = readD();
|
||||||
int cnt = readD();
|
final int cnt = readD();
|
||||||
ItemInstance inst = ItemTable.getInstance().createItem(itemId);
|
final ItemInstance inst = ItemTable.getInstance().createItem(itemId);
|
||||||
inst.setCount(cnt);
|
inst.setCount(cnt);
|
||||||
items[i2] = inst;
|
items[i2] = inst;
|
||||||
}
|
}
|
||||||
PlayerInstance activeChar = client.getActiveChar();
|
final PlayerInstance activeChar = client.getActiveChar();
|
||||||
Connection con = client.getConnection();
|
final Connection con = client.getConnection();
|
||||||
double neededMoney = 0.0;
|
double neededMoney = 0.0;
|
||||||
long currentMoney = activeChar.getAdena();
|
final long currentMoney = activeChar.getAdena();
|
||||||
TradeList list = TradeController.getInstance().getBuyList(listId);
|
final TradeList list = TradeController.getInstance().getBuyList(listId);
|
||||||
for (i = 0; i < items.length; ++i)
|
for (i = 0; i < items.length; ++i)
|
||||||
{
|
{
|
||||||
double count2 = items[i].getCount();
|
final double count2 = items[i].getCount();
|
||||||
int id = items[i].getItemId();
|
final int id = items[i].getItemId();
|
||||||
int price = list.getPriceForItemId(id);
|
int price = list.getPriceForItemId(id);
|
||||||
if (price == -1)
|
if (price == -1)
|
||||||
{
|
{
|
||||||
@@ -68,7 +68,7 @@ public class RequestBuyItem extends ClientBasePacket
|
|||||||
}
|
}
|
||||||
if ((neededMoney > currentMoney) || (neededMoney < 0.0) || (currentMoney <= 0L))
|
if ((neededMoney > currentMoney) || (neededMoney < 0.0) || (currentMoney <= 0L))
|
||||||
{
|
{
|
||||||
SystemMessage sm = new SystemMessage(SystemMessage.YOU_NOT_ENOUGH_ADENA);
|
final SystemMessage sm = new SystemMessage(SystemMessage.YOU_NOT_ENOUGH_ADENA);
|
||||||
con.sendPacket(sm);
|
con.sendPacket(sm);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -77,9 +77,9 @@ public class RequestBuyItem extends ClientBasePacket
|
|||||||
{
|
{
|
||||||
activeChar.getInventory().addItem(items[i]);
|
activeChar.getInventory().addItem(items[i]);
|
||||||
}
|
}
|
||||||
ItemList il = new ItemList(activeChar, false);
|
final ItemList il = new ItemList(activeChar, false);
|
||||||
con.sendPacket(il);
|
con.sendPacket(il);
|
||||||
StatusUpdate su = new StatusUpdate(activeChar.getObjectId());
|
final StatusUpdate su = new StatusUpdate(activeChar.getObjectId());
|
||||||
su.addAttribute(StatusUpdate.CUR_LOAD, activeChar.getCurrentLoad());
|
su.addAttribute(StatusUpdate.CUR_LOAD, activeChar.getCurrentLoad());
|
||||||
activeChar.sendPacket(su);
|
activeChar.sendPacket(su);
|
||||||
}
|
}
|
||||||
|
@@ -32,7 +32,7 @@ public class RequestBypassToServer extends ClientBasePacket
|
|||||||
public RequestBypassToServer(byte[] decrypt, ClientThread client)
|
public RequestBypassToServer(byte[] decrypt, ClientThread client)
|
||||||
{
|
{
|
||||||
super(decrypt);
|
super(decrypt);
|
||||||
String command = readS();
|
final String command = readS();
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
if (command.startsWith("admin_") && (client.getAccessLevel() >= 100))
|
if (command.startsWith("admin_") && (client.getAccessLevel() >= 100))
|
||||||
@@ -45,9 +45,9 @@ public class RequestBypassToServer extends ClientBasePacket
|
|||||||
}
|
}
|
||||||
else if (command.startsWith("npc_"))
|
else if (command.startsWith("npc_"))
|
||||||
{
|
{
|
||||||
int endOfId = command.indexOf(95, 5);
|
final int endOfId = command.indexOf(95, 5);
|
||||||
String id = command.substring(4, endOfId);
|
final String id = command.substring(4, endOfId);
|
||||||
WorldObject object = World.getInstance().findObject(Integer.parseInt(id));
|
final WorldObject object = World.getInstance().findObject(Integer.parseInt(id));
|
||||||
if (object instanceof NpcInstance)
|
if (object instanceof NpcInstance)
|
||||||
{
|
{
|
||||||
((NpcInstance) object).onBypassFeedback(client.getActiveChar(), command.substring(endOfId + 1));
|
((NpcInstance) object).onBypassFeedback(client.getActiveChar(), command.substring(endOfId + 1));
|
||||||
@@ -66,11 +66,11 @@ public class RequestBypassToServer extends ClientBasePacket
|
|||||||
|
|
||||||
private void comeHere(ClientThread client)
|
private void comeHere(ClientThread client)
|
||||||
{
|
{
|
||||||
WorldObject obj = client.getActiveChar().getTarget();
|
final WorldObject obj = client.getActiveChar().getTarget();
|
||||||
if (obj instanceof NpcInstance)
|
if (obj instanceof NpcInstance)
|
||||||
{
|
{
|
||||||
NpcInstance temp = (NpcInstance) obj;
|
final NpcInstance temp = (NpcInstance) obj;
|
||||||
PlayerInstance player = client.getActiveChar();
|
final PlayerInstance player = client.getActiveChar();
|
||||||
temp.setTarget(player);
|
temp.setTarget(player);
|
||||||
temp.moveTo(player.getX(), player.getY(), player.getZ(), 0);
|
temp.moveTo(player.getX(), player.getY(), player.getZ(), 0);
|
||||||
}
|
}
|
||||||
|
@@ -35,9 +35,9 @@ public class RequestDestroyItem extends ClientBasePacket
|
|||||||
super(decrypt);
|
super(decrypt);
|
||||||
InventoryUpdate iu;
|
InventoryUpdate iu;
|
||||||
ItemInstance itemToRemove;
|
ItemInstance itemToRemove;
|
||||||
int objectId = readD();
|
final int objectId = readD();
|
||||||
int count = readD();
|
int count = readD();
|
||||||
PlayerInstance activeChar = client.getActiveChar();
|
final PlayerInstance activeChar = client.getActiveChar();
|
||||||
if (count == 0)
|
if (count == 0)
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
@@ -59,7 +59,7 @@ public class RequestDestroyItem extends ClientBasePacket
|
|||||||
activeChar.updateMDef();
|
activeChar.updateMDef();
|
||||||
activeChar.updateMAtk();
|
activeChar.updateMAtk();
|
||||||
}
|
}
|
||||||
ItemInstance removedItem = activeChar.getInventory().destroyItem(objectId, count);
|
final ItemInstance removedItem = activeChar.getInventory().destroyItem(objectId, count);
|
||||||
iu = new InventoryUpdate();
|
iu = new InventoryUpdate();
|
||||||
if (removedItem.getCount() == 0)
|
if (removedItem.getCount() == 0)
|
||||||
{
|
{
|
||||||
@@ -70,14 +70,14 @@ public class RequestDestroyItem extends ClientBasePacket
|
|||||||
iu.addModifiedItem(removedItem);
|
iu.addModifiedItem(removedItem);
|
||||||
}
|
}
|
||||||
activeChar.sendPacket(iu);
|
activeChar.sendPacket(iu);
|
||||||
StatusUpdate su = new StatusUpdate(activeChar.getObjectId());
|
final StatusUpdate su = new StatusUpdate(activeChar.getObjectId());
|
||||||
su.addAttribute(StatusUpdate.CUR_LOAD, activeChar.getCurrentLoad());
|
su.addAttribute(StatusUpdate.CUR_LOAD, activeChar.getCurrentLoad());
|
||||||
activeChar.sendPacket(su);
|
activeChar.sendPacket(su);
|
||||||
UserInfo ui = new UserInfo(activeChar);
|
final UserInfo ui = new UserInfo(activeChar);
|
||||||
activeChar.sendPacket(ui);
|
activeChar.sendPacket(ui);
|
||||||
CharInfo info = new CharInfo(activeChar);
|
final CharInfo info = new CharInfo(activeChar);
|
||||||
activeChar.broadcastPacket(info);
|
activeChar.broadcastPacket(info);
|
||||||
World world = World.getInstance();
|
final World world = World.getInstance();
|
||||||
world.removeObject(removedItem);
|
world.removeObject(removedItem);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -37,26 +37,26 @@ public class RequestDropItem extends ClientBasePacket
|
|||||||
public RequestDropItem(byte[] decrypt, ClientThread client) throws IOException
|
public RequestDropItem(byte[] decrypt, ClientThread client) throws IOException
|
||||||
{
|
{
|
||||||
super(decrypt);
|
super(decrypt);
|
||||||
int objectId = readD();
|
final int objectId = readD();
|
||||||
int count = readD();
|
final int count = readD();
|
||||||
int x = readD();
|
final int x = readD();
|
||||||
int y = readD();
|
final int y = readD();
|
||||||
int z = readD();
|
final int z = readD();
|
||||||
if (count == 0)
|
if (count == 0)
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if ((client.getActiveChar().getPrivateStoreType() == 0) && (client.getActiveChar().getTransactionRequester() == null))
|
if ((client.getActiveChar().getPrivateStoreType() == 0) && (client.getActiveChar().getTransactionRequester() == null))
|
||||||
{
|
{
|
||||||
Connection con = client.getConnection();
|
final Connection con = client.getConnection();
|
||||||
PlayerInstance activeChar = client.getActiveChar();
|
final PlayerInstance activeChar = client.getActiveChar();
|
||||||
ItemInstance oldItem = activeChar.getInventory().getItem(objectId);
|
final ItemInstance oldItem = activeChar.getInventory().getItem(objectId);
|
||||||
if (oldItem == null)
|
if (oldItem == null)
|
||||||
{
|
{
|
||||||
_log.warning("tried to drop an item that is not in the inventory ?!?:" + objectId);
|
_log.warning("tried to drop an item that is not in the inventory ?!?:" + objectId);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
int oldCount = oldItem.getCount();
|
final int oldCount = oldItem.getCount();
|
||||||
ItemInstance dropedItem = null;
|
ItemInstance dropedItem = null;
|
||||||
if (oldCount < count)
|
if (oldCount < count)
|
||||||
{
|
{
|
||||||
@@ -64,17 +64,17 @@ public class RequestDropItem extends ClientBasePacket
|
|||||||
}
|
}
|
||||||
if ((activeChar.getDistance(x, y) > 150.0) || (Math.abs(z - activeChar.getZ()) > 50))
|
if ((activeChar.getDistance(x, y) > 150.0) || (Math.abs(z - activeChar.getZ()) > 50))
|
||||||
{
|
{
|
||||||
SystemMessage sm = new SystemMessage(SystemMessage.CANNOT_DISCARD_DISTANCE_TOO_FAR);
|
final SystemMessage sm = new SystemMessage(SystemMessage.CANNOT_DISCARD_DISTANCE_TOO_FAR);
|
||||||
activeChar.sendPacket(sm);
|
activeChar.sendPacket(sm);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (oldItem.isEquipped())
|
if (oldItem.isEquipped())
|
||||||
{
|
{
|
||||||
dropedItem = activeChar.getInventory().dropItem(objectId, count);
|
dropedItem = activeChar.getInventory().dropItem(objectId, count);
|
||||||
InventoryUpdate iu = new InventoryUpdate();
|
final InventoryUpdate iu = new InventoryUpdate();
|
||||||
iu.addModifiedItem(oldItem);
|
iu.addModifiedItem(oldItem);
|
||||||
con.sendPacket(iu);
|
con.sendPacket(iu);
|
||||||
UserInfo ui = new UserInfo(activeChar);
|
final UserInfo ui = new UserInfo(activeChar);
|
||||||
con.sendPacket(ui);
|
con.sendPacket(ui);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@@ -85,14 +85,14 @@ public class RequestDropItem extends ClientBasePacket
|
|||||||
dropedItem.setY(y);
|
dropedItem.setY(y);
|
||||||
dropedItem.setZ(z);
|
dropedItem.setZ(z);
|
||||||
dropedItem.setOnTheGround(true);
|
dropedItem.setOnTheGround(true);
|
||||||
DropItem di = new DropItem(dropedItem, activeChar.getObjectId());
|
final DropItem di = new DropItem(dropedItem, activeChar.getObjectId());
|
||||||
activeChar.sendPacket(di);
|
activeChar.sendPacket(di);
|
||||||
activeChar.addKnownObjectWithoutCreate(dropedItem);
|
activeChar.addKnownObjectWithoutCreate(dropedItem);
|
||||||
for (Creature player : activeChar.broadcastPacket(di))
|
for (Creature player : activeChar.broadcastPacket(di))
|
||||||
{
|
{
|
||||||
((PlayerInstance) player).addKnownObjectWithoutCreate(dropedItem);
|
((PlayerInstance) player).addKnownObjectWithoutCreate(dropedItem);
|
||||||
}
|
}
|
||||||
InventoryUpdate iu = new InventoryUpdate();
|
final InventoryUpdate iu = new InventoryUpdate();
|
||||||
if (oldCount == dropedItem.getCount())
|
if (oldCount == dropedItem.getCount())
|
||||||
{
|
{
|
||||||
iu.addRemovedItem(oldItem);
|
iu.addRemovedItem(oldItem);
|
||||||
@@ -102,7 +102,7 @@ public class RequestDropItem extends ClientBasePacket
|
|||||||
iu.addModifiedItem(oldItem);
|
iu.addModifiedItem(oldItem);
|
||||||
}
|
}
|
||||||
con.sendPacket(iu);
|
con.sendPacket(iu);
|
||||||
SystemMessage sm = new SystemMessage(SystemMessage.YOU_DROPPED_S1);
|
final SystemMessage sm = new SystemMessage(SystemMessage.YOU_DROPPED_S1);
|
||||||
sm.addItemName(dropedItem.getItemId());
|
sm.addItemName(dropedItem.getItemId());
|
||||||
con.sendPacket(sm);
|
con.sendPacket(sm);
|
||||||
con.sendPacket(new UserInfo(activeChar));
|
con.sendPacket(new UserInfo(activeChar));
|
||||||
@@ -110,7 +110,7 @@ public class RequestDropItem extends ClientBasePacket
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
SystemMessage msg = new SystemMessage(SystemMessage.NOTHING_HAPPENED);
|
final SystemMessage msg = new SystemMessage(SystemMessage.NOTHING_HAPPENED);
|
||||||
client.getActiveChar().sendPacket(msg);
|
client.getActiveChar().sendPacket(msg);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -31,11 +31,11 @@ public class RequestGMCommand extends ClientBasePacket
|
|||||||
public RequestGMCommand(byte[] rawPacket, ClientThread client)
|
public RequestGMCommand(byte[] rawPacket, ClientThread client)
|
||||||
{
|
{
|
||||||
super(rawPacket);
|
super(rawPacket);
|
||||||
String targetName = readS();
|
final String targetName = readS();
|
||||||
int command = readD();
|
final int command = readD();
|
||||||
@SuppressWarnings("unused")
|
@SuppressWarnings("unused")
|
||||||
int unknown = readD();
|
final int unknown = readD();
|
||||||
PlayerInstance player = World.getInstance().getPlayer(targetName);
|
final PlayerInstance player = World.getInstance().getPlayer(targetName);
|
||||||
if (player == null)
|
if (player == null)
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
|
@@ -30,13 +30,13 @@ public class RequestGetItemFromPet extends ClientBasePacket
|
|||||||
public RequestGetItemFromPet(byte[] decrypt, ClientThread client)
|
public RequestGetItemFromPet(byte[] decrypt, ClientThread client)
|
||||||
{
|
{
|
||||||
super(decrypt);
|
super(decrypt);
|
||||||
int objectId = readD();
|
final int objectId = readD();
|
||||||
int amount = readD();
|
final int amount = readD();
|
||||||
@SuppressWarnings("unused")
|
@SuppressWarnings("unused")
|
||||||
int noidea = readD();
|
final int noidea = readD();
|
||||||
Inventory petInventory = client.getActiveChar().getPet().getInventory();
|
final Inventory petInventory = client.getActiveChar().getPet().getInventory();
|
||||||
Inventory playerInventory = client.getActiveChar().getInventory();
|
final Inventory playerInventory = client.getActiveChar().getInventory();
|
||||||
ItemInstance petItem = petInventory.getItem(objectId);
|
final ItemInstance petItem = petInventory.getItem(objectId);
|
||||||
if (petItem == null)
|
if (petItem == null)
|
||||||
{
|
{
|
||||||
_log.warning("item requested from pet, but its not there.");
|
_log.warning("item requested from pet, but its not there.");
|
||||||
@@ -46,20 +46,20 @@ public class RequestGetItemFromPet extends ClientBasePacket
|
|||||||
{
|
{
|
||||||
playerInventory.addItem(petItem);
|
playerInventory.addItem(petItem);
|
||||||
petInventory.destroyItem(objectId, petItem.getCount());
|
petInventory.destroyItem(objectId, petItem.getCount());
|
||||||
PetInventoryUpdate petiu = new PetInventoryUpdate();
|
final PetInventoryUpdate petiu = new PetInventoryUpdate();
|
||||||
petiu.addRemovedItem(petItem);
|
petiu.addRemovedItem(petItem);
|
||||||
client.getActiveChar().sendPacket(petiu);
|
client.getActiveChar().sendPacket(petiu);
|
||||||
ItemList playerUI = new ItemList(client.getActiveChar(), false);
|
final ItemList playerUI = new ItemList(client.getActiveChar(), false);
|
||||||
client.getActiveChar().sendPacket(playerUI);
|
client.getActiveChar().sendPacket(playerUI);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
int total = petItem.getCount();
|
final int total = petItem.getCount();
|
||||||
ItemInstance newPlayerItem = petInventory.dropItem(objectId, total);
|
final ItemInstance newPlayerItem = petInventory.dropItem(objectId, total);
|
||||||
PetInventoryUpdate petiu = new PetInventoryUpdate();
|
final PetInventoryUpdate petiu = new PetInventoryUpdate();
|
||||||
petiu.addModifiedItem(petItem);
|
petiu.addModifiedItem(petItem);
|
||||||
playerInventory.addItem(newPlayerItem);
|
playerInventory.addItem(newPlayerItem);
|
||||||
ItemList playerUI = new ItemList(client.getActiveChar(), false);
|
final ItemList playerUI = new ItemList(client.getActiveChar(), false);
|
||||||
client.getActiveChar().sendPacket(petiu);
|
client.getActiveChar().sendPacket(petiu);
|
||||||
client.getActiveChar().sendPacket(playerUI);
|
client.getActiveChar().sendPacket(playerUI);
|
||||||
}
|
}
|
||||||
|
@@ -30,27 +30,27 @@ public class RequestGiveItemToPet extends ClientBasePacket
|
|||||||
public RequestGiveItemToPet(byte[] decrypt, ClientThread client)
|
public RequestGiveItemToPet(byte[] decrypt, ClientThread client)
|
||||||
{
|
{
|
||||||
super(decrypt);
|
super(decrypt);
|
||||||
int objectId = readD();
|
final int objectId = readD();
|
||||||
int amount = readD();
|
final int amount = readD();
|
||||||
Inventory petInventory = client.getActiveChar().getPet().getInventory();
|
final Inventory petInventory = client.getActiveChar().getPet().getInventory();
|
||||||
Inventory playerInventory = client.getActiveChar().getInventory();
|
final Inventory playerInventory = client.getActiveChar().getInventory();
|
||||||
ItemInstance playerItem = playerInventory.getItem(objectId);
|
final ItemInstance playerItem = playerInventory.getItem(objectId);
|
||||||
if (amount >= playerItem.getCount())
|
if (amount >= playerItem.getCount())
|
||||||
{
|
{
|
||||||
playerInventory.dropItem(objectId, playerItem.getCount());
|
playerInventory.dropItem(objectId, playerItem.getCount());
|
||||||
petInventory.addItem(playerItem);
|
petInventory.addItem(playerItem);
|
||||||
InventoryUpdate playerUI = new InventoryUpdate();
|
final InventoryUpdate playerUI = new InventoryUpdate();
|
||||||
playerUI.addRemovedItem(playerItem);
|
playerUI.addRemovedItem(playerItem);
|
||||||
client.getActiveChar().sendPacket(playerUI);
|
client.getActiveChar().sendPacket(playerUI);
|
||||||
PetItemList petiu = new PetItemList(client.getActiveChar().getPet());
|
final PetItemList petiu = new PetItemList(client.getActiveChar().getPet());
|
||||||
client.getActiveChar().sendPacket(petiu);
|
client.getActiveChar().sendPacket(petiu);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
ItemInstance newPetItem = playerInventory.dropItem(objectId, amount);
|
final ItemInstance newPetItem = playerInventory.dropItem(objectId, amount);
|
||||||
petInventory.addItem(newPetItem);
|
petInventory.addItem(newPetItem);
|
||||||
PetItemList petiu = new PetItemList(client.getActiveChar().getPet());
|
final PetItemList petiu = new PetItemList(client.getActiveChar().getPet());
|
||||||
InventoryUpdate playerUI = new InventoryUpdate();
|
final InventoryUpdate playerUI = new InventoryUpdate();
|
||||||
playerUI.addModifiedItem(playerItem);
|
playerUI.addModifiedItem(playerItem);
|
||||||
client.getActiveChar().sendPacket(petiu);
|
client.getActiveChar().sendPacket(petiu);
|
||||||
client.getActiveChar().sendPacket(playerUI);
|
client.getActiveChar().sendPacket(playerUI);
|
||||||
|
@@ -31,16 +31,16 @@ public class RequestGiveNickName extends ClientBasePacket
|
|||||||
public RequestGiveNickName(byte[] rawPacket, ClientThread client)
|
public RequestGiveNickName(byte[] rawPacket, ClientThread client)
|
||||||
{
|
{
|
||||||
super(rawPacket);
|
super(rawPacket);
|
||||||
String target = readS();
|
final String target = readS();
|
||||||
String title = readS();
|
final String title = readS();
|
||||||
// Connection con = client.getConnection();
|
// Connection con = client.getConnection();
|
||||||
PlayerInstance activeChar = client.getActiveChar();
|
final PlayerInstance activeChar = client.getActiveChar();
|
||||||
if (activeChar.isClanLeader())
|
if (activeChar.isClanLeader())
|
||||||
{
|
{
|
||||||
PlayerInstance member;
|
PlayerInstance member;
|
||||||
if (activeChar.getClan().getLevel() < 3)
|
if (activeChar.getClan().getLevel() < 3)
|
||||||
{
|
{
|
||||||
SystemMessage sm = new SystemMessage(SystemMessage.CLAN_LVL_3_NEEDED_TO_ENDOVE_TITLE);
|
final SystemMessage sm = new SystemMessage(SystemMessage.CLAN_LVL_3_NEEDED_TO_ENDOVE_TITLE);
|
||||||
activeChar.sendPacket(sm);
|
activeChar.sendPacket(sm);
|
||||||
activeChar.sendMessage("But you can do it freely for now ;)");
|
activeChar.sendMessage("But you can do it freely for now ;)");
|
||||||
activeChar.sendPacket(sm);
|
activeChar.sendPacket(sm);
|
||||||
@@ -48,9 +48,9 @@ public class RequestGiveNickName extends ClientBasePacket
|
|||||||
if ((member = World.getInstance().getPlayer(target)).getClanId() == activeChar.getClanId())
|
if ((member = World.getInstance().getPlayer(target)).getClanId() == activeChar.getClanId())
|
||||||
{
|
{
|
||||||
member.setTitle(title);
|
member.setTitle(title);
|
||||||
UserInfo ui = new UserInfo(member);
|
final UserInfo ui = new UserInfo(member);
|
||||||
member.sendPacket(ui);
|
member.sendPacket(ui);
|
||||||
CharInfo ci = new CharInfo(member);
|
final CharInfo ci = new CharInfo(member);
|
||||||
member.broadcastPacket(ci);
|
member.broadcastPacket(ci);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -29,7 +29,7 @@ public class RequestItemList extends ClientBasePacket
|
|||||||
public RequestItemList(byte[] rawPacket, ClientThread client) throws IOException
|
public RequestItemList(byte[] rawPacket, ClientThread client) throws IOException
|
||||||
{
|
{
|
||||||
super(rawPacket);
|
super(rawPacket);
|
||||||
ItemList il = new ItemList(client.getActiveChar(), true);
|
final ItemList il = new ItemList(client.getActiveChar(), true);
|
||||||
client.getConnection().sendPacket(il);
|
client.getConnection().sendPacket(il);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -31,19 +31,19 @@ public class RequestJoinParty extends ClientBasePacket
|
|||||||
public RequestJoinParty(byte[] decrypt, ClientThread client)
|
public RequestJoinParty(byte[] decrypt, ClientThread client)
|
||||||
{
|
{
|
||||||
super(decrypt);
|
super(decrypt);
|
||||||
int id = readD();
|
final int id = readD();
|
||||||
int itemDistribution = readD();
|
final int itemDistribution = readD();
|
||||||
PlayerInstance target = (PlayerInstance) World.getInstance().findObject(id);
|
final PlayerInstance target = (PlayerInstance) World.getInstance().findObject(id);
|
||||||
PlayerInstance requestor = client.getActiveChar();
|
final PlayerInstance requestor = client.getActiveChar();
|
||||||
if (requestor.isTransactionInProgress())
|
if (requestor.isTransactionInProgress())
|
||||||
{
|
{
|
||||||
SystemMessage msg = new SystemMessage(SystemMessage.WAITING_FOR_REPLY);
|
final SystemMessage msg = new SystemMessage(SystemMessage.WAITING_FOR_REPLY);
|
||||||
requestor.sendPacket(msg);
|
requestor.sendPacket(msg);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (target.isInParty())
|
if (target.isInParty())
|
||||||
{
|
{
|
||||||
SystemMessage msg = new SystemMessage(SystemMessage.S1_IS_ALREADY_IN_PARTY);
|
final SystemMessage msg = new SystemMessage(SystemMessage.S1_IS_ALREADY_IN_PARTY);
|
||||||
msg.addString(target.getName());
|
msg.addString(target.getName());
|
||||||
requestor.sendPacket(msg);
|
requestor.sendPacket(msg);
|
||||||
return;
|
return;
|
||||||
@@ -76,15 +76,15 @@ public class RequestJoinParty extends ClientBasePacket
|
|||||||
{
|
{
|
||||||
target.setTransactionRequester(requestor);
|
target.setTransactionRequester(requestor);
|
||||||
requestor.setTransactionRequester(target);
|
requestor.setTransactionRequester(target);
|
||||||
AskJoinParty ask = new AskJoinParty(requestor.getObjectId(), itemDistribution);
|
final AskJoinParty ask = new AskJoinParty(requestor.getObjectId(), itemDistribution);
|
||||||
target.sendPacket(ask);
|
target.sendPacket(ask);
|
||||||
SystemMessage msg = new SystemMessage(SystemMessage.YOU_INVITED_S1_TO_PARTY);
|
final SystemMessage msg = new SystemMessage(SystemMessage.YOU_INVITED_S1_TO_PARTY);
|
||||||
msg.addString(target.getName());
|
msg.addString(target.getName());
|
||||||
requestor.sendPacket(msg);
|
requestor.sendPacket(msg);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
SystemMessage msg = new SystemMessage(SystemMessage.S1_IS_BUSY_TRY_LATER);
|
final SystemMessage msg = new SystemMessage(SystemMessage.S1_IS_BUSY_TRY_LATER);
|
||||||
requestor.sendPacket(msg);
|
requestor.sendPacket(msg);
|
||||||
_log.warning(requestor.getName() + " already received a party invitation");
|
_log.warning(requestor.getName() + " already received a party invitation");
|
||||||
}
|
}
|
||||||
@@ -104,15 +104,15 @@ public class RequestJoinParty extends ClientBasePacket
|
|||||||
requestor.setParty(new Party(requestor, itemDistribution == 1));
|
requestor.setParty(new Party(requestor, itemDistribution == 1));
|
||||||
target.setTransactionRequester(requestor);
|
target.setTransactionRequester(requestor);
|
||||||
requestor.setTransactionRequester(target);
|
requestor.setTransactionRequester(target);
|
||||||
AskJoinParty ask = new AskJoinParty(requestor.getObjectId(), itemDistribution);
|
final AskJoinParty ask = new AskJoinParty(requestor.getObjectId(), itemDistribution);
|
||||||
target.sendPacket(ask);
|
target.sendPacket(ask);
|
||||||
SystemMessage msg = new SystemMessage(SystemMessage.YOU_INVITED_S1_TO_PARTY);
|
final SystemMessage msg = new SystemMessage(SystemMessage.YOU_INVITED_S1_TO_PARTY);
|
||||||
msg.addString(target.getName());
|
msg.addString(target.getName());
|
||||||
requestor.sendPacket(msg);
|
requestor.sendPacket(msg);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
SystemMessage msg = new SystemMessage(SystemMessage.S1_IS_BUSY_TRY_LATER);
|
final SystemMessage msg = new SystemMessage(SystemMessage.S1_IS_BUSY_TRY_LATER);
|
||||||
msg.addString(target.getName());
|
msg.addString(target.getName());
|
||||||
requestor.sendPacket(msg);
|
requestor.sendPacket(msg);
|
||||||
_log.warning(requestor.getName() + " already received a party invitation");
|
_log.warning(requestor.getName() + " already received a party invitation");
|
||||||
|
@@ -32,9 +32,9 @@ public class RequestJoinPledge extends ClientBasePacket
|
|||||||
{
|
{
|
||||||
super(rawPacket);
|
super(rawPacket);
|
||||||
WorldObject object;
|
WorldObject object;
|
||||||
int target = readD();
|
final int target = readD();
|
||||||
// Connection con = client.getConnection();
|
// Connection con = client.getConnection();
|
||||||
PlayerInstance activeChar = client.getActiveChar();
|
final PlayerInstance activeChar = client.getActiveChar();
|
||||||
if (activeChar.isTransactionInProgress())
|
if (activeChar.isTransactionInProgress())
|
||||||
{
|
{
|
||||||
activeChar.sendPacket(new SystemMessage(SystemMessage.WAITING_FOR_REPLY));
|
activeChar.sendPacket(new SystemMessage(SystemMessage.WAITING_FOR_REPLY));
|
||||||
@@ -42,30 +42,30 @@ public class RequestJoinPledge extends ClientBasePacket
|
|||||||
}
|
}
|
||||||
if (target == activeChar.getObjectId())
|
if (target == activeChar.getObjectId())
|
||||||
{
|
{
|
||||||
SystemMessage sm = new SystemMessage(SystemMessage.CANNOT_INVITE_YOURSELF);
|
final SystemMessage sm = new SystemMessage(SystemMessage.CANNOT_INVITE_YOURSELF);
|
||||||
activeChar.sendPacket(sm);
|
activeChar.sendPacket(sm);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (activeChar.isClanLeader() && ((object = World.getInstance().findObject(target)) instanceof PlayerInstance))
|
if (activeChar.isClanLeader() && ((object = World.getInstance().findObject(target)) instanceof PlayerInstance))
|
||||||
{
|
{
|
||||||
PlayerInstance member = (PlayerInstance) object;
|
final PlayerInstance member = (PlayerInstance) object;
|
||||||
if (member.getClanId() != 0)
|
if (member.getClanId() != 0)
|
||||||
{
|
{
|
||||||
SystemMessage sm = new SystemMessage(SystemMessage.S1_WORKING_WITH_ANOTHER_CLAN);
|
final SystemMessage sm = new SystemMessage(SystemMessage.S1_WORKING_WITH_ANOTHER_CLAN);
|
||||||
sm.addString(member.getName());
|
sm.addString(member.getName());
|
||||||
activeChar.sendPacket(sm);
|
activeChar.sendPacket(sm);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (member.isTransactionInProgress())
|
if (member.isTransactionInProgress())
|
||||||
{
|
{
|
||||||
SystemMessage sm = new SystemMessage(SystemMessage.S1_IS_BUSY_TRY_LATER);
|
final SystemMessage sm = new SystemMessage(SystemMessage.S1_IS_BUSY_TRY_LATER);
|
||||||
sm.addString(member.getName());
|
sm.addString(member.getName());
|
||||||
activeChar.sendPacket(sm);
|
activeChar.sendPacket(sm);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
member.setTransactionRequester(activeChar);
|
member.setTransactionRequester(activeChar);
|
||||||
activeChar.setTransactionRequester(member);
|
activeChar.setTransactionRequester(member);
|
||||||
AskJoinPledge ap = new AskJoinPledge(activeChar.getObjectId(), activeChar.getClan().getName());
|
final AskJoinPledge ap = new AskJoinPledge(activeChar.getObjectId(), activeChar.getClan().getName());
|
||||||
member.sendPacket(ap);
|
member.sendPacket(ap);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -29,15 +29,15 @@ public class RequestMagicSkillUse extends ClientBasePacket
|
|||||||
public RequestMagicSkillUse(byte[] rawPacket, ClientThread client)
|
public RequestMagicSkillUse(byte[] rawPacket, ClientThread client)
|
||||||
{
|
{
|
||||||
super(rawPacket);
|
super(rawPacket);
|
||||||
int magicId = readD();
|
final int magicId = readD();
|
||||||
@SuppressWarnings("unused")
|
@SuppressWarnings("unused")
|
||||||
int data2 = readD();
|
final int data2 = readD();
|
||||||
@SuppressWarnings("unused")
|
@SuppressWarnings("unused")
|
||||||
int data3 = readC();
|
final int data3 = readC();
|
||||||
|
|
||||||
PlayerInstance activeChar = client.getActiveChar();
|
final PlayerInstance activeChar = client.getActiveChar();
|
||||||
int level = activeChar.getSkillLevel(magicId);
|
final int level = activeChar.getSkillLevel(magicId);
|
||||||
Skill skill = SkillTable.getInstance().getInfo(magicId, level);
|
final Skill skill = SkillTable.getInstance().getInfo(magicId, level);
|
||||||
if (skill != null)
|
if (skill != null)
|
||||||
{
|
{
|
||||||
activeChar.stopMove();
|
activeChar.stopMove();
|
||||||
|
@@ -27,8 +27,8 @@ public class RequestOustPartyMember extends ClientBasePacket
|
|||||||
public RequestOustPartyMember(byte[] decrypt, ClientThread client)
|
public RequestOustPartyMember(byte[] decrypt, ClientThread client)
|
||||||
{
|
{
|
||||||
super(decrypt);
|
super(decrypt);
|
||||||
String name = readS();
|
final String name = readS();
|
||||||
PlayerInstance activeChar = client.getActiveChar();
|
final PlayerInstance activeChar = client.getActiveChar();
|
||||||
if (activeChar.isInParty() && activeChar.getParty().isLeader(activeChar))
|
if (activeChar.isInParty() && activeChar.getParty().isLeader(activeChar))
|
||||||
{
|
{
|
||||||
activeChar.getParty().oustPartyMember(name);
|
activeChar.getParty().oustPartyMember(name);
|
||||||
|
@@ -34,15 +34,15 @@ public class RequestOustPledgeMember extends ClientBasePacket
|
|||||||
public RequestOustPledgeMember(byte[] rawPacket, ClientThread client)
|
public RequestOustPledgeMember(byte[] rawPacket, ClientThread client)
|
||||||
{
|
{
|
||||||
super(rawPacket);
|
super(rawPacket);
|
||||||
String target = readS();
|
final String target = readS();
|
||||||
// Connection con = client.getConnection();
|
// Connection con = client.getConnection();
|
||||||
PlayerInstance activeChar = client.getActiveChar();
|
final PlayerInstance activeChar = client.getActiveChar();
|
||||||
if (!activeChar.isClanLeader())
|
if (!activeChar.isClanLeader())
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
Clan clan = activeChar.getClan();
|
final Clan clan = activeChar.getClan();
|
||||||
ClanMember member = clan.getClanMember(target);
|
final ClanMember member = clan.getClanMember(target);
|
||||||
if (member == null)
|
if (member == null)
|
||||||
{
|
{
|
||||||
_log.warning("target is not member of the clan");
|
_log.warning("target is not member of the clan");
|
||||||
@@ -50,13 +50,13 @@ public class RequestOustPledgeMember extends ClientBasePacket
|
|||||||
}
|
}
|
||||||
clan.removeClanMember(target);
|
clan.removeClanMember(target);
|
||||||
clan.store();
|
clan.store();
|
||||||
SystemMessage msg = new SystemMessage(SystemMessage.CLAN_MEMBER_S1_EXPELLED);
|
final SystemMessage msg = new SystemMessage(SystemMessage.CLAN_MEMBER_S1_EXPELLED);
|
||||||
msg.addString(member.getName());
|
msg.addString(member.getName());
|
||||||
clan.broadcastToOnlineMembers(msg);
|
clan.broadcastToOnlineMembers(msg);
|
||||||
clan.broadcastToOnlineMembers(new PledgeShowMemberListDelete(target));
|
clan.broadcastToOnlineMembers(new PledgeShowMemberListDelete(target));
|
||||||
if (member.isOnline())
|
if (member.isOnline())
|
||||||
{
|
{
|
||||||
PlayerInstance player = member.getPlayerInstance();
|
final PlayerInstance player = member.getPlayerInstance();
|
||||||
player.setClan(null);
|
player.setClan(null);
|
||||||
player.setClanId(0);
|
player.setClanId(0);
|
||||||
player.setTitle("");
|
player.setTitle("");
|
||||||
|
@@ -26,10 +26,10 @@ public class RequestPartyMatchConfig extends ClientBasePacket
|
|||||||
public RequestPartyMatchConfig(byte[] decrypt, ClientThread client)
|
public RequestPartyMatchConfig(byte[] decrypt, ClientThread client)
|
||||||
{
|
{
|
||||||
super(decrypt);
|
super(decrypt);
|
||||||
int automaticRegistration = readD();
|
final int automaticRegistration = readD();
|
||||||
int showLevel = readD();
|
final int showLevel = readD();
|
||||||
int showClass = readD();
|
final int showClass = readD();
|
||||||
String memo = readS();
|
final String memo = readS();
|
||||||
client.getActiveChar().setPartyMatchingAutomaticRegistration(automaticRegistration == 1);
|
client.getActiveChar().setPartyMatchingAutomaticRegistration(automaticRegistration == 1);
|
||||||
client.getActiveChar().setPartyMatchingShowLevel(showLevel == 1);
|
client.getActiveChar().setPartyMatchingShowLevel(showLevel == 1);
|
||||||
client.getActiveChar().setPartyMatchingShowClass(showClass == 1);
|
client.getActiveChar().setPartyMatchingShowClass(showClass == 1);
|
||||||
|
@@ -31,9 +31,9 @@ public class RequestPartyMatchDetail extends ClientBasePacket
|
|||||||
public RequestPartyMatchDetail(byte[] decrypt, ClientThread client) throws IOException
|
public RequestPartyMatchDetail(byte[] decrypt, ClientThread client) throws IOException
|
||||||
{
|
{
|
||||||
super(decrypt);
|
super(decrypt);
|
||||||
int objectId = readD();
|
final int objectId = readD();
|
||||||
PlayerInstance player = (PlayerInstance) World.getInstance().findObject(objectId);
|
final PlayerInstance player = (PlayerInstance) World.getInstance().findObject(objectId);
|
||||||
PartyMatchDetail details = new PartyMatchDetail(player);
|
final PartyMatchDetail details = new PartyMatchDetail(player);
|
||||||
client.getConnection().sendPacket(details);
|
client.getConnection().sendPacket(details);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -30,10 +30,10 @@ public class RequestPartyMatchList extends ClientBasePacket
|
|||||||
public RequestPartyMatchList(byte[] decrypt, ClientThread client) throws IOException
|
public RequestPartyMatchList(byte[] decrypt, ClientThread client) throws IOException
|
||||||
{
|
{
|
||||||
super(decrypt);
|
super(decrypt);
|
||||||
int status = readD();
|
final int status = readD();
|
||||||
if (status == 1)
|
if (status == 1)
|
||||||
{
|
{
|
||||||
PartyMatchList matchList = new PartyMatchList(World.getInstance().getAllPlayers());
|
final PartyMatchList matchList = new PartyMatchList(World.getInstance().getAllPlayers());
|
||||||
client.getConnection().sendPacket(matchList);
|
client.getConnection().sendPacket(matchList);
|
||||||
}
|
}
|
||||||
// else if (status == 3)
|
// else if (status == 3)
|
||||||
|
@@ -29,9 +29,9 @@ public class RequestPetGetItem extends ClientBasePacket
|
|||||||
public RequestPetGetItem(byte[] decrypt, ClientThread client)
|
public RequestPetGetItem(byte[] decrypt, ClientThread client)
|
||||||
{
|
{
|
||||||
super(decrypt);
|
super(decrypt);
|
||||||
int objectId = readD();
|
final int objectId = readD();
|
||||||
World world = World.getInstance();
|
final World world = World.getInstance();
|
||||||
ItemInstance item = (ItemInstance) world.findObject(objectId);
|
final ItemInstance item = (ItemInstance) world.findObject(objectId);
|
||||||
client.getActiveChar().getPet().setTarget(item);
|
client.getActiveChar().getPet().setTarget(item);
|
||||||
client.getActiveChar().getPet().setCurrentState(CreatureState.PICKUP_ITEM);
|
client.getActiveChar().getPet().setCurrentState(CreatureState.PICKUP_ITEM);
|
||||||
client.getActiveChar().getPet().moveTo(item.getX(), item.getY(), item.getZ(), 0);
|
client.getActiveChar().getPet().moveTo(item.getX(), item.getY(), item.getZ(), 0);
|
||||||
|
@@ -30,11 +30,11 @@ public class RequestPledgeCrest extends ClientBasePacket
|
|||||||
public RequestPledgeCrest(byte[] rawPacket, ClientThread client) throws IOException
|
public RequestPledgeCrest(byte[] rawPacket, ClientThread client) throws IOException
|
||||||
{
|
{
|
||||||
super(rawPacket);
|
super(rawPacket);
|
||||||
int crestId = readD();
|
final int crestId = readD();
|
||||||
File crestFile = new File("data/crests/Pledge_" + crestId + ".bmp");
|
final File crestFile = new File("data/crests/Pledge_" + crestId + ".bmp");
|
||||||
if (crestFile.exists())
|
if (crestFile.exists())
|
||||||
{
|
{
|
||||||
PledgeCrest pc = new PledgeCrest(crestId, crestFile);
|
final PledgeCrest pc = new PledgeCrest(crestId, crestFile);
|
||||||
client.getConnection().sendPacket(pc);
|
client.getConnection().sendPacket(pc);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@@ -31,19 +31,19 @@ public class RequestPledgeInfo extends ClientBasePacket
|
|||||||
public RequestPledgeInfo(byte[] rawPacket, ClientThread client)
|
public RequestPledgeInfo(byte[] rawPacket, ClientThread client)
|
||||||
{
|
{
|
||||||
super(rawPacket);
|
super(rawPacket);
|
||||||
int clanId = readD();
|
final int clanId = readD();
|
||||||
PlayerInstance activeChar = client.getActiveChar();
|
final PlayerInstance activeChar = client.getActiveChar();
|
||||||
Clan clan = ClanTable.getInstance().getClan(clanId);
|
final Clan clan = ClanTable.getInstance().getClan(clanId);
|
||||||
if (clan == null)
|
if (clan == null)
|
||||||
{
|
{
|
||||||
_log.warning("Clan data for clanId " + clanId + " is missing");
|
_log.warning("Clan data for clanId " + clanId + " is missing");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
PledgeInfo pc = new PledgeInfo(clan);
|
final PledgeInfo pc = new PledgeInfo(clan);
|
||||||
activeChar.sendPacket(pc);
|
activeChar.sendPacket(pc);
|
||||||
if (clan.getClanId() == activeChar.getClanId())
|
if (clan.getClanId() == activeChar.getClanId())
|
||||||
{
|
{
|
||||||
PledgeShowMemberListAll pm = new PledgeShowMemberListAll(clan, activeChar);
|
final PledgeShowMemberListAll pm = new PledgeShowMemberListAll(clan, activeChar);
|
||||||
activeChar.sendPacket(pm);
|
activeChar.sendPacket(pm);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user