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 TootFloot v0.1.0
TootFloot.dll
Decompiled a year agousing System; using System.Diagnostics; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.Versioning; using System.Timers; using BepInEx; using BepInEx.Logging; using HarmonyLib; using UnityEngine; [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.8", FrameworkDisplayName = ".NET Framework 4.8")] [assembly: AssemblyCompany("TootFloot")] [assembly: AssemblyConfiguration("Debug")] [assembly: AssemblyFileVersion("1.0.0.0")] [assembly: AssemblyInformationalVersion("1.0.0+465374bb01fe27fa657ebac4dc3237982ca675c6")] [assembly: AssemblyProduct("TootFloot")] [assembly: AssemblyTitle("TootFloot")] [assembly: AssemblyVersion("1.0.0.0")] namespace FrogtownRepoMods; [BepInPlugin("tootfloot.frogtown.me", "Toot Floot", "0.1")] public class TootFloot : BaseUnityPlugin { private class PatchPhysGrabberUpdate { [HarmonyPatch(typeof(PhysGrabber), "Update")] [HarmonyPostfix] private static void Update(PhysGrabber __instance) { //IL_0086: Unknown result type (might be due to invalid IL or missing references) //IL_0090: Unknown result type (might be due to invalid IL or missing references) //IL_0095: 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_013c: 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_0155: Unknown result type (might be due to invalid IL or missing references) //IL_015a: Unknown result type (might be due to invalid IL or missing references) //IL_00d3: 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_017e: Unknown result type (might be due to invalid IL or missing references) //IL_0188: Unknown result type (might be due to invalid IL or missing references) if (!Object.op_Implicit((Object)(object)UpdateRunner.instance) || (Object)(object)__instance != (Object)(object)UpdateRunner.instance.trackedGrabber) { return; } float num = Time.time - UpdateRunner.instance.lastGrabRelease; if (num < 0.05f) { PlayerAvatar playerAvatarScript = PlayerController.instance.playerAvatarScript; PhysGrabber trackedGrabber = UpdateRunner.instance.trackedGrabber; Transform transform = ((Component)trackedGrabber.physGrabPointPuller).transform; if (Object.op_Implicit((Object)(object)transform)) { transform.position = ((Component)playerAvatarScript).transform.position + UpdateRunner.instance.pullerOffset; trackedGrabber.physGrabPointPullerPosition = transform.position; } Transform transform2 = ((Component)trackedGrabber.physGrabPointPlane).transform; if (Object.op_Implicit((Object)(object)transform2)) { transform2.position = ((Component)playerAvatarScript).transform.position + UpdateRunner.instance.planeOffset; } } else if (num < 0.45f) { PlayerAvatar playerAvatarScript2 = PlayerController.instance.playerAvatarScript; PhysGrabber trackedGrabber2 = UpdateRunner.instance.trackedGrabber; Transform transform3 = ((Component)trackedGrabber2.physGrabPointPuller).transform; if (Object.op_Implicit((Object)(object)transform3)) { transform3.localPosition = Vector3.forward * 0.5f; trackedGrabber2.physGrabPointPullerPosition = transform3.position; } Transform transform4 = ((Component)trackedGrabber2.physGrabPointPlane).transform; if (Object.op_Implicit((Object)(object)transform4)) { transform4.localPosition = Vector3.forward * 0.5f; } } } } private class UpdateRunner : MonoBehaviour { public static UpdateRunner instance; private float lastTimeChange; public bool playing; public bool tilted; public float storedXRot; public PhysGrabber trackedGrabber; public Vector3 pullerOffset; public Vector3 planeOffset; public float lastGrabRelease; private void Awake() { L.LogInfo((object)"Awake"); instance = this; } private void OnDestroy() { L.LogInfo((object)"OnDestroy"); instance = null; } private void Update() { //IL_0135: Unknown result type (might be due to invalid IL or missing references) //IL_0140: Unknown result type (might be due to invalid IL or missing references) //IL_0145: Unknown result type (might be due to invalid IL or missing references) //IL_014a: Unknown result type (might be due to invalid IL or missing references) //IL_0168: Unknown result type (might be due to invalid IL or missing references) //IL_0173: Unknown result type (might be due to invalid IL or missing references) //IL_0178: Unknown result type (might be due to invalid IL or missing references) //IL_017d: Unknown result type (might be due to invalid IL or missing references) //IL_01d2: Unknown result type (might be due to invalid IL or missing references) //IL_01d7: Unknown result type (might be due to invalid IL or missing references) //IL_01db: 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_01f0: Unknown result type (might be due to invalid IL or missing references) //IL_01f4: Unknown result type (might be due to invalid IL or missing references) //IL_01fe: Unknown result type (might be due to invalid IL or missing references) //IL_022e: 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_019f: 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) //IL_0308: Unknown result type (might be due to invalid IL or missing references) //IL_030d: Unknown result type (might be due to invalid IL or missing references) //IL_0311: Unknown result type (might be due to invalid IL or missing references) //IL_0321: Unknown result type (might be due to invalid IL or missing references) //IL_0326: Unknown result type (might be due to invalid IL or missing references) //IL_032a: Unknown result type (might be due to invalid IL or missing references) //IL_0334: Unknown result type (might be due to invalid IL or missing references) //IL_0364: Unknown result type (might be due to invalid IL or missing references) try { if (!SemiFunc.IsMultiplayer()) { return; } CameraAim cameraAim = PlayerController.instance.cameraAim; PlayerAvatar playerAvatarScript = PlayerController.instance.playerAvatarScript; float num = -1f; KeyCode[] array = new KeyCode[11]; RuntimeHelpers.InitializeArray(array, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/); KeyCode[] array2 = (KeyCode[])(object)array; float[] array3 = new float[11] { 80f, 56.3f, 45.7f, 37.16f, 28.06f, 20.18f, 11.08f, 2.44f, 353.64f, 342.77f, 330f }; bool flag = false; trackedGrabber = playerAvatarScript.physGrabber; if (Object.op_Implicit((Object)(object)trackedGrabber.grabbedObjectTransform) && ((Object)trackedGrabber.grabbedObjectTransform).name == "Valuable Ocarina(Clone)") { for (int i = 0; i < array2.Length; i++) { if (Input.GetKeyDown(array2[i])) { num = array3[i]; } if (Input.GetKey(array2[i])) { flag = true; if (num == -1f) { num = array3[i]; } } } } Quaternion rotation; if (num > 0f) { if (!playing) { Transform transform = ((Component)instance.trackedGrabber.physGrabPointPuller).transform; pullerOffset = transform.position - ((Component)playerAvatarScript).transform.position; Transform transform2 = ((Component)instance.trackedGrabber.physGrabPointPlane).transform; planeOffset = transform2.position - ((Component)playerAvatarScript).transform.position; } if (!tilted) { rotation = ((Component)cameraAim).transform.rotation; storedXRot = ((Quaternion)(ref rotation)).eulerAngles.x; } tilted = true; lastGrabRelease = Time.time; Transform transform3 = ((Component)cameraAim).transform; float num2 = num; rotation = ((Component)cameraAim).transform.rotation; float y = ((Quaternion)(ref rotation)).eulerAngles.y; rotation = ((Component)cameraAim).transform.rotation; transform3.rotation = Quaternion.Euler(num2, y, ((Quaternion)(ref rotation)).eulerAngles.z); MethodInfo method = ((object)cameraAim).GetType().GetMethod("ResetPlayerAim", BindingFlags.Instance | BindingFlags.NonPublic); method.Invoke(cameraAim, new object[1] { ((Component)cameraAim).transform.rotation }); if (!playing && (double)(Time.time - lastTimeChange) > 0.2) { playing = true; playerAvatarScript.ChatMessageSend("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", false); lastTimeChange = Time.time; } } if (!flag && playing && (double)(Time.time - lastTimeChange) > 0.2) { playing = false; playerAvatarScript.ChatMessageSend(".", false); lastTimeChange = Time.time; } if (!flag && tilted) { tilted = false; Transform transform4 = ((Component)cameraAim).transform; float num3 = storedXRot; rotation = ((Component)cameraAim).transform.rotation; float y2 = ((Quaternion)(ref rotation)).eulerAngles.y; rotation = ((Component)cameraAim).transform.rotation; transform4.rotation = Quaternion.Euler(num3, y2, ((Quaternion)(ref rotation)).eulerAngles.z); MethodInfo method2 = ((object)cameraAim).GetType().GetMethod("ResetPlayerAim", BindingFlags.Instance | BindingFlags.NonPublic); method2.Invoke(cameraAim, new object[1] { ((Component)cameraAim).transform.rotation }); } } catch (Exception) { } } } public static TootFloot instance; public const string PLUGIN_GUID = "tootfloot.frogtown.me"; public const string PLUGIN_NAME = "Toot Floot"; public const string PLUGIN_VERSION = "0.1"; private static ManualLogSource L; private static DateTime _lastRegenAttempt; [Obsolete] public static void RegenInstance(object sender, ElapsedEventArgs e) { //IL_0045: Unknown result type (might be due to invalid IL or missing references) //IL_004b: Expected O, but got Unknown if (!(_lastRegenAttempt.AddSeconds(5.0) > DateTime.Now)) { _lastRegenAttempt = DateTime.Now; if (!Object.op_Implicit((Object)(object)UpdateRunner.instance)) { GameObject val = new GameObject("UpdateRunner"); val.AddComponent<UpdateRunner>(); L.LogInfo((object)"Regenerated UpdateRunner"); } } } public static void StartRegenThread() { Timer timer = new Timer(100.0); timer.Elapsed += RegenInstance; timer.AutoReset = true; timer.Enabled = true; } private void Awake() { if (!((Object)(object)instance != (Object)null)) { L = ((BaseUnityPlugin)this).Logger; instance = this; StartRegenThread(); Harmony.CreateAndPatchAll(typeof(PatchPhysGrabberUpdate), (string)null); } } }