Decompiled source of BringBackBerserkers v1.0.0

BringBackBerserkers.dll

Decompiled 3 days ago
using System.Diagnostics;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.Versioning;
using System.Security;
using System.Security.Permissions;
using BepInEx;
using InspectorExpressions;
using On.Voxels.TowerDefense;
using UnityEngine;
using Voxels.TowerDefense;
using Voxels.TowerDefense.CampaignGeneration.CampaignAc3;

[assembly: CompilationRelaxations(8)]
[assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)]
[assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)]
[assembly: TargetFramework(".NETFramework,Version=v4.8", FrameworkDisplayName = ".NET Framework 4.8")]
[assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)]
[assembly: AssemblyVersion("1.0.0.0")]
[module: UnverifiableCode]
namespace BBB
{
	[BepInPlugin("nacu.bringbackberserkers", "Bring Back Berserkers", "1.0")]
	public class Plugin : BaseUnityPlugin
	{
		public const string VERSION = "1.0";

		public void OnEnable()
		{
			//IL_0008: Unknown result type (might be due to invalid IL or missing references)
			//IL_0012: Expected O, but got Unknown
			GameSetup.Awake += new hook_Awake(AddBerserkerToSpawnPool);
			((BaseUnityPlugin)this).Logger.LogInfo((object)"Bring Back Berserkers loaded");
		}

		private void AddBerserkerToSpawnPool(orig_Awake orig, GameSetup self)
		{
			orig.Invoke(self);
			if (LevelStateObjectReferences.dict.TryGetValue("Viking_Berserker", out var _))
			{
				Object obj = LevelStateObjectReferences.dict["Viking_Berserker"];
				ref LevelExpression probability = ref ((Component)((obj is VikingReference) ? obj : null)).GetComponent<LevelGuessable>().probability;
				Object obj2 = LevelStateObjectReferences.dict["Viking_AxeThrower"];
				probability = ((Component)((obj2 is VikingReference) ? obj2 : null)).GetComponent<LevelGuessable>().probability;
				Object obj3 = LevelStateObjectReferences.dict["Viking_Berserker"];
				((ExpressionSerialized)((Component)((obj3 is VikingReference) ? obj3 : null)).GetComponent<LevelRule>().condition).expression = "(fraction > 0.15 && fraction < 0.4) || (fraction > 0.55 && fraction < 0.8) || fraction > 0.95";
			}
		}
	}
}
namespace System.Runtime.Versioning
{
	public class TargetFrameworkAttribute : Attribute
	{
		public string FrameworkName { get; set; }

		public string FrameworkDisplayName { get; set; }

		public TargetFrameworkAttribute(string frameworkName)
		{
			FrameworkName = frameworkName;
		}
	}
}