AcquireSkillList packet structure adjustments.

Contributed by Sahar.
This commit is contained in:
MobiusDevelopment 2020-05-30 21:39:12 +00:00
parent 3b3b698584
commit 1f4ab8b34c
10 changed files with 28 additions and 24 deletions

View File

@ -29,7 +29,7 @@ import org.l2jmobius.gameserver.model.skills.Skill;
import org.l2jmobius.gameserver.network.OutgoingPackets; import org.l2jmobius.gameserver.network.OutgoingPackets;
/** /**
* @author Sdw * @author Sdw, Mobius
*/ */
public class AcquireSkillList implements IClientOutgoingPacket public class AcquireSkillList implements IClientOutgoingPacket
{ {
@ -63,14 +63,14 @@ public class AcquireSkillList implements IClientOutgoingPacket
packet.writeD(skill.getSkillLevel()); packet.writeD(skill.getSkillLevel());
packet.writeQ(skill.getLevelUpSp()); packet.writeQ(skill.getLevelUpSp());
packet.writeC(skill.getGetLevel()); packet.writeC(skill.getGetLevel());
packet.writeH(skill.getDualClassLevel()); // Salvation: Changed from byte to short. packet.writeC(skill.getDualClassLevel());
packet.writeC(_player.getKnownSkill(skill.getSkillId()) != null ? 0x00 : 0x01);
packet.writeC(skill.getRequiredItems().size()); packet.writeC(skill.getRequiredItems().size());
for (ItemHolder item : skill.getRequiredItems()) for (ItemHolder item : skill.getRequiredItems())
{ {
packet.writeD(item.getId()); packet.writeD(item.getId());
packet.writeQ(item.getCount()); packet.writeQ(item.getCount());
} }
final List<Skill> skillRem = skill.getRemoveSkills().stream().map(_player::getKnownSkill).filter(Objects::nonNull).collect(Collectors.toList()); final List<Skill> skillRem = skill.getRemoveSkills().stream().map(_player::getKnownSkill).filter(Objects::nonNull).collect(Collectors.toList());
packet.writeC(skillRem.size()); packet.writeC(skillRem.size());
for (Skill skillRemove : skillRem) for (Skill skillRemove : skillRem)

View File

@ -29,7 +29,7 @@ import org.l2jmobius.gameserver.model.skills.Skill;
import org.l2jmobius.gameserver.network.OutgoingPackets; import org.l2jmobius.gameserver.network.OutgoingPackets;
/** /**
* @author Sdw * @author Sdw, Mobius
*/ */
public class AcquireSkillList implements IClientOutgoingPacket public class AcquireSkillList implements IClientOutgoingPacket
{ {
@ -63,14 +63,14 @@ public class AcquireSkillList implements IClientOutgoingPacket
packet.writeD(skill.getSkillLevel()); packet.writeD(skill.getSkillLevel());
packet.writeQ(skill.getLevelUpSp()); packet.writeQ(skill.getLevelUpSp());
packet.writeC(skill.getGetLevel()); packet.writeC(skill.getGetLevel());
packet.writeH(skill.getDualClassLevel()); // Salvation: Changed from byte to short. packet.writeC(skill.getDualClassLevel());
packet.writeC(_player.getKnownSkill(skill.getSkillId()) != null ? 0x00 : 0x01);
packet.writeC(skill.getRequiredItems().size()); packet.writeC(skill.getRequiredItems().size());
for (ItemHolder item : skill.getRequiredItems()) for (ItemHolder item : skill.getRequiredItems())
{ {
packet.writeD(item.getId()); packet.writeD(item.getId());
packet.writeQ(item.getCount()); packet.writeQ(item.getCount());
} }
final List<Skill> skillRem = skill.getRemoveSkills().stream().map(_player::getKnownSkill).filter(Objects::nonNull).collect(Collectors.toList()); final List<Skill> skillRem = skill.getRemoveSkills().stream().map(_player::getKnownSkill).filter(Objects::nonNull).collect(Collectors.toList());
packet.writeC(skillRem.size()); packet.writeC(skillRem.size());
for (Skill skillRemove : skillRem) for (Skill skillRemove : skillRem)

View File

@ -29,7 +29,7 @@ import org.l2jmobius.gameserver.model.skills.Skill;
import org.l2jmobius.gameserver.network.OutgoingPackets; import org.l2jmobius.gameserver.network.OutgoingPackets;
/** /**
* @author Sdw * @author Sdw, Mobius
*/ */
public class AcquireSkillList implements IClientOutgoingPacket public class AcquireSkillList implements IClientOutgoingPacket
{ {
@ -63,14 +63,14 @@ public class AcquireSkillList implements IClientOutgoingPacket
packet.writeD(skill.getSkillLevel()); packet.writeD(skill.getSkillLevel());
packet.writeQ(skill.getLevelUpSp()); packet.writeQ(skill.getLevelUpSp());
packet.writeC(skill.getGetLevel()); packet.writeC(skill.getGetLevel());
packet.writeH(skill.getDualClassLevel()); // Salvation: Changed from byte to short. packet.writeC(skill.getDualClassLevel());
packet.writeC(_player.getKnownSkill(skill.getSkillId()) != null ? 0x00 : 0x01);
packet.writeC(skill.getRequiredItems().size()); packet.writeC(skill.getRequiredItems().size());
for (ItemHolder item : skill.getRequiredItems()) for (ItemHolder item : skill.getRequiredItems())
{ {
packet.writeD(item.getId()); packet.writeD(item.getId());
packet.writeQ(item.getCount()); packet.writeQ(item.getCount());
} }
final List<Skill> skillRem = skill.getRemoveSkills().stream().map(_player::getKnownSkill).filter(Objects::nonNull).collect(Collectors.toList()); final List<Skill> skillRem = skill.getRemoveSkills().stream().map(_player::getKnownSkill).filter(Objects::nonNull).collect(Collectors.toList());
packet.writeC(skillRem.size()); packet.writeC(skillRem.size());
for (Skill skillRemove : skillRem) for (Skill skillRemove : skillRem)

View File

@ -29,7 +29,7 @@ import org.l2jmobius.gameserver.model.skills.Skill;
import org.l2jmobius.gameserver.network.OutgoingPackets; import org.l2jmobius.gameserver.network.OutgoingPackets;
/** /**
* @author Sdw * @author Sdw, Mobius
*/ */
public class AcquireSkillList implements IClientOutgoingPacket public class AcquireSkillList implements IClientOutgoingPacket
{ {
@ -63,14 +63,14 @@ public class AcquireSkillList implements IClientOutgoingPacket
packet.writeD(skill.getSkillLevel()); packet.writeD(skill.getSkillLevel());
packet.writeQ(skill.getLevelUpSp()); packet.writeQ(skill.getLevelUpSp());
packet.writeC(skill.getGetLevel()); packet.writeC(skill.getGetLevel());
packet.writeH(skill.getDualClassLevel()); // Salvation: Changed from byte to short. packet.writeC(skill.getDualClassLevel());
packet.writeC(_player.getKnownSkill(skill.getSkillId()) != null ? 0x00 : 0x01);
packet.writeC(skill.getRequiredItems().size()); packet.writeC(skill.getRequiredItems().size());
for (ItemHolder item : skill.getRequiredItems()) for (ItemHolder item : skill.getRequiredItems())
{ {
packet.writeD(item.getId()); packet.writeD(item.getId());
packet.writeQ(item.getCount()); packet.writeQ(item.getCount());
} }
final List<Skill> skillRem = skill.getRemoveSkills().stream().map(_player::getKnownSkill).filter(Objects::nonNull).collect(Collectors.toList()); final List<Skill> skillRem = skill.getRemoveSkills().stream().map(_player::getKnownSkill).filter(Objects::nonNull).collect(Collectors.toList());
packet.writeC(skillRem.size()); packet.writeC(skillRem.size());
for (Skill skillRemove : skillRem) for (Skill skillRemove : skillRem)

View File

@ -27,7 +27,6 @@ import org.l2jmobius.gameserver.network.OutgoingPackets;
/** /**
* @author Sdw, Mobius * @author Sdw, Mobius
* @version Classic 2.0
*/ */
public class AcquireSkillList implements IClientOutgoingPacket public class AcquireSkillList implements IClientOutgoingPacket
{ {
@ -61,11 +60,12 @@ public class AcquireSkillList implements IClientOutgoingPacket
{ {
continue; continue;
} }
packet.writeD(skill.getSkillId()); packet.writeD(skill.getSkillId());
packet.writeH(skill.getSkillLevel()); packet.writeH(skill.getSkillLevel());
packet.writeQ(skill.getLevelUpSp()); packet.writeQ(skill.getLevelUpSp());
packet.writeC(skill.getGetLevel()); packet.writeC(skill.getGetLevel());
packet.writeC(0x00); packet.writeC(0x00); // Skill dual class level.
if (skill.getRequiredItems().size() > 0) if (skill.getRequiredItems().size() > 0)
{ {
for (ItemHolder item : skill.getRequiredItems()) for (ItemHolder item : skill.getRequiredItems())

View File

@ -27,7 +27,6 @@ import org.l2jmobius.gameserver.network.OutgoingPackets;
/** /**
* @author Sdw, Mobius * @author Sdw, Mobius
* @version Classic 2.0
*/ */
public class AcquireSkillList implements IClientOutgoingPacket public class AcquireSkillList implements IClientOutgoingPacket
{ {
@ -61,11 +60,12 @@ public class AcquireSkillList implements IClientOutgoingPacket
{ {
continue; continue;
} }
packet.writeD(skill.getSkillId()); packet.writeD(skill.getSkillId());
packet.writeH(skill.getSkillLevel()); packet.writeH(skill.getSkillLevel());
packet.writeQ(skill.getLevelUpSp()); packet.writeQ(skill.getLevelUpSp());
packet.writeC(skill.getGetLevel()); packet.writeC(skill.getGetLevel());
packet.writeC(0x00); packet.writeC(0x00); // Skill dual class level.
if (skill.getRequiredItems().size() > 0) if (skill.getRequiredItems().size() > 0)
{ {
for (ItemHolder item : skill.getRequiredItems()) for (ItemHolder item : skill.getRequiredItems())

View File

@ -27,7 +27,6 @@ import org.l2jmobius.gameserver.network.OutgoingPackets;
/** /**
* @author Sdw, Mobius * @author Sdw, Mobius
* @version Classic 2.0
*/ */
public class AcquireSkillList implements IClientOutgoingPacket public class AcquireSkillList implements IClientOutgoingPacket
{ {
@ -61,11 +60,13 @@ public class AcquireSkillList implements IClientOutgoingPacket
{ {
continue; continue;
} }
packet.writeD(skill.getSkillId()); packet.writeD(skill.getSkillId());
packet.writeH(skill.getSkillLevel()); packet.writeH(skill.getSkillLevel());
packet.writeQ(skill.getLevelUpSp()); packet.writeQ(skill.getLevelUpSp());
packet.writeC(skill.getGetLevel()); packet.writeC(skill.getGetLevel());
packet.writeH(0x00); // Salvation: Changed from byte to short. packet.writeC(0x00); // Skill dual class level.
packet.writeC(_player.getKnownSkill(skill.getSkillId()) != null ? 0x00 : 0x01);
if (skill.getRequiredItems().size() > 0) if (skill.getRequiredItems().size() > 0)
{ {
for (ItemHolder item : skill.getRequiredItems()) for (ItemHolder item : skill.getRequiredItems())

View File

@ -27,7 +27,6 @@ import org.l2jmobius.gameserver.network.OutgoingPackets;
/** /**
* @author Sdw, Mobius * @author Sdw, Mobius
* @version Classic 2.0
*/ */
public class AcquireSkillList implements IClientOutgoingPacket public class AcquireSkillList implements IClientOutgoingPacket
{ {
@ -61,11 +60,13 @@ public class AcquireSkillList implements IClientOutgoingPacket
{ {
continue; continue;
} }
packet.writeD(skill.getSkillId()); packet.writeD(skill.getSkillId());
packet.writeH(skill.getSkillLevel()); packet.writeH(skill.getSkillLevel());
packet.writeQ(skill.getLevelUpSp()); packet.writeQ(skill.getLevelUpSp());
packet.writeC(skill.getGetLevel()); packet.writeC(skill.getGetLevel());
packet.writeH(0x00); // Salvation: Changed from byte to short. packet.writeC(0x00); // Skill dual class level.
packet.writeC(_player.getKnownSkill(skill.getSkillId()) != null ? 0x00 : 0x01);
if (skill.getRequiredItems().size() > 0) if (skill.getRequiredItems().size() > 0)
{ {
for (ItemHolder item : skill.getRequiredItems()) for (ItemHolder item : skill.getRequiredItems())

View File

@ -27,7 +27,6 @@ import org.l2jmobius.gameserver.network.OutgoingPackets;
/** /**
* @author Sdw, Mobius * @author Sdw, Mobius
* @version Classic 2.0
*/ */
public class AcquireSkillList implements IClientOutgoingPacket public class AcquireSkillList implements IClientOutgoingPacket
{ {
@ -61,11 +60,13 @@ public class AcquireSkillList implements IClientOutgoingPacket
{ {
continue; continue;
} }
packet.writeD(skill.getSkillId()); packet.writeD(skill.getSkillId());
packet.writeH(skill.getSkillLevel()); packet.writeH(skill.getSkillLevel());
packet.writeQ(skill.getLevelUpSp()); packet.writeQ(skill.getLevelUpSp());
packet.writeC(skill.getGetLevel()); packet.writeC(skill.getGetLevel());
packet.writeH(0x00); // Salvation: Changed from byte to short. packet.writeC(0x00); // Skill dual class level.
packet.writeC(_player.getKnownSkill(skill.getSkillId()) != null ? 0x00 : 0x01);
if (skill.getRequiredItems().size() > 0) if (skill.getRequiredItems().size() > 0)
{ {
for (ItemHolder item : skill.getRequiredItems()) for (ItemHolder item : skill.getRequiredItems())

View File

@ -27,7 +27,6 @@ import org.l2jmobius.gameserver.network.OutgoingPackets;
/** /**
* @author Sdw, Mobius * @author Sdw, Mobius
* @version Classic 2.0
*/ */
public class AcquireSkillList implements IClientOutgoingPacket public class AcquireSkillList implements IClientOutgoingPacket
{ {
@ -61,11 +60,13 @@ public class AcquireSkillList implements IClientOutgoingPacket
{ {
continue; continue;
} }
packet.writeD(skill.getSkillId()); packet.writeD(skill.getSkillId());
packet.writeH(skill.getSkillLevel()); packet.writeH(skill.getSkillLevel());
packet.writeQ(skill.getLevelUpSp()); packet.writeQ(skill.getLevelUpSp());
packet.writeC(skill.getGetLevel()); packet.writeC(skill.getGetLevel());
packet.writeH(0x00); // Salvation: Changed from byte to short. packet.writeC(0x00); // Skill dual class level.
packet.writeC(_player.getKnownSkill(skill.getSkillId()) != null ? 0x00 : 0x01);
if (skill.getRequiredItems().size() > 0) if (skill.getRequiredItems().size() > 0)
{ {
for (ItemHolder item : skill.getRequiredItems()) for (ItemHolder item : skill.getRequiredItems())