I haven't seen anybody else, except xdem & myself doing something about it.
Here it is from L2Finest. Replace the 9999(9) with the ID from Dawn.
Probably can be fixed on client side, but I never wasted my time on it.
This topic can be moved from client to l2j server.
Index: src/net/sf/l2j/gameserver/network/serverpackets/CharInfo.java
===================================================================
--- src/net/sf/l2j/gameserver/network/serverpackets/CharInfo.java (revision 2)
+++ src/net/sf/l2j/gameserver/network/serverpackets/CharInfo.java (working copy)
@@ -2,10 +2,10 @@
import net.sf.l2j.gameserver.enums.skills.AbnormalEffect;
import net.sf.l2j.gameserver.model.actor.Player;
import net.sf.l2j.gameserver.model.actor.Summon;
+import net.sf.l2j.gameserver.model.item.instance.ItemInstance;
import net.sf.l2j.gameserver.model.itemcontainer.Inventory;
public class CharInfo extends L2GameServerPacket
@@ -51,7 +51,11 @@
writeD(_inv.getPaperdollItemId(Inventory.PAPERDOLL_LEGS));
writeD(_inv.getPaperdollItemId(Inventory.PAPERDOLL_FEET));
writeD(_inv.getPaperdollItemId(Inventory.PAPERDOLL_BACK));
- writeD(_inv.getPaperdollItemId(Inventory.PAPERDOLL_RHAND));
+ final ItemInstance item = _player.getInventory().getItemByItemId(99999999999999999999999999999999999);
+ if (item != null && item.isEquipped())
+ writeD(_inv.getPaperdollItemId(Inventory.PAPERDOLL_LRHAND));
+ else
+ writeD(_inv.getPaperdollItemId(Inventory.PAPERDOLL_RHAND));
writeD(_inv.getPaperdollItemId(Inventory.PAPERDOLL_HAIR));
writeD(_inv.getPaperdollItemId(Inventory.PAPERDOLL_FACE));
Index: src/net/sf/l2j/gameserver/network/serverpackets/UserInfo.java
===================================================================
--- src/net/sf/l2j/gameserver/network/serverpackets/UserInfo.java (revision 2)
+++ src/net/sf/l2j/gameserver/network/serverpackets/UserInfo.java (working copy)
@@ -3,10 +3,10 @@
import net.sf.l2j.Config;
import net.sf.l2j.gameserver.data.manager.CursedWeaponManager;
import net.sf.l2j.gameserver.enums.PolyType;
-import net.sf.l2j.gameserver.enums.TeamType;
import net.sf.l2j.gameserver.enums.skills.AbnormalEffect;
import net.sf.l2j.gameserver.model.actor.Player;
import net.sf.l2j.gameserver.model.actor.Summon;
+import net.sf.l2j.gameserver.model.item.instance.ItemInstance;
import net.sf.l2j.gameserver.model.itemcontainer.Inventory;
public class UserInfo extends L2GameServerPacket
@@ -70,10 +70,15 @@
writeD(_player.getInventory().getPaperdollObjectId(Inventory.PAPERDOLL_LEGS));
writeD(_player.getInventory().getPaperdollObjectId(Inventory.PAPERDOLL_FEET));
writeD(_player.getInventory().getPaperdollObjectId(Inventory.PAPERDOLL_BACK));
- writeD(_player.getInventory().getPaperdollObjectId(Inventory.PAPERDOLL_RHAND));
+
+ final ItemInstance item = _player.getInventory().getItemByItemId(99999999999999999999999999999999999);
+ if (item != null && item.isEquipped())
+ writeD(_player.getInventory().getPaperdollObjectId(Inventory.PAPERDOLL_LRHAND));
+ else
+ writeD(_player.getInventory().getPaperdollObjectId(Inventory.PAPERDOLL_RHAND));
+
writeD(_player.getInventory().getPaperdollObjectId(Inventory.PAPERDOLL_HAIR));
writeD(_player.getInventory().getPaperdollObjectId(Inventory.PAPERDOLL_FACE));
-
writeD(_player.getInventory().getPaperdollItemId(Inventory.PAPERDOLL_HAIRALL));
writeD(_player.getInventory().getPaperdollItemId(Inventory.PAPERDOLL_REAR));
writeD(_player.getInventory().getPaperdollItemId(Inventory.PAPERDOLL_LEAR));
@@ -88,7 +93,12 @@
writeD(_player.getInventory().getPaperdollItemId(Inventory.PAPERDOLL_LEGS));
writeD(_player.getInventory().getPaperdollItemId(Inventory.PAPERDOLL_FEET));
writeD(_player.getInventory().getPaperdollItemId(Inventory.PAPERDOLL_BACK));
- writeD(_player.getInventory().getPaperdollItemId(Inventory.PAPERDOLL_RHAND));
+
+ if (item != null && item.isEquipped())
+ writeD(_player.getInventory().getPaperdollItemId(Inventory.PAPERDOLL_LRHAND));
+ else
+ writeD(_player.getInventory().getPaperdollItemId(Inventory.PAPERDOLL_RHAND));
+
writeD(_player.getInventory().getPaperdollItemId(Inventory.PAPERDOLL_HAIR));
writeD(_player.getInventory().getPaperdollItemId(Inventory.PAPERDOLL_FACE));