
byte flags = (byte)(GameServer.ServerRules.GetLivingRealm(m_gameClient.Player, npc) << 6);
if ((npc.Flags & (uint)GameNPC.eFlags.TRANSPARENT) != 0) flags |= 0x01;
if (npc.Inventory != null) flags |= 0x02; //If mob has equipment, then only show it after the client gets the 0xBD packet
if ((npc.Flags & (uint)GameNPC.eFlags.PEACE) != 0) flags |= 0x10;
if ((npc.Flags & (uint)GameNPC.eFlags.FLYING) != 0) flags |= 0x20;
pak.WriteByte(flags);
pak.WriteByte(0x20); //TODO this is the default maxstick distance
string add = "";
byte flags2 = 0x00;
IControlledBrain brain = npc.Brain as IControlledBrain;
if (m_gameClient.Version >= GameClient.eClientVersion.Version187)
{
if (brain != null)
{
flags2 |= 0x80; // have Owner
}
}
if ((npc.Flags & (uint)GameNPC.eFlags.CANTTARGET) != 0)
if (m_gameClient.Account.PrivLevel > 1) add += "-DOR"; // indicates DOR flag for GMs
else flags2 |= 0x01;
if ((npc.Flags & (uint)GameNPC.eFlags.DONTSHOWNAME) != 0)
if (m_gameClient.Account.PrivLevel > 1) add += "-NON"; // indicates NON flag for GMs
else flags2 |= 0x02;
if ((npc.Flags & (uint)GameNPC.eFlags.TRANSPARENT) != 0) flags2 |= 0x04;
if( npc.ShowQuestIndicator( m_gameClient.Player ) ) flags2 |= 0x08;Oh no kakuri, you've got meNow it would be wicked to add player-like stealth for mobs so they could be completely invisible at a distance, and only become visible at very close range, also dropping stealth once they enter combat.
Return to “%s” DOL Development Discussion
Users browsing this forum: No registered users and 0 guests