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");
}
}
}