CharInfo and UserInfo packet adjustments.

Thanks to nasseka.
This commit is contained in:
MobiusDevelopment
2021-12-18 22:56:56 +00:00
parent 064b49a243
commit c273105f4e
42 changed files with 140 additions and 209 deletions

View File

@@ -132,27 +132,7 @@ public class CharInfo implements IClientOutgoingPacket
packet.writeH(_player.getRace().ordinal()); // Confirmed
packet.writeC(_player.getAppearance().isFemale() ? 0x01 : 0x00); // Confirmed
// DK Human
final int baseClassId = _player.getBaseClass();
if ((baseClassId >= 196) && (baseClassId <= 199))
{
packet.writeD(196);
}
// DK Elf
else if ((baseClassId >= 200) && (baseClassId <= 203))
{
packet.writeD(200);
}
// DK Dark Elf
else if ((baseClassId >= 204) && (baseClassId <= 207))
{
packet.writeD(204);
}
// Other Classes
else
{
packet.writeD(baseClassId);
}
packet.writeD(_player.getBaseTemplate().getClassId().getRootClassId().getId());
for (int slot : getPaperdollOrder())
{
@@ -302,12 +282,14 @@ public class CharInfo implements IClientOutgoingPacket
}
// Rank.
packet.writeD(RankManager.getInstance().getPlayerGlobalRank(_player) == 1 ? 1 : RankManager.getInstance().getPlayerRaceRank(_player) == 1 ? 2 : 0);
packet.writeD(RankManager.getInstance().getPlayerGlobalRank(_player) == 1 ? 1 : RankManager.getInstance().getPlayerRaceRank(_player) == 1 ? 2 : RankManager.getInstance().getPlayerClassRank(_player) == 1 ? 4 : 0);
packet.writeD(0x00); // 272 - hNotoriety
packet.writeD(0x00); // 286 - nMainClass
packet.writeH(0x00);
packet.writeC(0x00);
packet.writeD(_player.getClassId().getId());
packet.writeC(0x00);
packet.writeD(_player.getVisualHairColor() + 1); // 338 - DK color.
packet.writeD(0x00); // 338 - nWorldID
packet.writeD(0x00);
return true;
}

View File

@@ -20,7 +20,6 @@ import org.l2jmobius.Config;
import org.l2jmobius.commons.network.PacketWriter;
import org.l2jmobius.gameserver.data.xml.ExperienceData;
import org.l2jmobius.gameserver.enums.BonusExpType;
import org.l2jmobius.gameserver.enums.ClassId;
import org.l2jmobius.gameserver.enums.UserInfoType;
import org.l2jmobius.gameserver.instancemanager.CastleManager;
import org.l2jmobius.gameserver.instancemanager.CursedWeaponsManager;
@@ -157,13 +156,10 @@ public class UserInfo extends AbstractMaskPacket<UserInfoType>
packet.writeC(_player.isGM() ? 0x01 : 0x00);
packet.writeC(_player.getRace().ordinal());
packet.writeC(_player.getAppearance().isFemale() ? 0x01 : 0x00);
packet.writeD(ClassId.getClassId(_player.getBaseTemplate().getClassId().getId()).getRootClassId().getId());
packet.writeD(_player.getBaseTemplate().getClassId().getRootClassId().getId());
packet.writeD(_player.getClassId().getId());
packet.writeC(_player.getLevel());
packet.writeC(0x00); // 270
packet.writeC(0x00); // 270
packet.writeC(0x00); // 270
packet.writeD(0x00); // 286
packet.writeD(_player.getLevel()); // 270
packet.writeD(_player.getClassId().getId()); // 286
}
if (containsMask(UserInfoType.BASE_STATS))
@@ -424,7 +420,7 @@ public class UserInfo extends AbstractMaskPacket<UserInfoType>
if (containsMask(UserInfoType.RANKING)) // 196
{
packet.writeH(6);
packet.writeD(RankManager.getInstance().getPlayerGlobalRank(_player) == 1 ? 1 : RankManager.getInstance().getPlayerRaceRank(_player) == 1 ? 2 : 0);
packet.writeD(RankManager.getInstance().getPlayerGlobalRank(_player) == 1 ? 1 : RankManager.getInstance().getPlayerRaceRank(_player) == 1 ? 2 : RankManager.getInstance().getPlayerClassRank(_player) == 1 ? 4 : 0);
}
if (containsMask(UserInfoType.STAT_POINTS)) // 235