Adjustments for unknown NpcInfoType relations mask.

This commit is contained in:
MobiusDevelopment
2021-10-22 23:44:36 +00:00
parent a67d7fce78
commit cd1bdaecc1
76 changed files with 247 additions and 247 deletions

View File

@@ -26,7 +26,7 @@ public enum NpcInfoType implements IUpdateTypeComponent
// 0 // 0
ID(0x00, 4), ID(0x00, 4),
ATTACKABLE(0x01, 1), ATTACKABLE(0x01, 1),
UNKNOWN1(0x02, 4), RELATIONS(0x02, 4),
NAME(0x03, 2), NAME(0x03, 2),
POSITION(0x04, (3 * 4)), POSITION(0x04, (3 * 4)),
HEADING(0x05, 4), HEADING(0x05, 4),

View File

@@ -69,7 +69,7 @@ public class ExPetInfo extends AbstractMaskPacket<NpcInfoType>
addComponentType(NpcInfoType.NAME); addComponentType(NpcInfoType.NAME);
} }
addComponentType(NpcInfoType.ATTACKABLE, NpcInfoType.UNKNOWN1, NpcInfoType.TITLE, NpcInfoType.ID, NpcInfoType.POSITION, NpcInfoType.ALIVE, NpcInfoType.RUNNING, NpcInfoType.PVP_FLAG); addComponentType(NpcInfoType.ATTACKABLE, NpcInfoType.RELATIONS, NpcInfoType.TITLE, NpcInfoType.ID, NpcInfoType.POSITION, NpcInfoType.ALIVE, NpcInfoType.RUNNING, NpcInfoType.PVP_FLAG);
if (summon.getHeading() > 0) if (summon.getHeading() > 0)
{ {
addComponentType(NpcInfoType.HEADING); addComponentType(NpcInfoType.HEADING);
@@ -200,7 +200,7 @@ public class ExPetInfo extends AbstractMaskPacket<NpcInfoType>
switch (type) switch (type)
{ {
case ATTACKABLE: case ATTACKABLE:
case UNKNOWN1: case RELATIONS:
{ {
_initSize += type.getBlockLength(); _initSize += type.getBlockLength();
break; break;
@@ -240,9 +240,9 @@ public class ExPetInfo extends AbstractMaskPacket<NpcInfoType>
{ {
packet.writeC(_summon.isAutoAttackable(_attacker) ? 0x01 : 0x00); packet.writeC(_summon.isAutoAttackable(_attacker) ? 0x01 : 0x00);
} }
if (containsMask(NpcInfoType.UNKNOWN1)) if (containsMask(NpcInfoType.RELATIONS))
{ {
packet.writeD(0x00); // unknown packet.writeD(0x00);
} }
if (containsMask(NpcInfoType.TITLE)) if (containsMask(NpcInfoType.TITLE))
{ {

View File

@@ -96,7 +96,7 @@ public class NpcInfo extends AbstractMaskPacket<NpcInfoType>
{ {
_npc = npc; _npc = npc;
_abnormalVisualEffects = npc.getEffectList().getCurrentAbnormalVisualEffects(); _abnormalVisualEffects = npc.getEffectList().getCurrentAbnormalVisualEffects();
addComponentType(NpcInfoType.ATTACKABLE, NpcInfoType.UNKNOWN1, NpcInfoType.ID, NpcInfoType.POSITION, NpcInfoType.ALIVE, NpcInfoType.RUNNING); addComponentType(NpcInfoType.ATTACKABLE, NpcInfoType.RELATIONS, NpcInfoType.ID, NpcInfoType.POSITION, NpcInfoType.ALIVE, NpcInfoType.RUNNING);
if (npc.getHeading() > 0) if (npc.getHeading() > 0)
{ {
addComponentType(NpcInfoType.HEADING); addComponentType(NpcInfoType.HEADING);
@@ -269,7 +269,7 @@ public class NpcInfo extends AbstractMaskPacket<NpcInfoType>
switch (type) switch (type)
{ {
case ATTACKABLE: case ATTACKABLE:
case UNKNOWN1: case RELATIONS:
{ {
_initSize += type.getBlockLength(); _initSize += type.getBlockLength();
break; break;
@@ -309,9 +309,9 @@ public class NpcInfo extends AbstractMaskPacket<NpcInfoType>
{ {
packet.writeC(_npc.isAttackable() && !(_npc instanceof GuardInstance) ? 0x01 : 0x00); packet.writeC(_npc.isAttackable() && !(_npc instanceof GuardInstance) ? 0x01 : 0x00);
} }
if (containsMask(NpcInfoType.UNKNOWN1)) if (containsMask(NpcInfoType.RELATIONS))
{ {
packet.writeD(0x00); // unknown packet.writeD(0x00);
} }
if (containsMask(NpcInfoType.TITLE)) if (containsMask(NpcInfoType.TITLE))
{ {

View File

@@ -69,7 +69,7 @@ public class SummonInfo extends AbstractMaskPacket<NpcInfoType>
addComponentType(NpcInfoType.NAME); addComponentType(NpcInfoType.NAME);
} }
addComponentType(NpcInfoType.ATTACKABLE, NpcInfoType.UNKNOWN1, NpcInfoType.TITLE, NpcInfoType.ID, NpcInfoType.POSITION, NpcInfoType.ALIVE, NpcInfoType.RUNNING, NpcInfoType.PVP_FLAG); addComponentType(NpcInfoType.ATTACKABLE, NpcInfoType.RELATIONS, NpcInfoType.TITLE, NpcInfoType.ID, NpcInfoType.POSITION, NpcInfoType.ALIVE, NpcInfoType.RUNNING, NpcInfoType.PVP_FLAG);
if (summon.getHeading() > 0) if (summon.getHeading() > 0)
{ {
addComponentType(NpcInfoType.HEADING); addComponentType(NpcInfoType.HEADING);
@@ -202,7 +202,7 @@ public class SummonInfo extends AbstractMaskPacket<NpcInfoType>
switch (type) switch (type)
{ {
case ATTACKABLE: case ATTACKABLE:
case UNKNOWN1: case RELATIONS:
{ {
_initSize += type.getBlockLength(); _initSize += type.getBlockLength();
break; break;
@@ -242,9 +242,9 @@ public class SummonInfo extends AbstractMaskPacket<NpcInfoType>
{ {
packet.writeC(_summon.isAutoAttackable(_attacker) ? 0x01 : 0x00); packet.writeC(_summon.isAutoAttackable(_attacker) ? 0x01 : 0x00);
} }
if (containsMask(NpcInfoType.UNKNOWN1)) if (containsMask(NpcInfoType.RELATIONS))
{ {
packet.writeD(0x00); // unknown packet.writeD(0x00);
} }
if (containsMask(NpcInfoType.TITLE)) if (containsMask(NpcInfoType.TITLE))
{ {

View File

@@ -26,7 +26,7 @@ public enum NpcInfoType implements IUpdateTypeComponent
// 0 // 0
ID(0x00, 4), ID(0x00, 4),
ATTACKABLE(0x01, 1), ATTACKABLE(0x01, 1),
UNKNOWN1(0x02, 4), RELATIONS(0x02, 4),
NAME(0x03, 2), NAME(0x03, 2),
POSITION(0x04, (3 * 4)), POSITION(0x04, (3 * 4)),
HEADING(0x05, 4), HEADING(0x05, 4),

View File

@@ -69,7 +69,7 @@ public class ExPetInfo extends AbstractMaskPacket<NpcInfoType>
addComponentType(NpcInfoType.NAME); addComponentType(NpcInfoType.NAME);
} }
addComponentType(NpcInfoType.ATTACKABLE, NpcInfoType.UNKNOWN1, NpcInfoType.TITLE, NpcInfoType.ID, NpcInfoType.POSITION, NpcInfoType.ALIVE, NpcInfoType.RUNNING, NpcInfoType.PVP_FLAG); addComponentType(NpcInfoType.ATTACKABLE, NpcInfoType.RELATIONS, NpcInfoType.TITLE, NpcInfoType.ID, NpcInfoType.POSITION, NpcInfoType.ALIVE, NpcInfoType.RUNNING, NpcInfoType.PVP_FLAG);
if (summon.getHeading() > 0) if (summon.getHeading() > 0)
{ {
addComponentType(NpcInfoType.HEADING); addComponentType(NpcInfoType.HEADING);
@@ -200,7 +200,7 @@ public class ExPetInfo extends AbstractMaskPacket<NpcInfoType>
switch (type) switch (type)
{ {
case ATTACKABLE: case ATTACKABLE:
case UNKNOWN1: case RELATIONS:
{ {
_initSize += type.getBlockLength(); _initSize += type.getBlockLength();
break; break;
@@ -240,9 +240,9 @@ public class ExPetInfo extends AbstractMaskPacket<NpcInfoType>
{ {
packet.writeC(_summon.isAutoAttackable(_attacker) ? 0x01 : 0x00); packet.writeC(_summon.isAutoAttackable(_attacker) ? 0x01 : 0x00);
} }
if (containsMask(NpcInfoType.UNKNOWN1)) if (containsMask(NpcInfoType.RELATIONS))
{ {
packet.writeD(0x00); // unknown packet.writeD(0x00);
} }
if (containsMask(NpcInfoType.TITLE)) if (containsMask(NpcInfoType.TITLE))
{ {

View File

@@ -96,7 +96,7 @@ public class NpcInfo extends AbstractMaskPacket<NpcInfoType>
{ {
_npc = npc; _npc = npc;
_abnormalVisualEffects = npc.getEffectList().getCurrentAbnormalVisualEffects(); _abnormalVisualEffects = npc.getEffectList().getCurrentAbnormalVisualEffects();
addComponentType(NpcInfoType.ATTACKABLE, NpcInfoType.UNKNOWN1, NpcInfoType.ID, NpcInfoType.POSITION, NpcInfoType.ALIVE, NpcInfoType.RUNNING); addComponentType(NpcInfoType.ATTACKABLE, NpcInfoType.RELATIONS, NpcInfoType.ID, NpcInfoType.POSITION, NpcInfoType.ALIVE, NpcInfoType.RUNNING);
if (npc.getHeading() > 0) if (npc.getHeading() > 0)
{ {
addComponentType(NpcInfoType.HEADING); addComponentType(NpcInfoType.HEADING);
@@ -269,7 +269,7 @@ public class NpcInfo extends AbstractMaskPacket<NpcInfoType>
switch (type) switch (type)
{ {
case ATTACKABLE: case ATTACKABLE:
case UNKNOWN1: case RELATIONS:
{ {
_initSize += type.getBlockLength(); _initSize += type.getBlockLength();
break; break;
@@ -309,9 +309,9 @@ public class NpcInfo extends AbstractMaskPacket<NpcInfoType>
{ {
packet.writeC(_npc.isAttackable() && !(_npc instanceof GuardInstance) ? 0x01 : 0x00); packet.writeC(_npc.isAttackable() && !(_npc instanceof GuardInstance) ? 0x01 : 0x00);
} }
if (containsMask(NpcInfoType.UNKNOWN1)) if (containsMask(NpcInfoType.RELATIONS))
{ {
packet.writeD(0x00); // unknown packet.writeD(0x00);
} }
if (containsMask(NpcInfoType.TITLE)) if (containsMask(NpcInfoType.TITLE))
{ {

View File

@@ -69,7 +69,7 @@ public class SummonInfo extends AbstractMaskPacket<NpcInfoType>
addComponentType(NpcInfoType.NAME); addComponentType(NpcInfoType.NAME);
} }
addComponentType(NpcInfoType.ATTACKABLE, NpcInfoType.UNKNOWN1, NpcInfoType.TITLE, NpcInfoType.ID, NpcInfoType.POSITION, NpcInfoType.ALIVE, NpcInfoType.RUNNING, NpcInfoType.PVP_FLAG); addComponentType(NpcInfoType.ATTACKABLE, NpcInfoType.RELATIONS, NpcInfoType.TITLE, NpcInfoType.ID, NpcInfoType.POSITION, NpcInfoType.ALIVE, NpcInfoType.RUNNING, NpcInfoType.PVP_FLAG);
if (summon.getHeading() > 0) if (summon.getHeading() > 0)
{ {
addComponentType(NpcInfoType.HEADING); addComponentType(NpcInfoType.HEADING);
@@ -202,7 +202,7 @@ public class SummonInfo extends AbstractMaskPacket<NpcInfoType>
switch (type) switch (type)
{ {
case ATTACKABLE: case ATTACKABLE:
case UNKNOWN1: case RELATIONS:
{ {
_initSize += type.getBlockLength(); _initSize += type.getBlockLength();
break; break;
@@ -242,9 +242,9 @@ public class SummonInfo extends AbstractMaskPacket<NpcInfoType>
{ {
packet.writeC(_summon.isAutoAttackable(_attacker) ? 0x01 : 0x00); packet.writeC(_summon.isAutoAttackable(_attacker) ? 0x01 : 0x00);
} }
if (containsMask(NpcInfoType.UNKNOWN1)) if (containsMask(NpcInfoType.RELATIONS))
{ {
packet.writeD(0x00); // unknown packet.writeD(0x00);
} }
if (containsMask(NpcInfoType.TITLE)) if (containsMask(NpcInfoType.TITLE))
{ {

View File

@@ -26,7 +26,7 @@ public enum NpcInfoType implements IUpdateTypeComponent
// 0 // 0
ID(0x00, 4), ID(0x00, 4),
ATTACKABLE(0x01, 1), ATTACKABLE(0x01, 1),
UNKNOWN1(0x02, 4), RELATIONS(0x02, 4),
NAME(0x03, 2), NAME(0x03, 2),
POSITION(0x04, (3 * 4)), POSITION(0x04, (3 * 4)),
HEADING(0x05, 4), HEADING(0x05, 4),

View File

@@ -69,7 +69,7 @@ public class ExPetInfo extends AbstractMaskPacket<NpcInfoType>
addComponentType(NpcInfoType.NAME); addComponentType(NpcInfoType.NAME);
} }
addComponentType(NpcInfoType.ATTACKABLE, NpcInfoType.UNKNOWN1, NpcInfoType.TITLE, NpcInfoType.ID, NpcInfoType.POSITION, NpcInfoType.ALIVE, NpcInfoType.RUNNING, NpcInfoType.PVP_FLAG); addComponentType(NpcInfoType.ATTACKABLE, NpcInfoType.RELATIONS, NpcInfoType.TITLE, NpcInfoType.ID, NpcInfoType.POSITION, NpcInfoType.ALIVE, NpcInfoType.RUNNING, NpcInfoType.PVP_FLAG);
if (summon.getHeading() > 0) if (summon.getHeading() > 0)
{ {
addComponentType(NpcInfoType.HEADING); addComponentType(NpcInfoType.HEADING);
@@ -200,7 +200,7 @@ public class ExPetInfo extends AbstractMaskPacket<NpcInfoType>
switch (type) switch (type)
{ {
case ATTACKABLE: case ATTACKABLE:
case UNKNOWN1: case RELATIONS:
{ {
_initSize += type.getBlockLength(); _initSize += type.getBlockLength();
break; break;
@@ -240,9 +240,9 @@ public class ExPetInfo extends AbstractMaskPacket<NpcInfoType>
{ {
packet.writeC(_summon.isAutoAttackable(_attacker) ? 0x01 : 0x00); packet.writeC(_summon.isAutoAttackable(_attacker) ? 0x01 : 0x00);
} }
if (containsMask(NpcInfoType.UNKNOWN1)) if (containsMask(NpcInfoType.RELATIONS))
{ {
packet.writeD(0x00); // unknown packet.writeD(0x00);
} }
if (containsMask(NpcInfoType.TITLE)) if (containsMask(NpcInfoType.TITLE))
{ {

View File

@@ -96,7 +96,7 @@ public class NpcInfo extends AbstractMaskPacket<NpcInfoType>
{ {
_npc = npc; _npc = npc;
_abnormalVisualEffects = npc.getEffectList().getCurrentAbnormalVisualEffects(); _abnormalVisualEffects = npc.getEffectList().getCurrentAbnormalVisualEffects();
addComponentType(NpcInfoType.ATTACKABLE, NpcInfoType.UNKNOWN1, NpcInfoType.ID, NpcInfoType.POSITION, NpcInfoType.ALIVE, NpcInfoType.RUNNING); addComponentType(NpcInfoType.ATTACKABLE, NpcInfoType.RELATIONS, NpcInfoType.ID, NpcInfoType.POSITION, NpcInfoType.ALIVE, NpcInfoType.RUNNING);
if (npc.getHeading() > 0) if (npc.getHeading() > 0)
{ {
addComponentType(NpcInfoType.HEADING); addComponentType(NpcInfoType.HEADING);
@@ -269,7 +269,7 @@ public class NpcInfo extends AbstractMaskPacket<NpcInfoType>
switch (type) switch (type)
{ {
case ATTACKABLE: case ATTACKABLE:
case UNKNOWN1: case RELATIONS:
{ {
_initSize += type.getBlockLength(); _initSize += type.getBlockLength();
break; break;
@@ -309,9 +309,9 @@ public class NpcInfo extends AbstractMaskPacket<NpcInfoType>
{ {
packet.writeC(_npc.isAttackable() && !(_npc instanceof GuardInstance) ? 0x01 : 0x00); packet.writeC(_npc.isAttackable() && !(_npc instanceof GuardInstance) ? 0x01 : 0x00);
} }
if (containsMask(NpcInfoType.UNKNOWN1)) if (containsMask(NpcInfoType.RELATIONS))
{ {
packet.writeD(0x00); // unknown packet.writeD(0x00);
} }
if (containsMask(NpcInfoType.TITLE)) if (containsMask(NpcInfoType.TITLE))
{ {

View File

@@ -69,7 +69,7 @@ public class SummonInfo extends AbstractMaskPacket<NpcInfoType>
addComponentType(NpcInfoType.NAME); addComponentType(NpcInfoType.NAME);
} }
addComponentType(NpcInfoType.ATTACKABLE, NpcInfoType.UNKNOWN1, NpcInfoType.TITLE, NpcInfoType.ID, NpcInfoType.POSITION, NpcInfoType.ALIVE, NpcInfoType.RUNNING, NpcInfoType.PVP_FLAG); addComponentType(NpcInfoType.ATTACKABLE, NpcInfoType.RELATIONS, NpcInfoType.TITLE, NpcInfoType.ID, NpcInfoType.POSITION, NpcInfoType.ALIVE, NpcInfoType.RUNNING, NpcInfoType.PVP_FLAG);
if (summon.getHeading() > 0) if (summon.getHeading() > 0)
{ {
addComponentType(NpcInfoType.HEADING); addComponentType(NpcInfoType.HEADING);
@@ -202,7 +202,7 @@ public class SummonInfo extends AbstractMaskPacket<NpcInfoType>
switch (type) switch (type)
{ {
case ATTACKABLE: case ATTACKABLE:
case UNKNOWN1: case RELATIONS:
{ {
_initSize += type.getBlockLength(); _initSize += type.getBlockLength();
break; break;
@@ -242,9 +242,9 @@ public class SummonInfo extends AbstractMaskPacket<NpcInfoType>
{ {
packet.writeC(_summon.isAutoAttackable(_attacker) ? 0x01 : 0x00); packet.writeC(_summon.isAutoAttackable(_attacker) ? 0x01 : 0x00);
} }
if (containsMask(NpcInfoType.UNKNOWN1)) if (containsMask(NpcInfoType.RELATIONS))
{ {
packet.writeD(0x00); // unknown packet.writeD(0x00);
} }
if (containsMask(NpcInfoType.TITLE)) if (containsMask(NpcInfoType.TITLE))
{ {

View File

@@ -26,7 +26,7 @@ public enum NpcInfoType implements IUpdateTypeComponent
// 0 // 0
ID(0x00, 4), ID(0x00, 4),
ATTACKABLE(0x01, 1), ATTACKABLE(0x01, 1),
UNKNOWN1(0x02, 4), RELATIONS(0x02, 4),
NAME(0x03, 2), NAME(0x03, 2),
POSITION(0x04, (3 * 4)), POSITION(0x04, (3 * 4)),
HEADING(0x05, 4), HEADING(0x05, 4),

View File

@@ -69,7 +69,7 @@ public class ExPetInfo extends AbstractMaskPacket<NpcInfoType>
addComponentType(NpcInfoType.NAME); addComponentType(NpcInfoType.NAME);
} }
addComponentType(NpcInfoType.ATTACKABLE, NpcInfoType.UNKNOWN1, NpcInfoType.TITLE, NpcInfoType.ID, NpcInfoType.POSITION, NpcInfoType.ALIVE, NpcInfoType.RUNNING, NpcInfoType.PVP_FLAG); addComponentType(NpcInfoType.ATTACKABLE, NpcInfoType.RELATIONS, NpcInfoType.TITLE, NpcInfoType.ID, NpcInfoType.POSITION, NpcInfoType.ALIVE, NpcInfoType.RUNNING, NpcInfoType.PVP_FLAG);
if (summon.getHeading() > 0) if (summon.getHeading() > 0)
{ {
addComponentType(NpcInfoType.HEADING); addComponentType(NpcInfoType.HEADING);
@@ -200,7 +200,7 @@ public class ExPetInfo extends AbstractMaskPacket<NpcInfoType>
switch (type) switch (type)
{ {
case ATTACKABLE: case ATTACKABLE:
case UNKNOWN1: case RELATIONS:
{ {
_initSize += type.getBlockLength(); _initSize += type.getBlockLength();
break; break;
@@ -240,9 +240,9 @@ public class ExPetInfo extends AbstractMaskPacket<NpcInfoType>
{ {
packet.writeC(_summon.isAutoAttackable(_attacker) ? 0x01 : 0x00); packet.writeC(_summon.isAutoAttackable(_attacker) ? 0x01 : 0x00);
} }
if (containsMask(NpcInfoType.UNKNOWN1)) if (containsMask(NpcInfoType.RELATIONS))
{ {
packet.writeD(0x00); // unknown packet.writeD(0x00);
} }
if (containsMask(NpcInfoType.TITLE)) if (containsMask(NpcInfoType.TITLE))
{ {

View File

@@ -96,7 +96,7 @@ public class NpcInfo extends AbstractMaskPacket<NpcInfoType>
{ {
_npc = npc; _npc = npc;
_abnormalVisualEffects = npc.getEffectList().getCurrentAbnormalVisualEffects(); _abnormalVisualEffects = npc.getEffectList().getCurrentAbnormalVisualEffects();
addComponentType(NpcInfoType.ATTACKABLE, NpcInfoType.UNKNOWN1, NpcInfoType.ID, NpcInfoType.POSITION, NpcInfoType.ALIVE, NpcInfoType.RUNNING); addComponentType(NpcInfoType.ATTACKABLE, NpcInfoType.RELATIONS, NpcInfoType.ID, NpcInfoType.POSITION, NpcInfoType.ALIVE, NpcInfoType.RUNNING);
if (npc.getHeading() > 0) if (npc.getHeading() > 0)
{ {
addComponentType(NpcInfoType.HEADING); addComponentType(NpcInfoType.HEADING);
@@ -269,7 +269,7 @@ public class NpcInfo extends AbstractMaskPacket<NpcInfoType>
switch (type) switch (type)
{ {
case ATTACKABLE: case ATTACKABLE:
case UNKNOWN1: case RELATIONS:
{ {
_initSize += type.getBlockLength(); _initSize += type.getBlockLength();
break; break;
@@ -309,9 +309,9 @@ public class NpcInfo extends AbstractMaskPacket<NpcInfoType>
{ {
packet.writeC(_npc.isAttackable() && !(_npc instanceof GuardInstance) ? 0x01 : 0x00); packet.writeC(_npc.isAttackable() && !(_npc instanceof GuardInstance) ? 0x01 : 0x00);
} }
if (containsMask(NpcInfoType.UNKNOWN1)) if (containsMask(NpcInfoType.RELATIONS))
{ {
packet.writeD(0x00); // unknown packet.writeD(0x00);
} }
if (containsMask(NpcInfoType.TITLE)) if (containsMask(NpcInfoType.TITLE))
{ {

View File

@@ -69,7 +69,7 @@ public class SummonInfo extends AbstractMaskPacket<NpcInfoType>
addComponentType(NpcInfoType.NAME); addComponentType(NpcInfoType.NAME);
} }
addComponentType(NpcInfoType.ATTACKABLE, NpcInfoType.UNKNOWN1, NpcInfoType.TITLE, NpcInfoType.ID, NpcInfoType.POSITION, NpcInfoType.ALIVE, NpcInfoType.RUNNING, NpcInfoType.PVP_FLAG); addComponentType(NpcInfoType.ATTACKABLE, NpcInfoType.RELATIONS, NpcInfoType.TITLE, NpcInfoType.ID, NpcInfoType.POSITION, NpcInfoType.ALIVE, NpcInfoType.RUNNING, NpcInfoType.PVP_FLAG);
if (summon.getHeading() > 0) if (summon.getHeading() > 0)
{ {
addComponentType(NpcInfoType.HEADING); addComponentType(NpcInfoType.HEADING);
@@ -202,7 +202,7 @@ public class SummonInfo extends AbstractMaskPacket<NpcInfoType>
switch (type) switch (type)
{ {
case ATTACKABLE: case ATTACKABLE:
case UNKNOWN1: case RELATIONS:
{ {
_initSize += type.getBlockLength(); _initSize += type.getBlockLength();
break; break;
@@ -242,9 +242,9 @@ public class SummonInfo extends AbstractMaskPacket<NpcInfoType>
{ {
packet.writeC(_summon.isAutoAttackable(_attacker) ? 0x01 : 0x00); packet.writeC(_summon.isAutoAttackable(_attacker) ? 0x01 : 0x00);
} }
if (containsMask(NpcInfoType.UNKNOWN1)) if (containsMask(NpcInfoType.RELATIONS))
{ {
packet.writeD(0x00); // unknown packet.writeD(0x00);
} }
if (containsMask(NpcInfoType.TITLE)) if (containsMask(NpcInfoType.TITLE))
{ {

View File

@@ -26,7 +26,7 @@ public enum NpcInfoType implements IUpdateTypeComponent
// 0 // 0
ID(0x00, 4), ID(0x00, 4),
ATTACKABLE(0x01, 1), ATTACKABLE(0x01, 1),
UNKNOWN1(0x02, 4), RELATIONS(0x02, 4),
NAME(0x03, 2), NAME(0x03, 2),
POSITION(0x04, (3 * 4)), POSITION(0x04, (3 * 4)),
HEADING(0x05, 4), HEADING(0x05, 4),

View File

@@ -69,7 +69,7 @@ public class ExPetInfo extends AbstractMaskPacket<NpcInfoType>
addComponentType(NpcInfoType.NAME); addComponentType(NpcInfoType.NAME);
} }
addComponentType(NpcInfoType.ATTACKABLE, NpcInfoType.UNKNOWN1, NpcInfoType.TITLE, NpcInfoType.ID, NpcInfoType.POSITION, NpcInfoType.ALIVE, NpcInfoType.RUNNING, NpcInfoType.PVP_FLAG); addComponentType(NpcInfoType.ATTACKABLE, NpcInfoType.RELATIONS, NpcInfoType.TITLE, NpcInfoType.ID, NpcInfoType.POSITION, NpcInfoType.ALIVE, NpcInfoType.RUNNING, NpcInfoType.PVP_FLAG);
if (summon.getHeading() > 0) if (summon.getHeading() > 0)
{ {
addComponentType(NpcInfoType.HEADING); addComponentType(NpcInfoType.HEADING);
@@ -200,7 +200,7 @@ public class ExPetInfo extends AbstractMaskPacket<NpcInfoType>
switch (type) switch (type)
{ {
case ATTACKABLE: case ATTACKABLE:
case UNKNOWN1: case RELATIONS:
{ {
_initSize += type.getBlockLength(); _initSize += type.getBlockLength();
break; break;
@@ -240,9 +240,9 @@ public class ExPetInfo extends AbstractMaskPacket<NpcInfoType>
{ {
packet.writeC(_summon.isAutoAttackable(_attacker) ? 0x01 : 0x00); packet.writeC(_summon.isAutoAttackable(_attacker) ? 0x01 : 0x00);
} }
if (containsMask(NpcInfoType.UNKNOWN1)) if (containsMask(NpcInfoType.RELATIONS))
{ {
packet.writeD(0x00); // unknown packet.writeD(0x00);
} }
if (containsMask(NpcInfoType.TITLE)) if (containsMask(NpcInfoType.TITLE))
{ {

View File

@@ -96,7 +96,7 @@ public class NpcInfo extends AbstractMaskPacket<NpcInfoType>
{ {
_npc = npc; _npc = npc;
_abnormalVisualEffects = npc.getEffectList().getCurrentAbnormalVisualEffects(); _abnormalVisualEffects = npc.getEffectList().getCurrentAbnormalVisualEffects();
addComponentType(NpcInfoType.ATTACKABLE, NpcInfoType.UNKNOWN1, NpcInfoType.ID, NpcInfoType.POSITION, NpcInfoType.ALIVE, NpcInfoType.RUNNING); addComponentType(NpcInfoType.ATTACKABLE, NpcInfoType.RELATIONS, NpcInfoType.ID, NpcInfoType.POSITION, NpcInfoType.ALIVE, NpcInfoType.RUNNING);
if (npc.getHeading() > 0) if (npc.getHeading() > 0)
{ {
addComponentType(NpcInfoType.HEADING); addComponentType(NpcInfoType.HEADING);
@@ -269,7 +269,7 @@ public class NpcInfo extends AbstractMaskPacket<NpcInfoType>
switch (type) switch (type)
{ {
case ATTACKABLE: case ATTACKABLE:
case UNKNOWN1: case RELATIONS:
{ {
_initSize += type.getBlockLength(); _initSize += type.getBlockLength();
break; break;
@@ -309,9 +309,9 @@ public class NpcInfo extends AbstractMaskPacket<NpcInfoType>
{ {
packet.writeC(_npc.isAttackable() && !(_npc instanceof GuardInstance) ? 0x01 : 0x00); packet.writeC(_npc.isAttackable() && !(_npc instanceof GuardInstance) ? 0x01 : 0x00);
} }
if (containsMask(NpcInfoType.UNKNOWN1)) if (containsMask(NpcInfoType.RELATIONS))
{ {
packet.writeD(0x00); // unknown packet.writeD(0x00);
} }
if (containsMask(NpcInfoType.TITLE)) if (containsMask(NpcInfoType.TITLE))
{ {

View File

@@ -69,7 +69,7 @@ public class SummonInfo extends AbstractMaskPacket<NpcInfoType>
addComponentType(NpcInfoType.NAME); addComponentType(NpcInfoType.NAME);
} }
addComponentType(NpcInfoType.ATTACKABLE, NpcInfoType.UNKNOWN1, NpcInfoType.TITLE, NpcInfoType.ID, NpcInfoType.POSITION, NpcInfoType.ALIVE, NpcInfoType.RUNNING, NpcInfoType.PVP_FLAG); addComponentType(NpcInfoType.ATTACKABLE, NpcInfoType.RELATIONS, NpcInfoType.TITLE, NpcInfoType.ID, NpcInfoType.POSITION, NpcInfoType.ALIVE, NpcInfoType.RUNNING, NpcInfoType.PVP_FLAG);
if (summon.getHeading() > 0) if (summon.getHeading() > 0)
{ {
addComponentType(NpcInfoType.HEADING); addComponentType(NpcInfoType.HEADING);
@@ -202,7 +202,7 @@ public class SummonInfo extends AbstractMaskPacket<NpcInfoType>
switch (type) switch (type)
{ {
case ATTACKABLE: case ATTACKABLE:
case UNKNOWN1: case RELATIONS:
{ {
_initSize += type.getBlockLength(); _initSize += type.getBlockLength();
break; break;
@@ -242,9 +242,9 @@ public class SummonInfo extends AbstractMaskPacket<NpcInfoType>
{ {
packet.writeC(_summon.isAutoAttackable(_attacker) ? 0x01 : 0x00); packet.writeC(_summon.isAutoAttackable(_attacker) ? 0x01 : 0x00);
} }
if (containsMask(NpcInfoType.UNKNOWN1)) if (containsMask(NpcInfoType.RELATIONS))
{ {
packet.writeD(0x00); // unknown packet.writeD(0x00);
} }
if (containsMask(NpcInfoType.TITLE)) if (containsMask(NpcInfoType.TITLE))
{ {

View File

@@ -26,7 +26,7 @@ public enum NpcInfoType implements IUpdateTypeComponent
// 0 // 0
ID(0x00, 4), ID(0x00, 4),
ATTACKABLE(0x01, 1), ATTACKABLE(0x01, 1),
UNKNOWN1(0x02, 4), RELATIONS(0x02, 4),
NAME(0x03, 2), NAME(0x03, 2),
POSITION(0x04, (3 * 4)), POSITION(0x04, (3 * 4)),
HEADING(0x05, 4), HEADING(0x05, 4),

View File

@@ -69,7 +69,7 @@ public class ExPetInfo extends AbstractMaskPacket<NpcInfoType>
addComponentType(NpcInfoType.NAME); addComponentType(NpcInfoType.NAME);
} }
addComponentType(NpcInfoType.ATTACKABLE, NpcInfoType.UNKNOWN1, NpcInfoType.TITLE, NpcInfoType.ID, NpcInfoType.POSITION, NpcInfoType.ALIVE, NpcInfoType.RUNNING, NpcInfoType.PVP_FLAG); addComponentType(NpcInfoType.ATTACKABLE, NpcInfoType.RELATIONS, NpcInfoType.TITLE, NpcInfoType.ID, NpcInfoType.POSITION, NpcInfoType.ALIVE, NpcInfoType.RUNNING, NpcInfoType.PVP_FLAG);
if (summon.getHeading() > 0) if (summon.getHeading() > 0)
{ {
addComponentType(NpcInfoType.HEADING); addComponentType(NpcInfoType.HEADING);
@@ -200,7 +200,7 @@ public class ExPetInfo extends AbstractMaskPacket<NpcInfoType>
switch (type) switch (type)
{ {
case ATTACKABLE: case ATTACKABLE:
case UNKNOWN1: case RELATIONS:
{ {
_initSize += type.getBlockLength(); _initSize += type.getBlockLength();
break; break;
@@ -240,9 +240,9 @@ public class ExPetInfo extends AbstractMaskPacket<NpcInfoType>
{ {
packet.writeC(_summon.isAutoAttackable(_attacker) ? 0x01 : 0x00); packet.writeC(_summon.isAutoAttackable(_attacker) ? 0x01 : 0x00);
} }
if (containsMask(NpcInfoType.UNKNOWN1)) if (containsMask(NpcInfoType.RELATIONS))
{ {
packet.writeD(0x00); // unknown packet.writeD(0x00);
} }
if (containsMask(NpcInfoType.TITLE)) if (containsMask(NpcInfoType.TITLE))
{ {

View File

@@ -96,7 +96,7 @@ public class NpcInfo extends AbstractMaskPacket<NpcInfoType>
{ {
_npc = npc; _npc = npc;
_abnormalVisualEffects = npc.getEffectList().getCurrentAbnormalVisualEffects(); _abnormalVisualEffects = npc.getEffectList().getCurrentAbnormalVisualEffects();
addComponentType(NpcInfoType.ATTACKABLE, NpcInfoType.UNKNOWN1, NpcInfoType.ID, NpcInfoType.POSITION, NpcInfoType.ALIVE, NpcInfoType.RUNNING); addComponentType(NpcInfoType.ATTACKABLE, NpcInfoType.RELATIONS, NpcInfoType.ID, NpcInfoType.POSITION, NpcInfoType.ALIVE, NpcInfoType.RUNNING);
if (npc.getHeading() > 0) if (npc.getHeading() > 0)
{ {
addComponentType(NpcInfoType.HEADING); addComponentType(NpcInfoType.HEADING);
@@ -269,7 +269,7 @@ public class NpcInfo extends AbstractMaskPacket<NpcInfoType>
switch (type) switch (type)
{ {
case ATTACKABLE: case ATTACKABLE:
case UNKNOWN1: case RELATIONS:
{ {
_initSize += type.getBlockLength(); _initSize += type.getBlockLength();
break; break;
@@ -309,9 +309,9 @@ public class NpcInfo extends AbstractMaskPacket<NpcInfoType>
{ {
packet.writeC(_npc.isAttackable() && !(_npc instanceof GuardInstance) ? 0x01 : 0x00); packet.writeC(_npc.isAttackable() && !(_npc instanceof GuardInstance) ? 0x01 : 0x00);
} }
if (containsMask(NpcInfoType.UNKNOWN1)) if (containsMask(NpcInfoType.RELATIONS))
{ {
packet.writeD(0x00); // unknown packet.writeD(0x00);
} }
if (containsMask(NpcInfoType.TITLE)) if (containsMask(NpcInfoType.TITLE))
{ {

View File

@@ -69,7 +69,7 @@ public class SummonInfo extends AbstractMaskPacket<NpcInfoType>
addComponentType(NpcInfoType.NAME); addComponentType(NpcInfoType.NAME);
} }
addComponentType(NpcInfoType.ATTACKABLE, NpcInfoType.UNKNOWN1, NpcInfoType.TITLE, NpcInfoType.ID, NpcInfoType.POSITION, NpcInfoType.ALIVE, NpcInfoType.RUNNING, NpcInfoType.PVP_FLAG); addComponentType(NpcInfoType.ATTACKABLE, NpcInfoType.RELATIONS, NpcInfoType.TITLE, NpcInfoType.ID, NpcInfoType.POSITION, NpcInfoType.ALIVE, NpcInfoType.RUNNING, NpcInfoType.PVP_FLAG);
if (summon.getHeading() > 0) if (summon.getHeading() > 0)
{ {
addComponentType(NpcInfoType.HEADING); addComponentType(NpcInfoType.HEADING);
@@ -202,7 +202,7 @@ public class SummonInfo extends AbstractMaskPacket<NpcInfoType>
switch (type) switch (type)
{ {
case ATTACKABLE: case ATTACKABLE:
case UNKNOWN1: case RELATIONS:
{ {
_initSize += type.getBlockLength(); _initSize += type.getBlockLength();
break; break;
@@ -242,9 +242,9 @@ public class SummonInfo extends AbstractMaskPacket<NpcInfoType>
{ {
packet.writeC(_summon.isAutoAttackable(_attacker) ? 0x01 : 0x00); packet.writeC(_summon.isAutoAttackable(_attacker) ? 0x01 : 0x00);
} }
if (containsMask(NpcInfoType.UNKNOWN1)) if (containsMask(NpcInfoType.RELATIONS))
{ {
packet.writeD(0x00); // unknown packet.writeD(0x00);
} }
if (containsMask(NpcInfoType.TITLE)) if (containsMask(NpcInfoType.TITLE))
{ {

View File

@@ -26,7 +26,7 @@ public enum NpcInfoType implements IUpdateTypeComponent
// 0 // 0
ID(0x00, 4), ID(0x00, 4),
ATTACKABLE(0x01, 1), ATTACKABLE(0x01, 1),
UNKNOWN1(0x02, 4), RELATIONS(0x02, 4),
NAME(0x03, 2), NAME(0x03, 2),
POSITION(0x04, (3 * 4)), POSITION(0x04, (3 * 4)),
HEADING(0x05, 4), HEADING(0x05, 4),

View File

@@ -69,7 +69,7 @@ public class ExPetInfo extends AbstractMaskPacket<NpcInfoType>
addComponentType(NpcInfoType.NAME); addComponentType(NpcInfoType.NAME);
} }
addComponentType(NpcInfoType.ATTACKABLE, NpcInfoType.UNKNOWN1, NpcInfoType.TITLE, NpcInfoType.ID, NpcInfoType.POSITION, NpcInfoType.ALIVE, NpcInfoType.RUNNING, NpcInfoType.PVP_FLAG); addComponentType(NpcInfoType.ATTACKABLE, NpcInfoType.RELATIONS, NpcInfoType.TITLE, NpcInfoType.ID, NpcInfoType.POSITION, NpcInfoType.ALIVE, NpcInfoType.RUNNING, NpcInfoType.PVP_FLAG);
if (summon.getHeading() > 0) if (summon.getHeading() > 0)
{ {
addComponentType(NpcInfoType.HEADING); addComponentType(NpcInfoType.HEADING);
@@ -200,7 +200,7 @@ public class ExPetInfo extends AbstractMaskPacket<NpcInfoType>
switch (type) switch (type)
{ {
case ATTACKABLE: case ATTACKABLE:
case UNKNOWN1: case RELATIONS:
{ {
_initSize += type.getBlockLength(); _initSize += type.getBlockLength();
break; break;
@@ -240,9 +240,9 @@ public class ExPetInfo extends AbstractMaskPacket<NpcInfoType>
{ {
packet.writeC(_summon.isAutoAttackable(_attacker) ? 0x01 : 0x00); packet.writeC(_summon.isAutoAttackable(_attacker) ? 0x01 : 0x00);
} }
if (containsMask(NpcInfoType.UNKNOWN1)) if (containsMask(NpcInfoType.RELATIONS))
{ {
packet.writeD(0x00); // unknown packet.writeD(0x00);
} }
if (containsMask(NpcInfoType.TITLE)) if (containsMask(NpcInfoType.TITLE))
{ {

View File

@@ -96,7 +96,7 @@ public class NpcInfo extends AbstractMaskPacket<NpcInfoType>
{ {
_npc = npc; _npc = npc;
_abnormalVisualEffects = npc.getEffectList().getCurrentAbnormalVisualEffects(); _abnormalVisualEffects = npc.getEffectList().getCurrentAbnormalVisualEffects();
addComponentType(NpcInfoType.ATTACKABLE, NpcInfoType.UNKNOWN1, NpcInfoType.ID, NpcInfoType.POSITION, NpcInfoType.ALIVE, NpcInfoType.RUNNING); addComponentType(NpcInfoType.ATTACKABLE, NpcInfoType.RELATIONS, NpcInfoType.ID, NpcInfoType.POSITION, NpcInfoType.ALIVE, NpcInfoType.RUNNING);
if (npc.getHeading() > 0) if (npc.getHeading() > 0)
{ {
addComponentType(NpcInfoType.HEADING); addComponentType(NpcInfoType.HEADING);
@@ -269,7 +269,7 @@ public class NpcInfo extends AbstractMaskPacket<NpcInfoType>
switch (type) switch (type)
{ {
case ATTACKABLE: case ATTACKABLE:
case UNKNOWN1: case RELATIONS:
{ {
_initSize += type.getBlockLength(); _initSize += type.getBlockLength();
break; break;
@@ -309,9 +309,9 @@ public class NpcInfo extends AbstractMaskPacket<NpcInfoType>
{ {
packet.writeC(_npc.isAttackable() && !(_npc instanceof GuardInstance) ? 0x01 : 0x00); packet.writeC(_npc.isAttackable() && !(_npc instanceof GuardInstance) ? 0x01 : 0x00);
} }
if (containsMask(NpcInfoType.UNKNOWN1)) if (containsMask(NpcInfoType.RELATIONS))
{ {
packet.writeD(0x00); // unknown packet.writeD(0x00);
} }
if (containsMask(NpcInfoType.TITLE)) if (containsMask(NpcInfoType.TITLE))
{ {

View File

@@ -69,7 +69,7 @@ public class SummonInfo extends AbstractMaskPacket<NpcInfoType>
addComponentType(NpcInfoType.NAME); addComponentType(NpcInfoType.NAME);
} }
addComponentType(NpcInfoType.ATTACKABLE, NpcInfoType.UNKNOWN1, NpcInfoType.TITLE, NpcInfoType.ID, NpcInfoType.POSITION, NpcInfoType.ALIVE, NpcInfoType.RUNNING, NpcInfoType.PVP_FLAG); addComponentType(NpcInfoType.ATTACKABLE, NpcInfoType.RELATIONS, NpcInfoType.TITLE, NpcInfoType.ID, NpcInfoType.POSITION, NpcInfoType.ALIVE, NpcInfoType.RUNNING, NpcInfoType.PVP_FLAG);
if (summon.getHeading() > 0) if (summon.getHeading() > 0)
{ {
addComponentType(NpcInfoType.HEADING); addComponentType(NpcInfoType.HEADING);
@@ -202,7 +202,7 @@ public class SummonInfo extends AbstractMaskPacket<NpcInfoType>
switch (type) switch (type)
{ {
case ATTACKABLE: case ATTACKABLE:
case UNKNOWN1: case RELATIONS:
{ {
_initSize += type.getBlockLength(); _initSize += type.getBlockLength();
break; break;
@@ -242,9 +242,9 @@ public class SummonInfo extends AbstractMaskPacket<NpcInfoType>
{ {
packet.writeC(_summon.isAutoAttackable(_attacker) ? 0x01 : 0x00); packet.writeC(_summon.isAutoAttackable(_attacker) ? 0x01 : 0x00);
} }
if (containsMask(NpcInfoType.UNKNOWN1)) if (containsMask(NpcInfoType.RELATIONS))
{ {
packet.writeD(0x00); // unknown packet.writeD(0x00);
} }
if (containsMask(NpcInfoType.TITLE)) if (containsMask(NpcInfoType.TITLE))
{ {

View File

@@ -26,7 +26,7 @@ public enum NpcInfoType implements IUpdateTypeComponent
// 0 // 0
ID(0x00, 4), ID(0x00, 4),
ATTACKABLE(0x01, 1), ATTACKABLE(0x01, 1),
UNKNOWN1(0x02, 4), RELATIONS(0x02, 4),
NAME(0x03, 2), NAME(0x03, 2),
POSITION(0x04, (3 * 4)), POSITION(0x04, (3 * 4)),
HEADING(0x05, 4), HEADING(0x05, 4),

View File

@@ -69,7 +69,7 @@ public class ExPetInfo extends AbstractMaskPacket<NpcInfoType>
addComponentType(NpcInfoType.NAME); addComponentType(NpcInfoType.NAME);
} }
addComponentType(NpcInfoType.ATTACKABLE, NpcInfoType.UNKNOWN1, NpcInfoType.TITLE, NpcInfoType.ID, NpcInfoType.POSITION, NpcInfoType.ALIVE, NpcInfoType.RUNNING, NpcInfoType.PVP_FLAG); addComponentType(NpcInfoType.ATTACKABLE, NpcInfoType.RELATIONS, NpcInfoType.TITLE, NpcInfoType.ID, NpcInfoType.POSITION, NpcInfoType.ALIVE, NpcInfoType.RUNNING, NpcInfoType.PVP_FLAG);
if (summon.getHeading() > 0) if (summon.getHeading() > 0)
{ {
addComponentType(NpcInfoType.HEADING); addComponentType(NpcInfoType.HEADING);
@@ -200,7 +200,7 @@ public class ExPetInfo extends AbstractMaskPacket<NpcInfoType>
switch (type) switch (type)
{ {
case ATTACKABLE: case ATTACKABLE:
case UNKNOWN1: case RELATIONS:
{ {
_initSize += type.getBlockLength(); _initSize += type.getBlockLength();
break; break;
@@ -240,9 +240,9 @@ public class ExPetInfo extends AbstractMaskPacket<NpcInfoType>
{ {
packet.writeC(_summon.isAutoAttackable(_attacker) ? 0x01 : 0x00); packet.writeC(_summon.isAutoAttackable(_attacker) ? 0x01 : 0x00);
} }
if (containsMask(NpcInfoType.UNKNOWN1)) if (containsMask(NpcInfoType.RELATIONS))
{ {
packet.writeD(0x00); // unknown packet.writeD(0x00);
} }
if (containsMask(NpcInfoType.TITLE)) if (containsMask(NpcInfoType.TITLE))
{ {

View File

@@ -96,7 +96,7 @@ public class NpcInfo extends AbstractMaskPacket<NpcInfoType>
{ {
_npc = npc; _npc = npc;
_abnormalVisualEffects = npc.getEffectList().getCurrentAbnormalVisualEffects(); _abnormalVisualEffects = npc.getEffectList().getCurrentAbnormalVisualEffects();
addComponentType(NpcInfoType.ATTACKABLE, NpcInfoType.UNKNOWN1, NpcInfoType.ID, NpcInfoType.POSITION, NpcInfoType.ALIVE, NpcInfoType.RUNNING); addComponentType(NpcInfoType.ATTACKABLE, NpcInfoType.RELATIONS, NpcInfoType.ID, NpcInfoType.POSITION, NpcInfoType.ALIVE, NpcInfoType.RUNNING);
if (npc.getHeading() > 0) if (npc.getHeading() > 0)
{ {
addComponentType(NpcInfoType.HEADING); addComponentType(NpcInfoType.HEADING);
@@ -269,7 +269,7 @@ public class NpcInfo extends AbstractMaskPacket<NpcInfoType>
switch (type) switch (type)
{ {
case ATTACKABLE: case ATTACKABLE:
case UNKNOWN1: case RELATIONS:
{ {
_initSize += type.getBlockLength(); _initSize += type.getBlockLength();
break; break;
@@ -309,9 +309,9 @@ public class NpcInfo extends AbstractMaskPacket<NpcInfoType>
{ {
packet.writeC(_npc.isAttackable() && !(_npc instanceof GuardInstance) ? 0x01 : 0x00); packet.writeC(_npc.isAttackable() && !(_npc instanceof GuardInstance) ? 0x01 : 0x00);
} }
if (containsMask(NpcInfoType.UNKNOWN1)) if (containsMask(NpcInfoType.RELATIONS))
{ {
packet.writeD(0x00); // unknown packet.writeD(0x00);
} }
if (containsMask(NpcInfoType.TITLE)) if (containsMask(NpcInfoType.TITLE))
{ {

View File

@@ -69,7 +69,7 @@ public class SummonInfo extends AbstractMaskPacket<NpcInfoType>
addComponentType(NpcInfoType.NAME); addComponentType(NpcInfoType.NAME);
} }
addComponentType(NpcInfoType.ATTACKABLE, NpcInfoType.UNKNOWN1, NpcInfoType.TITLE, NpcInfoType.ID, NpcInfoType.POSITION, NpcInfoType.ALIVE, NpcInfoType.RUNNING, NpcInfoType.PVP_FLAG); addComponentType(NpcInfoType.ATTACKABLE, NpcInfoType.RELATIONS, NpcInfoType.TITLE, NpcInfoType.ID, NpcInfoType.POSITION, NpcInfoType.ALIVE, NpcInfoType.RUNNING, NpcInfoType.PVP_FLAG);
if (summon.getHeading() > 0) if (summon.getHeading() > 0)
{ {
addComponentType(NpcInfoType.HEADING); addComponentType(NpcInfoType.HEADING);
@@ -202,7 +202,7 @@ public class SummonInfo extends AbstractMaskPacket<NpcInfoType>
switch (type) switch (type)
{ {
case ATTACKABLE: case ATTACKABLE:
case UNKNOWN1: case RELATIONS:
{ {
_initSize += type.getBlockLength(); _initSize += type.getBlockLength();
break; break;
@@ -242,9 +242,9 @@ public class SummonInfo extends AbstractMaskPacket<NpcInfoType>
{ {
packet.writeC(_summon.isAutoAttackable(_attacker) ? 0x01 : 0x00); packet.writeC(_summon.isAutoAttackable(_attacker) ? 0x01 : 0x00);
} }
if (containsMask(NpcInfoType.UNKNOWN1)) if (containsMask(NpcInfoType.RELATIONS))
{ {
packet.writeD(0x00); // unknown packet.writeD(0x00);
} }
if (containsMask(NpcInfoType.TITLE)) if (containsMask(NpcInfoType.TITLE))
{ {

View File

@@ -26,7 +26,7 @@ public enum NpcInfoType implements IUpdateTypeComponent
// 0 // 0
ID(0x00, 4), ID(0x00, 4),
ATTACKABLE(0x01, 1), ATTACKABLE(0x01, 1),
UNKNOWN1(0x02, 4), RELATIONS(0x02, 8),
NAME(0x03, 2), NAME(0x03, 2),
POSITION(0x04, (3 * 4)), POSITION(0x04, (3 * 4)),
HEADING(0x05, 4), HEADING(0x05, 4),

View File

@@ -69,7 +69,7 @@ public class ExPetInfo extends AbstractMaskPacket<NpcInfoType>
addComponentType(NpcInfoType.NAME); addComponentType(NpcInfoType.NAME);
} }
addComponentType(NpcInfoType.ATTACKABLE, NpcInfoType.UNKNOWN1, NpcInfoType.TITLE, NpcInfoType.ID, NpcInfoType.POSITION, NpcInfoType.ALIVE, NpcInfoType.RUNNING, NpcInfoType.PVP_FLAG); addComponentType(NpcInfoType.ATTACKABLE, NpcInfoType.RELATIONS, NpcInfoType.TITLE, NpcInfoType.ID, NpcInfoType.POSITION, NpcInfoType.ALIVE, NpcInfoType.RUNNING, NpcInfoType.PVP_FLAG);
if (summon.getHeading() > 0) if (summon.getHeading() > 0)
{ {
addComponentType(NpcInfoType.HEADING); addComponentType(NpcInfoType.HEADING);
@@ -200,7 +200,7 @@ public class ExPetInfo extends AbstractMaskPacket<NpcInfoType>
switch (type) switch (type)
{ {
case ATTACKABLE: case ATTACKABLE:
case UNKNOWN1: case RELATIONS:
{ {
_initSize += type.getBlockLength(); _initSize += type.getBlockLength();
break; break;
@@ -240,9 +240,9 @@ public class ExPetInfo extends AbstractMaskPacket<NpcInfoType>
{ {
packet.writeC(_summon.isAutoAttackable(_attacker) ? 0x01 : 0x00); packet.writeC(_summon.isAutoAttackable(_attacker) ? 0x01 : 0x00);
} }
if (containsMask(NpcInfoType.UNKNOWN1)) if (containsMask(NpcInfoType.RELATIONS))
{ {
packet.writeD(0x00); // unknown packet.writeQ(0x00);
} }
if (containsMask(NpcInfoType.TITLE)) if (containsMask(NpcInfoType.TITLE))
{ {

View File

@@ -96,7 +96,7 @@ public class NpcInfo extends AbstractMaskPacket<NpcInfoType>
{ {
_npc = npc; _npc = npc;
_abnormalVisualEffects = npc.getEffectList().getCurrentAbnormalVisualEffects(); _abnormalVisualEffects = npc.getEffectList().getCurrentAbnormalVisualEffects();
addComponentType(NpcInfoType.ATTACKABLE, NpcInfoType.UNKNOWN1, NpcInfoType.ID, NpcInfoType.POSITION, NpcInfoType.ALIVE, NpcInfoType.RUNNING); addComponentType(NpcInfoType.ATTACKABLE, NpcInfoType.RELATIONS, NpcInfoType.ID, NpcInfoType.POSITION, NpcInfoType.ALIVE, NpcInfoType.RUNNING);
if (npc.getHeading() > 0) if (npc.getHeading() > 0)
{ {
addComponentType(NpcInfoType.HEADING); addComponentType(NpcInfoType.HEADING);
@@ -269,7 +269,7 @@ public class NpcInfo extends AbstractMaskPacket<NpcInfoType>
switch (type) switch (type)
{ {
case ATTACKABLE: case ATTACKABLE:
case UNKNOWN1: case RELATIONS:
{ {
_initSize += type.getBlockLength(); _initSize += type.getBlockLength();
break; break;
@@ -309,9 +309,9 @@ public class NpcInfo extends AbstractMaskPacket<NpcInfoType>
{ {
packet.writeC(_npc.isAttackable() && !(_npc instanceof GuardInstance) ? 0x01 : 0x00); packet.writeC(_npc.isAttackable() && !(_npc instanceof GuardInstance) ? 0x01 : 0x00);
} }
if (containsMask(NpcInfoType.UNKNOWN1)) if (containsMask(NpcInfoType.RELATIONS))
{ {
packet.writeD(0x00); // unknown packet.writeQ(0x00);
} }
if (containsMask(NpcInfoType.TITLE)) if (containsMask(NpcInfoType.TITLE))
{ {

View File

@@ -69,7 +69,7 @@ public class SummonInfo extends AbstractMaskPacket<NpcInfoType>
addComponentType(NpcInfoType.NAME); addComponentType(NpcInfoType.NAME);
} }
addComponentType(NpcInfoType.ATTACKABLE, NpcInfoType.UNKNOWN1, NpcInfoType.TITLE, NpcInfoType.ID, NpcInfoType.POSITION, NpcInfoType.ALIVE, NpcInfoType.RUNNING, NpcInfoType.PVP_FLAG); addComponentType(NpcInfoType.ATTACKABLE, NpcInfoType.RELATIONS, NpcInfoType.TITLE, NpcInfoType.ID, NpcInfoType.POSITION, NpcInfoType.ALIVE, NpcInfoType.RUNNING, NpcInfoType.PVP_FLAG);
if (summon.getHeading() > 0) if (summon.getHeading() > 0)
{ {
addComponentType(NpcInfoType.HEADING); addComponentType(NpcInfoType.HEADING);
@@ -202,7 +202,7 @@ public class SummonInfo extends AbstractMaskPacket<NpcInfoType>
switch (type) switch (type)
{ {
case ATTACKABLE: case ATTACKABLE:
case UNKNOWN1: case RELATIONS:
{ {
_initSize += type.getBlockLength(); _initSize += type.getBlockLength();
break; break;
@@ -242,9 +242,9 @@ public class SummonInfo extends AbstractMaskPacket<NpcInfoType>
{ {
packet.writeC(_summon.isAutoAttackable(_attacker) ? 0x01 : 0x00); packet.writeC(_summon.isAutoAttackable(_attacker) ? 0x01 : 0x00);
} }
if (containsMask(NpcInfoType.UNKNOWN1)) if (containsMask(NpcInfoType.RELATIONS))
{ {
packet.writeD(0x00); // unknown packet.writeQ(0x00);
} }
if (containsMask(NpcInfoType.TITLE)) if (containsMask(NpcInfoType.TITLE))
{ {

View File

@@ -26,7 +26,7 @@ public enum NpcInfoType implements IUpdateTypeComponent
// 0 // 0
ID(0x00, 4), ID(0x00, 4),
ATTACKABLE(0x01, 1), ATTACKABLE(0x01, 1),
UNKNOWN1(0x02, 4), RELATIONS(0x02, 8),
NAME(0x03, 2), NAME(0x03, 2),
POSITION(0x04, (3 * 4)), POSITION(0x04, (3 * 4)),
HEADING(0x05, 4), HEADING(0x05, 4),

View File

@@ -69,7 +69,7 @@ public class ExPetInfo extends AbstractMaskPacket<NpcInfoType>
addComponentType(NpcInfoType.NAME); addComponentType(NpcInfoType.NAME);
} }
addComponentType(NpcInfoType.ATTACKABLE, NpcInfoType.UNKNOWN1, NpcInfoType.TITLE, NpcInfoType.ID, NpcInfoType.POSITION, NpcInfoType.ALIVE, NpcInfoType.RUNNING, NpcInfoType.PVP_FLAG); addComponentType(NpcInfoType.ATTACKABLE, NpcInfoType.RELATIONS, NpcInfoType.TITLE, NpcInfoType.ID, NpcInfoType.POSITION, NpcInfoType.ALIVE, NpcInfoType.RUNNING, NpcInfoType.PVP_FLAG);
if (summon.getHeading() > 0) if (summon.getHeading() > 0)
{ {
addComponentType(NpcInfoType.HEADING); addComponentType(NpcInfoType.HEADING);
@@ -200,7 +200,7 @@ public class ExPetInfo extends AbstractMaskPacket<NpcInfoType>
switch (type) switch (type)
{ {
case ATTACKABLE: case ATTACKABLE:
case UNKNOWN1: case RELATIONS:
{ {
_initSize += type.getBlockLength(); _initSize += type.getBlockLength();
break; break;
@@ -240,9 +240,9 @@ public class ExPetInfo extends AbstractMaskPacket<NpcInfoType>
{ {
packet.writeC(_summon.isAutoAttackable(_attacker) ? 0x01 : 0x00); packet.writeC(_summon.isAutoAttackable(_attacker) ? 0x01 : 0x00);
} }
if (containsMask(NpcInfoType.UNKNOWN1)) if (containsMask(NpcInfoType.RELATIONS))
{ {
packet.writeD(0x00); // unknown packet.writeQ(0x00);
} }
if (containsMask(NpcInfoType.TITLE)) if (containsMask(NpcInfoType.TITLE))
{ {

View File

@@ -96,7 +96,7 @@ public class NpcInfo extends AbstractMaskPacket<NpcInfoType>
{ {
_npc = npc; _npc = npc;
_abnormalVisualEffects = npc.getEffectList().getCurrentAbnormalVisualEffects(); _abnormalVisualEffects = npc.getEffectList().getCurrentAbnormalVisualEffects();
addComponentType(NpcInfoType.ATTACKABLE, NpcInfoType.UNKNOWN1, NpcInfoType.ID, NpcInfoType.POSITION, NpcInfoType.ALIVE, NpcInfoType.RUNNING); addComponentType(NpcInfoType.ATTACKABLE, NpcInfoType.RELATIONS, NpcInfoType.ID, NpcInfoType.POSITION, NpcInfoType.ALIVE, NpcInfoType.RUNNING);
if (npc.getHeading() > 0) if (npc.getHeading() > 0)
{ {
addComponentType(NpcInfoType.HEADING); addComponentType(NpcInfoType.HEADING);
@@ -269,7 +269,7 @@ public class NpcInfo extends AbstractMaskPacket<NpcInfoType>
switch (type) switch (type)
{ {
case ATTACKABLE: case ATTACKABLE:
case UNKNOWN1: case RELATIONS:
{ {
_initSize += type.getBlockLength(); _initSize += type.getBlockLength();
break; break;
@@ -309,9 +309,9 @@ public class NpcInfo extends AbstractMaskPacket<NpcInfoType>
{ {
packet.writeC(_npc.isAttackable() && !(_npc instanceof GuardInstance) ? 0x01 : 0x00); packet.writeC(_npc.isAttackable() && !(_npc instanceof GuardInstance) ? 0x01 : 0x00);
} }
if (containsMask(NpcInfoType.UNKNOWN1)) if (containsMask(NpcInfoType.RELATIONS))
{ {
packet.writeD(0x00); // unknown packet.writeQ(0x00);
} }
if (containsMask(NpcInfoType.TITLE)) if (containsMask(NpcInfoType.TITLE))
{ {

View File

@@ -69,7 +69,7 @@ public class SummonInfo extends AbstractMaskPacket<NpcInfoType>
addComponentType(NpcInfoType.NAME); addComponentType(NpcInfoType.NAME);
} }
addComponentType(NpcInfoType.ATTACKABLE, NpcInfoType.UNKNOWN1, NpcInfoType.TITLE, NpcInfoType.ID, NpcInfoType.POSITION, NpcInfoType.ALIVE, NpcInfoType.RUNNING, NpcInfoType.PVP_FLAG); addComponentType(NpcInfoType.ATTACKABLE, NpcInfoType.RELATIONS, NpcInfoType.TITLE, NpcInfoType.ID, NpcInfoType.POSITION, NpcInfoType.ALIVE, NpcInfoType.RUNNING, NpcInfoType.PVP_FLAG);
if (summon.getHeading() > 0) if (summon.getHeading() > 0)
{ {
addComponentType(NpcInfoType.HEADING); addComponentType(NpcInfoType.HEADING);
@@ -202,7 +202,7 @@ public class SummonInfo extends AbstractMaskPacket<NpcInfoType>
switch (type) switch (type)
{ {
case ATTACKABLE: case ATTACKABLE:
case UNKNOWN1: case RELATIONS:
{ {
_initSize += type.getBlockLength(); _initSize += type.getBlockLength();
break; break;
@@ -242,9 +242,9 @@ public class SummonInfo extends AbstractMaskPacket<NpcInfoType>
{ {
packet.writeC(_summon.isAutoAttackable(_attacker) ? 0x01 : 0x00); packet.writeC(_summon.isAutoAttackable(_attacker) ? 0x01 : 0x00);
} }
if (containsMask(NpcInfoType.UNKNOWN1)) if (containsMask(NpcInfoType.RELATIONS))
{ {
packet.writeD(0x00); // unknown packet.writeQ(0x00);
} }
if (containsMask(NpcInfoType.TITLE)) if (containsMask(NpcInfoType.TITLE))
{ {

View File

@@ -26,7 +26,7 @@ public enum NpcInfoType implements IUpdateTypeComponent
// 0 // 0
ID(0x00, 4), ID(0x00, 4),
ATTACKABLE(0x01, 1), ATTACKABLE(0x01, 1),
UNKNOWN1(0x02, 4), RELATIONS(0x02, 4),
NAME(0x03, 2), NAME(0x03, 2),
POSITION(0x04, (3 * 4)), POSITION(0x04, (3 * 4)),
HEADING(0x05, 4), HEADING(0x05, 4),

View File

@@ -69,7 +69,7 @@ public class ExPetInfo extends AbstractMaskPacket<NpcInfoType>
addComponentType(NpcInfoType.NAME); addComponentType(NpcInfoType.NAME);
} }
addComponentType(NpcInfoType.ATTACKABLE, NpcInfoType.UNKNOWN1, NpcInfoType.TITLE, NpcInfoType.ID, NpcInfoType.POSITION, NpcInfoType.ALIVE, NpcInfoType.RUNNING, NpcInfoType.PVP_FLAG); addComponentType(NpcInfoType.ATTACKABLE, NpcInfoType.RELATIONS, NpcInfoType.TITLE, NpcInfoType.ID, NpcInfoType.POSITION, NpcInfoType.ALIVE, NpcInfoType.RUNNING, NpcInfoType.PVP_FLAG);
if (summon.getHeading() > 0) if (summon.getHeading() > 0)
{ {
addComponentType(NpcInfoType.HEADING); addComponentType(NpcInfoType.HEADING);
@@ -200,7 +200,7 @@ public class ExPetInfo extends AbstractMaskPacket<NpcInfoType>
switch (type) switch (type)
{ {
case ATTACKABLE: case ATTACKABLE:
case UNKNOWN1: case RELATIONS:
{ {
_initSize += type.getBlockLength(); _initSize += type.getBlockLength();
break; break;
@@ -240,9 +240,9 @@ public class ExPetInfo extends AbstractMaskPacket<NpcInfoType>
{ {
packet.writeC(_summon.isAutoAttackable(_attacker) ? 0x01 : 0x00); packet.writeC(_summon.isAutoAttackable(_attacker) ? 0x01 : 0x00);
} }
if (containsMask(NpcInfoType.UNKNOWN1)) if (containsMask(NpcInfoType.RELATIONS))
{ {
packet.writeD(0x00); // unknown packet.writeD(0x00);
} }
if (containsMask(NpcInfoType.TITLE)) if (containsMask(NpcInfoType.TITLE))
{ {

View File

@@ -96,7 +96,7 @@ public class NpcInfo extends AbstractMaskPacket<NpcInfoType>
{ {
_npc = npc; _npc = npc;
_abnormalVisualEffects = npc.getEffectList().getCurrentAbnormalVisualEffects(); _abnormalVisualEffects = npc.getEffectList().getCurrentAbnormalVisualEffects();
addComponentType(NpcInfoType.ATTACKABLE, NpcInfoType.UNKNOWN1, NpcInfoType.ID, NpcInfoType.POSITION, NpcInfoType.ALIVE, NpcInfoType.RUNNING); addComponentType(NpcInfoType.ATTACKABLE, NpcInfoType.RELATIONS, NpcInfoType.ID, NpcInfoType.POSITION, NpcInfoType.ALIVE, NpcInfoType.RUNNING);
if (npc.getHeading() > 0) if (npc.getHeading() > 0)
{ {
addComponentType(NpcInfoType.HEADING); addComponentType(NpcInfoType.HEADING);
@@ -269,7 +269,7 @@ public class NpcInfo extends AbstractMaskPacket<NpcInfoType>
switch (type) switch (type)
{ {
case ATTACKABLE: case ATTACKABLE:
case UNKNOWN1: case RELATIONS:
{ {
_initSize += type.getBlockLength(); _initSize += type.getBlockLength();
break; break;
@@ -309,9 +309,9 @@ public class NpcInfo extends AbstractMaskPacket<NpcInfoType>
{ {
packet.writeC(_npc.isAttackable() && !(_npc instanceof GuardInstance) ? 0x01 : 0x00); packet.writeC(_npc.isAttackable() && !(_npc instanceof GuardInstance) ? 0x01 : 0x00);
} }
if (containsMask(NpcInfoType.UNKNOWN1)) if (containsMask(NpcInfoType.RELATIONS))
{ {
packet.writeD(0x00); // unknown packet.writeD(0x00);
} }
if (containsMask(NpcInfoType.TITLE)) if (containsMask(NpcInfoType.TITLE))
{ {

View File

@@ -69,7 +69,7 @@ public class SummonInfo extends AbstractMaskPacket<NpcInfoType>
addComponentType(NpcInfoType.NAME); addComponentType(NpcInfoType.NAME);
} }
addComponentType(NpcInfoType.ATTACKABLE, NpcInfoType.UNKNOWN1, NpcInfoType.TITLE, NpcInfoType.ID, NpcInfoType.POSITION, NpcInfoType.ALIVE, NpcInfoType.RUNNING, NpcInfoType.PVP_FLAG); addComponentType(NpcInfoType.ATTACKABLE, NpcInfoType.RELATIONS, NpcInfoType.TITLE, NpcInfoType.ID, NpcInfoType.POSITION, NpcInfoType.ALIVE, NpcInfoType.RUNNING, NpcInfoType.PVP_FLAG);
if (summon.getHeading() > 0) if (summon.getHeading() > 0)
{ {
addComponentType(NpcInfoType.HEADING); addComponentType(NpcInfoType.HEADING);
@@ -202,7 +202,7 @@ public class SummonInfo extends AbstractMaskPacket<NpcInfoType>
switch (type) switch (type)
{ {
case ATTACKABLE: case ATTACKABLE:
case UNKNOWN1: case RELATIONS:
{ {
_initSize += type.getBlockLength(); _initSize += type.getBlockLength();
break; break;
@@ -242,9 +242,9 @@ public class SummonInfo extends AbstractMaskPacket<NpcInfoType>
{ {
packet.writeC(_summon.isAutoAttackable(_attacker) ? 0x01 : 0x00); packet.writeC(_summon.isAutoAttackable(_attacker) ? 0x01 : 0x00);
} }
if (containsMask(NpcInfoType.UNKNOWN1)) if (containsMask(NpcInfoType.RELATIONS))
{ {
packet.writeD(0x00); // unknown packet.writeD(0x00);
} }
if (containsMask(NpcInfoType.TITLE)) if (containsMask(NpcInfoType.TITLE))
{ {

View File

@@ -26,7 +26,7 @@ public enum NpcInfoType implements IUpdateTypeComponent
// 0 // 0
ID(0x00, 4), ID(0x00, 4),
ATTACKABLE(0x01, 1), ATTACKABLE(0x01, 1),
UNKNOWN1(0x02, 4), RELATIONS(0x02, 4),
NAME(0x03, 2), NAME(0x03, 2),
POSITION(0x04, (3 * 4)), POSITION(0x04, (3 * 4)),
HEADING(0x05, 4), HEADING(0x05, 4),

View File

@@ -69,7 +69,7 @@ public class ExPetInfo extends AbstractMaskPacket<NpcInfoType>
addComponentType(NpcInfoType.NAME); addComponentType(NpcInfoType.NAME);
} }
addComponentType(NpcInfoType.ATTACKABLE, NpcInfoType.UNKNOWN1, NpcInfoType.TITLE, NpcInfoType.ID, NpcInfoType.POSITION, NpcInfoType.ALIVE, NpcInfoType.RUNNING, NpcInfoType.PVP_FLAG); addComponentType(NpcInfoType.ATTACKABLE, NpcInfoType.RELATIONS, NpcInfoType.TITLE, NpcInfoType.ID, NpcInfoType.POSITION, NpcInfoType.ALIVE, NpcInfoType.RUNNING, NpcInfoType.PVP_FLAG);
if (summon.getHeading() > 0) if (summon.getHeading() > 0)
{ {
addComponentType(NpcInfoType.HEADING); addComponentType(NpcInfoType.HEADING);
@@ -200,7 +200,7 @@ public class ExPetInfo extends AbstractMaskPacket<NpcInfoType>
switch (type) switch (type)
{ {
case ATTACKABLE: case ATTACKABLE:
case UNKNOWN1: case RELATIONS:
{ {
_initSize += type.getBlockLength(); _initSize += type.getBlockLength();
break; break;
@@ -240,9 +240,9 @@ public class ExPetInfo extends AbstractMaskPacket<NpcInfoType>
{ {
packet.writeC(_summon.isAutoAttackable(_attacker) ? 0x01 : 0x00); packet.writeC(_summon.isAutoAttackable(_attacker) ? 0x01 : 0x00);
} }
if (containsMask(NpcInfoType.UNKNOWN1)) if (containsMask(NpcInfoType.RELATIONS))
{ {
packet.writeD(0x00); // unknown packet.writeD(0x00);
} }
if (containsMask(NpcInfoType.TITLE)) if (containsMask(NpcInfoType.TITLE))
{ {

View File

@@ -96,7 +96,7 @@ public class NpcInfo extends AbstractMaskPacket<NpcInfoType>
{ {
_npc = npc; _npc = npc;
_abnormalVisualEffects = npc.getEffectList().getCurrentAbnormalVisualEffects(); _abnormalVisualEffects = npc.getEffectList().getCurrentAbnormalVisualEffects();
addComponentType(NpcInfoType.ATTACKABLE, NpcInfoType.UNKNOWN1, NpcInfoType.ID, NpcInfoType.POSITION, NpcInfoType.ALIVE, NpcInfoType.RUNNING); addComponentType(NpcInfoType.ATTACKABLE, NpcInfoType.RELATIONS, NpcInfoType.ID, NpcInfoType.POSITION, NpcInfoType.ALIVE, NpcInfoType.RUNNING);
if (npc.getHeading() > 0) if (npc.getHeading() > 0)
{ {
addComponentType(NpcInfoType.HEADING); addComponentType(NpcInfoType.HEADING);
@@ -269,7 +269,7 @@ public class NpcInfo extends AbstractMaskPacket<NpcInfoType>
switch (type) switch (type)
{ {
case ATTACKABLE: case ATTACKABLE:
case UNKNOWN1: case RELATIONS:
{ {
_initSize += type.getBlockLength(); _initSize += type.getBlockLength();
break; break;
@@ -309,9 +309,9 @@ public class NpcInfo extends AbstractMaskPacket<NpcInfoType>
{ {
packet.writeC(_npc.isAttackable() && !(_npc instanceof GuardInstance) ? 0x01 : 0x00); packet.writeC(_npc.isAttackable() && !(_npc instanceof GuardInstance) ? 0x01 : 0x00);
} }
if (containsMask(NpcInfoType.UNKNOWN1)) if (containsMask(NpcInfoType.RELATIONS))
{ {
packet.writeD(0x00); // unknown packet.writeD(0x00);
} }
if (containsMask(NpcInfoType.TITLE)) if (containsMask(NpcInfoType.TITLE))
{ {

View File

@@ -69,7 +69,7 @@ public class SummonInfo extends AbstractMaskPacket<NpcInfoType>
addComponentType(NpcInfoType.NAME); addComponentType(NpcInfoType.NAME);
} }
addComponentType(NpcInfoType.ATTACKABLE, NpcInfoType.UNKNOWN1, NpcInfoType.TITLE, NpcInfoType.ID, NpcInfoType.POSITION, NpcInfoType.ALIVE, NpcInfoType.RUNNING, NpcInfoType.PVP_FLAG); addComponentType(NpcInfoType.ATTACKABLE, NpcInfoType.RELATIONS, NpcInfoType.TITLE, NpcInfoType.ID, NpcInfoType.POSITION, NpcInfoType.ALIVE, NpcInfoType.RUNNING, NpcInfoType.PVP_FLAG);
if (summon.getHeading() > 0) if (summon.getHeading() > 0)
{ {
addComponentType(NpcInfoType.HEADING); addComponentType(NpcInfoType.HEADING);
@@ -202,7 +202,7 @@ public class SummonInfo extends AbstractMaskPacket<NpcInfoType>
switch (type) switch (type)
{ {
case ATTACKABLE: case ATTACKABLE:
case UNKNOWN1: case RELATIONS:
{ {
_initSize += type.getBlockLength(); _initSize += type.getBlockLength();
break; break;
@@ -242,9 +242,9 @@ public class SummonInfo extends AbstractMaskPacket<NpcInfoType>
{ {
packet.writeC(_summon.isAutoAttackable(_attacker) ? 0x01 : 0x00); packet.writeC(_summon.isAutoAttackable(_attacker) ? 0x01 : 0x00);
} }
if (containsMask(NpcInfoType.UNKNOWN1)) if (containsMask(NpcInfoType.RELATIONS))
{ {
packet.writeD(0x00); // unknown packet.writeD(0x00);
} }
if (containsMask(NpcInfoType.TITLE)) if (containsMask(NpcInfoType.TITLE))
{ {

View File

@@ -26,7 +26,7 @@ public enum NpcInfoType implements IUpdateTypeComponent
// 0 // 0
ID(0x00, 4), ID(0x00, 4),
ATTACKABLE(0x01, 1), ATTACKABLE(0x01, 1),
UNKNOWN1(0x02, 4), RELATIONS(0x02, 4),
NAME(0x03, 2), NAME(0x03, 2),
POSITION(0x04, (3 * 4)), POSITION(0x04, (3 * 4)),
HEADING(0x05, 4), HEADING(0x05, 4),

View File

@@ -69,7 +69,7 @@ public class ExPetInfo extends AbstractMaskPacket<NpcInfoType>
addComponentType(NpcInfoType.NAME); addComponentType(NpcInfoType.NAME);
} }
addComponentType(NpcInfoType.ATTACKABLE, NpcInfoType.UNKNOWN1, NpcInfoType.TITLE, NpcInfoType.ID, NpcInfoType.POSITION, NpcInfoType.ALIVE, NpcInfoType.RUNNING, NpcInfoType.PVP_FLAG); addComponentType(NpcInfoType.ATTACKABLE, NpcInfoType.RELATIONS, NpcInfoType.TITLE, NpcInfoType.ID, NpcInfoType.POSITION, NpcInfoType.ALIVE, NpcInfoType.RUNNING, NpcInfoType.PVP_FLAG);
if (summon.getHeading() > 0) if (summon.getHeading() > 0)
{ {
addComponentType(NpcInfoType.HEADING); addComponentType(NpcInfoType.HEADING);
@@ -200,7 +200,7 @@ public class ExPetInfo extends AbstractMaskPacket<NpcInfoType>
switch (type) switch (type)
{ {
case ATTACKABLE: case ATTACKABLE:
case UNKNOWN1: case RELATIONS:
{ {
_initSize += type.getBlockLength(); _initSize += type.getBlockLength();
break; break;
@@ -240,9 +240,9 @@ public class ExPetInfo extends AbstractMaskPacket<NpcInfoType>
{ {
packet.writeC(_summon.isAutoAttackable(_attacker) ? 0x01 : 0x00); packet.writeC(_summon.isAutoAttackable(_attacker) ? 0x01 : 0x00);
} }
if (containsMask(NpcInfoType.UNKNOWN1)) if (containsMask(NpcInfoType.RELATIONS))
{ {
packet.writeD(0x00); // unknown packet.writeD(0x00);
} }
if (containsMask(NpcInfoType.TITLE)) if (containsMask(NpcInfoType.TITLE))
{ {

View File

@@ -96,7 +96,7 @@ public class NpcInfo extends AbstractMaskPacket<NpcInfoType>
{ {
_npc = npc; _npc = npc;
_abnormalVisualEffects = npc.getEffectList().getCurrentAbnormalVisualEffects(); _abnormalVisualEffects = npc.getEffectList().getCurrentAbnormalVisualEffects();
addComponentType(NpcInfoType.ATTACKABLE, NpcInfoType.UNKNOWN1, NpcInfoType.ID, NpcInfoType.POSITION, NpcInfoType.ALIVE, NpcInfoType.RUNNING); addComponentType(NpcInfoType.ATTACKABLE, NpcInfoType.RELATIONS, NpcInfoType.ID, NpcInfoType.POSITION, NpcInfoType.ALIVE, NpcInfoType.RUNNING);
if (npc.getHeading() > 0) if (npc.getHeading() > 0)
{ {
addComponentType(NpcInfoType.HEADING); addComponentType(NpcInfoType.HEADING);
@@ -269,7 +269,7 @@ public class NpcInfo extends AbstractMaskPacket<NpcInfoType>
switch (type) switch (type)
{ {
case ATTACKABLE: case ATTACKABLE:
case UNKNOWN1: case RELATIONS:
{ {
_initSize += type.getBlockLength(); _initSize += type.getBlockLength();
break; break;
@@ -309,9 +309,9 @@ public class NpcInfo extends AbstractMaskPacket<NpcInfoType>
{ {
packet.writeC(_npc.isAttackable() && !(_npc instanceof GuardInstance) ? 0x01 : 0x00); packet.writeC(_npc.isAttackable() && !(_npc instanceof GuardInstance) ? 0x01 : 0x00);
} }
if (containsMask(NpcInfoType.UNKNOWN1)) if (containsMask(NpcInfoType.RELATIONS))
{ {
packet.writeD(0x00); // unknown packet.writeD(0x00);
} }
if (containsMask(NpcInfoType.TITLE)) if (containsMask(NpcInfoType.TITLE))
{ {

View File

@@ -69,7 +69,7 @@ public class SummonInfo extends AbstractMaskPacket<NpcInfoType>
addComponentType(NpcInfoType.NAME); addComponentType(NpcInfoType.NAME);
} }
addComponentType(NpcInfoType.ATTACKABLE, NpcInfoType.UNKNOWN1, NpcInfoType.TITLE, NpcInfoType.ID, NpcInfoType.POSITION, NpcInfoType.ALIVE, NpcInfoType.RUNNING, NpcInfoType.PVP_FLAG); addComponentType(NpcInfoType.ATTACKABLE, NpcInfoType.RELATIONS, NpcInfoType.TITLE, NpcInfoType.ID, NpcInfoType.POSITION, NpcInfoType.ALIVE, NpcInfoType.RUNNING, NpcInfoType.PVP_FLAG);
if (summon.getHeading() > 0) if (summon.getHeading() > 0)
{ {
addComponentType(NpcInfoType.HEADING); addComponentType(NpcInfoType.HEADING);
@@ -202,7 +202,7 @@ public class SummonInfo extends AbstractMaskPacket<NpcInfoType>
switch (type) switch (type)
{ {
case ATTACKABLE: case ATTACKABLE:
case UNKNOWN1: case RELATIONS:
{ {
_initSize += type.getBlockLength(); _initSize += type.getBlockLength();
break; break;
@@ -242,9 +242,9 @@ public class SummonInfo extends AbstractMaskPacket<NpcInfoType>
{ {
packet.writeC(_summon.isAutoAttackable(_attacker) ? 0x01 : 0x00); packet.writeC(_summon.isAutoAttackable(_attacker) ? 0x01 : 0x00);
} }
if (containsMask(NpcInfoType.UNKNOWN1)) if (containsMask(NpcInfoType.RELATIONS))
{ {
packet.writeD(0x00); // unknown packet.writeD(0x00);
} }
if (containsMask(NpcInfoType.TITLE)) if (containsMask(NpcInfoType.TITLE))
{ {

View File

@@ -26,7 +26,7 @@ public enum NpcInfoType implements IUpdateTypeComponent
// 0 // 0
ID(0x00, 4), ID(0x00, 4),
ATTACKABLE(0x01, 1), ATTACKABLE(0x01, 1),
UNKNOWN1(0x02, 4), RELATIONS(0x02, 4),
NAME(0x03, 2), NAME(0x03, 2),
POSITION(0x04, (3 * 4)), POSITION(0x04, (3 * 4)),
HEADING(0x05, 4), HEADING(0x05, 4),

View File

@@ -69,7 +69,7 @@ public class ExPetInfo extends AbstractMaskPacket<NpcInfoType>
addComponentType(NpcInfoType.NAME); addComponentType(NpcInfoType.NAME);
} }
addComponentType(NpcInfoType.ATTACKABLE, NpcInfoType.UNKNOWN1, NpcInfoType.TITLE, NpcInfoType.ID, NpcInfoType.POSITION, NpcInfoType.ALIVE, NpcInfoType.RUNNING, NpcInfoType.PVP_FLAG); addComponentType(NpcInfoType.ATTACKABLE, NpcInfoType.RELATIONS, NpcInfoType.TITLE, NpcInfoType.ID, NpcInfoType.POSITION, NpcInfoType.ALIVE, NpcInfoType.RUNNING, NpcInfoType.PVP_FLAG);
if (summon.getHeading() > 0) if (summon.getHeading() > 0)
{ {
addComponentType(NpcInfoType.HEADING); addComponentType(NpcInfoType.HEADING);
@@ -200,7 +200,7 @@ public class ExPetInfo extends AbstractMaskPacket<NpcInfoType>
switch (type) switch (type)
{ {
case ATTACKABLE: case ATTACKABLE:
case UNKNOWN1: case RELATIONS:
{ {
_initSize += type.getBlockLength(); _initSize += type.getBlockLength();
break; break;
@@ -240,9 +240,9 @@ public class ExPetInfo extends AbstractMaskPacket<NpcInfoType>
{ {
packet.writeC(_summon.isAutoAttackable(_attacker) ? 0x01 : 0x00); packet.writeC(_summon.isAutoAttackable(_attacker) ? 0x01 : 0x00);
} }
if (containsMask(NpcInfoType.UNKNOWN1)) if (containsMask(NpcInfoType.RELATIONS))
{ {
packet.writeD(0x00); // unknown packet.writeD(0x00);
} }
if (containsMask(NpcInfoType.TITLE)) if (containsMask(NpcInfoType.TITLE))
{ {

View File

@@ -96,7 +96,7 @@ public class NpcInfo extends AbstractMaskPacket<NpcInfoType>
{ {
_npc = npc; _npc = npc;
_abnormalVisualEffects = npc.getEffectList().getCurrentAbnormalVisualEffects(); _abnormalVisualEffects = npc.getEffectList().getCurrentAbnormalVisualEffects();
addComponentType(NpcInfoType.ATTACKABLE, NpcInfoType.UNKNOWN1, NpcInfoType.ID, NpcInfoType.POSITION, NpcInfoType.ALIVE, NpcInfoType.RUNNING); addComponentType(NpcInfoType.ATTACKABLE, NpcInfoType.RELATIONS, NpcInfoType.ID, NpcInfoType.POSITION, NpcInfoType.ALIVE, NpcInfoType.RUNNING);
if (npc.getHeading() > 0) if (npc.getHeading() > 0)
{ {
addComponentType(NpcInfoType.HEADING); addComponentType(NpcInfoType.HEADING);
@@ -269,7 +269,7 @@ public class NpcInfo extends AbstractMaskPacket<NpcInfoType>
switch (type) switch (type)
{ {
case ATTACKABLE: case ATTACKABLE:
case UNKNOWN1: case RELATIONS:
{ {
_initSize += type.getBlockLength(); _initSize += type.getBlockLength();
break; break;
@@ -309,9 +309,9 @@ public class NpcInfo extends AbstractMaskPacket<NpcInfoType>
{ {
packet.writeC(_npc.isAttackable() && !(_npc instanceof GuardInstance) ? 0x01 : 0x00); packet.writeC(_npc.isAttackable() && !(_npc instanceof GuardInstance) ? 0x01 : 0x00);
} }
if (containsMask(NpcInfoType.UNKNOWN1)) if (containsMask(NpcInfoType.RELATIONS))
{ {
packet.writeD(0x00); // unknown packet.writeD(0x00);
} }
if (containsMask(NpcInfoType.TITLE)) if (containsMask(NpcInfoType.TITLE))
{ {

View File

@@ -69,7 +69,7 @@ public class SummonInfo extends AbstractMaskPacket<NpcInfoType>
addComponentType(NpcInfoType.NAME); addComponentType(NpcInfoType.NAME);
} }
addComponentType(NpcInfoType.ATTACKABLE, NpcInfoType.UNKNOWN1, NpcInfoType.TITLE, NpcInfoType.ID, NpcInfoType.POSITION, NpcInfoType.ALIVE, NpcInfoType.RUNNING, NpcInfoType.PVP_FLAG); addComponentType(NpcInfoType.ATTACKABLE, NpcInfoType.RELATIONS, NpcInfoType.TITLE, NpcInfoType.ID, NpcInfoType.POSITION, NpcInfoType.ALIVE, NpcInfoType.RUNNING, NpcInfoType.PVP_FLAG);
if (summon.getHeading() > 0) if (summon.getHeading() > 0)
{ {
addComponentType(NpcInfoType.HEADING); addComponentType(NpcInfoType.HEADING);
@@ -202,7 +202,7 @@ public class SummonInfo extends AbstractMaskPacket<NpcInfoType>
switch (type) switch (type)
{ {
case ATTACKABLE: case ATTACKABLE:
case UNKNOWN1: case RELATIONS:
{ {
_initSize += type.getBlockLength(); _initSize += type.getBlockLength();
break; break;
@@ -242,9 +242,9 @@ public class SummonInfo extends AbstractMaskPacket<NpcInfoType>
{ {
packet.writeC(_summon.isAutoAttackable(_attacker) ? 0x01 : 0x00); packet.writeC(_summon.isAutoAttackable(_attacker) ? 0x01 : 0x00);
} }
if (containsMask(NpcInfoType.UNKNOWN1)) if (containsMask(NpcInfoType.RELATIONS))
{ {
packet.writeD(0x00); // unknown packet.writeD(0x00);
} }
if (containsMask(NpcInfoType.TITLE)) if (containsMask(NpcInfoType.TITLE))
{ {

View File

@@ -26,7 +26,7 @@ public enum NpcInfoType implements IUpdateTypeComponent
// 0 // 0
ID(0x00, 4), ID(0x00, 4),
ATTACKABLE(0x01, 1), ATTACKABLE(0x01, 1),
UNKNOWN1(0x02, 4), RELATIONS(0x02, 4),
NAME(0x03, 2), NAME(0x03, 2),
POSITION(0x04, (3 * 4)), POSITION(0x04, (3 * 4)),
HEADING(0x05, 4), HEADING(0x05, 4),

View File

@@ -69,7 +69,7 @@ public class ExPetInfo extends AbstractMaskPacket<NpcInfoType>
addComponentType(NpcInfoType.NAME); addComponentType(NpcInfoType.NAME);
} }
addComponentType(NpcInfoType.ATTACKABLE, NpcInfoType.UNKNOWN1, NpcInfoType.TITLE, NpcInfoType.ID, NpcInfoType.POSITION, NpcInfoType.ALIVE, NpcInfoType.RUNNING, NpcInfoType.PVP_FLAG); addComponentType(NpcInfoType.ATTACKABLE, NpcInfoType.RELATIONS, NpcInfoType.TITLE, NpcInfoType.ID, NpcInfoType.POSITION, NpcInfoType.ALIVE, NpcInfoType.RUNNING, NpcInfoType.PVP_FLAG);
if (summon.getHeading() > 0) if (summon.getHeading() > 0)
{ {
addComponentType(NpcInfoType.HEADING); addComponentType(NpcInfoType.HEADING);
@@ -200,7 +200,7 @@ public class ExPetInfo extends AbstractMaskPacket<NpcInfoType>
switch (type) switch (type)
{ {
case ATTACKABLE: case ATTACKABLE:
case UNKNOWN1: case RELATIONS:
{ {
_initSize += type.getBlockLength(); _initSize += type.getBlockLength();
break; break;
@@ -240,9 +240,9 @@ public class ExPetInfo extends AbstractMaskPacket<NpcInfoType>
{ {
packet.writeC(_summon.isAutoAttackable(_attacker) ? 0x01 : 0x00); packet.writeC(_summon.isAutoAttackable(_attacker) ? 0x01 : 0x00);
} }
if (containsMask(NpcInfoType.UNKNOWN1)) if (containsMask(NpcInfoType.RELATIONS))
{ {
packet.writeD(0x00); // unknown packet.writeD(0x00);
} }
if (containsMask(NpcInfoType.TITLE)) if (containsMask(NpcInfoType.TITLE))
{ {

View File

@@ -96,7 +96,7 @@ public class NpcInfo extends AbstractMaskPacket<NpcInfoType>
{ {
_npc = npc; _npc = npc;
_abnormalVisualEffects = npc.getEffectList().getCurrentAbnormalVisualEffects(); _abnormalVisualEffects = npc.getEffectList().getCurrentAbnormalVisualEffects();
addComponentType(NpcInfoType.ATTACKABLE, NpcInfoType.UNKNOWN1, NpcInfoType.ID, NpcInfoType.POSITION, NpcInfoType.ALIVE, NpcInfoType.RUNNING); addComponentType(NpcInfoType.ATTACKABLE, NpcInfoType.RELATIONS, NpcInfoType.ID, NpcInfoType.POSITION, NpcInfoType.ALIVE, NpcInfoType.RUNNING);
if (npc.getHeading() > 0) if (npc.getHeading() > 0)
{ {
addComponentType(NpcInfoType.HEADING); addComponentType(NpcInfoType.HEADING);
@@ -269,7 +269,7 @@ public class NpcInfo extends AbstractMaskPacket<NpcInfoType>
switch (type) switch (type)
{ {
case ATTACKABLE: case ATTACKABLE:
case UNKNOWN1: case RELATIONS:
{ {
_initSize += type.getBlockLength(); _initSize += type.getBlockLength();
break; break;
@@ -309,9 +309,9 @@ public class NpcInfo extends AbstractMaskPacket<NpcInfoType>
{ {
packet.writeC(_npc.isAttackable() && !(_npc instanceof GuardInstance) ? 0x01 : 0x00); packet.writeC(_npc.isAttackable() && !(_npc instanceof GuardInstance) ? 0x01 : 0x00);
} }
if (containsMask(NpcInfoType.UNKNOWN1)) if (containsMask(NpcInfoType.RELATIONS))
{ {
packet.writeD(0x00); // unknown packet.writeD(0x00);
} }
if (containsMask(NpcInfoType.TITLE)) if (containsMask(NpcInfoType.TITLE))
{ {

View File

@@ -69,7 +69,7 @@ public class SummonInfo extends AbstractMaskPacket<NpcInfoType>
addComponentType(NpcInfoType.NAME); addComponentType(NpcInfoType.NAME);
} }
addComponentType(NpcInfoType.ATTACKABLE, NpcInfoType.UNKNOWN1, NpcInfoType.TITLE, NpcInfoType.ID, NpcInfoType.POSITION, NpcInfoType.ALIVE, NpcInfoType.RUNNING, NpcInfoType.PVP_FLAG); addComponentType(NpcInfoType.ATTACKABLE, NpcInfoType.RELATIONS, NpcInfoType.TITLE, NpcInfoType.ID, NpcInfoType.POSITION, NpcInfoType.ALIVE, NpcInfoType.RUNNING, NpcInfoType.PVP_FLAG);
if (summon.getHeading() > 0) if (summon.getHeading() > 0)
{ {
addComponentType(NpcInfoType.HEADING); addComponentType(NpcInfoType.HEADING);
@@ -202,7 +202,7 @@ public class SummonInfo extends AbstractMaskPacket<NpcInfoType>
switch (type) switch (type)
{ {
case ATTACKABLE: case ATTACKABLE:
case UNKNOWN1: case RELATIONS:
{ {
_initSize += type.getBlockLength(); _initSize += type.getBlockLength();
break; break;
@@ -242,9 +242,9 @@ public class SummonInfo extends AbstractMaskPacket<NpcInfoType>
{ {
packet.writeC(_summon.isAutoAttackable(_attacker) ? 0x01 : 0x00); packet.writeC(_summon.isAutoAttackable(_attacker) ? 0x01 : 0x00);
} }
if (containsMask(NpcInfoType.UNKNOWN1)) if (containsMask(NpcInfoType.RELATIONS))
{ {
packet.writeD(0x00); // unknown packet.writeD(0x00);
} }
if (containsMask(NpcInfoType.TITLE)) if (containsMask(NpcInfoType.TITLE))
{ {

View File

@@ -26,7 +26,7 @@ public enum NpcInfoType implements IUpdateTypeComponent
// 0 // 0
ID(0x00, 4), ID(0x00, 4),
ATTACKABLE(0x01, 1), ATTACKABLE(0x01, 1),
UNKNOWN1(0x02, 4), RELATIONS(0x02, 4),
NAME(0x03, 2), NAME(0x03, 2),
POSITION(0x04, (3 * 4)), POSITION(0x04, (3 * 4)),
HEADING(0x05, 4), HEADING(0x05, 4),

View File

@@ -69,7 +69,7 @@ public class ExPetInfo extends AbstractMaskPacket<NpcInfoType>
addComponentType(NpcInfoType.NAME); addComponentType(NpcInfoType.NAME);
} }
addComponentType(NpcInfoType.ATTACKABLE, NpcInfoType.UNKNOWN1, NpcInfoType.TITLE, NpcInfoType.ID, NpcInfoType.POSITION, NpcInfoType.ALIVE, NpcInfoType.RUNNING, NpcInfoType.PVP_FLAG); addComponentType(NpcInfoType.ATTACKABLE, NpcInfoType.RELATIONS, NpcInfoType.TITLE, NpcInfoType.ID, NpcInfoType.POSITION, NpcInfoType.ALIVE, NpcInfoType.RUNNING, NpcInfoType.PVP_FLAG);
if (summon.getHeading() > 0) if (summon.getHeading() > 0)
{ {
addComponentType(NpcInfoType.HEADING); addComponentType(NpcInfoType.HEADING);
@@ -200,7 +200,7 @@ public class ExPetInfo extends AbstractMaskPacket<NpcInfoType>
switch (type) switch (type)
{ {
case ATTACKABLE: case ATTACKABLE:
case UNKNOWN1: case RELATIONS:
{ {
_initSize += type.getBlockLength(); _initSize += type.getBlockLength();
break; break;
@@ -240,9 +240,9 @@ public class ExPetInfo extends AbstractMaskPacket<NpcInfoType>
{ {
packet.writeC(_summon.isAutoAttackable(_attacker) ? 0x01 : 0x00); packet.writeC(_summon.isAutoAttackable(_attacker) ? 0x01 : 0x00);
} }
if (containsMask(NpcInfoType.UNKNOWN1)) if (containsMask(NpcInfoType.RELATIONS))
{ {
packet.writeD(0x00); // unknown packet.writeD(0x00);
} }
if (containsMask(NpcInfoType.TITLE)) if (containsMask(NpcInfoType.TITLE))
{ {

View File

@@ -96,7 +96,7 @@ public class NpcInfo extends AbstractMaskPacket<NpcInfoType>
{ {
_npc = npc; _npc = npc;
_abnormalVisualEffects = npc.getEffectList().getCurrentAbnormalVisualEffects(); _abnormalVisualEffects = npc.getEffectList().getCurrentAbnormalVisualEffects();
addComponentType(NpcInfoType.ATTACKABLE, NpcInfoType.UNKNOWN1, NpcInfoType.ID, NpcInfoType.POSITION, NpcInfoType.ALIVE, NpcInfoType.RUNNING); addComponentType(NpcInfoType.ATTACKABLE, NpcInfoType.RELATIONS, NpcInfoType.ID, NpcInfoType.POSITION, NpcInfoType.ALIVE, NpcInfoType.RUNNING);
if (npc.getHeading() > 0) if (npc.getHeading() > 0)
{ {
addComponentType(NpcInfoType.HEADING); addComponentType(NpcInfoType.HEADING);
@@ -269,7 +269,7 @@ public class NpcInfo extends AbstractMaskPacket<NpcInfoType>
switch (type) switch (type)
{ {
case ATTACKABLE: case ATTACKABLE:
case UNKNOWN1: case RELATIONS:
{ {
_initSize += type.getBlockLength(); _initSize += type.getBlockLength();
break; break;
@@ -309,9 +309,9 @@ public class NpcInfo extends AbstractMaskPacket<NpcInfoType>
{ {
packet.writeC(_npc.isAttackable() && !(_npc instanceof GuardInstance) ? 0x01 : 0x00); packet.writeC(_npc.isAttackable() && !(_npc instanceof GuardInstance) ? 0x01 : 0x00);
} }
if (containsMask(NpcInfoType.UNKNOWN1)) if (containsMask(NpcInfoType.RELATIONS))
{ {
packet.writeD(0x00); // unknown packet.writeD(0x00);
} }
if (containsMask(NpcInfoType.TITLE)) if (containsMask(NpcInfoType.TITLE))
{ {

View File

@@ -69,7 +69,7 @@ public class SummonInfo extends AbstractMaskPacket<NpcInfoType>
addComponentType(NpcInfoType.NAME); addComponentType(NpcInfoType.NAME);
} }
addComponentType(NpcInfoType.ATTACKABLE, NpcInfoType.UNKNOWN1, NpcInfoType.TITLE, NpcInfoType.ID, NpcInfoType.POSITION, NpcInfoType.ALIVE, NpcInfoType.RUNNING, NpcInfoType.PVP_FLAG); addComponentType(NpcInfoType.ATTACKABLE, NpcInfoType.RELATIONS, NpcInfoType.TITLE, NpcInfoType.ID, NpcInfoType.POSITION, NpcInfoType.ALIVE, NpcInfoType.RUNNING, NpcInfoType.PVP_FLAG);
if (summon.getHeading() > 0) if (summon.getHeading() > 0)
{ {
addComponentType(NpcInfoType.HEADING); addComponentType(NpcInfoType.HEADING);
@@ -202,7 +202,7 @@ public class SummonInfo extends AbstractMaskPacket<NpcInfoType>
switch (type) switch (type)
{ {
case ATTACKABLE: case ATTACKABLE:
case UNKNOWN1: case RELATIONS:
{ {
_initSize += type.getBlockLength(); _initSize += type.getBlockLength();
break; break;
@@ -242,9 +242,9 @@ public class SummonInfo extends AbstractMaskPacket<NpcInfoType>
{ {
packet.writeC(_summon.isAutoAttackable(_attacker) ? 0x01 : 0x00); packet.writeC(_summon.isAutoAttackable(_attacker) ? 0x01 : 0x00);
} }
if (containsMask(NpcInfoType.UNKNOWN1)) if (containsMask(NpcInfoType.RELATIONS))
{ {
packet.writeD(0x00); // unknown packet.writeD(0x00);
} }
if (containsMask(NpcInfoType.TITLE)) if (containsMask(NpcInfoType.TITLE))
{ {

View File

@@ -26,7 +26,7 @@ public enum NpcInfoType implements IUpdateTypeComponent
// 0 // 0
ID(0x00, 4), ID(0x00, 4),
ATTACKABLE(0x01, 1), ATTACKABLE(0x01, 1),
UNKNOWN1(0x02, 4), RELATIONS(0x02, 4),
NAME(0x03, 2), NAME(0x03, 2),
POSITION(0x04, (3 * 4)), POSITION(0x04, (3 * 4)),
HEADING(0x05, 4), HEADING(0x05, 4),

View File

@@ -69,7 +69,7 @@ public class ExPetInfo extends AbstractMaskPacket<NpcInfoType>
addComponentType(NpcInfoType.NAME); addComponentType(NpcInfoType.NAME);
} }
addComponentType(NpcInfoType.ATTACKABLE, NpcInfoType.UNKNOWN1, NpcInfoType.TITLE, NpcInfoType.ID, NpcInfoType.POSITION, NpcInfoType.ALIVE, NpcInfoType.RUNNING, NpcInfoType.PVP_FLAG); addComponentType(NpcInfoType.ATTACKABLE, NpcInfoType.RELATIONS, NpcInfoType.TITLE, NpcInfoType.ID, NpcInfoType.POSITION, NpcInfoType.ALIVE, NpcInfoType.RUNNING, NpcInfoType.PVP_FLAG);
if (summon.getHeading() > 0) if (summon.getHeading() > 0)
{ {
addComponentType(NpcInfoType.HEADING); addComponentType(NpcInfoType.HEADING);
@@ -200,7 +200,7 @@ public class ExPetInfo extends AbstractMaskPacket<NpcInfoType>
switch (type) switch (type)
{ {
case ATTACKABLE: case ATTACKABLE:
case UNKNOWN1: case RELATIONS:
{ {
_initSize += type.getBlockLength(); _initSize += type.getBlockLength();
break; break;
@@ -240,9 +240,9 @@ public class ExPetInfo extends AbstractMaskPacket<NpcInfoType>
{ {
packet.writeC(_summon.isAutoAttackable(_attacker) ? 0x01 : 0x00); packet.writeC(_summon.isAutoAttackable(_attacker) ? 0x01 : 0x00);
} }
if (containsMask(NpcInfoType.UNKNOWN1)) if (containsMask(NpcInfoType.RELATIONS))
{ {
packet.writeD(0x00); // unknown packet.writeD(0x00);
} }
if (containsMask(NpcInfoType.TITLE)) if (containsMask(NpcInfoType.TITLE))
{ {

View File

@@ -96,7 +96,7 @@ public class NpcInfo extends AbstractMaskPacket<NpcInfoType>
{ {
_npc = npc; _npc = npc;
_abnormalVisualEffects = npc.getEffectList().getCurrentAbnormalVisualEffects(); _abnormalVisualEffects = npc.getEffectList().getCurrentAbnormalVisualEffects();
addComponentType(NpcInfoType.ATTACKABLE, NpcInfoType.UNKNOWN1, NpcInfoType.ID, NpcInfoType.POSITION, NpcInfoType.ALIVE, NpcInfoType.RUNNING); addComponentType(NpcInfoType.ATTACKABLE, NpcInfoType.RELATIONS, NpcInfoType.ID, NpcInfoType.POSITION, NpcInfoType.ALIVE, NpcInfoType.RUNNING);
if (npc.getHeading() > 0) if (npc.getHeading() > 0)
{ {
addComponentType(NpcInfoType.HEADING); addComponentType(NpcInfoType.HEADING);
@@ -269,7 +269,7 @@ public class NpcInfo extends AbstractMaskPacket<NpcInfoType>
switch (type) switch (type)
{ {
case ATTACKABLE: case ATTACKABLE:
case UNKNOWN1: case RELATIONS:
{ {
_initSize += type.getBlockLength(); _initSize += type.getBlockLength();
break; break;
@@ -309,9 +309,9 @@ public class NpcInfo extends AbstractMaskPacket<NpcInfoType>
{ {
packet.writeC(_npc.isAttackable() && !(_npc instanceof GuardInstance) ? 0x01 : 0x00); packet.writeC(_npc.isAttackable() && !(_npc instanceof GuardInstance) ? 0x01 : 0x00);
} }
if (containsMask(NpcInfoType.UNKNOWN1)) if (containsMask(NpcInfoType.RELATIONS))
{ {
packet.writeD(0x00); // unknown packet.writeD(0x00);
} }
if (containsMask(NpcInfoType.TITLE)) if (containsMask(NpcInfoType.TITLE))
{ {

View File

@@ -69,7 +69,7 @@ public class SummonInfo extends AbstractMaskPacket<NpcInfoType>
addComponentType(NpcInfoType.NAME); addComponentType(NpcInfoType.NAME);
} }
addComponentType(NpcInfoType.ATTACKABLE, NpcInfoType.UNKNOWN1, NpcInfoType.TITLE, NpcInfoType.ID, NpcInfoType.POSITION, NpcInfoType.ALIVE, NpcInfoType.RUNNING, NpcInfoType.PVP_FLAG); addComponentType(NpcInfoType.ATTACKABLE, NpcInfoType.RELATIONS, NpcInfoType.TITLE, NpcInfoType.ID, NpcInfoType.POSITION, NpcInfoType.ALIVE, NpcInfoType.RUNNING, NpcInfoType.PVP_FLAG);
if (summon.getHeading() > 0) if (summon.getHeading() > 0)
{ {
addComponentType(NpcInfoType.HEADING); addComponentType(NpcInfoType.HEADING);
@@ -202,7 +202,7 @@ public class SummonInfo extends AbstractMaskPacket<NpcInfoType>
switch (type) switch (type)
{ {
case ATTACKABLE: case ATTACKABLE:
case UNKNOWN1: case RELATIONS:
{ {
_initSize += type.getBlockLength(); _initSize += type.getBlockLength();
break; break;
@@ -242,9 +242,9 @@ public class SummonInfo extends AbstractMaskPacket<NpcInfoType>
{ {
packet.writeC(_summon.isAutoAttackable(_attacker) ? 0x01 : 0x00); packet.writeC(_summon.isAutoAttackable(_attacker) ? 0x01 : 0x00);
} }
if (containsMask(NpcInfoType.UNKNOWN1)) if (containsMask(NpcInfoType.RELATIONS))
{ {
packet.writeD(0x00); // unknown packet.writeD(0x00);
} }
if (containsMask(NpcInfoType.TITLE)) if (containsMask(NpcInfoType.TITLE))
{ {

View File

@@ -26,7 +26,7 @@ public enum NpcInfoType implements IUpdateTypeComponent
// 0 // 0
ID(0x00, 4), ID(0x00, 4),
ATTACKABLE(0x01, 1), ATTACKABLE(0x01, 1),
UNKNOWN1(0x02, 4), RELATIONS(0x02, 8),
NAME(0x03, 2), NAME(0x03, 2),
POSITION(0x04, (3 * 4)), POSITION(0x04, (3 * 4)),
HEADING(0x05, 4), HEADING(0x05, 4),

View File

@@ -96,7 +96,7 @@ public class NpcInfo extends AbstractMaskPacket<NpcInfoType>
{ {
_npc = npc; _npc = npc;
_abnormalVisualEffects = npc.getEffectList().getCurrentAbnormalVisualEffects(); _abnormalVisualEffects = npc.getEffectList().getCurrentAbnormalVisualEffects();
addComponentType(NpcInfoType.ATTACKABLE, NpcInfoType.UNKNOWN1, NpcInfoType.ID, NpcInfoType.POSITION, NpcInfoType.ALIVE, NpcInfoType.RUNNING); addComponentType(NpcInfoType.ATTACKABLE, NpcInfoType.RELATIONS, NpcInfoType.ID, NpcInfoType.POSITION, NpcInfoType.ALIVE, NpcInfoType.RUNNING);
if (npc.getHeading() > 0) if (npc.getHeading() > 0)
{ {
addComponentType(NpcInfoType.HEADING); addComponentType(NpcInfoType.HEADING);
@@ -269,7 +269,7 @@ public class NpcInfo extends AbstractMaskPacket<NpcInfoType>
switch (type) switch (type)
{ {
case ATTACKABLE: case ATTACKABLE:
case UNKNOWN1: case RELATIONS:
{ {
_initSize += type.getBlockLength(); _initSize += type.getBlockLength();
break; break;
@@ -309,9 +309,9 @@ public class NpcInfo extends AbstractMaskPacket<NpcInfoType>
{ {
packet.writeC(_npc.isAttackable() && !(_npc instanceof GuardInstance) ? 0x01 : 0x00); packet.writeC(_npc.isAttackable() && !(_npc instanceof GuardInstance) ? 0x01 : 0x00);
} }
if (containsMask(NpcInfoType.UNKNOWN1)) if (containsMask(NpcInfoType.RELATIONS))
{ {
packet.writeD(0x00); // unknown packet.writeQ(0x00);
} }
if (containsMask(NpcInfoType.TITLE)) if (containsMask(NpcInfoType.TITLE))
{ {

View File

@@ -69,7 +69,7 @@ public class SummonInfo extends AbstractMaskPacket<NpcInfoType>
addComponentType(NpcInfoType.NAME); addComponentType(NpcInfoType.NAME);
} }
addComponentType(NpcInfoType.ATTACKABLE, NpcInfoType.UNKNOWN1, NpcInfoType.TITLE, NpcInfoType.ID, NpcInfoType.POSITION, NpcInfoType.ALIVE, NpcInfoType.RUNNING, NpcInfoType.PVP_FLAG); addComponentType(NpcInfoType.ATTACKABLE, NpcInfoType.RELATIONS, NpcInfoType.TITLE, NpcInfoType.ID, NpcInfoType.POSITION, NpcInfoType.ALIVE, NpcInfoType.RUNNING, NpcInfoType.PVP_FLAG);
if (summon.getHeading() > 0) if (summon.getHeading() > 0)
{ {
addComponentType(NpcInfoType.HEADING); addComponentType(NpcInfoType.HEADING);
@@ -202,7 +202,7 @@ public class SummonInfo extends AbstractMaskPacket<NpcInfoType>
switch (type) switch (type)
{ {
case ATTACKABLE: case ATTACKABLE:
case UNKNOWN1: case RELATIONS:
{ {
_initSize += type.getBlockLength(); _initSize += type.getBlockLength();
break; break;
@@ -242,9 +242,9 @@ public class SummonInfo extends AbstractMaskPacket<NpcInfoType>
{ {
packet.writeC(_summon.isAutoAttackable(_attacker) ? 0x01 : 0x00); packet.writeC(_summon.isAutoAttackable(_attacker) ? 0x01 : 0x00);
} }
if (containsMask(NpcInfoType.UNKNOWN1)) if (containsMask(NpcInfoType.RELATIONS))
{ {
packet.writeD(0x00); // unknown packet.writeQ(0x00);
} }
if (containsMask(NpcInfoType.TITLE)) if (containsMask(NpcInfoType.TITLE))
{ {

View File

@@ -70,7 +70,7 @@ public class ExPetInfo extends AbstractMaskPacket<NpcInfoType>
addComponentType(NpcInfoType.NAME); addComponentType(NpcInfoType.NAME);
} }
addComponentType(NpcInfoType.ATTACKABLE, NpcInfoType.UNKNOWN1, NpcInfoType.TITLE, NpcInfoType.ID, NpcInfoType.POSITION, NpcInfoType.ALIVE, NpcInfoType.RUNNING, NpcInfoType.PVP_FLAG); addComponentType(NpcInfoType.ATTACKABLE, NpcInfoType.RELATIONS, NpcInfoType.TITLE, NpcInfoType.ID, NpcInfoType.POSITION, NpcInfoType.ALIVE, NpcInfoType.RUNNING, NpcInfoType.PVP_FLAG);
if (summon.getHeading() > 0) if (summon.getHeading() > 0)
{ {
addComponentType(NpcInfoType.HEADING); addComponentType(NpcInfoType.HEADING);
@@ -201,7 +201,7 @@ public class ExPetInfo extends AbstractMaskPacket<NpcInfoType>
switch (type) switch (type)
{ {
case ATTACKABLE: case ATTACKABLE:
case UNKNOWN1: case RELATIONS:
{ {
_initSize += type.getBlockLength(); _initSize += type.getBlockLength();
break; break;
@@ -241,9 +241,9 @@ public class ExPetInfo extends AbstractMaskPacket<NpcInfoType>
{ {
packet.writeC(_summon.isAutoAttackable(_attacker) ? 0x01 : 0x00); packet.writeC(_summon.isAutoAttackable(_attacker) ? 0x01 : 0x00);
} }
if (containsMask(NpcInfoType.UNKNOWN1)) if (containsMask(NpcInfoType.RELATIONS))
{ {
packet.writeD(0x00); // unknown packet.writeQ(0x00);
} }
if (containsMask(NpcInfoType.TITLE)) if (containsMask(NpcInfoType.TITLE))
{ {

View File

@@ -26,7 +26,7 @@ public enum NpcInfoType implements IUpdateTypeComponent
// 0 // 0
ID(0x00, 4), ID(0x00, 4),
ATTACKABLE(0x01, 1), ATTACKABLE(0x01, 1),
UNKNOWN1(0x02, 4), RELATIONS(0x02, 8),
NAME(0x03, 2), NAME(0x03, 2),
POSITION(0x04, (3 * 4)), POSITION(0x04, (3 * 4)),
HEADING(0x05, 4), HEADING(0x05, 4),

View File

@@ -96,7 +96,7 @@ public class NpcInfo extends AbstractMaskPacket<NpcInfoType>
{ {
_npc = npc; _npc = npc;
_abnormalVisualEffects = npc.getEffectList().getCurrentAbnormalVisualEffects(); _abnormalVisualEffects = npc.getEffectList().getCurrentAbnormalVisualEffects();
addComponentType(NpcInfoType.ATTACKABLE, NpcInfoType.UNKNOWN1, NpcInfoType.ID, NpcInfoType.POSITION, NpcInfoType.ALIVE, NpcInfoType.RUNNING); addComponentType(NpcInfoType.ATTACKABLE, NpcInfoType.RELATIONS, NpcInfoType.ID, NpcInfoType.POSITION, NpcInfoType.ALIVE, NpcInfoType.RUNNING);
if (npc.getHeading() > 0) if (npc.getHeading() > 0)
{ {
addComponentType(NpcInfoType.HEADING); addComponentType(NpcInfoType.HEADING);
@@ -269,7 +269,7 @@ public class NpcInfo extends AbstractMaskPacket<NpcInfoType>
switch (type) switch (type)
{ {
case ATTACKABLE: case ATTACKABLE:
case UNKNOWN1: case RELATIONS:
{ {
_initSize += type.getBlockLength(); _initSize += type.getBlockLength();
break; break;
@@ -309,9 +309,9 @@ public class NpcInfo extends AbstractMaskPacket<NpcInfoType>
{ {
packet.writeC(_npc.isAttackable() && !(_npc instanceof GuardInstance) ? 0x01 : 0x00); packet.writeC(_npc.isAttackable() && !(_npc instanceof GuardInstance) ? 0x01 : 0x00);
} }
if (containsMask(NpcInfoType.UNKNOWN1)) if (containsMask(NpcInfoType.RELATIONS))
{ {
packet.writeD(0x00); // unknown packet.writeQ(0x00);
} }
if (containsMask(NpcInfoType.TITLE)) if (containsMask(NpcInfoType.TITLE))
{ {

View File

@@ -69,7 +69,7 @@ public class SummonInfo extends AbstractMaskPacket<NpcInfoType>
addComponentType(NpcInfoType.NAME); addComponentType(NpcInfoType.NAME);
} }
addComponentType(NpcInfoType.ATTACKABLE, NpcInfoType.UNKNOWN1, NpcInfoType.TITLE, NpcInfoType.ID, NpcInfoType.POSITION, NpcInfoType.ALIVE, NpcInfoType.RUNNING, NpcInfoType.PVP_FLAG); addComponentType(NpcInfoType.ATTACKABLE, NpcInfoType.RELATIONS, NpcInfoType.TITLE, NpcInfoType.ID, NpcInfoType.POSITION, NpcInfoType.ALIVE, NpcInfoType.RUNNING, NpcInfoType.PVP_FLAG);
if (summon.getHeading() > 0) if (summon.getHeading() > 0)
{ {
addComponentType(NpcInfoType.HEADING); addComponentType(NpcInfoType.HEADING);
@@ -202,7 +202,7 @@ public class SummonInfo extends AbstractMaskPacket<NpcInfoType>
switch (type) switch (type)
{ {
case ATTACKABLE: case ATTACKABLE:
case UNKNOWN1: case RELATIONS:
{ {
_initSize += type.getBlockLength(); _initSize += type.getBlockLength();
break; break;
@@ -242,9 +242,9 @@ public class SummonInfo extends AbstractMaskPacket<NpcInfoType>
{ {
packet.writeC(_summon.isAutoAttackable(_attacker) ? 0x01 : 0x00); packet.writeC(_summon.isAutoAttackable(_attacker) ? 0x01 : 0x00);
} }
if (containsMask(NpcInfoType.UNKNOWN1)) if (containsMask(NpcInfoType.RELATIONS))
{ {
packet.writeD(0x00); // unknown packet.writeQ(0x00);
} }
if (containsMask(NpcInfoType.TITLE)) if (containsMask(NpcInfoType.TITLE))
{ {

View File

@@ -70,7 +70,7 @@ public class ExPetInfo extends AbstractMaskPacket<NpcInfoType>
addComponentType(NpcInfoType.NAME); addComponentType(NpcInfoType.NAME);
} }
addComponentType(NpcInfoType.ATTACKABLE, NpcInfoType.UNKNOWN1, NpcInfoType.TITLE, NpcInfoType.ID, NpcInfoType.POSITION, NpcInfoType.ALIVE, NpcInfoType.RUNNING, NpcInfoType.PVP_FLAG); addComponentType(NpcInfoType.ATTACKABLE, NpcInfoType.RELATIONS, NpcInfoType.TITLE, NpcInfoType.ID, NpcInfoType.POSITION, NpcInfoType.ALIVE, NpcInfoType.RUNNING, NpcInfoType.PVP_FLAG);
if (summon.getHeading() > 0) if (summon.getHeading() > 0)
{ {
addComponentType(NpcInfoType.HEADING); addComponentType(NpcInfoType.HEADING);
@@ -201,7 +201,7 @@ public class ExPetInfo extends AbstractMaskPacket<NpcInfoType>
switch (type) switch (type)
{ {
case ATTACKABLE: case ATTACKABLE:
case UNKNOWN1: case RELATIONS:
{ {
_initSize += type.getBlockLength(); _initSize += type.getBlockLength();
break; break;
@@ -241,9 +241,9 @@ public class ExPetInfo extends AbstractMaskPacket<NpcInfoType>
{ {
packet.writeC(_summon.isAutoAttackable(_attacker) ? 0x01 : 0x00); packet.writeC(_summon.isAutoAttackable(_attacker) ? 0x01 : 0x00);
} }
if (containsMask(NpcInfoType.UNKNOWN1)) if (containsMask(NpcInfoType.RELATIONS))
{ {
packet.writeD(0x00); // unknown packet.writeQ(0x00);
} }
if (containsMask(NpcInfoType.TITLE)) if (containsMask(NpcInfoType.TITLE))
{ {