Please disclose if any significant portion of your mod was created using AI tools by adding the 'AI Generated' category. Failing to do so may result in the mod being removed from Thunderstore.
Decompiled source of common v1.0.0
com.xaymar.lethalcompany.dll
Decompiled 2 years agousing System; using System.Collections; using System.Collections.Generic; using System.Diagnostics; using System.Linq; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; using System.Security; using System.Security.Permissions; using BepInEx; using BepInEx.Logging; using HarmonyLib; using LethalExpansion; using UnityEngine; using com.xaymar.lethalcompany.patches; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints)] [assembly: AssemblyTitle("com.xaymar.lethalcompany")] [assembly: AssemblyDescription("")] [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("Xaymar")] [assembly: AssemblyProduct("com.xaymar.lethalcompany")] [assembly: AssemblyCopyright("Copyright © 2024")] [assembly: AssemblyTrademark("")] [assembly: ComVisible(false)] [assembly: Guid("8bd5fa4f-5536-48be-b8c0-3e5772653d8c")] [assembly: AssemblyFileVersion("1.0.0.0")] [assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)] [assembly: AssemblyVersion("1.0.0.0")] [module: UnverifiableCode] public class LadderGenerator : MonoBehaviour { private GameObject parent; private ArrayList ladderSegments = new ArrayList(); public GameObject bottomPos; public GameObject topPos; public GameObject horizontalPos; public GameObject playerPos; public GameObject trigger; public GameObject ladderSegment; protected ManualLogSource Logger = new ManualLogSource("com.xaymar.lethalcompany." + typeof(LadderGenerator).Name); private void Start() { //IL_0017: 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_0064: Unknown result type (might be due to invalid IL or missing references) //IL_00a4: 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_00c4: 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_0115: Unknown result type (might be due to invalid IL or missing references) //IL_012f: Unknown result type (might be due to invalid IL or missing references) //IL_0141: Unknown result type (might be due to invalid IL or missing references) //IL_0146: Unknown result type (might be due to invalid IL or missing references) //IL_0174: Unknown result type (might be due to invalid IL or missing references) //IL_0186: Unknown result type (might be due to invalid IL or missing references) //IL_018b: Unknown result type (might be due to invalid IL or missing references) //IL_01a3: Unknown result type (might be due to invalid IL or missing references) parent = ((Component)this).gameObject; float y = parent.transform.localScale.y; float y2 = ladderSegment.transform.localScale.y; long num = (long)Math.Ceiling(y / y2); float num2 = y / ((float)num * y2); parent.transform.localScale = new Vector3(1f, 1f, 1f); for (long num3 = 1L; num3 < num; num3++) { GameObject val = Object.Instantiate<GameObject>(ladderSegment, parent.transform); ladderSegments.Add(val); Vector3 localPosition = val.transform.localPosition; localPosition.y += (float)num3 * (y2 * num2); val.transform.localPosition = localPosition; Logger.LogInfo((object)$"<{typeof(LadderGenerator).Name}> Segment {num3} generated."); } Vector3 localPosition2 = topPos.transform.localPosition; localPosition2.y += y; topPos.transform.localPosition = localPosition2; Vector3 localPosition3 = trigger.transform.localPosition; localPosition3.y = (float)((double)y / 2.0 + (double)y2 / 2.0); trigger.transform.localPosition = localPosition3; Vector3 localScale = trigger.transform.localScale; localScale.y = y + y2; trigger.transform.localScale = localScale; Logger.LogInfo((object)"Completed"); } } internal class PlugInInfo { public const string GUID = "8bd5fa4f-5536-48be-b8c0-3e5772653d8c"; public const string Name = "com.xaymar.lethalcompany"; public const string Version = "1.0.0.0"; } namespace com.xaymar.lethalcompany { [BepInPlugin("8bd5fa4f-5536-48be-b8c0-3e5772653d8c", "com.xaymar.lethalcompany", "1.0.0.0")] internal class PlugIn : BaseUnityPlugin { private static readonly Harmony harmony = new Harmony("8bd5fa4f-5536-48be-b8c0-3e5772653d8c"); public static List<Type> lethalExpansionWhitelist = new List<Type> { typeof(LadderGenerator) }; private void Awake() { ((BaseUnityPlugin)this).Logger.LogInfo((object)"PlugIn com.xaymar.lethalcompany (Guid: 8bd5fa4f-5536-48be-b8c0-3e5772653d8c) v1.0.0.0 is loading..."); try { ((BaseUnityPlugin)this).Logger.LogInfo((object)"Applying patch to Lethal Expansion..."); harmony.PatchAll(typeof(LethalExpansionPatcher)); } catch (Exception arg) { ((BaseUnityPlugin)this).Logger.LogFatal((object)$"Failed to apply patch: {arg}"); Application.Quit(1); } ((BaseUnityPlugin)this).Logger.LogInfo((object)"Loaded successfully."); } } } namespace com.xaymar.lethalcompany.patches { [HarmonyPatch(typeof(LethalExpansion))] internal class LethalExpansionPatcher { [HarmonyPatch("CheckAndRemoveIllegalComponents")] [HarmonyPrefix] private static bool CheckAndRemoveIllegalComponents_Prefix(LethalExpansion __instance, Transform root) { try { Component[] components = ((Component)root).GetComponents<Component>(); foreach (Component comp in components) { if (PlugIn.lethalExpansionWhitelist.Any((Type type) => ((object)comp).GetType() == type)) { return false; } } return true; } catch (Exception) { return true; } } } }