private void AddMineObjs(Farm farm) { print("adding mine objs"); // Create Mine Area if needed // Mine Area //if (modConfig.AddMineArea) //{ Random randomGen = new Random(); foreach (Vector2 tile in modConfig.GetMineArea()) { if (!modConfig.OreUseMineLevel) { if (randomGen.NextDouble() < modConfig.oreChance) { addRandomOre(ref farm, ref randomGen, 4, tile); continue; } } //calculate ore spawn else if (Game1.player.hasSkullKey) { if (randomGen.NextDouble() < modConfig.oreChance) { addRandomOre(ref farm, ref randomGen, 4, tile); continue; } } else { //check mine level if (Game1.player.deepestMineLevel > 80) //gold level { if (randomGen.NextDouble() < modConfig.oreChance) { addRandomOre(ref farm, ref randomGen, 3, tile); continue; } } else if (Game1.player.deepestMineLevel > 40) //iron level { if (randomGen.NextDouble() < modConfig.oreChance) { addRandomOre(ref farm, ref randomGen, 2, tile); continue; } } else { if (randomGen.NextDouble() < modConfig.oreChance) { addRandomOre(ref farm, ref randomGen, 1, tile); continue; } } } //if ore doesnt spawn then calculate gem spawn //1% to spawn gem if (randomGen.NextDouble() < modConfig.gemChance) { if (!modConfig.OreUseMineLevel) { if (randomGen.Next(0, 100) < 10) { farm.setObject(tile, createOre("mysticStone", tile)); continue; } } else if (Game1.player.hasSkullKey) { if (randomGen.Next(0, 100) < 10) { farm.setObject(tile, createOre("mysticStone", tile)); continue; } else if (randomGen.Next(0, 500) < 1) { farm.setObject(tile, createOre("mysticStone", tile)); continue; } } switch (randomGen.Next(0, 100) % 8) { case 0: farm.setObject(tile, createOre("gemStone", tile)); break; case 1: farm.setObject(tile, createOre("diamond", tile)); break; case 2: farm.setObject(tile, createOre("ruby", tile)); break; case 3: farm.setObject(tile, createOre("jade", tile)); break; case 4: farm.setObject(tile, createOre("amethyst", tile)); break; case 5: farm.setObject(tile, createOre("topaz", tile)); break; case 6: farm.setObject(tile, createOre("emerald", tile)); break; case 7: farm.setObject(tile, createOre("aquamarine", tile)); break; default: break; } continue; } } //} }