Decompiled source of MegaSurvivorPack v1.0.1

MegaSurvivorPack.dll

Decompiled 8 months ago
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.Versioning;
using System.Security;
using System.Security.Permissions;
using BepInEx;
using HG.BlendableTypes;
using On.RoR2;
using R2API;
using RoR2;
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(".NETStandard,Version=v2.0", FrameworkDisplayName = ".NET Standard 2.0")]
[assembly: AssemblyCompany("MegaSurvivorPack")]
[assembly: AssemblyConfiguration("Debug")]
[assembly: AssemblyFileVersion("1.0.0.0")]
[assembly: AssemblyInformationalVersion("1.0.0")]
[assembly: AssemblyProduct("MegaSurvivorPack")]
[assembly: AssemblyTitle("MegaSurvivorPack")]
[assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)]
[assembly: AssemblyVersion("1.0.0.0")]
[module: UnverifiableCode]
namespace MegaSurvivorPack;

[BepInDependency(/*Could not decode attribute arguments.*/)]
[BepInPlugin("Quacker.MegaSurvivorPack", "MegaSurvivorPack", "1.0.1")]
public class SurvivorPlugin : BaseUnityPlugin
{
	[Serializable]
	[CompilerGenerated]
	private sealed class <>c
	{
		public static readonly <>c <>9 = new <>c();

		public static hook_Build <>9__5_0;

		internal void <Awake>b__5_0(orig_Build orig, CharacterSelectBarController self)
		{
			//IL_0011: Unknown result type (might be due to invalid IL or missing references)
			self.iconContainerGrid.cellSize = new Vector2(64f, 64f);
			self.iconContainerGrid.constraintCount = 17;
			orig.Invoke(self);
		}
	}

	public const string PluginGUID = "Quacker.MegaSurvivorPack";

	public const string PluginAuthor = "Quacker";

	public const string PluginName = "MegaSurvivorPack";

	public const string PluginVersion = "1.0.1";

	public const bool resize = false;

	public void Awake()
	{
		//IL_0026: Unknown result type (might be due to invalid IL or missing references)
		//IL_002b: Unknown result type (might be due to invalid IL or missing references)
		//IL_0031: Expected O, but got Unknown
		((BaseUnityPlugin)this).Logger.LogWarning((object)"MegaSurvivorPack is loading...");
		object obj = <>c.<>9__5_0;
		if (obj == null)
		{
			hook_Build val = delegate(orig_Build orig, CharacterSelectBarController self)
			{
				//IL_0011: Unknown result type (might be due to invalid IL or missing references)
				self.iconContainerGrid.cellSize = new Vector2(64f, 64f);
				self.iconContainerGrid.constraintCount = 17;
				orig.Invoke(self);
			};
			<>c.<>9__5_0 = val;
			obj = (object)val;
		}
		CharacterSelectBarController.Build += (hook_Build)obj;
		((BaseUnityPlugin)this).Logger.LogWarning((object)"MegaSurvivorPack : CharacterSelectBar eddited");
		List<survivorinfo> survivorlist = new List<survivorinfo>
		{
			new survivorinfo
			{
				name = "paladin",
				dlcIdentifier = false,
				flyer = false
			},
			new survivorinfo
			{
				name = "golem",
				dlcIdentifier = false,
				flyer = false,
				modelsize = 0.805f,
				CapY = -2f,
				camV = 1.4f
			},
			new survivorinfo
			{
				name = "hand",
				dlcIdentifier = false,
				flyer = false
			},
			new survivorinfo
			{
				name = "beetleGuard",
				dlcIdentifier = false,
				flyer = false
			},
			new survivorinfo
			{
				name = "magmaWorm",
				dlcIdentifier = false,
				flyer = false
			},
			new survivorinfo
			{
				name = "electricWorm",
				dlcIdentifier = false,
				flyer = false
			},
			new survivorinfo
			{
				name = "impBoss",
				dlcIdentifier = false,
				flyer = false
			},
			new survivorinfo
			{
				name = "titangold",
				dlcIdentifier = false,
				flyer = false
			},
			new survivorinfo
			{
				name = "beetle",
				dlcIdentifier = false,
				flyer = false
			},
			new survivorinfo
			{
				name = "bison",
				dlcIdentifier = false,
				flyer = false
			},
			new survivorinfo
			{
				name = "megaDrone",
				dlcIdentifier = false,
				flyer = true
			},
			new survivorinfo
			{
				name = "drone1",
				dlcIdentifier = false,
				flyer = true
			},
			new survivorinfo
			{
				name = "MissileDrone",
				dlcIdentifier = false,
				flyer = true
			},
			new survivorinfo
			{
				name = "BackupDrone",
				dlcIdentifier = false,
				flyer = true
			},
			new survivorinfo
			{
				name = "greaterWisp",
				dlcIdentifier = false,
				flyer = true
			},
			new survivorinfo
			{
				name = "imp",
				dlcIdentifier = false,
				flyer = false
			},
			new survivorinfo
			{
				name = "lemurianBruiser",
				dlcIdentifier = false,
				flyer = false
			},
			new survivorinfo
			{
				name = "titan",
				dlcIdentifier = false,
				flyer = false
			},
			new survivorinfo
			{
				name = "bell",
				dlcIdentifier = false,
				flyer = true
			},
			new survivorinfo
			{
				name = "clayBruiser",
				dlcIdentifier = false,
				flyer = false
			},
			new survivorinfo
			{
				name = "vulture",
				dlcIdentifier = false,
				flyer = true
			},
			new survivorinfo
			{
				name = "archWisp",
				dlcIdentifier = false,
				flyer = true
			},
			new survivorinfo
			{
				name = "nullifier",
				dlcIdentifier = false,
				flyer = false
			},
			new survivorinfo
			{
				name = "scav",
				dlcIdentifier = false,
				flyer = false
			},
			new survivorinfo
			{
				name = "gravekeeper",
				dlcIdentifier = false,
				flyer = false
			},
			new survivorinfo
			{
				name = "parent",
				dlcIdentifier = false,
				flyer = false
			},
			new survivorinfo
			{
				name = "Heretic",
				dlcIdentifier = false,
				flyer = false
			},
			new survivorinfo
			{
				name = "minimushroom",
				dlcIdentifier = false,
				flyer = false
			},
			new survivorinfo
			{
				name = "Brother",
				dlcIdentifier = false,
				flyer = false,
				modelsize = 3.105f,
				CapY = -3.8f,
				camV = -7f
			},
			new survivorinfo
			{
				name = "BrotherGlass",
				dlcIdentifier = false,
				flyer = false
			},
			new survivorinfo
			{
				name = "BrotherHurt",
				dlcIdentifier = false,
				flyer = false
			}
		};
		addsurvivors(survivorlist);
		((BaseUnityPlugin)this).Logger.LogWarning((object)"MegaSurvivorPack is loaded!");
	}

	public void addsurvivors(List<survivorinfo> survivorlist)
	{
		//IL_00c2: Unknown result type (might be due to invalid IL or missing references)
		//IL_00c7: Unknown result type (might be due to invalid IL or missing references)
		//IL_00fc: Unknown result type (might be due to invalid IL or missing references)
		//IL_0101: Unknown result type (might be due to invalid IL or missing references)
		//IL_0119: Unknown result type (might be due to invalid IL or missing references)
		//IL_011e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0136: Unknown result type (might be due to invalid IL or missing references)
		//IL_013b: 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_0161: Unknown result type (might be due to invalid IL or missing references)
		//IL_0166: Unknown result type (might be due to invalid IL or missing references)
		//IL_0175: Unknown result type (might be due to invalid IL or missing references)
		//IL_017a: Unknown result type (might be due to invalid IL or missing references)
		//IL_020d: Unknown result type (might be due to invalid IL or missing references)
		//IL_0212: Unknown result type (might be due to invalid IL or missing references)
		foreach (survivorinfo item in survivorlist)
		{
			GameObject val = PrefabAPI.InstantiateClone(Resources.Load<GameObject>("prefabs/characterbodies/" + item.name + "Body"), item.name);
			GameObject gameObject = ((Component)val.GetComponent<ModelLocator>().modelTransform).gameObject;
			if (item.flyer)
			{
			}
			if (!item.flyer)
			{
				bool flag = false;
			}
			Interactor component = val.GetComponent<Interactor>();
			component.maxInteractionDistance = 6f;
			CameraTargetParams component2 = val.GetComponent<CameraTargetParams>();
			component2.cameraParams = ScriptableObject.CreateInstance<CharacterCameraParams>();
			CharacterCameraParams cameraParams = LegacyResourcesAPI.Load<GameObject>("Prefabs/CharacterBodies/CommandoBody").GetComponent<CameraTargetParams>().cameraParams;
			component2.cameraParams.data.pivotVerticalOffset = BlendableFloat.op_Implicit(0f);
			((Object)component2.cameraParams).name = "quackcam " + item.name;
			component2.cameraParams.data.maxPitch = cameraParams.data.maxPitch;
			component2.cameraParams.data.minPitch = cameraParams.data.minPitch;
			component2.cameraParams.data.wallCushion = cameraParams.data.wallCushion;
			component2.cameraParams.data.idealLocalCameraPos = BlendableVector3.op_Implicit(new Vector3(0f, item.camV, -10f));
			component2.cameraPivotTransform = null;
			component2.recoil = Vector2.zero;
			component2.dontRaycastToPivot = false;
			SurvivorDef val2 = ScriptableObject.CreateInstance<SurvivorDef>();
			val2.bodyPrefab = val;
			val2.bodyPrefab.GetComponent<CharacterBody>().preferredPodPrefab = Resources.Load<GameObject>("Prefabs/NetworkedObjects/SurvivorPod");
			val2.descriptionToken = item.name + ": MegaSurvivorPack \n";
			val2.displayPrefab = gameObject;
			val2.cachedName = item.name;
			val2.primaryColor = new Color(Random.Range(0f, 1f), Random.Range(0f, 1f), Random.Range(0f, 1f));
			((BaseUnityPlugin)this).Logger.LogMessage((object)(item.name + " added "));
			ContentAddition.AddBody(val2.bodyPrefab);
			ContentAddition.AddSurvivorDef(val2);
		}
	}
}
public class survivorinfo
{
	public string name = "quack";

	public bool dlcIdentifier = false;

	public bool flyer = false;

	public float modelsize = 0f;

	public float CapR = 0f;

	public float CapH = 0f;

	public float CapY = 0f;

	public float camV = 0f;
}