Reverting NpcInfo changes made with Underground patch.

This commit is contained in:
MobiusDev 2015-12-13 08:59:53 +00:00
parent 6f8ac854d8
commit 855a58e3fe

View File

@ -62,18 +62,22 @@ public class NpcInfo extends AbstractMaskPacket<NpcInfoType>
_npc = npc; _npc = npc;
_abnormalVisualEffects = npc.getCurrentAbnormalVisualEffects(); _abnormalVisualEffects = npc.getCurrentAbnormalVisualEffects();
if (npc.getTemplate().isUsingServerSideName()) addComponentType(NpcInfoType.ATTACKABLE, NpcInfoType.UNKNOWN1, NpcInfoType.ID, NpcInfoType.POSITION, NpcInfoType.ALIVE, NpcInfoType.RUNNING);
if (npc.getHeading() > 0)
{ {
addComponentType(NpcInfoType.NAME); addComponentType(NpcInfoType.HEADING);
} }
addComponentType(NpcInfoType.ATTACKABLE, NpcInfoType.UNKNOWN1, NpcInfoType.TITLE, NpcInfoType.ID, NpcInfoType.POSITION, NpcInfoType.ALIVE, NpcInfoType.RUNNING); if ((npc.getStat().getPAtkSpd() > 0) || (npc.getStat().getMAtkSpd() > 0))
{
addComponentType(NpcInfoType.ATK_CAST_SPEED);
}
addComponentType(NpcInfoType.HEADING); if (npc.getRunSpeed() > 0)
{
addComponentType(NpcInfoType.ATK_CAST_SPEED); addComponentType(NpcInfoType.SPEED_MULTIPLIER);
}
addComponentType(NpcInfoType.SPEED_MULTIPLIER);
if ((npc.getLeftHandItem() > 0) || (npc.getRightHandItem() > 0)) if ((npc.getLeftHandItem() > 0) || (npc.getRightHandItem() > 0))
{ {
@ -85,17 +89,55 @@ public class NpcInfo extends AbstractMaskPacket<NpcInfoType>
addComponentType(NpcInfoType.TEAM); addComponentType(NpcInfoType.TEAM);
} }
addComponentType(NpcInfoType.DISPLAY_EFFECT); if (npc.getDisplayEffect() > 0)
{
addComponentType(NpcInfoType.DISPLAY_EFFECT);
}
addComponentType(NpcInfoType.SWIM_OR_FLY); if (npc.isInsideZone(ZoneId.WATER) || npc.isFlying())
{
addComponentType(NpcInfoType.SWIM_OR_FLY);
}
addComponentType(NpcInfoType.FLYING); if (npc.isFlying())
{
addComponentType(NpcInfoType.FLYING);
}
addComponentType(NpcInfoType.MAX_HP); if (npc.getMaxHp() > 0)
{
addComponentType(NpcInfoType.MAX_HP);
}
addComponentType(NpcInfoType.CURRENT_HP); if (npc.getMaxMp() > 0)
{
addComponentType(NpcInfoType.MAX_MP);
}
addComponentType(NpcInfoType.ABNORMALS); if (npc.getCurrentHp() <= npc.getMaxHp())
{
addComponentType(NpcInfoType.CURRENT_HP);
}
if (npc.getCurrentMp() <= npc.getMaxMp())
{
addComponentType(NpcInfoType.CURRENT_MP);
}
if (npc.getTemplate().isUsingServerSideName())
{
addComponentType(NpcInfoType.NAME);
}
if (npc.getTemplate().isUsingServerSideTitle() || (Config.SHOW_NPC_LVL && npc.isMonster()) || npc.isChampion())
{
addComponentType(NpcInfoType.TITLE);
}
if (!_abnormalVisualEffects.isEmpty())
{
addComponentType(NpcInfoType.ABNORMALS);
}
if (npc.getEnchantEffect() > 0) if (npc.getEnchantEffect() > 0)
{ {
@ -123,6 +165,8 @@ public class NpcInfo extends AbstractMaskPacket<NpcInfoType>
} }
} }
addComponentType(NpcInfoType.UNKNOWN8);
// TODO: Confirm me // TODO: Confirm me
if (npc.isInCombat()) if (npc.isInCombat())
{ {
@ -171,14 +215,7 @@ public class NpcInfo extends AbstractMaskPacket<NpcInfoType>
} }
case TITLE: case TITLE:
{ {
if (npc.getTemplate().isUsingServerSideTitle()) _initSize += type.getBlockLength() + (npc.getTitle().length() * 2);
{
_initSize += type.getBlockLength() + (npc.getTemplate().getTitle().length() * 2);
}
else
{
_initSize += type.getBlockLength();
}
break; break;
} }
case NAME: case NAME:
@ -216,14 +253,7 @@ public class NpcInfo extends AbstractMaskPacket<NpcInfoType>
} }
if (containsMask(NpcInfoType.TITLE)) if (containsMask(NpcInfoType.TITLE))
{ {
if (_npc.getTemplate().isUsingServerSideTitle()) writeS(_npc.getTitle());
{
writeS(_npc.getTemplate().getTitle());
}
else
{
writeS("");
}
} }
// Block 2 // Block 2