Due to update 2.4.3, some mods may no longer function. FixedConfig may be necessary.
Decompiled source of Poop v1.0.4
Poop.dll
Decompiled 9 months agousing System; using System.Diagnostics; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.Versioning; using System.Security; using System.Security.Permissions; using BepInEx; using BepInEx.Configuration; using BepInEx.Logging; using BoplFixedMath; using HarmonyLib; using Microsoft.CodeAnalysis; 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.6", FrameworkDisplayName = "")] [assembly: AssemblyCompany("Poop")] [assembly: AssemblyConfiguration("Debug")] [assembly: AssemblyDescription("Gives the player a chance to poop out an arrow on every jump")] [assembly: AssemblyFileVersion("1.0.0.0")] [assembly: AssemblyInformationalVersion("1.0.0")] [assembly: AssemblyProduct("Poop")] [assembly: AssemblyTitle("Poop")] [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 Poop { [BepInPlugin("com.PizzaMan730.Poop", "Poop", "1.0.0")] public class Plugin : BaseUnityPlugin { internal static ManualLogSource Log; private static Harmony harmony; public static ConfigFile config; public static ConfigEntry<float> chance; private void Awake() { //IL_004f: Unknown result type (might be due to invalid IL or missing references) //IL_0059: Expected O, but got Unknown Log = ((BaseUnityPlugin)this).Logger; config = ((BaseUnityPlugin)this).Config; chance = config.Bind<float>("Poop", "Poop chance", 50f, "Percent chance that you poop when jumping"); Log.LogInfo((object)"Poop has loaded!"); harmony = new Harmony("com.PizzaMan730.Poop"); harmony.PatchAll(typeof(Patch)); } } [HarmonyPatch] public class Patch { [HarmonyPatch(typeof(SlimeController), "Jump")] [HarmonyPrefix] private static bool Jump(ref bool ___wasUpsideDown, ref PlayerPhysics ___playerPhysics, ref PlayerBody ___body) { //IL_0008: Unknown result type (might be due to invalid IL or missing references) //IL_000d: 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_0036: Unknown result type (might be due to invalid IL or missing references) //IL_003d: Unknown result type (might be due to invalid IL or missing references) //IL_0042: Unknown result type (might be due to invalid IL or missing references) //IL_005d: Unknown result type (might be due to invalid IL or missing references) //IL_0079: Unknown result type (might be due to invalid IL or missing references) //IL_007f: Expected O, but got Unknown //IL_00d7: 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_00f0: Unknown result type (might be due to invalid IL or missing references) //IL_014b: Unknown result type (might be due to invalid IL or missing references) //IL_011e: 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_0136: Unknown result type (might be due to invalid IL or missing references) //IL_013b: 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_0284: Unknown result type (might be due to invalid IL or missing references) //IL_028d: Unknown result type (might be due to invalid IL or missing references) //IL_02a2: Unknown result type (might be due to invalid IL or missing references) //IL_02b1: Unknown result type (might be due to invalid IL or missing references) //IL_02b6: Unknown result type (might be due to invalid IL or missing references) //IL_02bb: Unknown result type (might be due to invalid IL or missing references) //IL_02c2: Unknown result type (might be due to invalid IL or missing references) //IL_02c7: Unknown result type (might be due to invalid IL or missing references) //IL_02ce: Unknown result type (might be due to invalid IL or missing references) //IL_02d3: Unknown result type (might be due to invalid IL or missing references) //IL_02d8: Unknown result type (might be due to invalid IL or missing references) //IL_02df: Unknown result type (might be due to invalid IL or missing references) //IL_02e4: Unknown result type (might be due to invalid IL or missing references) //IL_02e9: Unknown result type (might be due to invalid IL or missing references) //IL_02ee: Unknown result type (might be due to invalid IL or missing references) //IL_02fc: Unknown result type (might be due to invalid IL or missing references) //IL_0309: Unknown result type (might be due to invalid IL or missing references) //IL_030e: 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_0187: Unknown result type (might be due to invalid IL or missing references) //IL_018e: Unknown result type (might be due to invalid IL or missing references) //IL_0193: 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_01c2: Unknown result type (might be due to invalid IL or missing references) //IL_021a: 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_0201: Unknown result type (might be due to invalid IL or missing references) //IL_0208: Unknown result type (might be due to invalid IL or missing references) //IL_020d: 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_025b: Unknown result type (might be due to invalid IL or missing references) //IL_0262: Unknown result type (might be due to invalid IL or missing references) //IL_0267: Unknown result type (might be due to invalid IL or missing references) //IL_0278: Unknown result type (might be due to invalid IL or missing references) Fix rotation = ___body.fixtrans.rotation; bool flag = ___playerPhysics.getAttachedGround().currentNormal(___body).y < 0L; ___wasUpsideDown = flag; ___playerPhysics.Jump(); if (!(Updater.RandomFix((Fix)1L, (Fix)2L) <= (Fix)(1f + Plugin.chance.Value / 100f))) { return false; } BoplBody val = new BoplBody(); ThrowItem2[] array = Resources.FindObjectsOfTypeAll(typeof(ThrowItem2)) as ThrowItem2[]; ThrowItem2[] array2 = array; foreach (ThrowItem2 val2 in array2) { if (((Object)val2).name == "Grenade") { val = val2.ItemPrefab; } } Vec2 val3 = default(Vec2); if ((double)(float)rotation < 0.75 || (double)(float)rotation >= 5.5) { ((Vec2)(ref val3))..ctor(___body.fixtrans.position.x, ___body.fixtrans.position.y - (Fix)2L); } else if ((double)(float)rotation < 5.5 && (float)rotation >= 4f) { ((Vec2)(ref val3))..ctor(___body.fixtrans.position.x - (Fix)2L, ___body.fixtrans.position.y); } else if ((float)rotation < 4f && (double)(float)rotation >= 2.5) { ((Vec2)(ref val3))..ctor(___body.fixtrans.position.x, ___body.fixtrans.position.y + (Fix)3L); } else if ((double)(float)rotation < 2.5 && (double)(float)rotation >= 0.75) { ((Vec2)(ref val3))..ctor(___body.fixtrans.position.x + (Fix)2L, ___body.fixtrans.position.y); } BoplBody val4 = FixTransform.InstantiateFixed<BoplBody>(val, val3, ___body.fixtrans.rotation); val4.Scale = ___body.fixtrans.Scale; val4.StartVelocity = new Vec2(-___body.Velocity.x / (Fix)5L, -___body.Velocity.y / (Fix)5L); val4.rotation = ___body.fixtrans.rotation; val4.StartAngularVelocity = Fix.Zero; Item component = ((Component)val4).GetComponent<Item>(); Grenade component2 = ((Component)component).GetComponent<Grenade>(); component2.hasBeenThrown = true; DPhysicsCircle val5 = (((Object)(object)val4 != (Object)null) ? ((Component)val4).GetComponent<DPhysicsCircle>() : null); if ((Object)(object)val5 != (Object)null && !((MonoUpdatable)val5).IsDestroyed && !val5.initHasBeenCalled) { val5.ManualInit(); } component2.DetonatesOnOwner = false; return false; } } public static class PluginInfo { public const string PLUGIN_GUID = "Poop"; public const string PLUGIN_NAME = "Poop"; public const string PLUGIN_VERSION = "1.0.0"; } }