Initial changes.
This commit is contained in:
@@ -47,7 +47,9 @@ public enum UserInfoType implements IUpdateTypeComponent
|
||||
MOVEMENTS(0x13, 4),
|
||||
COLOR(0x14, 10),
|
||||
INVENTORY_LIMIT(0x15, 9),
|
||||
TRUE_HERO(0x16, 9);
|
||||
TRUE_HERO(0x16, 9),
|
||||
|
||||
ATT_SPIRITS(0x17, 26);
|
||||
|
||||
/** Int mask. */
|
||||
private final int _mask;
|
||||
|
@@ -434,7 +434,11 @@ public enum ExIncomingPackets implements IIncomingPackets<L2GameClient>
|
||||
EX_LOCKED_ITEM_CANCEL(0x15B, null, ConnectionState.IN_GAME),
|
||||
EX_UNLOCKED_ITEM_CANCEL(0x15C, null, ConnectionState.IN_GAME),
|
||||
REQUEST_BLOCK_LIST_FOR_AD(0x15D, null, ConnectionState.IN_GAME),
|
||||
REQUEST_USER_BAN_INFO(0x15E, null, ConnectionState.IN_GAME);
|
||||
REQUEST_USER_BAN_INFO(0x15E, null, ConnectionState.IN_GAME),
|
||||
EX_ELEMENTAL_SPIRIT_CHANGE_TYPE(0x15F, null, ConnectionState.IN_GAME), // 152
|
||||
EX_INTERACT_MODIFY(0x160, null, ConnectionState.IN_GAME), // 152
|
||||
EX_TRY_ENCHANT_ARTIFACT(0x161, null, ConnectionState.IN_GAME), // 152
|
||||
EX_XIGN_CODE(0x162, null, ConnectionState.IN_GAME); // 152
|
||||
|
||||
public static final ExIncomingPackets[] PACKET_ARRAY;
|
||||
|
||||
|
@@ -785,9 +785,18 @@ public enum OutgoingPackets
|
||||
EX_ELEMENTAL_SPIRIT_ABSORB(0xFE, 0x1F6),
|
||||
EX_CHOOSE_LOCKED_ITEM(0xFE, 0x1F7),
|
||||
EX_LOCKED_RESULT(0xFE, 0x1F8),
|
||||
EX_DRESS_ROOM_UI_OPEN(0xFE, 0x1F9),
|
||||
EX_DRESS_HANGER_LIST(0xFE, 0x1FA),
|
||||
EX_USER_BAN_INFO(0xFE, 0x1FB);
|
||||
EX_ELEMENTAL_SPIRIT_EXTRACT(0xFE, 0x1F9), // 152
|
||||
EX_OLYMPIAD_INFO(0xFE, 0x1FA), // 152
|
||||
EX_OLYMPIAD_RECORD(0xFE, 0x1FB), // 152
|
||||
EX_OLYMPIAD_MATCH_INFO(0xFE, 0x1FC), // 152
|
||||
EX_ELEMENTAL_SPIRIT_GET_EXP(0xFE, 0x1FD), // 152
|
||||
EX_ITEM_ANNOUNCE(0xFE, 0x1FE), // 152
|
||||
EX_DRESS_ROOM_UI_OPEN(0xFE, 0x1FF),
|
||||
EX_DRESS_HANGER_LIST(0xFE, 0x200),
|
||||
EX_USER_BAN_INFO(0xFE, 0x201),
|
||||
EX_TRY_ENCHANT_ARTIFACT_RESULT(0xFE, 0x202), // 152
|
||||
EX_XIGN_CODE(0xFE, 0x203), // 152
|
||||
EX_MAX(0xFE, 0x204); // 152
|
||||
|
||||
private final int _id1;
|
||||
private final int _id2;
|
||||
|
@@ -70,6 +70,11 @@ public class CharSelectionInfo implements IClientOutgoingPacket
|
||||
Inventory.PAPERDOLL_HAIR2,
|
||||
Inventory.PAPERDOLL_RBRACELET,
|
||||
Inventory.PAPERDOLL_LBRACELET,
|
||||
Inventory.PAPERDOLL_AGATHION1, // 152
|
||||
Inventory.PAPERDOLL_AGATHION2, // 152
|
||||
Inventory.PAPERDOLL_AGATHION3, // 152
|
||||
Inventory.PAPERDOLL_AGATHION4, // 152
|
||||
Inventory.PAPERDOLL_AGATHION5, // 152
|
||||
Inventory.PAPERDOLL_DECO1,
|
||||
Inventory.PAPERDOLL_DECO2,
|
||||
Inventory.PAPERDOLL_DECO3,
|
||||
@@ -137,7 +142,8 @@ public class CharSelectionInfo implements IClientOutgoingPacket
|
||||
packet.writeC(size == Config.MAX_CHARACTERS_NUMBER_PER_ACCOUNT ? 0x01 : 0x00); // if 1 can't create new char
|
||||
packet.writeC(0x01); // 0=can't play, 1=can play free until level 85, 2=100% free play
|
||||
packet.writeD(0x02); // if 1, Korean client
|
||||
packet.writeH(0x00); // Balthus Knights, if 1 suggests premium account
|
||||
packet.writeC(0x00); // Gift message for inactive accounts // 152
|
||||
packet.writeC(0x00); // Balthus Knights, if 1 suggests premium account
|
||||
|
||||
long lastAccess = 0;
|
||||
if (_activeId == -1)
|
||||
@@ -209,11 +215,28 @@ public class CharSelectionInfo implements IClientOutgoingPacket
|
||||
packet.writeD(charInfoPackage.getPaperdollItemId(slot));
|
||||
}
|
||||
|
||||
packet.writeD(0x00); // Salvation
|
||||
packet.writeD(0x00); // Salvation
|
||||
packet.writeD(0x00); // Salvation
|
||||
packet.writeD(0x00); // Salvation
|
||||
packet.writeD(0x00); // Salvation
|
||||
packet.writeD(0x00); // Book // 152
|
||||
packet.writeD(0x00); // Balance artifact (1) // 152
|
||||
packet.writeD(0x00); // Balance artifact (2) // 152
|
||||
packet.writeD(0x00); // Balance artifact (3) // 152
|
||||
packet.writeD(0x00); // Balance artifact (4) // 152
|
||||
packet.writeD(0x00); // 152
|
||||
packet.writeD(0x00); // 152
|
||||
packet.writeD(0x00); // 152
|
||||
packet.writeD(0x00); // 152
|
||||
packet.writeD(0x00); // 152
|
||||
packet.writeD(0x00); // 152
|
||||
packet.writeD(0x00); // 152
|
||||
packet.writeD(0x00); // 152
|
||||
packet.writeD(0x00); // 152
|
||||
packet.writeD(0x00); // 152
|
||||
packet.writeD(0x00); // 152
|
||||
packet.writeD(0x00); // 152
|
||||
packet.writeD(0x00); // 152
|
||||
packet.writeD(0x00); // 152
|
||||
packet.writeD(0x00); // 152
|
||||
packet.writeD(0x00); // 152
|
||||
packet.writeD(0x00); // 152
|
||||
|
||||
for (int slot : getPaperdollOrderVisualId())
|
||||
{
|
||||
|
@@ -29,7 +29,7 @@ public class ExStorageMaxCount implements IClientOutgoingPacket
|
||||
{
|
||||
private final int _inventory;
|
||||
private final int _warehouse;
|
||||
private final int _freight;
|
||||
// private final int _freight; // Removed with 152.
|
||||
private final int _clan;
|
||||
private final int _privateSell;
|
||||
private final int _privateBuy;
|
||||
@@ -42,7 +42,7 @@ public class ExStorageMaxCount implements IClientOutgoingPacket
|
||||
{
|
||||
_inventory = activeChar.getInventoryLimit();
|
||||
_warehouse = activeChar.getWareHouseLimit();
|
||||
_freight = Config.ALT_FREIGHT_SLOTS;
|
||||
// _freight = Config.ALT_FREIGHT_SLOTS; // Removed with 152.
|
||||
_privateSell = activeChar.getPrivateSellStoreLimit();
|
||||
_privateBuy = activeChar.getPrivateBuyStoreLimit();
|
||||
_clan = Config.WAREHOUSE_SLOTS_CLAN;
|
||||
@@ -59,7 +59,7 @@ public class ExStorageMaxCount implements IClientOutgoingPacket
|
||||
|
||||
packet.writeD(_inventory);
|
||||
packet.writeD(_warehouse);
|
||||
packet.writeD(_freight);
|
||||
// packet.writeD(_freight); // Removed with 152.
|
||||
packet.writeD(_clan);
|
||||
packet.writeD(_privateSell);
|
||||
packet.writeD(_privateBuy);
|
||||
@@ -69,6 +69,7 @@ public class ExStorageMaxCount implements IClientOutgoingPacket
|
||||
packet.writeD(_inventoryQuestItems);
|
||||
packet.writeD(40); // TODO: Find me!
|
||||
packet.writeD(40); // TODO: Find me!
|
||||
packet.writeD(0x00); // Artifact slots // 152
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
@@ -29,8 +29,7 @@ import com.l2jmobius.gameserver.model.zone.ZoneId;
|
||||
import com.l2jmobius.gameserver.network.OutgoingPackets;
|
||||
|
||||
/**
|
||||
* @author Sdw, UnAfraid, proGenitor <br>
|
||||
* Experimental packet compatible for L2Classic 2.0.
|
||||
* @author Sdw, UnAfraid
|
||||
*/
|
||||
public class UserInfo extends AbstractMaskPacket<UserInfoType>
|
||||
{
|
||||
@@ -322,24 +321,23 @@ public class UserInfo extends AbstractMaskPacket<UserInfoType>
|
||||
|
||||
if (containsMask(UserInfoType.SLOTS))
|
||||
{
|
||||
packet.writeH(11); // 140
|
||||
packet.writeH(12); // 152
|
||||
packet.writeC(_activeChar.getInventory().getTalismanSlots());
|
||||
packet.writeC(_activeChar.getInventory().getBroochJewelSlots());
|
||||
packet.writeC(_activeChar.getTeam().getId());
|
||||
packet.writeC(0x00);
|
||||
packet.writeC(0x00);
|
||||
packet.writeC(0x00);
|
||||
packet.writeC(0x00);
|
||||
packet.writeD(0x00);
|
||||
|
||||
if (_activeChar.getInventory().getAgathionSlots() > 0)
|
||||
{
|
||||
packet.writeC(0x01);
|
||||
packet.writeC(0x01); // Charm slots
|
||||
packet.writeC(_activeChar.getInventory().getAgathionSlots() - 1);
|
||||
packet.writeC(0x00); // Artifact set slots // 152
|
||||
}
|
||||
else
|
||||
{
|
||||
packet.writeC(0x00); // Charm slots
|
||||
packet.writeC(0x00);
|
||||
packet.writeC(0x00);
|
||||
packet.writeC(0x00); // Artifact set slots // 152
|
||||
}
|
||||
}
|
||||
|
||||
@@ -374,6 +372,17 @@ public class UserInfo extends AbstractMaskPacket<UserInfoType>
|
||||
packet.writeC(_activeChar.isTrueHero() ? 100 : 0x00);
|
||||
}
|
||||
|
||||
if (containsMask(UserInfoType.ATT_SPIRITS)) // 152
|
||||
{
|
||||
packet.writeH(26);
|
||||
packet.writeD(-1);
|
||||
packet.writeD(0x00);
|
||||
packet.writeD(0x00);
|
||||
packet.writeD(0x00);
|
||||
packet.writeD(0x00);
|
||||
packet.writeD(0x00);
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user