Packet adjustments based on known data.

This commit is contained in:
MobiusDevelopment 2021-12-14 01:04:25 +00:00
parent 77d4485c6a
commit f1efe20f8e
12 changed files with 54 additions and 40 deletions

View File

@ -244,7 +244,7 @@ public class CharInfo implements IClientOutgoingPacket
packet.writeD(_player.getTransformationDisplayId()); // Confirmed
packet.writeD(_player.getAgathionId()); // Confirmed
packet.writeC(0x00); // TODO: Find me!
packet.writeC(0x00); // nPvPRestrainStatus
packet.writeD((int) Math.round(_player.getCurrentCp())); // Confirmed
packet.writeD(_player.getMaxHp()); // Confirmed
@ -252,7 +252,8 @@ public class CharInfo implements IClientOutgoingPacket
packet.writeD(_player.getMaxMp()); // Confirmed
packet.writeD((int) Math.round(_player.getCurrentMp())); // Confirmed
packet.writeC(0x00); // TODO: Find me!
packet.writeC(0x00); // cBRLectureMark
final Set<AbnormalVisualEffect> abnormalVisualEffects = _player.getEffectList().getCurrentAbnormalVisualEffects();
packet.writeD(abnormalVisualEffects.size() + (_gmSeeInvis ? 1 : 0)); // Confirmed
for (AbnormalVisualEffect abnormalVisualEffect : abnormalVisualEffects)
@ -267,7 +268,7 @@ public class CharInfo implements IClientOutgoingPacket
packet.writeC(_player.isHairAccessoryEnabled() ? 0x01 : 0x00); // Hair accessory
packet.writeC(_player.getAbilityPointsUsed()); // Used Ability Points
packet.writeD(0x00);
packet.writeD(0x00); // nCursedWeaponClassId
// AFK animation.
if ((_player.getClan() != null) && (CastleManager.getInstance().getCastleByOwner(_player.getClan()) != null))
@ -280,7 +281,10 @@ public class CharInfo implements IClientOutgoingPacket
}
// Rank.
packet.writeC(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 : 0);
packet.writeD(0x00); // 272 - hNotoriety
packet.writeD(0x00); // 286 - nMainClass
return true;
}

View File

@ -219,7 +219,7 @@ public class CharSelectionInfo implements IClientOutgoingPacket
packet.writeD(charInfoPackage.getRace()); // Race
packet.writeD(charInfoPackage.getBaseClassId());
packet.writeD(0x01); // GameServerName
packet.writeD(Config.SERVER_ID);
packet.writeD(charInfoPackage.getX());
packet.writeD(charInfoPackage.getY());

View File

@ -244,7 +244,7 @@ public class CharInfo implements IClientOutgoingPacket
packet.writeD(_player.getTransformationDisplayId()); // Confirmed
packet.writeD(_player.getAgathionId()); // Confirmed
packet.writeC(0x00); // TODO: Find me!
packet.writeC(0x00); // nPvPRestrainStatus
packet.writeD((int) Math.round(_player.getCurrentCp())); // Confirmed
packet.writeD(_player.getMaxHp()); // Confirmed
@ -252,7 +252,8 @@ public class CharInfo implements IClientOutgoingPacket
packet.writeD(_player.getMaxMp()); // Confirmed
packet.writeD((int) Math.round(_player.getCurrentMp())); // Confirmed
packet.writeC(0x00); // TODO: Find me!
packet.writeC(0x00); // cBRLectureMark
final Set<AbnormalVisualEffect> abnormalVisualEffects = _player.getEffectList().getCurrentAbnormalVisualEffects();
packet.writeD(abnormalVisualEffects.size() + (_gmSeeInvis ? 1 : 0)); // Confirmed
for (AbnormalVisualEffect abnormalVisualEffect : abnormalVisualEffects)
@ -267,7 +268,7 @@ public class CharInfo implements IClientOutgoingPacket
packet.writeC(_player.isHairAccessoryEnabled() ? 0x01 : 0x00); // Hair accessory
packet.writeC(_player.getAbilityPointsUsed()); // Used Ability Points
packet.writeD(0x00);
packet.writeD(0x00); // nCursedWeaponClassId
// AFK animation.
if ((_player.getClan() != null) && (CastleManager.getInstance().getCastleByOwner(_player.getClan()) != null))
@ -280,7 +281,10 @@ public class CharInfo implements IClientOutgoingPacket
}
// Rank.
packet.writeC(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 : 0);
packet.writeD(0x00); // 272 - hNotoriety
packet.writeD(0x00); // 286 - nMainClass
return true;
}

View File

@ -219,7 +219,7 @@ public class CharSelectionInfo implements IClientOutgoingPacket
packet.writeD(charInfoPackage.getRace()); // Race
packet.writeD(charInfoPackage.getBaseClassId());
packet.writeD(0x01); // GameServerName
packet.writeD(Config.SERVER_ID);
packet.writeD(charInfoPackage.getX());
packet.writeD(charInfoPackage.getY());

View File

@ -245,7 +245,7 @@ public class CharInfo implements IClientOutgoingPacket
packet.writeD(_player.getTransformationDisplayId()); // Confirmed
packet.writeD(_player.getAgathionId()); // Confirmed
packet.writeC(0x00); // TODO: Find me!
packet.writeC(0x00); // nPvPRestrainStatus
packet.writeD((int) Math.round(_player.getCurrentCp())); // Confirmed
packet.writeD(_player.getMaxHp()); // Confirmed
@ -253,7 +253,8 @@ public class CharInfo implements IClientOutgoingPacket
packet.writeD(_player.getMaxMp()); // Confirmed
packet.writeD((int) Math.round(_player.getCurrentMp())); // Confirmed
packet.writeC(0x00); // TODO: Find me!
packet.writeC(0x00); // cBRLectureMark
final Set<AbnormalVisualEffect> abnormalVisualEffects = _player.getEffectList().getCurrentAbnormalVisualEffects();
packet.writeD(abnormalVisualEffects.size() + (_gmSeeInvis ? 1 : 0)); // Confirmed
for (AbnormalVisualEffect abnormalVisualEffect : abnormalVisualEffects)
@ -268,7 +269,7 @@ public class CharInfo implements IClientOutgoingPacket
packet.writeC(_player.isHairAccessoryEnabled() ? 0x01 : 0x00); // Hair accessory
packet.writeC(_player.getAbilityPointsUsed()); // Used Ability Points
packet.writeD(0x00);
packet.writeD(0x00); // nCursedWeaponClassId
// AFK animation.
if ((_player.getClan() != null) && (CastleManager.getInstance().getCastleByOwner(_player.getClan()) != null))
@ -281,14 +282,12 @@ public class CharInfo implements IClientOutgoingPacket
}
// Rank.
packet.writeC(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 : 0);
packet.writeH(0x00); // 338
packet.writeD(0x00); // 338
packet.writeD(0x00); // 338
packet.writeC(0x00); // 338
packet.writeD(0x00); // 272 - hNotoriety
packet.writeD(0x00); // 286 - nMainClass
packet.writeD(_player.getVisualHairColor() + 1); // 338 - DK color.
packet.writeD(0x00); // 338
packet.writeD(0x00); // 338 - nWorldID
return true;
}

View File

@ -221,7 +221,7 @@ public class CharSelectionInfo implements IClientOutgoingPacket
packet.writeD(charInfoPackage.getRace()); // Race
packet.writeD(charInfoPackage.getBaseClassId());
packet.writeD(0x01); // GameServerName
packet.writeD(Config.SERVER_ID);
packet.writeD(charInfoPackage.getX());
packet.writeD(charInfoPackage.getY());

View File

@ -265,7 +265,7 @@ public class CharInfo implements IClientOutgoingPacket
packet.writeD(_player.getTransformationDisplayId()); // Confirmed
packet.writeD(_player.getAgathionId()); // Confirmed
packet.writeC(0x00); // TODO: Find me!
packet.writeC(0x00); // nPvPRestrainStatus
packet.writeD((int) Math.round(_player.getCurrentCp())); // Confirmed
packet.writeD(_player.getMaxHp()); // Confirmed
@ -273,7 +273,8 @@ public class CharInfo implements IClientOutgoingPacket
packet.writeD(_player.getMaxMp()); // Confirmed
packet.writeD((int) Math.round(_player.getCurrentMp())); // Confirmed
packet.writeC(0x00); // TODO: Find me!
packet.writeC(0x00); // cBRLectureMark
final Set<AbnormalVisualEffect> abnormalVisualEffects = _player.getEffectList().getCurrentAbnormalVisualEffects();
packet.writeD(abnormalVisualEffects.size() + (_gmSeeInvis ? 1 : 0)); // Confirmed
for (AbnormalVisualEffect abnormalVisualEffect : abnormalVisualEffects)
@ -288,7 +289,7 @@ public class CharInfo implements IClientOutgoingPacket
packet.writeC(_player.isHairAccessoryEnabled() ? 0x01 : 0x00); // Hair accessory
packet.writeC(_player.getAbilityPointsUsed()); // Used Ability Points
packet.writeD(0x00);
packet.writeD(0x00); // nCursedWeaponClassId
// AFK animation.
if ((_player.getClan() != null) && (CastleManager.getInstance().getCastleByOwner(_player.getClan()) != null))
@ -301,7 +302,10 @@ public class CharInfo implements IClientOutgoingPacket
}
// Rank.
packet.writeC(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 : 0);
packet.writeD(0x00); // 272 - hNotoriety
packet.writeD(0x00); // 286 - nMainClass
return true;
}

View File

@ -194,7 +194,7 @@ public class CharSelectionInfo implements IClientOutgoingPacket
packet.writeD(charInfoPackage.getRace()); // Race
packet.writeD(charInfoPackage.getBaseClassId());
packet.writeD(0x01); // GameServerName
packet.writeD(Config.SERVER_ID);
packet.writeD(charInfoPackage.getX());
packet.writeD(charInfoPackage.getY());

View File

@ -265,7 +265,7 @@ public class CharInfo implements IClientOutgoingPacket
packet.writeD(_player.getTransformationDisplayId()); // Confirmed
packet.writeD(_player.getAgathionId()); // Confirmed
packet.writeC(0x00); // TODO: Find me!
packet.writeC(0x00); // nPvPRestrainStatus
packet.writeD((int) Math.round(_player.getCurrentCp())); // Confirmed
packet.writeD(_player.getMaxHp()); // Confirmed
@ -273,7 +273,8 @@ public class CharInfo implements IClientOutgoingPacket
packet.writeD(_player.getMaxMp()); // Confirmed
packet.writeD((int) Math.round(_player.getCurrentMp())); // Confirmed
packet.writeC(0x00); // TODO: Find me!
packet.writeC(0x00); // cBRLectureMark
final Set<AbnormalVisualEffect> abnormalVisualEffects = _player.getEffectList().getCurrentAbnormalVisualEffects();
packet.writeD(abnormalVisualEffects.size() + (_gmSeeInvis ? 1 : 0)); // Confirmed
for (AbnormalVisualEffect abnormalVisualEffect : abnormalVisualEffects)
@ -288,7 +289,7 @@ public class CharInfo implements IClientOutgoingPacket
packet.writeC(_player.isHairAccessoryEnabled() ? 0x01 : 0x00); // Hair accessory
packet.writeC(_player.getAbilityPointsUsed()); // Used Ability Points
packet.writeD(0x00);
packet.writeD(0x00); // nCursedWeaponClassId
// AFK animation.
if ((_player.getClan() != null) && (CastleManager.getInstance().getCastleByOwner(_player.getClan()) != null))
@ -301,7 +302,10 @@ public class CharInfo implements IClientOutgoingPacket
}
// Rank.
packet.writeC(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 : 0);
packet.writeD(0x00); // 272 - hNotoriety
packet.writeD(0x00); // 286 - nMainClass
return true;
}

View File

@ -194,7 +194,7 @@ public class CharSelectionInfo implements IClientOutgoingPacket
packet.writeD(charInfoPackage.getRace()); // Race
packet.writeD(charInfoPackage.getBaseClassId());
packet.writeD(0x01); // GameServerName
packet.writeD(Config.SERVER_ID);
packet.writeD(charInfoPackage.getX());
packet.writeD(charInfoPackage.getY());

View File

@ -265,7 +265,7 @@ public class CharInfo implements IClientOutgoingPacket
packet.writeD(_player.getTransformationDisplayId()); // Confirmed
packet.writeD(_player.getAgathionId()); // Confirmed
packet.writeC(0x00); // TODO: Find me!
packet.writeC(0x00); // nPvPRestrainStatus
packet.writeD((int) Math.round(_player.getCurrentCp())); // Confirmed
packet.writeD(_player.getMaxHp()); // Confirmed
@ -273,7 +273,8 @@ public class CharInfo implements IClientOutgoingPacket
packet.writeD(_player.getMaxMp()); // Confirmed
packet.writeD((int) Math.round(_player.getCurrentMp())); // Confirmed
packet.writeC(0x00); // TODO: Find me!
packet.writeC(0x00); // cBRLectureMark
final Set<AbnormalVisualEffect> abnormalVisualEffects = _player.getEffectList().getCurrentAbnormalVisualEffects();
packet.writeD(abnormalVisualEffects.size() + (_gmSeeInvis ? 1 : 0)); // Confirmed
for (AbnormalVisualEffect abnormalVisualEffect : abnormalVisualEffects)
@ -288,7 +289,7 @@ public class CharInfo implements IClientOutgoingPacket
packet.writeC(_player.isHairAccessoryEnabled() ? 0x01 : 0x00); // Hair accessory
packet.writeC(_player.getAbilityPointsUsed()); // Used Ability Points
packet.writeD(0x00);
packet.writeD(0x00); // nCursedWeaponClassId
// AFK animation.
if ((_player.getClan() != null) && (CastleManager.getInstance().getCastleByOwner(_player.getClan()) != null))
@ -301,14 +302,12 @@ public class CharInfo implements IClientOutgoingPacket
}
// Rank.
packet.writeC(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 : 0);
packet.writeH(0x00); // 338
packet.writeD(0x00); // 338
packet.writeD(0x00); // 338
packet.writeC(0x00); // 338
packet.writeD(0x00); // 272 - hNotoriety
packet.writeD(0x00); // 286 - nMainClass
packet.writeD(_player.getVisualHairColor() + 1); // 338 - DK color.
packet.writeD(0x00); // 338
packet.writeD(0x00); // 338 - nWorldID
return true;
}

View File

@ -194,7 +194,7 @@ public class CharSelectionInfo implements IClientOutgoingPacket
packet.writeD(charInfoPackage.getRace()); // Race
packet.writeD(charInfoPackage.getBaseClassId());
packet.writeD(0x01); // GameServerName
packet.writeD(Config.SERVER_ID);
packet.writeD(charInfoPackage.getX());
packet.writeD(charInfoPackage.getY());