plugins/Axe.dll

Decompiled 2 weeks ago
using 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.Unity.IL2CPP;
using GameData;
using HarmonyLib;
using Microsoft.CodeAnalysis;

[assembly: CompilationRelaxations(8)]
[assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)]
[assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)]
[assembly: TargetFramework(".NETCoreApp,Version=v6.0", FrameworkDisplayName = ".NET 6.0")]
[assembly: AssemblyCompany("Axe")]
[assembly: AssemblyConfiguration("Debug")]
[assembly: AssemblyFileVersion("1.0.0.0")]
[assembly: AssemblyInformationalVersion("1.0.0")]
[assembly: AssemblyProduct("Axe")]
[assembly: AssemblyTitle("Axe")]
[assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)]
[assembly: AssemblyVersion("1.0.0.0")]
[module: UnverifiableCode]
namespace Microsoft.CodeAnalysis
{
	[CompilerGenerated]
	[Microsoft.CodeAnalysis.Embedded]
	internal sealed class EmbeddedAttribute : Attribute
	{
	}
}
namespace System.Runtime.CompilerServices
{
	[CompilerGenerated]
	[Microsoft.CodeAnalysis.Embedded]
	[AttributeUsage(AttributeTargets.Class | AttributeTargets.Property | AttributeTargets.Field | AttributeTargets.Event | AttributeTargets.Parameter | AttributeTargets.ReturnValue | AttributeTargets.GenericParameter, AllowMultiple = false, Inherited = false)]
	internal sealed class NullableAttribute : Attribute
	{
		public readonly byte[] NullableFlags;

		public NullableAttribute(byte P_0)
		{
			NullableFlags = new byte[1] { P_0 };
		}

		public NullableAttribute(byte[] P_0)
		{
			NullableFlags = P_0;
		}
	}
}
[BepInPlugin("Axe", "Axe", "1.0.1")]
internal class Loader : BasePlugin
{
	private static Harmony? _harmony_axe;

	public override void Load()
	{
		//IL_0006: Unknown result type (might be due to invalid IL or missing references)
		//IL_0010: Expected O, but got Unknown
		_harmony_axe = new Harmony("Axe");
		_harmony_axe.PatchAll();
	}
}
[HarmonyPatch]
internal static class SleepyAxe
{
	[HarmonyPatch(typeof(GameDataInit), "Initialize")]
	[HarmonyPostfix]
	internal static void AxeMelee()
	{
		//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_000e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0019: Expected O, but got Unknown
		//IL_001a: 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_002d: Expected O, but got Unknown
		//IL_0034: Expected O, but got Unknown
		//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_0042: Unknown result type (might be due to invalid IL or missing references)
		//IL_004d: Expected O, but got Unknown
		//IL_004e: Unknown result type (might be due to invalid IL or missing references)
		//IL_005a: Unknown result type (might be due to invalid IL or missing references)
		//IL_0061: Expected O, but got Unknown
		//IL_0068: Expected O, but got Unknown
		//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_0076: Unknown result type (might be due to invalid IL or missing references)
		//IL_0081: Expected O, but got Unknown
		//IL_0082: 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_0095: Expected O, but got Unknown
		//IL_009c: Expected O, but got Unknown
		//IL_009d: Unknown result type (might be due to invalid IL or missing references)
		//IL_00a2: 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_00b5: Expected O, but got Unknown
		//IL_00b6: 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_00c9: Expected O, but got Unknown
		//IL_00d0: Expected O, but got Unknown
		//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_00e7: Unknown result type (might be due to invalid IL or missing references)
		//IL_00f2: Expected O, but got Unknown
		//IL_00f3: Unknown result type (might be due to invalid IL or missing references)
		//IL_00fe: Expected O, but got Unknown
		//IL_0105: Expected O, but got Unknown
		//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_0113: Unknown result type (might be due to invalid IL or missing references)
		//IL_011e: Expected O, but got Unknown
		//IL_011f: Unknown result type (might be due to invalid IL or missing references)
		//IL_012b: Unknown result type (might be due to invalid IL or missing references)
		//IL_0132: Expected O, but got Unknown
		//IL_0133: Unknown result type (might be due to invalid IL or missing references)
		//IL_013e: Expected O, but got Unknown
		//IL_0145: Expected O, but got Unknown
		PlayerOfflineGearDataBlock val = new PlayerOfflineGearDataBlock
		{
			Type = (eOfflineGearType)1
		};
		((GameDataBlockBase<PlayerOfflineGearDataBlock>)val).name = "Axe";
		val.GearJSON = "{\"Ver\":1,\"Name\":\"MACO Axe\",\"Packet\":{\"Comps\":{\"Length\":8,\"a\":{\"c\":2,\"v\":14},\"b\":{\"c\":3,\"v\":100},\"c\":{\"c\":4,\"v\":13},\"d\":{\"c\":44,\"v\":7},\"e\":{\"c\":46,\"v\":13},\"f\":{\"c\":48,\"v\":12},\"g\":{\"c\":50,\"v\":8}},\"MatTrans\":{\"tDecalA\":{\"scale\":0.1},\"tDecalB\":{\"scale\":0.1},\"tPattern\":{\"scale\":0.1}},\"publicName\":{\"data\":\"Axe\"}}}";
		((GameDataBlockBase<PlayerOfflineGearDataBlock>)val).internalEnabled = true;
		GameDataBlockBase<PlayerOfflineGearDataBlock>.AddBlock(val, -1);
		PlayerOfflineGearDataBlock val2 = new PlayerOfflineGearDataBlock
		{
			Type = (eOfflineGearType)1
		};
		((GameDataBlockBase<PlayerOfflineGearDataBlock>)val2).name = "ChainHammer";
		val2.GearJSON = "{\"Ver\":1,\"Name\":\"Omneco ChainHammer\",\"Packet\":{\"Comps\":{\"Length\":8,\"a\":{\"c\":2,\"v\":14},\"b\":{\"c\":3,\"v\":100},\"c\":{\"c\":4,\"v\":13},\"d\":{\"c\":44,\"v\":8},\"e\":{\"c\":46,\"v\":7},\"f\":{\"c\":48,\"v\":4},\"g\":{\"c\":50,\"v\":4}},\"MatTrans\":{\"tDecalA\":{\"scale\":0.1},\"tDecalB\":{\"scale\":0.1},\"tPattern\":{\"scale\":0.1}},\"publicName\":{\"data\":\"ChainHammer\"}}}";
		((GameDataBlockBase<PlayerOfflineGearDataBlock>)val2).internalEnabled = true;
		GameDataBlockBase<PlayerOfflineGearDataBlock>.AddBlock(val2, -1);
		PlayerOfflineGearDataBlock val3 = new PlayerOfflineGearDataBlock
		{
			Type = (eOfflineGearType)1
		};
		((GameDataBlockBase<PlayerOfflineGearDataBlock>)val3).name = "KovacAxe";
		val3.GearJSON = "{\"Ver\":1,\"Name\":\"Kovac Axe\",\"Packet\":{\"Comps\":{\"Length\":8,\"a\":{\"c\":2,\"v\":14},\"b\":{\"c\":3,\"v\":100},\"c\":{\"c\":4,\"v\":13},\"d\":{\"c\":44,\"v\":9},\"e\":{\"c\":46,\"v\":6},\"f\":{\"c\":48,\"v\":7},\"g\":{\"c\":50,\"v\":5}},\"MatTrans\":{\"tDecalA\":{\"scale\":0.1},\"tDecalB\":{\"scale\":0.1},\"tPattern\":{\"scale\":0.1}},\"publicName\":{\"data\":\"KovacAxe\"}}}";
		((GameDataBlockBase<PlayerOfflineGearDataBlock>)val3).internalEnabled = true;
		GameDataBlockBase<PlayerOfflineGearDataBlock>.AddBlock(val3, -1);
		PlayerOfflineGearDataBlock val4 = new PlayerOfflineGearDataBlock
		{
			Type = (eOfflineGearType)1
		};
		((GameDataBlockBase<PlayerOfflineGearDataBlock>)val4).name = "AttrocAxe";
		val4.GearJSON = "{\"Ver\":1,\"Name\":\"Attroc Axe\",\"Packet\":{\"Comps\":{\"Length\":8,\"a\":{\"c\":2,\"v\":14},\"b\":{\"c\":3,\"v\":100},\"c\":{\"c\":4,\"v\":13},\"d\":{\"c\":44,\"v\":4},\"e\":{\"c\":46,\"v\":5},\"f\":{\"c\":48,\"v\":8},\"g\":{\"c\":50,\"v\":6}},\"MatTrans\":{\"tDecalA\":{\"scale\":0.1},\"tDecalB\":{\"scale\":0.1},\"tPattern\":{\"scale\":0.1}},\"publicName\":{\"data\":\"AttrocAxe\"}}}";
		((GameDataBlockBase<PlayerOfflineGearDataBlock>)val4).internalEnabled = true;
		GameDataBlockBase<PlayerOfflineGearDataBlock>.AddBlock(val4, -1);
		GearMeleeHandlePartDataBlock val5 = new GearMeleeHandlePartDataBlock();
		val5.General.Model = "Assets/EternalPrefabs/Realistic/Melees/Bayonet/AKM_Type2_Bayonet.prefab";
		((GameDataBlockBase<GearMeleeHandlePartDataBlock>)val5).name = "Handle_Bayonet";
		((GameDataBlockBase<GearMeleeHandlePartDataBlock>)val5).persistentID = 1001u;
		GameDataBlockBase<GearMeleeHandlePartDataBlock>.AddBlock(val5, -1);
		PlayerOfflineGearDataBlock val6 = new PlayerOfflineGearDataBlock
		{
			Type = (eOfflineGearType)1
		};
		((GameDataBlockBase<PlayerOfflineGearDataBlock>)val6).name = "Bayonet";
		val6.GearJSON = "{\"Ver\":1,\"Name\":\"AKM Type II\",\"Packet\":{\"Comps\":{\"Length\":5,\"a\":{\"c\":2,\"v\":27},\"b\":{\"c\":3,\"v\":161},\"c\":{\"c\":4,\"v\":39},\"d\":{\"c\":48,\"v\":1001}},\"MatTrans\":{\"tDecalA\":{\"scale\":0.1},\"tDecalB\":{\"scale\":0.1},\"tPattern\":{\"scale\":0.1}},\"publicName\":{\"data\":\"AKM Type II\"}}}";
		((GameDataBlockBase<PlayerOfflineGearDataBlock>)val6).internalEnabled = true;
		((GameDataBlockBase<PlayerOfflineGearDataBlock>)val6).persistentID = 1001u;
		GameDataBlockBase<PlayerOfflineGearDataBlock>.AddBlock(val6, -1);
	}
}