Due to update 2.4.3, some mods may no longer function. FixedConfig may be necessary.
Decompiled source of Map Randomiser v1.0.1
MapRandomiser.dll
Decompiled a year agousing System; using System.Diagnostics; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.Versioning; using System.Security; using System.Security.Permissions; using System.Text.RegularExpressions; using BepInEx; using BepInEx.Configuration; using BoplFixedMath; using HarmonyLib; using Microsoft.CodeAnalysis; using UnityEngine; using UnityEngine.SceneManagement; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)] [assembly: TargetFramework(".NETFramework,Version=v4.7.2", FrameworkDisplayName = ".NET Framework 4.7.2")] [assembly: AssemblyCompany("MapRandomiser")] [assembly: AssemblyConfiguration("Debug")] [assembly: AssemblyDescription("My first plugin")] [assembly: AssemblyFileVersion("1.0.0.0")] [assembly: AssemblyInformationalVersion("1.0.0")] [assembly: AssemblyProduct("MapRandomiser")] [assembly: AssemblyTitle("MapRandomiser")] [assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)] [assembly: AssemblyVersion("1.0.0.0")] [module: UnverifiableCode] [module: RefSafetyRules(11)] namespace Microsoft.CodeAnalysis { [CompilerGenerated] [Microsoft.CodeAnalysis.Embedded] internal sealed class EmbeddedAttribute : Attribute { } } namespace System.Runtime.CompilerServices { [CompilerGenerated] [Microsoft.CodeAnalysis.Embedded] [AttributeUsage(AttributeTargets.Module, AllowMultiple = false, Inherited = false)] internal sealed class RefSafetyRulesAttribute : Attribute { public readonly int Version; public RefSafetyRulesAttribute(int P_0) { Version = P_0; } } } namespace MapMaker { public static class PluginInfo { public const string PLUGIN_GUID = "MapRandomiser"; public const string PLUGIN_NAME = "MapRandomiser"; public const string PLUGIN_VERSION = "1.0.0"; } } namespace MapRandomiser { [BepInPlugin("com.MLT.MapRandomiser", "MapRandomiser", "1.1.0")] public class Plugin : BaseUnityPlugin { public static GameObject PlatformAbility; public static Transform levelt; public static StickyRoundedRectangle platformPrefab; public static int CurrentMapId; public static Fix[][][] SpaceTakenUp; public static ConfigEntry<double> min_dist; public static ConfigEntry<int> PlatPlaceAttempts; public static ConfigEntry<double> ChanceYouAttemptToPlaceAPlatformAgien; public static ConfigEntry<double> CirclePlatformChance; public static Fix MinX = (Fix)(-97.27); public static Fix MinY = (Fix)(-26L); public static Fix MaxX = (Fix)97.6; public static Fix MaxY = (Fix)40L; public static ConfigEntry<double> MinScaleX; public static ConfigEntry<double> MaxScaleX; public static ConfigEntry<double> MinScaleY; public static ConfigEntry<double> MaxScaleY; public static ConfigEntry<double> MinRadius; public static ConfigEntry<double> MaxRadius; public static ConfigEntry<bool> Rotate; public static ConfigEntry<bool> RandomColors; public static ConfigEntry<double> OneByOneBlockMass; public static ConfigFile config; private void Awake() { //IL_0017: Unknown result type (might be due to invalid IL or missing references) //IL_001d: Expected O, but got Unknown ((BaseUnityPlugin)this).Logger.LogInfo((object)"MapRandomiser Has been loaded"); Harmony val = new Harmony("com.MLT.MapRandomiser"); ((BaseUnityPlugin)this).Logger.LogInfo((object)"Harmony harmony = new Harmony -- Melon, 2024"); val.PatchAll(); ((BaseUnityPlugin)this).Logger.LogInfo((object)"MapRandomiser Patch Compleate!"); SceneManager.sceneLoaded += OnSceneLoaded; config = ((BaseUnityPlugin)this).Config; min_dist = config.Bind<double>("Settings", "Minimum distance", 2.0, "the minimum distance betreen platforms allowed in bopl units. below 2 there is a chance you could be squished on spawn."); PlatPlaceAttempts = config.Bind<int>("Settings", "Platform Place Attempts", 30, "how many platforms it will attempt to place. if it fails there will be a chance it attempts to place agien."); ChanceYouAttemptToPlaceAPlatformAgien = config.Bind<double>("Chances", "Chance It Attempts To Place A Platform Agien", 2.0, "chance of attempting to place a platform agien if it fails. with a 1/x chance where x is this value."); CirclePlatformChance = config.Bind<double>("Chances", "Circle Platform Chance", 5.0, "chance a platform is a circle platform as 1/x where x is this value."); MinScaleX = config.Bind<double>("Width", "Minimum Width", 0.25, "Minimum Platform Width in bopl units"); MaxScaleX = config.Bind<double>("Width", "Maximum Width", 5.0, "Maximum Platform Width in bopl units"); MinScaleY = config.Bind<double>("Height", "Minimum Height", 0.25, "Minimum Platform Height in bopl units"); MaxScaleY = config.Bind<double>("Height", "Maximum Height", 5.0, "Maximum Platform Height in bopl units"); MinRadius = config.Bind<double>("Radius", "Minimum Radius", 0.25, "Minimum Platform Radius in bopl units"); MaxRadius = config.Bind<double>("Radius", "Maximum Radius", 5.0, "Maximum Platform Radius in bopl units"); Rotate = config.Bind<bool>("Rotate", "Rotate", true, "can platforms spawn rotated."); RandomColors = config.Bind<bool>("Colors", "Random Colors", true, "Use Random Colors (note that this is the one value you dont need everyone to have the same value for.)"); OneByOneBlockMass = config.Bind<double>("Mass", "1 by 1 block mass", 1.0, "the mass of a platform that is 1 by 1 units"); } private static void OnSceneLoaded(Scene scene, LoadSceneMode mode) { //IL_0104: Unknown result type (might be due to invalid IL or missing references) //IL_010b: Expected O, but got Unknown //IL_0185: Unknown result type (might be due to invalid IL or missing references) //IL_018a: Unknown result type (might be due to invalid IL or missing references) //IL_018d: Unknown result type (might be due to invalid IL or missing references) //IL_018f: Unknown result type (might be due to invalid IL or missing references) //IL_0194: Unknown result type (might be due to invalid IL or missing references) //IL_0196: Unknown result type (might be due to invalid IL or missing references) //IL_019d: Unknown result type (might be due to invalid IL or missing references) //IL_01a2: Unknown result type (might be due to invalid IL or missing references) //IL_01a9: Unknown result type (might be due to invalid IL or missing references) //IL_01b0: Unknown result type (might be due to invalid IL or missing references) //IL_01b7: Unknown result type (might be due to invalid IL or missing references) //IL_01be: Unknown result type (might be due to invalid IL or missing references) Debug.Log((object)("OnSceneLoaded: " + ((Scene)(ref scene)).name)); if (!IsLevelName(((Scene)(ref scene)).name)) { return; } CurrentMapId = GetMapIdFromSceneName(((Scene)(ref scene)).name); GameObject[] array = Resources.FindObjectsOfTypeAll(typeof(GameObject)) as GameObject[]; Debug.Log((object)"getting platform object"); GameObject[] array2 = array; foreach (GameObject val in array2) { if (((Object)val).name == "Platform") { PlatformAbility = val; Debug.Log((object)("Found the object: " + ((Object)val).name)); break; } } Component component = PlatformAbility.GetComponent(typeof(PlatformTransform)); PlatformTransform val2 = (PlatformTransform)(object)((component is PlatformTransform) ? component : null); platformPrefab = val2.platformPrefab; levelt = GameObject.Find("Level").transform; foreach (Transform item in levelt) { Transform val3 = item; Updater.DestroyFix(((Component)val3).gameObject); } SpaceTakenUp = Array.Empty<Fix[][]>(); GameObject val4 = GameObject.Find("PlayerList"); if ((Object)(object)val4 == (Object)null) { val4 = GameObject.Find("PlayerList (1)"); } Vec2[] teamSpawns = val4.GetComponent<GameSessionHandler>().teamSpawns; Vec2[] array3 = teamSpawns; foreach (Vec2 val5 in array3) { SpawnPlatform(val5.x, val5.y - (Fix)3L, (Fix)2L, (Fix)2L, (Fix)1L, (Fix)0L); } for (int k = 0; k < PlatPlaceAttempts.Value; k++) { AttemptToSpawnRandomPlatform(); } } public static void SpawnPlatform(Fix X, Fix Y, Fix Width, Fix Height, Fix Radius, Fix rotatson) { //IL_0006: Unknown result type (might be due to invalid IL or missing references) //IL_0007: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Unknown result type (might be due to invalid IL or missing references) //IL_0019: Unknown result type (might be due to invalid IL or missing references) //IL_0038: Unknown result type (might be due to invalid IL or missing references) //IL_0039: Unknown result type (might be due to invalid IL or missing references) //IL_003a: Unknown result type (might be due to invalid IL or missing references) //IL_0048: Unknown result type (might be due to invalid IL or missing references) //IL_004a: Unknown result type (might be due to invalid IL or missing references) //IL_00bf: Unknown result type (might be due to invalid IL or missing references) //IL_00c0: Unknown result type (might be due to invalid IL or missing references) //IL_00c1: Unknown result type (might be due to invalid IL or missing references) //IL_00c3: Unknown result type (might be due to invalid IL or missing references) //IL_00d8: Unknown result type (might be due to invalid IL or missing references) //IL_00d9: Unknown result type (might be due to invalid IL or missing references) //IL_00da: Unknown result type (might be due to invalid IL or missing references) //IL_00dc: Unknown result type (might be due to invalid IL or missing references) //IL_010c: Unknown result type (might be due to invalid IL or missing references) //IL_010d: Unknown result type (might be due to invalid IL or missing references) //IL_0127: Unknown result type (might be due to invalid IL or missing references) //IL_0128: Unknown result type (might be due to invalid IL or missing references) //IL_0142: Unknown result type (might be due to invalid IL or missing references) //IL_0143: Unknown result type (might be due to invalid IL or missing references) //IL_015d: Unknown result type (might be due to invalid IL or missing references) //IL_015e: Unknown result type (might be due to invalid IL or missing references) //IL_0179: Unknown result type (might be due to invalid IL or missing references) //IL_017b: Unknown result type (might be due to invalid IL or missing references) //IL_0196: Unknown result type (might be due to invalid IL or missing references) //IL_0197: Unknown result type (might be due to invalid IL or missing references) //IL_0198: Unknown result type (might be due to invalid IL or missing references) //IL_019a: Unknown result type (might be due to invalid IL or missing references) //IL_01a4: Unknown result type (might be due to invalid IL or missing references) //IL_01a9: Unknown result type (might be due to invalid IL or missing references) //IL_01ac: Unknown result type (might be due to invalid IL or missing references) //IL_01b1: Unknown result type (might be due to invalid IL or missing references) //IL_01b3: Unknown result type (might be due to invalid IL or missing references) //IL_01b4: Unknown result type (might be due to invalid IL or missing references) //IL_01b7: Unknown result type (might be due to invalid IL or missing references) //IL_01bc: Unknown result type (might be due to invalid IL or missing references) //IL_01c1: Unknown result type (might be due to invalid IL or missing references) //IL_01d0: Unknown result type (might be due to invalid IL or missing references) //IL_01d5: Unknown result type (might be due to invalid IL or missing references) //IL_01da: Unknown result type (might be due to invalid IL or missing references) //IL_01dc: Unknown result type (might be due to invalid IL or missing references) //IL_01dd: Unknown result type (might be due to invalid IL or missing references) //IL_01e1: Unknown result type (might be due to invalid IL or missing references) //IL_01e6: Unknown result type (might be due to invalid IL or missing references) //IL_01eb: Unknown result type (might be due to invalid IL or missing references) //IL_01fa: Unknown result type (might be due to invalid IL or missing references) //IL_01ff: Unknown result type (might be due to invalid IL or missing references) //IL_0204: Unknown result type (might be due to invalid IL or missing references) //IL_0206: Unknown result type (might be due to invalid IL or missing references) //IL_0207: Unknown result type (might be due to invalid IL or missing references) //IL_020a: Unknown result type (might be due to invalid IL or missing references) //IL_020f: Unknown result type (might be due to invalid IL or missing references) //IL_0214: Unknown result type (might be due to invalid IL or missing references) //IL_0223: Unknown result type (might be due to invalid IL or missing references) //IL_0228: Unknown result type (might be due to invalid IL or missing references) //IL_022d: Unknown result type (might be due to invalid IL or missing references) //IL_022f: Unknown result type (might be due to invalid IL or missing references) //IL_0230: Unknown result type (might be due to invalid IL or missing references) //IL_0234: Unknown result type (might be due to invalid IL or missing references) //IL_0239: Unknown result type (might be due to invalid IL or missing references) //IL_023e: Unknown result type (might be due to invalid IL or missing references) //IL_024d: Unknown result type (might be due to invalid IL or missing references) //IL_0252: Unknown result type (might be due to invalid IL or missing references) //IL_0257: Unknown result type (might be due to invalid IL or missing references) //IL_0261: Unknown result type (might be due to invalid IL or missing references) //IL_0263: Unknown result type (might be due to invalid IL or missing references) //IL_026a: Unknown result type (might be due to invalid IL or missing references) //IL_026c: Unknown result type (might be due to invalid IL or missing references) //IL_027b: Unknown result type (might be due to invalid IL or missing references) //IL_027d: Unknown result type (might be due to invalid IL or missing references) //IL_0284: Unknown result type (might be due to invalid IL or missing references) //IL_0286: Unknown result type (might be due to invalid IL or missing references) //IL_0099: Unknown result type (might be due to invalid IL or missing references) StickyRoundedRectangle val = FixTransform.InstantiateFixed<StickyRoundedRectangle>(platformPrefab, new Vec2(X, Y)); val.rr.Scale = Fix.One; ResizablePlatform component = ((Component)val).GetComponent<ResizablePlatform>(); ((Component)component).GetComponent<DPhysicsRoundedRect>().ManualInit(); ResizePlatform(component, Width, Height, Radius); val.GetGroundBody().up = new Vec2(rotatson); if (RandomColors.Value) { ((Component)val).GetComponent<SpriteRenderer>().color = new Color(Random.Range(0f, 1f), Random.Range(0f, 1f), Random.Range(0f, 1f)); } AccessTools.Field(typeof(BoplBody), "mass").SetValue(val.GetGroundBody(), CalculateMassOfPlatform(Width, Height, Radius)); Debug.Log((object)("Set mass to " + (double)CalculateMassOfPlatform(Width, Height, Radius))); string[] obj = new string[10] { "Spawned platform at position (", null, null, null, null, null, null, null, null, null }; Fix val2 = X; obj[1] = ((object)(Fix)(ref val2)).ToString(); obj[2] = ", "; val2 = Y; obj[3] = ((object)(Fix)(ref val2)).ToString(); obj[4] = ") with dimensions ("; val2 = Width; obj[5] = ((object)(Fix)(ref val2)).ToString(); obj[6] = ", "; val2 = Height; obj[7] = ((object)(Fix)(ref val2)).ToString(); obj[8] = ") and radius "; val2 = Radius; obj[9] = ((object)(Fix)(ref val2)).ToString(); Debug.Log((object)string.Concat(obj)); Fix[] array = TrueWidthAndHight(Width, Height, Radius, rotatson); Fix val3 = array[0]; Fix val4 = array[1]; Fix val5 = X - val3 / (Fix)2L - (Fix)min_dist.Value; Fix val6 = Y - val4 / (Fix)2L - (Fix)min_dist.Value; Fix val7 = X + val3 / (Fix)2L + (Fix)min_dist.Value; Fix val8 = Y + val4 / (Fix)2L + (Fix)min_dist.Value; Fix[] array2 = (Fix[])(object)new Fix[2] { val5, val6 }; Fix[] array3 = (Fix[])(object)new Fix[2] { val7, val8 }; Fix[][] rect = new Fix[2][] { array2, array3 }; SpaceTakenUp = AppendRect(rect); } public static void Update() { } public static void ResizePlatform(ResizablePlatform platform, Fix newWidth, Fix newHeight, Fix newRadius) { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0003: Unknown result type (might be due to invalid IL or missing references) //IL_0004: Unknown result type (might be due to invalid IL or missing references) platform.ResizePlatform(newWidth, newHeight, newRadius, true); } public static bool IsLevelName(string input) { Regex regex = new Regex("Level[0-9]+", RegexOptions.IgnoreCase); return regex.IsMatch(input); } public static double ConvertToRadians(double angle) { return Math.PI / 180.0 * angle; } public static int GetMapIdFromSceneName(string s) { Regex regex = new Regex("[^\\d]+"); if (string.IsNullOrEmpty(s)) { return 0; } string s2 = regex.Replace(s, ""); return int.Parse(s2) - 1; } public static Fix[][][] AppendRect(Fix[][] rect) { Array.Resize(ref SpaceTakenUp, SpaceTakenUp.Length + 1); SpaceTakenUp[SpaceTakenUp.Length - 1] = rect; return SpaceTakenUp; } public static Fix[] TrueWidthAndHight(Fix Width, Fix Height, Fix Radius, Fix rotatson) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0009: Unknown result type (might be due to invalid IL or missing references) //IL_0011: Unknown result type (might be due to invalid IL or missing references) //IL_008e: Unknown result type (might be due to invalid IL or missing references) //IL_0093: Unknown result type (might be due to invalid IL or missing references) //IL_0109: Unknown result type (might be due to invalid IL or missing references) //IL_010e: Unknown result type (might be due to invalid IL or missing references) //IL_0110: Unknown result type (might be due to invalid IL or missing references) //IL_0111: Unknown result type (might be due to invalid IL or missing references) //IL_0112: Unknown result type (might be due to invalid IL or missing references) //IL_0117: Unknown result type (might be due to invalid IL or missing references) //IL_0118: Unknown result type (might be due to invalid IL or missing references) //IL_011a: Unknown result type (might be due to invalid IL or missing references) //IL_011b: Unknown result type (might be due to invalid IL or missing references) //IL_0120: Unknown result type (might be due to invalid IL or missing references) //IL_012a: Unknown result type (might be due to invalid IL or missing references) //IL_012d: Unknown result type (might be due to invalid IL or missing references) //IL_0132: Unknown result type (might be due to invalid IL or missing references) //IL_0137: Unknown result type (might be due to invalid IL or missing references) //IL_013e: Unknown result type (might be due to invalid IL or missing references) //IL_0142: Unknown result type (might be due to invalid IL or missing references) //IL_0147: Unknown result type (might be due to invalid IL or missing references) //IL_014c: Unknown result type (might be due to invalid IL or missing references) double x = (double)Width; double num = (double)Height; double num2 = (double)rotatson; Fix val = (Fix)Math.Max(Math.Abs(Math.Sqrt(Math.Pow(x, 2.0) + Math.Pow(num, 2.0)) * Math.Cos(num2 + Math.Atan2(num, x))), Math.Abs(Math.Sqrt(Math.Pow(x, 2.0) + Math.Pow(num, 2.0)) * Math.Cos(num2 - Math.Atan2(num, x)))); Fix val2 = (Fix)Math.Max(Math.Abs(Math.Sqrt(Math.Pow(x, 2.0) + Math.Pow(num, 2.0)) * Math.Sin(num2 + Math.Atan2(num, x))), Math.Abs(Math.Sqrt(Math.Pow(x, 2.0) + Math.Pow(num, 2.0)) * Math.Sin(num2 - Math.Atan2(num, x)))); val += Radius; val2 += Radius; return (Fix[])(object)new Fix[2] { val * (Fix)2L, val2 * (Fix)2L }; } public static bool IsValidPlacement(Fix X, Fix Y, Fix Width, Fix Height, Fix Radius, Fix rotatson) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0003: Unknown result type (might be due to invalid IL or missing references) //IL_0005: Unknown result type (might be due to invalid IL or missing references) //IL_000f: Unknown result type (might be due to invalid IL or missing references) //IL_0014: Unknown result type (might be due to invalid IL or missing references) //IL_0017: Unknown result type (might be due to invalid IL or missing references) //IL_001c: Unknown result type (might be due to invalid IL or missing references) //IL_001d: Unknown result type (might be due to invalid IL or missing references) //IL_001e: Unknown result type (might be due to invalid IL or missing references) //IL_0021: Unknown result type (might be due to invalid IL or missing references) //IL_0026: Unknown result type (might be due to invalid IL or missing references) //IL_002b: Unknown result type (might be due to invalid IL or missing references) //IL_0030: Unknown result type (might be due to invalid IL or missing references) //IL_0031: Unknown result type (might be due to invalid IL or missing references) //IL_0032: Unknown result type (might be due to invalid IL or missing references) //IL_0035: Unknown result type (might be due to invalid IL or missing references) //IL_003a: Unknown result type (might be due to invalid IL or missing references) //IL_003f: Unknown result type (might be due to invalid IL or missing references) //IL_0044: Unknown result type (might be due to invalid IL or missing references) //IL_0046: Unknown result type (might be due to invalid IL or missing references) //IL_0047: Unknown result type (might be due to invalid IL or missing references) //IL_004a: Unknown result type (might be due to invalid IL or missing references) //IL_004f: Unknown result type (might be due to invalid IL or missing references) //IL_0054: Unknown result type (might be due to invalid IL or missing references) //IL_0059: Unknown result type (might be due to invalid IL or missing references) //IL_005b: Unknown result type (might be due to invalid IL or missing references) //IL_005c: Unknown result type (might be due to invalid IL or missing references) //IL_005f: Unknown result type (might be due to invalid IL or missing references) //IL_0064: Unknown result type (might be due to invalid IL or missing references) //IL_0069: Unknown result type (might be due to invalid IL or missing references) //IL_006e: Unknown result type (might be due to invalid IL or missing references) //IL_008d: Unknown result type (might be due to invalid IL or missing references) //IL_0092: Unknown result type (might be due to invalid IL or missing references) //IL_0099: Unknown result type (might be due to invalid IL or missing references) //IL_009e: Unknown result type (might be due to invalid IL or missing references) //IL_00a5: Unknown result type (might be due to invalid IL or missing references) //IL_00aa: Unknown result type (might be due to invalid IL or missing references) //IL_00b1: Unknown result type (might be due to invalid IL or missing references) //IL_00b6: Unknown result type (might be due to invalid IL or missing references) //IL_00b8: Unknown result type (might be due to invalid IL or missing references) //IL_00b9: Unknown result type (might be due to invalid IL or missing references) //IL_00bb: Unknown result type (might be due to invalid IL or missing references) //IL_00c0: Unknown result type (might be due to invalid IL or missing references) //IL_00c2: Unknown result type (might be due to invalid IL or missing references) //IL_00c4: Unknown result type (might be due to invalid IL or missing references) //IL_00c6: Unknown result type (might be due to invalid IL or missing references) //IL_00cb: Unknown result type (might be due to invalid IL or missing references) //IL_00cd: Unknown result type (might be due to invalid IL or missing references) //IL_00cf: Unknown result type (might be due to invalid IL or missing references) //IL_00d1: Unknown result type (might be due to invalid IL or missing references) //IL_00d6: Unknown result type (might be due to invalid IL or missing references) //IL_00d8: Unknown result type (might be due to invalid IL or missing references) //IL_00da: Unknown result type (might be due to invalid IL or missing references) //IL_00dc: Unknown result type (might be due to invalid IL or missing references) //IL_00e1: Unknown result type (might be due to invalid IL or missing references) //IL_00e3: Unknown result type (might be due to invalid IL or missing references) //IL_00e5: Unknown result type (might be due to invalid IL or missing references) //IL_00ee: Unknown result type (might be due to invalid IL or missing references) //IL_00f0: Unknown result type (might be due to invalid IL or missing references) Fix[] array = TrueWidthAndHight(Width, Height, Radius, rotatson); Fix val = array[0]; Fix val2 = array[1]; Fix val3 = X - val / (Fix)2L; Fix val4 = Y - val2 / (Fix)2L; Fix val5 = X + val / (Fix)2L; Fix val6 = Y + val2 / (Fix)2L; Fix[][][] spaceTakenUp = SpaceTakenUp; foreach (Fix[][] array2 in spaceTakenUp) { Fix val7 = array2[0][0]; Fix val8 = array2[0][1]; Fix val9 = array2[1][0]; Fix val10 = array2[1][1]; Fix val11 = Fix.Max(val3, val7); Fix val12 = Fix.Max(val4, val8); Fix val13 = Fix.Min(val5, val9); Fix val14 = Fix.Min(val6, val10); if (!(val11 > val13) && !(val12 > val14)) { return false; } } return true; } public static void AttemptToSpawnRandomPlatform() { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0006: Unknown result type (might be due to invalid IL or missing references) //IL_000b: Unknown result type (might be due to invalid IL or missing references) //IL_0010: Unknown result type (might be due to invalid IL or missing references) //IL_0011: Unknown result type (might be due to invalid IL or missing references) //IL_0016: Unknown result type (might be due to invalid IL or missing references) //IL_001b: Unknown result type (might be due to invalid IL or missing references) //IL_0020: Unknown result type (might be due to invalid IL or missing references) //IL_0021: Unknown result type (might be due to invalid IL or missing references) //IL_0026: Unknown result type (might be due to invalid IL or missing references) //IL_0027: Unknown result type (might be due to invalid IL or missing references) //IL_002c: Unknown result type (might be due to invalid IL or missing references) //IL_002d: Unknown result type (might be due to invalid IL or missing references) //IL_003c: Unknown result type (might be due to invalid IL or missing references) //IL_0041: Unknown result type (might be due to invalid IL or missing references) //IL_00a9: Unknown result type (might be due to invalid IL or missing references) //IL_00ae: Unknown result type (might be due to invalid IL or missing references) //IL_00b8: Unknown result type (might be due to invalid IL or missing references) //IL_00bd: Unknown result type (might be due to invalid IL or missing references) //IL_005e: Unknown result type (might be due to invalid IL or missing references) //IL_006d: Unknown result type (might be due to invalid IL or missing references) //IL_0072: Unknown result type (might be due to invalid IL or missing references) //IL_0077: Unknown result type (might be due to invalid IL or missing references) //IL_0082: Unknown result type (might be due to invalid IL or missing references) //IL_0091: Unknown result type (might be due to invalid IL or missing references) //IL_0096: Unknown result type (might be due to invalid IL or missing references) //IL_009b: Unknown result type (might be due to invalid IL or missing references) //IL_00c9: Unknown result type (might be due to invalid IL or missing references) //IL_00d8: Unknown result type (might be due to invalid IL or missing references) //IL_00dd: Unknown result type (might be due to invalid IL or missing references) //IL_00e2: Unknown result type (might be due to invalid IL or missing references) //IL_00e4: Unknown result type (might be due to invalid IL or missing references) //IL_00e9: Unknown result type (might be due to invalid IL or missing references) //IL_010e: Unknown result type (might be due to invalid IL or missing references) //IL_010f: Unknown result type (might be due to invalid IL or missing references) //IL_0110: Unknown result type (might be due to invalid IL or missing references) //IL_0111: Unknown result type (might be due to invalid IL or missing references) //IL_0112: Unknown result type (might be due to invalid IL or missing references) //IL_0114: Unknown result type (might be due to invalid IL or missing references) //IL_00fc: Unknown result type (might be due to invalid IL or missing references) //IL_0101: Unknown result type (might be due to invalid IL or missing references) //IL_0106: Unknown result type (might be due to invalid IL or missing references) //IL_010b: Unknown result type (might be due to invalid IL or missing references) //IL_0134: Unknown result type (might be due to invalid IL or missing references) //IL_0143: Unknown result type (might be due to invalid IL or missing references) //IL_0148: Unknown result type (might be due to invalid IL or missing references) //IL_014f: Unknown result type (might be due to invalid IL or missing references) //IL_0122: Unknown result type (might be due to invalid IL or missing references) //IL_0123: Unknown result type (might be due to invalid IL or missing references) //IL_0124: Unknown result type (might be due to invalid IL or missing references) //IL_0125: Unknown result type (might be due to invalid IL or missing references) //IL_0126: Unknown result type (might be due to invalid IL or missing references) //IL_0128: Unknown result type (might be due to invalid IL or missing references) Fix x = Updater.RandomFix(MinX, MaxX); Fix y = Updater.RandomFix(MinY, MaxY); Fix zero = Fix.Zero; Fix zero2 = Fix.Zero; if (Updater.RandomFix(Fix.Zero, (Fix)CirclePlatformChance.Value) > 1L) { zero = Updater.RandomFix((Fix)MinScaleX.Value, (Fix)MaxScaleX.Value); zero2 = Updater.RandomFix((Fix)MinScaleY.Value, (Fix)MaxScaleY.Value); } else { zero = (Fix)0.05; zero2 = (Fix)0.05; } Fix radius = Updater.RandomFix((Fix)MinRadius.Value, (Fix)MaxRadius.Value); Fix rotatson = Fix.Zero; if (Rotate.Value) { rotatson = Updater.RandomFix(Fix.Zero, Fix.PiTimes2); } if (IsValidPlacement(x, y, zero, zero2, radius, rotatson)) { SpawnPlatform(x, y, zero, zero2, radius, rotatson); } else if (Updater.RandomFix(Fix.Zero, (Fix)ChanceYouAttemptToPlaceAPlatformAgien.Value) < (Fix)1L) { AttemptToSpawnRandomPlatform(); } } public static Fix CalculateMassOfPlatform(Fix Width, Fix Height, Fix Radius) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0004: Unknown result type (might be due to invalid IL or missing references) //IL_0009: Unknown result type (might be due to invalid IL or missing references) //IL_000e: Unknown result type (might be due to invalid IL or missing references) //IL_000f: Unknown result type (might be due to invalid IL or missing references) //IL_0014: Unknown result type (might be due to invalid IL or missing references) //IL_0015: Unknown result type (might be due to invalid IL or missing references) //IL_0018: Unknown result type (might be due to invalid IL or missing references) //IL_001d: Unknown result type (might be due to invalid IL or missing references) //IL_0022: Unknown result type (might be due to invalid IL or missing references) //IL_0023: Unknown result type (might be due to invalid IL or missing references) //IL_0028: Unknown result type (might be due to invalid IL or missing references) //IL_0029: Unknown result type (might be due to invalid IL or missing references) //IL_002a: Unknown result type (might be due to invalid IL or missing references) //IL_002b: Unknown result type (might be due to invalid IL or missing references) //IL_0030: Unknown result type (might be due to invalid IL or missing references) //IL_0031: Unknown result type (might be due to invalid IL or missing references) //IL_003b: Unknown result type (might be due to invalid IL or missing references) //IL_0047: Unknown result type (might be due to invalid IL or missing references) //IL_0051: Unknown result type (might be due to invalid IL or missing references) //IL_0076: Unknown result type (might be due to invalid IL or missing references) //IL_0081: Unknown result type (might be due to invalid IL or missing references) //IL_0086: Unknown result type (might be due to invalid IL or missing references) //IL_008b: Unknown result type (might be due to invalid IL or missing references) //IL_0063: Unknown result type (might be due to invalid IL or missing references) //IL_0068: Unknown result type (might be due to invalid IL or missing references) //IL_0069: Unknown result type (might be due to invalid IL or missing references) //IL_006e: Unknown result type (might be due to invalid IL or missing references) //IL_006f: Unknown result type (might be due to invalid IL or missing references) //IL_0074: Unknown result type (might be due to invalid IL or missing references) //IL_008f: Unknown result type (might be due to invalid IL or missing references) Fix val = Width * (Fix)2L + Radius; Fix val2 = Height * (Fix)2L + Radius; Fix val3 = val * val2; if (Width == (Fix)0.05 && Height == (Fix)0.05) { val3 = Fix.Pi * Radius * Radius; } return val3 * (Fix)OneByOneBlockMass.Value; } } }