private static void ExtractAllSpecificAlt(EvilSpecific currentEvil, List <ModBiome> allAltToGen) { switch (currentEvil) { case EvilSpecific.corruption: allAltToGen.AddRange(BiomeLibs.Biomes.Values.Where(corruption => corruption.EvilSpecific == EvilSpecific.corruption && corruption.BiomeAlt == BiomeAlternative.hallowAlt).ToList()); break; case EvilSpecific.crimson: allAltToGen.AddRange(BiomeLibs.Biomes.Values.Where(corruption => corruption.EvilSpecific == EvilSpecific.crimson && corruption.BiomeAlt == BiomeAlternative.hallowAlt).ToList()); break; case EvilSpecific.other: allAltToGen.AddRange(BiomeLibs.Biomes.Values.Where(corruption => corruption.EvilSpecific == EvilSpecific.other && corruption.BiomeAlt == BiomeAlternative.hallowAlt && corruption.EvilSpecificBoundName == BiomeWorld.currentEvil).ToList()); break; } }
private void GenerateHallowAlt(int num3, int num5, EvilSpecific currentEvil, List <ModBiome> allAltToGen) { ModBiome biome; int rng = (currentEvil == EvilSpecific.corruption) ? WorldGen.genRand.Next(allAltToGen.Count) : WorldGen.genRand.Next(allAltToGen.Count - 1); if (rng == allAltToGen.Count) { Main.NewText("The fantasy creature has arrived!", Color.LightCyan); WorldGen.GERunner(num3, 0, 3f * (float)3 * num5, 5f, true); } biome = allAltToGen[rng]; String message = ""; if (!biome.BiomeAltGeneration(ref message)) { Main.NewText(message); BWRunner(num3, 0, blockFinder(biome.biomeBlock), (float)(3 * num5), 5f); } }
private void DetermineHallowAlt(int num3, int num5) { EvilSpecific currentEvil = (Main.ActiveWorldFileData.HasCorruption) ? EvilSpecific.corruption : EvilSpecific.crimson; List <ModBiome> allAltToGen = BiomeLibs.Biomes.Values.Where(both => both.BiomeAlt == BiomeAlternative.hallowAlt && both.EvilSpecific == EvilSpecific.both).ToList(); if (!BiomeLibs.Biomes.Values.Any(c => c.EvilSpecific == EvilSpecific.crimson || c.BiomeAlt == BiomeAlternative.hallowAlt) && currentEvil == EvilSpecific.crimson) { Main.NewText("The fantasy creature has arrived!", Color.LightCyan); WorldGen.GERunner(num3, 0, 3f * (float)3 * num5, 5f, true); return; } ExtractAllSpecificAlt(currentEvil, allAltToGen); GenerateHallowAlt(num3, num5, currentEvil, allAltToGen); MethodInfo draw = typeof(Main).GetMethod("Draw", BindingFlags.Instance | BindingFlags.NonPublic); Object[] obj = { Main._drawInterfaceGameTime }; draw.Invoke(Main.instance, obj); }