public void SpawnShadowDwellers(Mobile target) { Map map = this.Map; if (map == null) return; int newShadowDwellers = Utility.RandomMinMax(2, 3); for (int i = 0; i < newShadowDwellers; ++i) { ShadowDweller shadowdweller = new ShadowDweller(); shadowdweller.Team = this.Team; shadowdweller.FightMode = FightMode.Closest; bool validLocation = false; Point3D loc = this.Location; for (int j = 0; !validLocation && j < 10; ++j) { int x = this.X + Utility.Random(3) - 1; int y = this.Y + Utility.Random(3) - 1; int z = map.GetAverageZ(x, y); if (validLocation = map.CanFit(x, y, this.Z, 16, false, false)) loc = new Point3D(x, y, this.Z); else if (validLocation = map.CanFit(x, y, z, 16, false, false)) loc = new Point3D(x, y, z); } shadowdweller.MoveToWorld(loc, map); shadowdweller.Combatant = target; } }