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