Due to update 2.4.3, some mods may no longer function. FixedConfig may be necessary.
Decompiled source of ExplosiveArrowMinigunThingyThisIsAReallyLongName v1.0.0
ArrowVollE.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 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("ArrowVollE")] [assembly: AssemblyConfiguration("Debug")] [assembly: AssemblyDescription("My first plugin")] [assembly: AssemblyFileVersion("1.0.0.0")] [assembly: AssemblyInformationalVersion("1.0.0")] [assembly: AssemblyProduct("ArrowVollE")] [assembly: AssemblyTitle("ArrowVollE")] [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 BoplModOG { public static class PluginInfo { public const string PLUGIN_GUID = "ArrowVollE"; public const string PLUGIN_NAME = "ArrowVollE"; public const string PLUGIN_VERSION = "1.0.0"; } } namespace AntiKick { [BepInPlugin("com.Custos.PlugenName", "PlugenName", "1.0.0")] public class Plugin : BaseUnityPlugin { [HarmonyPatch(typeof(BowTransform))] public class myPatches { [HarmonyPatch("OldUpdate")] [HarmonyPrefix] private static bool FuncName_PlugenName_Plug(BowTransform __instance) { //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_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_003e: 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_0032: Unknown result type (might be due to invalid IL or missing references) //IL_0033: 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_0077: Unknown result type (might be due to invalid IL or missing references) //IL_0078: Unknown result type (might be due to invalid IL or missing references) //IL_007d: Unknown result type (might be due to invalid IL or missing references) //IL_0084: Unknown result type (might be due to invalid IL or missing references) //IL_0104: 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_0114: Unknown result type (might be due to invalid IL or missing references) //IL_0119: 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_0128: 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_00f7: Unknown result type (might be due to invalid IL or missing references) Vec2 val = __instance.player.AimVector(); if (Vec2.Magnitude(val) > Constants.DEADZONE && !__instance.releasedButton) { __instance.inputVector = Vec2.Normalized(val); } if (Vec2.Magnitude(val) > Constants.DEADZONE && !__instance.releasedButton && __instance.player.AbilityButtonIsDown(__instance.playerInfo.AbilityButtonUsedIndex012)) { __instance.inputVector = Vec2.Normalized(val); __instance.Fire(__instance.inputVector); } if (!__instance.player.AbilityButtonIsDown(__instance.playerInfo.AbilityButtonUsedIndex012) && !__instance.hasFired) { __instance.releasedButton = true; } if (__instance.releasedButton && !__instance.hasFired && (__instance.loadingFrame > 0 || __instance.animator.getNumberOfPassedSprites() > 2)) { __instance.Fire(__instance.inputVector); } Debug.DrawRay(Vector2.op_Implicit((Vector2)__instance.CurrentFirePoint()), Vector2.op_Implicit((Vector2)Vec2.Normalized(__instance.inputVector) * 20f)); return false; } [HarmonyPatch("Awake")] [HarmonyPrefix] private static void Func2(BowTransform __instance) { //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) __instance.maxNumberOfArrows = 2000; __instance.TimeBeforeArrowsHurtOwner = (Fix)10000000000L; } [HarmonyPatch("Fire")] [HarmonyPrefix] private static bool Func3(BowTransform __instance, Vec2 inputVector) { //IL_001b: 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_0042: 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_0067: Unknown result type (might be due to invalid IL or missing references) //IL_006c: 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_0121: 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_00c0: Unknown result type (might be due to invalid IL or missing references) //IL_00c5: 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_00db: Unknown result type (might be due to invalid IL or missing references) if (__instance.isLoading && __instance.loadingSound.timesPlayed == AudioManager.Get().TimesSoundsPlayed(__instance.loadingSound)) { __instance.loadingSound.source.Stop(); } inputVector = Vec2.Normalized(inputVector); __instance.Shoot(inputVector); AudioManager.Get().Play("arrowShoot"); __instance.physics.gravity_modifier = Fix.One; if (__instance.physics.IsGrounded()) { __instance.animator.beginAnimThenDoAction(__instance.animData.GetAnimation("fireGround"), (Action)__instance.ExitAbility); __instance.body.selfImposedVelocity = -__instance.physics.getAttachedGround().currentNormal(__instance.body) * (Fix)(long)__instance.KnockBack; __instance.physics.UnGround(false, true); return false; } __instance.animator.beginAnimThenDoAction(__instance.animData.GetAnimation("fireAir"), (Action)__instance.ExitAbility); __instance.body.selfImposedVelocity = -inputVector * (Fix)(long)__instance.KnockBack; return false; } [HarmonyPatch("Shoot")] [HarmonyPrefix] private static bool Func4(BowTransform __instance, Vec2 dir) { //IL_0003: 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_001a: Unknown result type (might be due to invalid IL or missing references) //IL_0025: 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_002f: 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_0045: 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_005b: Unknown result type (might be due to invalid IL or missing references) //IL_0062: 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_0084: Unknown result type (might be due to invalid IL or missing references) //IL_0094: 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_00af: Unknown result type (might be due to invalid IL or missing references) //IL_00b4: Unknown result type (might be due to invalid IL or missing references) //IL_00c5: Unknown result type (might be due to invalid IL or missing references) //IL_00ca: Unknown result type (might be due to invalid IL or missing references) //IL_0129: Unknown result type (might be due to invalid IL or missing references) //IL_012e: Unknown result type (might be due to invalid IL or missing references) //IL_011d: 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_0131: Unknown result type (might be due to invalid IL or missing references) //IL_0139: 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_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_014e: Unknown result type (might be due to invalid IL or missing references) //IL_0153: Unknown result type (might be due to invalid IL or missing references) //IL_0158: Unknown result type (might be due to invalid IL or missing references) //IL_0159: Unknown result type (might be due to invalid IL or missing references) //IL_0164: Unknown result type (might be due to invalid IL or missing references) //IL_0169: Unknown result type (might be due to invalid IL or missing references) //IL_016a: Unknown result type (might be due to invalid IL or missing references) //IL_016f: 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_0180: Unknown result type (might be due to invalid IL or missing references) //IL_0185: 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_018c: Unknown result type (might be due to invalid IL or missing references) //IL_0191: 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_01a8: Unknown result type (might be due to invalid IL or missing references) Fix val = default(Fix); Vec2 val2 = __instance.body.position + __instance.FirepointOffset.x * __instance.body.right + __instance.FirepointOffset.y * __instance.body.up; BoplBody val3 = FixTransform.InstantiateFixed<BoplBody>(__instance.Arrow, val2, __instance.body.rotation); val3.Scale = __instance.body.fixtrans.Scale; Fix val4 = Fix.One + (__instance.body.fixtrans.Scale - Fix.One) / (Fix)2L; __instance.Arrows.Add(val3); val3.gravityScale = (Fix)0L; ((Component)val3).GetComponent<IPlayerIdHolder>().SetPlayerId(__instance.playerInfo.playerId); ((Renderer)((Component)val3).GetComponent<SpriteRenderer>()).material = __instance.playerInfo.playerMaterial; val = ((!__instance.player.AbilityButtonIsDown(__instance.playerInfo.AbilityButtonUsedIndex012)) ? ((Fix)1L) : ((Fix)(-2L))); val3.StartVelocity = dir * ((Fix)(long)__instance.loadingFrame + Fix.One) * __instance.ArrowSpeed * val4 + __instance.body.selfImposedVelocity * val; ((Component)val3).GetComponent<Projectile>().DelayedEnableHurtOwner(__instance.TimeBeforeArrowsHurtOwner * val4 / Vec2.Magnitude(val3.StartVelocity)); val3.rotation = __instance.body.rotation; if (!__instance.player.AbilityButtonIsDown(__instance.playerInfo.AbilityButtonUsedIndex012)) { __instance.hasFired = true; } return false; } } [HarmonyPatch(typeof(Arrow))] public class myPatches2 { [HarmonyPatch("OnCollide")] [HarmonyPrefix] public static bool OnCollide_Patch(ref Arrow __instance, ref FixTransform ___fixTrans, ref DPhysicsCircle ___hitbox, ref CollisionInformation collision) { //IL_0026: Unknown result type (might be due to invalid IL or missing references) //IL_002c: Expected O, but got Unknown //IL_0086: 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) if (collision.layer != LayerMask.NameToLayer("wall")) { return true; } Explosion val = new Explosion(); Explosion[] array = Resources.FindObjectsOfTypeAll(typeof(Explosion)) as Explosion[]; Explosion[] array2 = array; foreach (Explosion val2 in array2) { if (((Object)val2).name == "MineExplosion") { val = val2; } } Explosion val3 = FixTransform.InstantiateFixed<Explosion>(val, ___fixTrans.position); ((Component)val3).GetComponent<IPhysicsCollider>().Scale = ___hitbox.Scale; val3.PlayerOwnerId = ((Component)__instance).gameObject.GetComponent<Projectile>().playerOwnerId; AudioManager.Get().Play("explosion"); return true; } [HarmonyPatch("Awake")] [HarmonyPrefix] public static void HarmonyPatch2(Arrow __instance) { } } private Fix valuea = new Fix(0); private Fix valueb = new Fix(1); private static ConfigEntry<double> ConfigMax; private void Awake() { //IL_003f: Unknown result type (might be due to invalid IL or missing references) //IL_0045: Expected O, but got Unknown ConfigMax = ((BaseUnityPlugin)this).Config.Bind<double>("General", "General sliders", 1.0, "this times 20 is the amount of repeats for the arrow chain"); ((BaseUnityPlugin)this).Logger.LogInfo((object)"Plugin PlugenName is loaded!"); Harmony val = new Harmony("com.Custos.PlugenName"); ((BaseUnityPlugin)this).Logger.LogInfo((object)"harmany created"); val.PatchAll(); ((BaseUnityPlugin)this).Logger.LogInfo((object)"PlugenName Patch Compleate!"); } } }