Decompiled source of MoreDifficulties v0.2.0

plugins/MoreDifficulties/MoreDifficulties.dll

Decompiled 5 days 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.Core.Logging.Interpolation;
using BepInEx.Logging;
using BepInEx.Unity.IL2CPP;
using GKAPI;
using GKAPI.Difficulties;
using GKAPI.Enemies;
using GKAPI.Items;
using Gatekeeper.Enemy.Base.Data;
using Gatekeeper.General.Events.Characters;
using Gatekeeper.General.Predictor;
using Gatekeeper.Items;
using Gatekeeper.PoolScripts;
using Gatekeeper.Utility;
using Microsoft.CodeAnalysis;
using MoreDifficulties.Utility;
using RNGNeeds;
using UnityEngine;

[assembly: CompilationRelaxations(8)]
[assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)]
[assembly: Debuggable(DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints)]
[assembly: TargetFramework(".NETCoreApp,Version=v6.0", FrameworkDisplayName = ".NET 6.0")]
[assembly: AssemblyCompany("MoreDifficulties")]
[assembly: AssemblyConfiguration("Release")]
[assembly: AssemblyFileVersion("0.2.0.0")]
[assembly: AssemblyInformationalVersion("0.2.0+8bc8416921efc43b4f4635566d9a5406a7dceb0a")]
[assembly: AssemblyProduct("MoreDifficulties")]
[assembly: AssemblyTitle("MoreDifficulties")]
[assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)]
[assembly: AssemblyVersion("0.2.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 ExampleMod
{
	public static class MyPluginInfo
	{
		public const string PLUGIN_GUID = "MoreDifficulties";

		public const string PLUGIN_NAME = "MoreDifficulties";

		public const string PLUGIN_VERSION = "0.2.0";
	}
}
namespace MoreDifficulties
{
	[BepInPlugin("ua.quest_play.moredifficulties", "More Difficulties", "0.2.0")]
	[BepInDependency(/*Could not decode attribute arguments.*/)]
	public class Plugin : GkPlugin
	{
		public const string PluginGuid = "ua.quest_play.moredifficulties";

		public const string PluginName = "More Difficulties";

		private const string PluginVersion = "0.2.0";

		internal static ManualLogSource Log;

		public override void Load()
		{
			//IL_001b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0021: Expected O, but got Unknown
			((GkPlugin)this).Load();
			Log = ((BasePlugin)this).Log;
			ManualLogSource log = Log;
			bool flag = default(bool);
			BepInExInfoLogInterpolatedStringHandler val = new BepInExInfoLogInterpolatedStringHandler(18, 1, ref flag);
			if (flag)
			{
				((BepInExLogInterpolatedStringHandler)val).AppendLiteral("Plugin ");
				((BepInExLogInterpolatedStringHandler)val).AppendFormatted<string>("More Difficulties");
				((BepInExLogInterpolatedStringHandler)val).AppendLiteral(" is loaded!");
			}
			log.LogInfo(val);
		}

		public override void AddContent()
		{
			//IL_0000: Unknown result type (might be due to invalid IL or missing references)
			//IL_0053: Unknown result type (might be due to invalid IL or missing references)
			//IL_00ce: Unknown result type (might be due to invalid IL or missing references)
			//IL_00e2: Unknown result type (might be due to invalid IL or missing references)
			//IL_0133: Unknown result type (might be due to invalid IL or missing references)
			//IL_0138: Unknown result type (might be due to invalid IL or missing references)
			//IL_013a: Unknown result type (might be due to invalid IL or missing references)
			if ((int)EventHandler.State != 0)
			{
				Log.LogError((object)"Content has to be added during Pre-Init!");
				return;
			}
			SingletonSerializedScriptableObject<GlobalSettings>.Instance.buildCheating = true;
			SingletonSerializedScriptableObject<GlobalSettings>.Instance.buildDebugConsole = true;
			DifficultiesAPI instance = DifficultiesAPI.Instance;
			EnemiesAPI instance2 = EnemiesAPI.Instance;
			Templates templates = new Templates(Log);
			Log.LogInfo((object)"Adding new difficulties...");
			GameDifficulty item = instance.AddDifficulty(new Builder().WithName("Insanity").WithDifficultyValues("400%", 1.8f, 5f).WithGameEventsData(0, 2, 1, instance.CreateGameEventsProbabilities(0.25f))
				.WithSirenSpawnData(5, 10)
				.WithEliteSpawnData(0.17f, 0.06f, 0.35f, 0.09f, 5f, 3f, 2)
				.WithInstabilityCapsuleSpeed(4f)
				.WithColors(new Color(0.56f, 0.29f, 0f), new Color(0.5f, 0.37f, 0.23f))
				.WithExpLoopPow(2f)
				.WithExpPoints(25f, 180f, 40f)
				.WithArenaValues(1.4f, 8f, 1.4f, 0.6f, -60f, 110f)).Item1;
			templates.registerInsanityPool(item, instance2);
		}
	}
}
namespace MoreDifficulties.Utility
{
	public class Templates
	{
		private readonly ManualLogSource _log;

		public Templates(ManualLogSource manualLogSource)
		{
			_log = manualLogSource;
		}

		public void registerInsanityPool(GameDifficulty difficulty, EnemiesAPI enemiesAPI)
		{
			//IL_0000: Unknown result type (might be due to invalid IL or missing references)
			//IL_0074: Unknown result type (might be due to invalid IL or missing references)
			//IL_00e8: Unknown result type (might be due to invalid IL or missing references)
			//IL_015c: Unknown result type (might be due to invalid IL or missing references)
			//IL_01c1: Unknown result type (might be due to invalid IL or missing references)
			//IL_0236: Unknown result type (might be due to invalid IL or missing references)
			//IL_02ab: Unknown result type (might be due to invalid IL or missing references)
			//IL_0320: Unknown result type (might be due to invalid IL or missing references)
			//IL_0395: Unknown result type (might be due to invalid IL or missing references)
			//IL_03fb: Unknown result type (might be due to invalid IL or missing references)
			//IL_0470: Unknown result type (might be due to invalid IL or missing references)
			//IL_04e5: Unknown result type (might be due to invalid IL or missing references)
			//IL_055a: Unknown result type (might be due to invalid IL or missing references)
			//IL_05de: Unknown result type (might be due to invalid IL or missing references)
			//IL_0662: Unknown result type (might be due to invalid IL or missing references)
			//IL_08c5: Unknown result type (might be due to invalid IL or missing references)
			//IL_08cc: Expected O, but got Unknown
			//IL_06e7: Unknown result type (might be due to invalid IL or missing references)
			//IL_06f0: Unknown result type (might be due to invalid IL or missing references)
			//IL_0703: Unknown result type (might be due to invalid IL or missing references)
			//IL_070d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0720: Unknown result type (might be due to invalid IL or missing references)
			//IL_072a: Unknown result type (might be due to invalid IL or missing references)
			//IL_073d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0746: Unknown result type (might be due to invalid IL or missing references)
			//IL_0759: Unknown result type (might be due to invalid IL or missing references)
			//IL_0763: Unknown result type (might be due to invalid IL or missing references)
			//IL_0777: Unknown result type (might be due to invalid IL or missing references)
			//IL_0781: Unknown result type (might be due to invalid IL or missing references)
			//IL_0795: Unknown result type (might be due to invalid IL or missing references)
			//IL_079e: Unknown result type (might be due to invalid IL or missing references)
			//IL_07b2: Unknown result type (might be due to invalid IL or missing references)
			//IL_07bc: Unknown result type (might be due to invalid IL or missing references)
			//IL_07d0: Unknown result type (might be due to invalid IL or missing references)
			//IL_07da: Unknown result type (might be due to invalid IL or missing references)
			//IL_07ee: Unknown result type (might be due to invalid IL or missing references)
			//IL_07f7: Unknown result type (might be due to invalid IL or missing references)
			//IL_080b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0815: Unknown result type (might be due to invalid IL or missing references)
			//IL_0829: Unknown result type (might be due to invalid IL or missing references)
			//IL_0833: Unknown result type (might be due to invalid IL or missing references)
			//IL_0847: Unknown result type (might be due to invalid IL or missing references)
			//IL_0850: Unknown result type (might be due to invalid IL or missing references)
			//IL_0864: Unknown result type (might be due to invalid IL or missing references)
			//IL_086e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0882: Unknown result type (might be due to invalid IL or missing references)
			//IL_088c: Unknown result type (might be due to invalid IL or missing references)
			ProbabilityList<EnemyCharacterInfo> val = new ProbListBuilder().AddItem((PoolItemID)301010, 0.05f).AddItem((PoolItemID)301020, 0.1f).AddItem((PoolItemID)301030, 0.25f)
				.AddItem((PoolItemID)301050, 0.23f)
				.AddItem((PoolItemID)301060, 0.28f)
				.AddItem((PoolItemID)301070, 0.08f)
				.AddItem((PoolItemID)301040, 0.01f)
				.Build();
			ProbabilityList<EnemyCharacterInfo> val2 = new ProbListBuilder().AddItem((PoolItemID)301010, 0.01f).AddItem((PoolItemID)301020, 0.02f).AddItem((PoolItemID)301030, 0.2f)
				.AddItem((PoolItemID)301050, 0.32f)
				.AddItem((PoolItemID)301060, 0.34f)
				.AddItem((PoolItemID)301070, 0.1f)
				.AddItem((PoolItemID)301040, 0.01f)
				.Build();
			ProbabilityList<EnemyCharacterInfo> val3 = new ProbListBuilder().AddItem((PoolItemID)301010, 0.01f).AddItem((PoolItemID)301020, 0.01f).AddItem((PoolItemID)301030, 0.14f)
				.AddItem((PoolItemID)301050, 0.34f)
				.AddItem((PoolItemID)301060, 0.35f)
				.AddItem((PoolItemID)301070, 0.14f)
				.AddItem((PoolItemID)301040, 0.01f)
				.Build();
			ProbabilityList<EnemyCharacterInfo> val4 = new ProbListBuilder().AddItem((PoolItemID)302020, 0.18f).AddItem((PoolItemID)302030, 0.19f).AddItem((PoolItemID)302010, 0.22f)
				.AddItem((PoolItemID)302060, 0.18f)
				.AddItem((PoolItemID)302050, 0.19f)
				.AddItem((PoolItemID)302070, 0.04f)
				.Build();
			ProbabilityList<EnemyCharacterInfo> val5 = new ProbListBuilder().AddItem((PoolItemID)302020, 0.06f).AddItem((PoolItemID)302030, 0.08f).AddItem((PoolItemID)302010, 0.1f)
				.AddItem((PoolItemID)302060, 0.35f)
				.AddItem((PoolItemID)302050, 0.3f)
				.AddItem((PoolItemID)302070, 0.1f)
				.AddItem((PoolItemID)302040, 0.01f)
				.Build();
			ProbabilityList<EnemyCharacterInfo> val6 = new ProbListBuilder().AddItem((PoolItemID)302020, 0.04f).AddItem((PoolItemID)302030, 0.06f).AddItem((PoolItemID)302010, 0.06f)
				.AddItem((PoolItemID)302060, 0.35f)
				.AddItem((PoolItemID)302050, 0.33f)
				.AddItem((PoolItemID)302070, 0.15f)
				.AddItem((PoolItemID)302040, 0.01f)
				.Build();
			ProbabilityList<EnemyCharacterInfo> val7 = new ProbListBuilder().AddItem((PoolItemID)303050, 0.17f).AddItem((PoolItemID)303030, 0.12f).AddItem((PoolItemID)303020, 0.12f)
				.AddItem((PoolItemID)303070, 0.16f)
				.AddItem((PoolItemID)303040, 0.19f)
				.AddItem((PoolItemID)303060, 0.2f)
				.AddItem((PoolItemID)303080, 0.04f)
				.Build();
			ProbabilityList<EnemyCharacterInfo> val8 = new ProbListBuilder().AddItem((PoolItemID)303050, 0.03f).AddItem((PoolItemID)303030, 0.08f).AddItem((PoolItemID)303020, 0.09f)
				.AddItem((PoolItemID)303070, 0.19f)
				.AddItem((PoolItemID)303040, 0.28f)
				.AddItem((PoolItemID)303060, 0.16f)
				.AddItem((PoolItemID)303080, 0.17f)
				.Build();
			ProbabilityList<EnemyCharacterInfo> val9 = new ProbListBuilder().AddItem((PoolItemID)303030, 0.08f).AddItem((PoolItemID)303020, 0.09f).AddItem((PoolItemID)303070, 0.15f)
				.AddItem((PoolItemID)303040, 0.28f)
				.AddItem((PoolItemID)303060, 0.2f)
				.AddItem((PoolItemID)303080, 0.2f)
				.Build();
			ProbabilityList<EnemyCharacterInfo> val10 = new ProbListBuilder().AddItem((PoolItemID)304010, 0.16f).AddItem((PoolItemID)304070, 0.17f).AddItem((PoolItemID)304040, 0.12f)
				.AddItem((PoolItemID)304060, 0.18f)
				.AddItem((PoolItemID)304080, 0.08f)
				.AddItem((PoolItemID)304050, 0.25f)
				.AddItem((PoolItemID)304030, 0.04f)
				.Build();
			ProbabilityList<EnemyCharacterInfo> val11 = new ProbListBuilder().AddItem((PoolItemID)304010, 0.04f).AddItem((PoolItemID)304070, 0.09f).AddItem((PoolItemID)304040, 0.09f)
				.AddItem((PoolItemID)304060, 0.28f)
				.AddItem((PoolItemID)304080, 0.1f)
				.AddItem((PoolItemID)304050, 0.3f)
				.AddItem((PoolItemID)304030, 0.1f)
				.Build();
			ProbabilityList<EnemyCharacterInfo> val12 = new ProbListBuilder().AddItem((PoolItemID)304010, 0.03f).AddItem((PoolItemID)304070, 0.08f).AddItem((PoolItemID)304040, 0.09f)
				.AddItem((PoolItemID)304060, 0.28f)
				.AddItem((PoolItemID)304080, 0.09f)
				.AddItem((PoolItemID)304050, 0.28f)
				.AddItem((PoolItemID)304030, 0.15f)
				.Build();
			ProbabilityList<EnemyCharacterInfo> val13 = new ProbListBuilder().AddItem((PoolItemID)305010, 0.18f).AddItem((PoolItemID)305050, 0.12f).AddItem((PoolItemID)305040, 0.09f)
				.AddItem((PoolItemID)305070, 0.15f)
				.AddItem((PoolItemID)305030, 0.12f)
				.AddItem((PoolItemID)305020, 0.15f)
				.AddItem((PoolItemID)305080, 0.15f)
				.AddItem((PoolItemID)305090, 0.04f)
				.Build();
			ProbabilityList<EnemyCharacterInfo> val14 = new ProbListBuilder().AddItem((PoolItemID)305010, 0.11f).AddItem((PoolItemID)305050, 0.12f).AddItem((PoolItemID)305040, 0.09f)
				.AddItem((PoolItemID)305070, 0.2f)
				.AddItem((PoolItemID)305030, 0.12f)
				.AddItem((PoolItemID)305020, 0.13f)
				.AddItem((PoolItemID)305080, 0.13f)
				.AddItem((PoolItemID)305090, 0.1f)
				.Build();
			ProbabilityList<EnemyCharacterInfo> val15 = new ProbListBuilder().AddItem((PoolItemID)305010, 0.03f).AddItem((PoolItemID)305050, 0.04f).AddItem((PoolItemID)305040, 0.08f)
				.AddItem((PoolItemID)305070, 0.3f)
				.AddItem((PoolItemID)305030, 0.12f)
				.AddItem((PoolItemID)305020, 0.12f)
				.AddItem((PoolItemID)305080, 0.13f)
				.AddItem((PoolItemID)305090, 0.18f)
				.Build();
			try
			{
				enemiesAPI.AddKnowingTemplate(difficulty, true, TemplateHelper.AuroraScenes, new Vector2Int(1, 5), val, "EST_1XX 1Loop_500", false);
				enemiesAPI.AddKnowingTemplate(difficulty, true, TemplateHelper.AuroraScenes, new Vector2Int(6, 11), val2, "EST_1XX 2Loop_500", false);
				enemiesAPI.AddKnowingTemplate(difficulty, true, TemplateHelper.AuroraScenes, new Vector2Int(12, -1), val3, "EST_1XX 3Loop_500", false);
				enemiesAPI.AddKnowingTemplate(difficulty, true, TemplateHelper.CelestiumScenes, new Vector2Int(1, 5), val4, "EST_2XX 1Loop_500", false);
				enemiesAPI.AddKnowingTemplate(difficulty, true, TemplateHelper.CelestiumScenes, new Vector2Int(6, 11), val5, "EST_2XX 2Loop_500", false);
				enemiesAPI.AddKnowingTemplate(difficulty, true, TemplateHelper.CelestiumScenes, new Vector2Int(12, -1), val6, "EST_2XX 3Loop_500", false);
				enemiesAPI.AddKnowingTemplate(difficulty, true, TemplateHelper.PurgatoryScenes, new Vector2Int(1, 5), val7, "EST_3XX 1Loop_500", false);
				enemiesAPI.AddKnowingTemplate(difficulty, true, TemplateHelper.PurgatoryScenes, new Vector2Int(6, 11), val8, "EST_3XX 2Loop_500", false);
				enemiesAPI.AddKnowingTemplate(difficulty, true, TemplateHelper.PurgatoryScenes, new Vector2Int(12, -1), val9, "EST_3XX 3Loop_500", false);
				enemiesAPI.AddKnowingTemplate(difficulty, true, TemplateHelper.AriduneScenes, new Vector2Int(1, 5), val10, "EST_4XX 1Loop_500", false);
				enemiesAPI.AddKnowingTemplate(difficulty, true, TemplateHelper.AriduneScenes, new Vector2Int(6, 11), val11, "EST_4XX 2Loop_500", false);
				enemiesAPI.AddKnowingTemplate(difficulty, true, TemplateHelper.AriduneScenes, new Vector2Int(12, -1), val12, "EST_4XX 3Loop_500", false);
				enemiesAPI.AddKnowingTemplate(difficulty, true, TemplateHelper.PaliumScenes, new Vector2Int(1, 5), val13, "EST_5XX 1Loop_500", false);
				enemiesAPI.AddKnowingTemplate(difficulty, true, TemplateHelper.PaliumScenes, new Vector2Int(6, 11), val14, "EST_5XX 2Loop_500", false);
				enemiesAPI.AddKnowingTemplate(difficulty, true, TemplateHelper.PaliumScenes, new Vector2Int(12, -1), val15, "EST_5XX 3Loop_500", false);
				_log.LogInfo((object)"Successfully registered enemy templates for Insanity difficulty.");
			}
			catch (Exception ex)
			{
				Console.WriteLine(ex);
				ManualLogSource log = _log;
				bool flag = default(bool);
				BepInExErrorLogInterpolatedStringHandler val16 = new BepInExErrorLogInterpolatedStringHandler(60, 1, ref flag);
				if (flag)
				{
					((BepInExLogInterpolatedStringHandler)val16).AppendLiteral("Failed to register enemy templates for Insanity difficulty: ");
					((BepInExLogInterpolatedStringHandler)val16).AppendFormatted<Exception>(ex);
				}
				log.LogError(val16);
				throw;
			}
		}
	}
}
namespace MoreDifficulties.Content.ItemControllers
{
	public class TestTriadItemController : CustomItemController
	{
		public override void OwnerHandleSkillUsed(EventClientCharacterSkillUsed eventData)
		{
			//IL_0009: Unknown result type (might be due to invalid IL or missing references)
			//IL_000f: Invalid comparison between Unknown and I4
			if (((ItemController)this).IsItemInInventory && (int)eventData.SkillType == 3)
			{
				Plugin.Log.LogInfo((object)"TestTriadItemController::HandleThirdSkillUsed");
			}
		}
	}
}