public void SendCharacterEnteredMap(ZoneCharacter character) { //we send all players in region to character List<ZoneCharacter> characters = GetCharactersInRegion(character.MapSector); using (var packet = Handler7.SpawnMultiPlayer(characters, character)) { character.Client.SendPacket(packet); if (character.Mount != null) { character.Mounting(character.Mount.Handle,true); } } //we send character to all players in region using (var packet = Handler7.SpawnSinglePlayer(character)) { foreach (ZoneCharacter charinmap in characters) { if (charinmap == character) continue; charinmap.Client.SendPacket(packet); } } //we send moblist and NPC to local character IEnumerable<MapObject> npcs = Objects.Values.Where(o => o is Npc); IEnumerable<MapObject> monsters = GetObjectsBySectors(character.MapSector.SurroundingSectors).Where(o => o is Mob); List<MapObject> obj = new List<MapObject>(npcs); obj.AddRange(monsters); if (obj.Count > 0) { for (int i = 0; i < obj.Count; i += 255) { using (var packet = Handler7.MultiObjectList(obj, i, i + Math.Min(255, obj.Count - i))) { character.Client.SendPacket(packet); } } } //we send all drops to the character using (var spawndrops = Handler7.ShowDrops(GetDropsBySectors(character.MapSector.SurroundingSectors))) { character.Client.SendPacket(spawndrops); } }