void AddOreProcessingZoneFume() { for (int i = 0; i < FUME_POS.Count; i++) { if (RANDOM.NextDouble() > 0.5) continue; PointD p0 = new PointD(Station.OreProcessingZone.LOCATION, 0); PointD p1 = new PointD(FUME_POS[i].X, FUME_POS[i].Y - EXTERIOR.Height), sz = new PointD(Block.Size); double r = 5.0; Block.OBJECTS.Add(new Fume(p0 + (p1.AddY(r / sz.Y) / sz), Color.FromArgb(64, 128, 128, 128), 3.0, RANDOM.NextDouble(Math.PI * 0.05), 2.0, r, 15.0)); } }