public override void Visit(IList <Creature> objs) { for (var i = 0; i < objs.Count; ++i) { Creature creature = objs[i]; if (!IsInRangeHelper(creature)) { continue; } // Send packet to all who are sharing the creature's vision if (creature.HasSharedVision()) { foreach (var visionTarget in creature.GetSharedVisionList()) { if (visionTarget.seerView == creature) { SendPacket(visionTarget); } } } } }