Sync with L2jServer HighFive Jun 14th 2015.
This commit is contained in:
@@ -70,9 +70,13 @@ public final class RequestMagicSkillUse extends L2GameClientPacket
|
||||
}
|
||||
else
|
||||
{
|
||||
activeChar.sendPacket(ActionFailed.STATIC_PACKET);
|
||||
_log.warning("Skill Id " + _magicId + " not found in player!");
|
||||
return;
|
||||
skill = activeChar.getTransformSkill(_magicId);
|
||||
if (skill == null)
|
||||
{
|
||||
activeChar.sendPacket(ActionFailed.STATIC_PACKET);
|
||||
_log.warning("Skill Id " + _magicId + " not found in player : " + activeChar);
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -18,6 +18,7 @@
|
||||
*/
|
||||
package com.l2jserver.gameserver.network.clientpackets;
|
||||
|
||||
import java.util.concurrent.TimeUnit;
|
||||
import java.util.logging.Level;
|
||||
|
||||
import com.l2jserver.Config;
|
||||
@@ -59,8 +60,8 @@ public final class UseItem extends L2GameClientPacket
|
||||
/** Weapon Equip Task */
|
||||
private static class WeaponEquipTask implements Runnable
|
||||
{
|
||||
L2ItemInstance item;
|
||||
L2PcInstance activeChar;
|
||||
private final L2ItemInstance item;
|
||||
private final L2PcInstance activeChar;
|
||||
|
||||
protected WeaponEquipTask(L2ItemInstance it, L2PcInstance character)
|
||||
{
|
||||
@@ -71,12 +72,6 @@ public final class UseItem extends L2GameClientPacket
|
||||
@Override
|
||||
public void run()
|
||||
{
|
||||
// If character is still engaged in strike we should not change weapon
|
||||
if (activeChar.isAttackingNow())
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
// Equip or unEquip
|
||||
activeChar.useEquippableItem(item, false);
|
||||
}
|
||||
@@ -139,8 +134,10 @@ public final class UseItem extends L2GameClientPacket
|
||||
return;
|
||||
}
|
||||
|
||||
_itemId = item.getId();
|
||||
|
||||
// Char cannot use item when dead
|
||||
if (activeChar.isDead() || !activeChar.getInventory().canManipulateWithItemId(item.getId()))
|
||||
if (activeChar.isDead() || !activeChar.getInventory().canManipulateWithItemId(_itemId))
|
||||
{
|
||||
final SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.S1_CANNOT_BE_USED_DUE_TO_UNSUITABLE_TERMS);
|
||||
sm.addItemName(item);
|
||||
@@ -153,7 +150,6 @@ public final class UseItem extends L2GameClientPacket
|
||||
return;
|
||||
}
|
||||
|
||||
_itemId = item.getId();
|
||||
if (activeChar.isFishing() && ((_itemId < 6535) || (_itemId > 6540)))
|
||||
{
|
||||
// You cannot do anything else while fishing
|
||||
@@ -352,7 +348,7 @@ public final class UseItem extends L2GameClientPacket
|
||||
}
|
||||
else if (activeChar.isAttackingNow())
|
||||
{
|
||||
ThreadPoolManager.getInstance().scheduleGeneral(new WeaponEquipTask(item, activeChar), activeChar.getAttackEndTime() - System.currentTimeMillis());
|
||||
ThreadPoolManager.getInstance().scheduleGeneral(new WeaponEquipTask(item, activeChar), TimeUnit.MILLISECONDS.convert(activeChar.getAttackEndTime() - System.nanoTime(), TimeUnit.NANOSECONDS));
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@@ -45,62 +45,71 @@ public final class RequestAnswerFriendInvite extends L2GameClientPacket
|
||||
@Override
|
||||
protected void runImpl()
|
||||
{
|
||||
L2PcInstance player = getClient().getActiveChar();
|
||||
if (player != null)
|
||||
final L2PcInstance player = getActiveChar();
|
||||
if (player == null)
|
||||
{
|
||||
L2PcInstance requestor = player.getActiveRequester();
|
||||
if (requestor == null)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
if (_response == 1)
|
||||
{
|
||||
try (Connection con = L2DatabaseFactory.getInstance().getConnection();
|
||||
PreparedStatement statement = con.prepareStatement("INSERT INTO character_friends (charId, friendId) VALUES (?, ?), (?, ?)"))
|
||||
{
|
||||
statement.setInt(1, requestor.getObjectId());
|
||||
statement.setInt(2, player.getObjectId());
|
||||
statement.setInt(3, player.getObjectId());
|
||||
statement.setInt(4, requestor.getObjectId());
|
||||
statement.execute();
|
||||
SystemMessage msg = SystemMessage.getSystemMessage(SystemMessageId.THAT_PERSON_HAS_BEEN_SUCCESSFULLY_ADDED_TO_YOUR_FRIEND_LIST);
|
||||
requestor.sendPacket(msg);
|
||||
|
||||
// Player added to your friend list
|
||||
msg = SystemMessage.getSystemMessage(SystemMessageId.S1_HAS_BEEN_ADDED_TO_YOUR_FRIENDS_LIST);
|
||||
msg.addString(player.getName());
|
||||
requestor.sendPacket(msg);
|
||||
requestor.addFriend(player);
|
||||
|
||||
// has joined as friend.
|
||||
msg = SystemMessage.getSystemMessage(SystemMessageId.S1_HAS_JOINED_AS_A_FRIEND);
|
||||
msg.addString(requestor.getName());
|
||||
player.sendPacket(msg);
|
||||
player.addFriend(requestor);
|
||||
|
||||
// Send notifications for both player in order to show them online
|
||||
player.sendPacket(new FriendAddRequestResult(requestor, 1));
|
||||
requestor.sendPacket(new FriendAddRequestResult(player, 1));
|
||||
player.sendPacket(new FriendList(player));
|
||||
requestor.sendPacket(new FriendList(requestor));
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
_log.log(Level.WARNING, "Could not add friend objectid: " + e.getMessage(), e);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
SystemMessage msg = SystemMessage.getSystemMessage(SystemMessageId.YOU_HAVE_FAILED_TO_ADD_A_FRIEND_TO_YOUR_FRIENDS_LIST);
|
||||
requestor.sendPacket(msg);
|
||||
player.sendPacket(new FriendAddRequestResult(requestor, 0));
|
||||
requestor.sendPacket(new FriendAddRequestResult(player, 0));
|
||||
}
|
||||
|
||||
player.setActiveRequester(null);
|
||||
requestor.onTransactionResponse();
|
||||
return;
|
||||
}
|
||||
|
||||
final L2PcInstance requestor = player.getActiveRequester();
|
||||
if (requestor == null)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
if (player.getFriendList().containsValue(requestor.getObjectId()) //
|
||||
|| requestor.getFriendList().containsValue(player.getObjectId()))
|
||||
{
|
||||
requestor.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.THIS_PLAYER_IS_ALREADY_REGISTERED_ON_YOUR_FRIENDS_LIST));
|
||||
return;
|
||||
}
|
||||
|
||||
if (_response == 1)
|
||||
{
|
||||
try (Connection con = L2DatabaseFactory.getInstance().getConnection();
|
||||
PreparedStatement statement = con.prepareStatement("INSERT INTO character_friends (charId, friendId) VALUES (?, ?), (?, ?)"))
|
||||
{
|
||||
statement.setInt(1, requestor.getObjectId());
|
||||
statement.setInt(2, player.getObjectId());
|
||||
statement.setInt(3, player.getObjectId());
|
||||
statement.setInt(4, requestor.getObjectId());
|
||||
statement.execute();
|
||||
SystemMessage msg = SystemMessage.getSystemMessage(SystemMessageId.THAT_PERSON_HAS_BEEN_SUCCESSFULLY_ADDED_TO_YOUR_FRIEND_LIST);
|
||||
requestor.sendPacket(msg);
|
||||
|
||||
// Player added to your friend list
|
||||
msg = SystemMessage.getSystemMessage(SystemMessageId.S1_HAS_BEEN_ADDED_TO_YOUR_FRIENDS_LIST);
|
||||
msg.addString(player.getName());
|
||||
requestor.sendPacket(msg);
|
||||
requestor.addFriend(player);
|
||||
|
||||
// has joined as friend.
|
||||
msg = SystemMessage.getSystemMessage(SystemMessageId.S1_HAS_JOINED_AS_A_FRIEND);
|
||||
msg.addString(requestor.getName());
|
||||
player.sendPacket(msg);
|
||||
player.addFriend(requestor);
|
||||
|
||||
// Send notifications for both player in order to show them online
|
||||
player.sendPacket(new FriendAddRequestResult(requestor, 1));
|
||||
requestor.sendPacket(new FriendAddRequestResult(player, 1));
|
||||
player.sendPacket(new FriendList(player));
|
||||
requestor.sendPacket(new FriendList(requestor));
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
_log.log(Level.WARNING, "Could not add friend objectid: " + e.getMessage(), e);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
SystemMessage msg = SystemMessage.getSystemMessage(SystemMessageId.YOU_HAVE_FAILED_TO_ADD_A_FRIEND_TO_YOUR_FRIENDS_LIST);
|
||||
requestor.sendPacket(msg);
|
||||
player.sendPacket(new FriendAddRequestResult(requestor, 0));
|
||||
requestor.sendPacket(new FriendAddRequestResult(player, 0));
|
||||
}
|
||||
|
||||
player.setActiveRequester(null);
|
||||
requestor.onTransactionResponse();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
Reference in New Issue
Block a user