Decompiled source of Shotgun modded v0.0.3

shotgunmod.dll

Decompiled 20 hours 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 GTFO.API;
using GameData;
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(".NETCoreApp,Version=v6.0", FrameworkDisplayName = ".NET 6.0")]
[assembly: AssemblyCompany("shotgunmod")]
[assembly: AssemblyConfiguration("Debug")]
[assembly: AssemblyFileVersion("1.0.0.0")]
[assembly: AssemblyInformationalVersion("1.0.0")]
[assembly: AssemblyProduct("shotgunmod")]
[assembly: AssemblyTitle("shotgunmod")]
[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;
		}
	}
}
internal class shotgunmod : MonoBehaviour
{
	public static void Initialize()
	{
		//IL_005d: Unknown result type (might be due to invalid IL or missing references)
		//IL_00cc: 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_01b7: Unknown result type (might be due to invalid IL or missing references)
		//IL_024a: Unknown result type (might be due to invalid IL or missing references)
		//IL_02e2: Unknown result type (might be due to invalid IL or missing references)
		ArchetypeDataBlock block = GameDataBlockBase<ArchetypeDataBlock>.GetBlock(34u);
		block.Damage = 4.5f;
		block.DefaultReloadTime = 2.2f;
		block.DefaultClipSize = 8;
		block.CostOfBullet = 5.5f;
		block.PiercingBullets = true;
		block.PiercingDamageCountLimit = 4;
		Vector2 damageFalloff = default(Vector2);
		((Vector2)(ref damageFalloff))..ctor(18f, 80f);
		GameDataBlockBase<ArchetypeDataBlock>.GetBlock(34u).DamageFalloff = damageFalloff;
		ArchetypeDataBlock block2 = GameDataBlockBase<ArchetypeDataBlock>.GetBlock(81u);
		block2.Damage = 28f;
		block2.DefaultClipSize = 8;
		block2.PiercingBullets = true;
		block2.PiercingDamageCountLimit = 5;
		block2.CostOfBullet = 10f;
		block2.DefaultReloadTime = 2.2f;
		block2.ShotDelay = 0.35f;
		Vector2 damageFalloff2 = default(Vector2);
		((Vector2)(ref damageFalloff2))..ctor(40f, 80f);
		GameDataBlockBase<ArchetypeDataBlock>.GetBlock(81u).DamageFalloff = damageFalloff2;
		ArchetypeDataBlock block3 = GameDataBlockBase<ArchetypeDataBlock>.GetBlock(45u);
		block3.Damage = 4.5f;
		block3.DefaultClipSize = 6;
		block3.PrecisionDamageMulti = 1f;
		block3.PiercingBullets = true;
		block3.PiercingDamageCountLimit = 4;
		Vector2 damageFalloff3 = default(Vector2);
		((Vector2)(ref damageFalloff3))..ctor(8f, 80f);
		GameDataBlockBase<ArchetypeDataBlock>.GetBlock(45u).DamageFalloff = damageFalloff3;
		ArchetypeDataBlock block4 = GameDataBlockBase<ArchetypeDataBlock>.GetBlock(78u);
		block4.Damage = 2.5f;
		block4.PrecisionDamageMulti = 1f;
		block4.PiercingDamageCountLimit = 3;
		block4.DefaultReloadTime = 2.4f;
		block4.HipFireSpread = 0f;
		block4.AimSpread = 0f;
		block4.ShotgunConeSize = 2;
		block4.ShotgunBulletSpread = 2;
		block4.PiercingDamageCountLimit = 3;
		Vector2 damageFalloff4 = default(Vector2);
		((Vector2)(ref damageFalloff4))..ctor(8f, 80f);
		GameDataBlockBase<ArchetypeDataBlock>.GetBlock(78u).DamageFalloff = damageFalloff4;
		ArchetypeDataBlock block5 = GameDataBlockBase<ArchetypeDataBlock>.GetBlock(33u);
		block5.Damage = 3.9f;
		block5.DefaultClipSize = 10;
		block5.PrecisionDamageMulti = 1f;
		block5.DefaultReloadTime = 2.4f;
		block5.CostOfBullet = 5.5f;
		block5.HipFireSpread = 0f;
		block5.AimSpread = 0f;
		block5.PiercingBullets = true;
		block5.PiercingDamageCountLimit = 3;
		Vector2 damageFalloff5 = default(Vector2);
		((Vector2)(ref damageFalloff5))..ctor(8f, 80f);
		GameDataBlockBase<ArchetypeDataBlock>.GetBlock(33u).DamageFalloff = damageFalloff5;
		ArchetypeDataBlock block6 = GameDataBlockBase<ArchetypeDataBlock>.GetBlock(35u);
		block6.Damage = 3.5f;
		block6.DefaultClipSize = 15;
		block6.PrecisionDamageMulti = 1f;
		block6.DefaultReloadTime = 2.4f;
		block6.HipFireSpread = 0f;
		block6.AimSpread = 0f;
		block6.ShotgunConeSize = 2;
		block6.ShotgunBulletSpread = 2;
		block6.PiercingBullets = true;
		block6.PiercingDamageCountLimit = 3;
		Vector2 damageFalloff6 = default(Vector2);
		((Vector2)(ref damageFalloff6))..ctor(8f, 80f);
		GameDataBlockBase<ArchetypeDataBlock>.GetBlock(35u).DamageFalloff = damageFalloff6;
	}
}
namespace ModShotgun
{
	[BepInPlugin("domsinkf.shotgunmod", "shotgunmod", "0.0.1")]
	internal sealed class EntryPoint : BasePlugin
	{
		public const string MODNAME = "shotgunmod";

		public override void Load()
		{
			((BasePlugin)this).Log.LogMessage((object)"Loading shotgunmod");
			((BasePlugin)this).AddComponent<shotgunmod>();
			EventAPI.OnAssetsLoaded += shotgunmod.Initialize;
			((BasePlugin)this).Log.LogMessage((object)"Loaded shotgunmod");
		}
	}
}