Adjustments for unknown NpcInfoType relations mask.
This commit is contained in:
@@ -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),
|
||||||
|
|||||||
@@ -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))
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -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))
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -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))
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -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),
|
||||||
|
|||||||
@@ -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))
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -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))
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -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))
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -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),
|
||||||
|
|||||||
@@ -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))
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -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))
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -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))
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -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),
|
||||||
|
|||||||
@@ -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))
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -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))
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -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))
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -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),
|
||||||
|
|||||||
@@ -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))
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -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))
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -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))
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -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),
|
||||||
|
|||||||
@@ -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))
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -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))
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -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))
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -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),
|
||||||
|
|||||||
@@ -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))
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -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))
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -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))
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -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),
|
||||||
|
|||||||
@@ -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))
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -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))
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -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))
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -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),
|
||||||
|
|||||||
@@ -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))
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -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))
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -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))
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -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),
|
||||||
|
|||||||
@@ -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))
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -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))
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -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))
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -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),
|
||||||
|
|||||||
@@ -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))
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -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))
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -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))
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -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),
|
||||||
|
|||||||
@@ -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))
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -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))
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -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))
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -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),
|
||||||
|
|||||||
@@ -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))
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -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))
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -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))
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -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),
|
||||||
|
|||||||
@@ -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))
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -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))
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -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))
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -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),
|
||||||
|
|||||||
@@ -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))
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -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))
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -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))
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -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),
|
||||||
|
|||||||
@@ -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))
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -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))
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -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))
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -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),
|
||||||
|
|||||||
@@ -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))
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -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))
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -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))
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -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),
|
||||||
|
|||||||
@@ -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))
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -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))
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -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))
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -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),
|
||||||
|
|||||||
@@ -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))
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -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))
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -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))
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user