Initial changes.

This commit is contained in:
MobiusDev
2018-09-11 22:29:39 +00:00
parent c6ff9df76d
commit 2ea60b1bb9
230 changed files with 5030 additions and 7500 deletions

View File

@@ -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;

View File

@@ -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;

View File

@@ -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;

View File

@@ -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())
{

View File

@@ -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;
}
}

View File

@@ -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;
}