Decompiled source of EigongPrime v1.3.1

EigongPrime.dll

Decompiled 2 hours ago
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.Versioning;
using BepInEx;
using BepInEx.Configuration;
using BepInEx.Logging;
using HarmonyLib;
using I2.Loc;
using Microsoft.CodeAnalysis;
using NineSolsAPI;
using UnityEngine;
using UnityEngine.SceneManagement;

[assembly: CompilationRelaxations(8)]
[assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)]
[assembly: Debuggable(DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints)]
[assembly: TargetFramework(".NETStandard,Version=v2.1", FrameworkDisplayName = ".NET Standard 2.1")]
[assembly: AssemblyCompany("EigongPrime")]
[assembly: AssemblyConfiguration("Release")]
[assembly: AssemblyDescription("Mods Eigong to be harder, she chains moves a lot more now and the talisman follow ups now show up on phase 1")]
[assembly: AssemblyFileVersion("1.0.0.0")]
[assembly: AssemblyInformationalVersion("1.0.0+f818e23588ee5c65c85e52bcfd6914e900274d50")]
[assembly: AssemblyProduct("EigongPrime")]
[assembly: AssemblyTitle("EigongPrime")]
[assembly: AssemblyVersion("1.0.0.0")]
[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.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;
		}
	}
	[CompilerGenerated]
	[Microsoft.CodeAnalysis.Embedded]
	[AttributeUsage(AttributeTargets.Class | AttributeTargets.Struct | AttributeTargets.Method | AttributeTargets.Interface | AttributeTargets.Delegate, AllowMultiple = false, Inherited = false)]
	internal sealed class NullableContextAttribute : Attribute
	{
		public readonly byte Flag;

		public NullableContextAttribute(byte P_0)
		{
			Flag = P_0;
		}
	}
	[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 EigongPrime
{
	[BepInDependency(/*Could not decode attribute arguments.*/)]
	[BepInPlugin("EigongPrime", "EigongPrime", "1.0.0")]
	public class EigongPrime : BaseUnityPlugin
	{
		private Harmony harmony;

		private GameObject eigongSpriteHolder;

		private _2dxFX_ColorChange eigongCurrentHueValue;

		private GameObject eigongSwordSpriteHolder;

		private _2dxFX_ColorChange eigongSwordCurrentHueValue;

		private GameObject eigongFooSpriteHolder;

		private _2dxFX_ColorChange eigongFooCurrentHueValue;

		private int dontspamstuffwow2;

		private int dontspamstuffwow;

		private string eigongAttackStatesPath = "";

		private LinkNextMoveStateWeight StunLinkStateWeight;

		private LinkNextMoveStateWeight StunPhase2LinkStateWeight;

		private LinkNextMoveStateWeight StunPhase3LinkStateWeight;

		private LinkNextMoveStateWeight TeleportToTopLinkStateWeight;

		private LinkNextMoveStateWeight TeleportToTopPhase2LinkStateWeight;

		private LinkNextMoveStateWeight TeleportToTopPhase3LinkStateWeight;

		private LinkNextMoveStateWeight TeleportForwardLinkStateWeight;

		private LinkNextMoveStateWeight TeleportForwardPhase2LinkStateWeight;

		private LinkNextMoveStateWeight TeleportForwardPhase3LinkStateWeight;

		private LinkNextMoveStateWeight TeleportToBackLinkStateWeight;

		private LinkNextMoveStateWeight TeleportToBackPhase2LinkStateWeight;

		private LinkNextMoveStateWeight TeleportToBackPhase3LinkStateWeight;

		private LinkNextMoveStateWeight SlowStartLinkStateWeight;

		private LinkNextMoveStateWeight PokeLinkStateWeight;

		private LinkNextMoveStateWeight CrossUpLinkStateWeight;

		private LinkNextMoveStateWeight UnsheatheLinkStateWeight;

		private LinkNextMoveStateWeight FooCharmLinkStateWeight;

		private LinkNextMoveStateWeight CrimsonSlamLinkStateWeight;

		private LinkNextMoveStateWeight DunkLinkStateWeight;

		private LinkNextMoveStateWeight SlowStartPhase2LinkStateWeight;

		private LinkNextMoveStateWeight PokePhase2LinkStateWeight;

		private LinkNextMoveStateWeight CrossUpPhase2LinkStateWeight;

		private LinkNextMoveStateWeight CrimsonSlamPhase2LinkStateWeight;

		private LinkNextMoveStateWeight FooCharmPhase2LinkStateWeight;

		private LinkNextMoveStateWeight FooFollowUp0LinkStateWeight;

		private LinkNextMoveStateWeight FooFollowUp1LinkStateWeight;

		private LinkNextMoveStateWeight UnsheathePhase2LinkStateWeight;

		private LinkNextMoveStateWeight WindBladeLinkStateWeight;

		private LinkNextMoveStateWeight FooCharmPhase3LinkStateWeight;

		private LinkNextMoveStateWeight WindBladePhase3LinkStateWeight;

		private LinkNextMoveStateWeight UnsheathePhase3LinkStateWeight;

		private LinkNextMoveStateWeight JudgementCutLinkStateWeight;

		private LinkNextMoveStateWeight RegularJudgementCutLinkStateWeight;

		private BossGeneralState stunBossGeneralState;

		private BossGeneralState TeleportToTopBossGeneralState;

		private BossGeneralState TeleportForwardBossGeneralState;

		private BossGeneralState TeleportToBackBossGeneralState;

		private BossGeneralState SlowStartBossGeneralState;

		private BossGeneralState UnsheatheBossGeneralState;

		private BossGeneralState CrossUpBossGeneralState;

		private BossGeneralState triplePokeBossGeneralState;

		private BossGeneralState FooCharmBossGeneralState;

		private BossGeneralState QuickFooBossGeneralState;

		private BossGeneralState DunkBossGeneralState;

		private BossGeneralState CrimsonSlamBossGeneralState;

		private BossGeneralState WindBladeBossGeneralState;

		private BossGeneralState FooFollowUp0BossGeneralState;

		private BossGeneralState FooFollowUp1BossGeneralState;

		private BossGeneralState JudgementCutBossGeneralState;

		private BossGeneralState RegularJudgementCutBossGeneralState;

		private GameObject fireTrail;

		private ConfigEntry<float> EigongAnimatorSpeed;

		private ConfigEntry<float> EigongHPScale;

		public void Awake()
		{
			Log.Init(((BaseUnityPlugin)this).Logger);
			RCGLifeCycle.DontDestroyForever(((Component)this).gameObject);
			harmony = Harmony.CreateAndPatchAll(typeof(EigongPrime).Assembly, (string)null);
			((BaseUnityPlugin)this).Logger.LogInfo((object)"Plugin EigongPrime is loaded!");
			EigongAnimatorSpeed = ((BaseUnityPlugin)this).Config.Bind<float>("General", "EigongSpeed", 1f, "The speed at which Eigong's attacks occur");
			EigongHPScale = ((BaseUnityPlugin)this).Config.Bind<float>("General", "EigongHPScale", 1f, "The scale for Eigong's HP, 1 is regular HP amount");
		}

		public void Update()
		{
			//IL_0000: Unknown result type (might be due to invalid IL or missing references)
			//IL_0005: Unknown result type (might be due to invalid IL or missing references)
			Scene activeScene = SceneManager.GetActiveScene();
			if (((Scene)(ref activeScene)).name == "A11_S0_Boss_YiGung")
			{
				EigongHPChange();
				RecolorSprite();
				GetAttackGameObjects();
				AlterAttacks();
				SingletonBehaviour<MonsterManager>.Instance.ClosetMonster.monsterCore.AnimationSpeed = EigongAnimatorSpeed.Value;
				fireTrail = GameObject.Find("GameLevel/Room/Prefab/EventBinder/General Boss Fight FSM Object Variant/FSM Animator/LogicRoot/---Boss---/Boss_Yi Gung/MonsterCore/Animator(Proxy)/Animator/LogicRoot/Phase1 Activator/FireFX _ Fxplayer");
				if ((Object)(object)SingletonBehaviour<MonsterManager>.Instance.ClosetMonster.currentMonsterState == (Object)(object)TeleportForwardBossGeneralState && SingletonBehaviour<MonsterManager>.Instance.ClosetMonster.PhaseIndex != 0)
				{
					fireTrail.SetActive(false);
				}
				else
				{
					fireTrail.SetActive(true);
				}
			}
			else
			{
				dontspamstuffwow = 0;
			}
		}

		private void EigongHPChange()
		{
			AccessTools.FieldRefAccess<MonsterStat, float>("BaseHealthValue").Invoke(SingletonBehaviour<MonsterManager>.Instance.ClosetMonster.monsterStat) = 8000f * EigongHPScale.Value;
			if (dontspamstuffwow == 0 && (Object)(object)SingletonBehaviour<MonsterManager>.Instance.ClosetMonster != (Object)null)
			{
				SingletonBehaviour<MonsterManager>.Instance.ClosetMonster.postureSystem.CurrentHealthValue = 8000f * EigongHPScale.Value;
				if (EigongHPScale.Value != 1f)
				{
					ToastManager.Toast((object)$"Eigong's base HP changed to {8000f * EigongHPScale.Value}");
				}
				dontspamstuffwow++;
			}
			SingletonBehaviour<MonsterManager>.Instance.ClosetMonster.monsterStat.Phase2HealthRatio = 2f;
			SingletonBehaviour<MonsterManager>.Instance.ClosetMonster.monsterStat.Phase3HealthRatio = 1.5f;
		}

		public void AlterAttacks()
		{
			//IL_0002: Unknown result type (might be due to invalid IL or missing references)
			//IL_001f: Unknown result type (might be due to invalid IL or missing references)
			//IL_003c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0059: Unknown result type (might be due to invalid IL or missing references)
			//IL_0076: Unknown result type (might be due to invalid IL or missing references)
			//IL_0093: Unknown result type (might be due to invalid IL or missing references)
			//IL_00b0: Unknown result type (might be due to invalid IL or missing references)
			//IL_00cd: Unknown result type (might be due to invalid IL or missing references)
			//IL_00ea: Unknown result type (might be due to invalid IL or missing references)
			//IL_0107: Unknown result type (might be due to invalid IL or missing references)
			//IL_0124: Unknown result type (might be due to invalid IL or missing references)
			//IL_0141: Unknown result type (might be due to invalid IL or missing references)
			//IL_015e: Unknown result type (might be due to invalid IL or missing references)
			//IL_017b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0198: Unknown result type (might be due to invalid IL or missing references)
			//IL_01b5: Unknown result type (might be due to invalid IL or missing references)
			//IL_01e7: Unknown result type (might be due to invalid IL or missing references)
			//IL_01e8: Unknown result type (might be due to invalid IL or missing references)
			//IL_01ef: Unknown result type (might be due to invalid IL or missing references)
			//IL_01f0: Unknown result type (might be due to invalid IL or missing references)
			//IL_01f7: Unknown result type (might be due to invalid IL or missing references)
			//IL_01f9: Unknown result type (might be due to invalid IL or missing references)
			//IL_0213: Unknown result type (might be due to invalid IL or missing references)
			//IL_0215: Unknown result type (might be due to invalid IL or missing references)
			//IL_021c: Unknown result type (might be due to invalid IL or missing references)
			//IL_021d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0224: Unknown result type (might be due to invalid IL or missing references)
			//IL_0226: Unknown result type (might be due to invalid IL or missing references)
			//IL_022d: Unknown result type (might be due to invalid IL or missing references)
			//IL_022f: 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_0237: Unknown result type (might be due to invalid IL or missing references)
			//IL_0251: Unknown result type (might be due to invalid IL or missing references)
			//IL_0253: Unknown result type (might be due to invalid IL or missing references)
			//IL_025a: Unknown result type (might be due to invalid IL or missing references)
			//IL_025c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0263: Unknown result type (might be due to invalid IL or missing references)
			//IL_0264: Unknown result type (might be due to invalid IL or missing references)
			//IL_027e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0280: Unknown result type (might be due to invalid IL or missing references)
			//IL_0287: Unknown result type (might be due to invalid IL or missing references)
			//IL_0289: Unknown result type (might be due to invalid IL or missing references)
			//IL_0290: Unknown result type (might be due to invalid IL or missing references)
			//IL_0291: 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_02ad: Unknown result type (might be due to invalid IL or missing references)
			//IL_02b4: Unknown result type (might be due to invalid IL or missing references)
			//IL_02b6: Unknown result type (might be due to invalid IL or missing references)
			//IL_02bd: Unknown result type (might be due to invalid IL or missing references)
			//IL_02bf: Unknown result type (might be due to invalid IL or missing references)
			//IL_02d9: Unknown result type (might be due to invalid IL or missing references)
			//IL_02db: 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)
			//IL_02e4: Unknown result type (might be due to invalid IL or missing references)
			//IL_02eb: Unknown result type (might be due to invalid IL or missing references)
			//IL_02ec: Unknown result type (might be due to invalid IL or missing references)
			//IL_0306: Unknown result type (might be due to invalid IL or missing references)
			//IL_0308: Unknown result type (might be due to invalid IL or missing references)
			//IL_030f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0311: Unknown result type (might be due to invalid IL or missing references)
			//IL_0318: Unknown result type (might be due to invalid IL or missing references)
			//IL_031a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0321: Unknown result type (might be due to invalid IL or missing references)
			//IL_0322: Unknown result type (might be due to invalid IL or missing references)
			//IL_0329: Unknown result type (might be due to invalid IL or missing references)
			//IL_032b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0332: Unknown result type (might be due to invalid IL or missing references)
			//IL_0333: Unknown result type (might be due to invalid IL or missing references)
			//IL_033a: Unknown result type (might be due to invalid IL or missing references)
			//IL_033b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0355: Unknown result type (might be due to invalid IL or missing references)
			//IL_0357: Unknown result type (might be due to invalid IL or missing references)
			//IL_035e: Unknown result type (might be due to invalid IL or missing references)
			//IL_035f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0366: Unknown result type (might be due to invalid IL or missing references)
			//IL_0368: Unknown result type (might be due to invalid IL or missing references)
			//IL_036f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0371: Unknown result type (might be due to invalid IL or missing references)
			//IL_038b: Unknown result type (might be due to invalid IL or missing references)
			//IL_038c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0393: 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_039c: Unknown result type (might be due to invalid IL or missing references)
			//IL_039e: Unknown result type (might be due to invalid IL or missing references)
			//IL_03b8: Unknown result type (might be due to invalid IL or missing references)
			//IL_03ba: Unknown result type (might be due to invalid IL or missing references)
			//IL_03c1: Unknown result type (might be due to invalid IL or missing references)
			//IL_03c2: Unknown result type (might be due to invalid IL or missing references)
			//IL_03c9: Unknown result type (might be due to invalid IL or missing references)
			//IL_03cb: Unknown result type (might be due to invalid IL or missing references)
			//IL_03d2: Unknown result type (might be due to invalid IL or missing references)
			//IL_03d4: Unknown result type (might be due to invalid IL or missing references)
			//IL_03db: Unknown result type (might be due to invalid IL or missing references)
			//IL_03dc: Unknown result type (might be due to invalid IL or missing references)
			//IL_03f6: Unknown result type (might be due to invalid IL or missing references)
			//IL_03f8: Unknown result type (might be due to invalid IL or missing references)
			//IL_03ff: Unknown result type (might be due to invalid IL or missing references)
			//IL_0401: Unknown result type (might be due to invalid IL or missing references)
			//IL_0408: Unknown result type (might be due to invalid IL or missing references)
			//IL_040a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0411: Unknown result type (might be due to invalid IL or missing references)
			//IL_0413: Unknown result type (might be due to invalid IL or missing references)
			//IL_041a: Unknown result type (might be due to invalid IL or missing references)
			//IL_041b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0422: Unknown result type (might be due to invalid IL or missing references)
			//IL_0423: Unknown result type (might be due to invalid IL or missing references)
			//IL_043d: Unknown result type (might be due to invalid IL or missing references)
			//IL_043f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0446: Unknown result type (might be due to invalid IL or missing references)
			//IL_0447: Unknown result type (might be due to invalid IL or missing references)
			//IL_044e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0450: Unknown result type (might be due to invalid IL or missing references)
			//IL_0457: Unknown result type (might be due to invalid IL or missing references)
			//IL_0459: Unknown result type (might be due to invalid IL or missing references)
			//IL_0460: Unknown result type (might be due to invalid IL or missing references)
			//IL_0461: Unknown result type (might be due to invalid IL or missing references)
			//IL_0468: Unknown result type (might be due to invalid IL or missing references)
			//IL_046a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0471: Unknown result type (might be due to invalid IL or missing references)
			//IL_0473: Unknown result type (might be due to invalid IL or missing references)
			//IL_047a: Unknown result type (might be due to invalid IL or missing references)
			//IL_047c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0496: Unknown result type (might be due to invalid IL or missing references)
			//IL_0498: Unknown result type (might be due to invalid IL or missing references)
			//IL_049f: Unknown result type (might be due to invalid IL or missing references)
			//IL_04a1: Unknown result type (might be due to invalid IL or missing references)
			//IL_04a8: Unknown result type (might be due to invalid IL or missing references)
			//IL_04a9: Unknown result type (might be due to invalid IL or missing references)
			//IL_04b0: Unknown result type (might be due to invalid IL or missing references)
			//IL_04b2: Unknown result type (might be due to invalid IL or missing references)
			//IL_04b9: Unknown result type (might be due to invalid IL or missing references)
			//IL_04bb: Unknown result type (might be due to invalid IL or missing references)
			//IL_04d5: Unknown result type (might be due to invalid IL or missing references)
			//IL_04d7: Unknown result type (might be due to invalid IL or missing references)
			//IL_04de: Unknown result type (might be due to invalid IL or missing references)
			//IL_04e0: Unknown result type (might be due to invalid IL or missing references)
			//IL_04e7: Unknown result type (might be due to invalid IL or missing references)
			//IL_04e8: Unknown result type (might be due to invalid IL or missing references)
			//IL_04ef: Unknown result type (might be due to invalid IL or missing references)
			//IL_04f1: Unknown result type (might be due to invalid IL or missing references)
			//IL_04f8: Unknown result type (might be due to invalid IL or missing references)
			//IL_04fa: Unknown result type (might be due to invalid IL or missing references)
			//IL_0514: Unknown result type (might be due to invalid IL or missing references)
			//IL_0516: Unknown result type (might be due to invalid IL or missing references)
			//IL_051d: Unknown result type (might be due to invalid IL or missing references)
			//IL_051f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0526: Unknown result type (might be due to invalid IL or missing references)
			//IL_0527: Unknown result type (might be due to invalid IL or missing references)
			//IL_052e: Unknown result type (might be due to invalid IL or missing references)
			//IL_052f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0536: Unknown result type (might be due to invalid IL or missing references)
			//IL_0538: Unknown result type (might be due to invalid IL or missing references)
			//IL_0553: Unknown result type (might be due to invalid IL or missing references)
			//IL_0555: Unknown result type (might be due to invalid IL or missing references)
			//IL_055c: Unknown result type (might be due to invalid IL or missing references)
			//IL_055e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0565: Unknown result type (might be due to invalid IL or missing references)
			//IL_0566: Unknown result type (might be due to invalid IL or missing references)
			//IL_056d: Unknown result type (might be due to invalid IL or missing references)
			//IL_056f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0576: Unknown result type (might be due to invalid IL or missing references)
			//IL_0577: Unknown result type (might be due to invalid IL or missing references)
			//IL_057e: Unknown result type (might be due to invalid IL or missing references)
			//IL_057f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0586: Unknown result type (might be due to invalid IL or missing references)
			//IL_0588: Unknown result type (might be due to invalid IL or missing references)
			//IL_058f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0591: Unknown result type (might be due to invalid IL or missing references)
			//IL_0598: Unknown result type (might be due to invalid IL or missing references)
			//IL_059a: Unknown result type (might be due to invalid IL or missing references)
			//IL_05b4: Unknown result type (might be due to invalid IL or missing references)
			//IL_05b5: Unknown result type (might be due to invalid IL or missing references)
			//IL_05bc: Unknown result type (might be due to invalid IL or missing references)
			//IL_05be: Unknown result type (might be due to invalid IL or missing references)
			//IL_05c5: Unknown result type (might be due to invalid IL or missing references)
			//IL_05c7: Unknown result type (might be due to invalid IL or missing references)
			//IL_05ce: Unknown result type (might be due to invalid IL or missing references)
			//IL_05d0: Unknown result type (might be due to invalid IL or missing references)
			//IL_05d7: Unknown result type (might be due to invalid IL or missing references)
			//IL_05d9: Unknown result type (might be due to invalid IL or missing references)
			//IL_05f3: Unknown result type (might be due to invalid IL or missing references)
			//IL_05f5: Unknown result type (might be due to invalid IL or missing references)
			//IL_05fc: Unknown result type (might be due to invalid IL or missing references)
			//IL_05fd: Unknown result type (might be due to invalid IL or missing references)
			//IL_0604: Unknown result type (might be due to invalid IL or missing references)
			//IL_0606: Unknown result type (might be due to invalid IL or missing references)
			//IL_060d: Unknown result type (might be due to invalid IL or missing references)
			//IL_060f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0616: Unknown result type (might be due to invalid IL or missing references)
			//IL_0618: Unknown result type (might be due to invalid IL or missing references)
			//IL_061f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0621: Unknown result type (might be due to invalid IL or missing references)
			//IL_0628: Unknown result type (might be due to invalid IL or missing references)
			//IL_062a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0644: Unknown result type (might be due to invalid IL or missing references)
			//IL_0646: Unknown result type (might be due to invalid IL or missing references)
			//IL_064d: Unknown result type (might be due to invalid IL or missing references)
			//IL_064e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0668: Unknown result type (might be due to invalid IL or missing references)
			//IL_066a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0671: Unknown result type (might be due to invalid IL or missing references)
			//IL_0672: Unknown result type (might be due to invalid IL or missing references)
			//IL_0679: Unknown result type (might be due to invalid IL or missing references)
			//IL_067b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0682: Unknown result type (might be due to invalid IL or missing references)
			//IL_0684: Unknown result type (might be due to invalid IL or missing references)
			//IL_068b: Unknown result type (might be due to invalid IL or missing references)
			//IL_068d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0694: Unknown result type (might be due to invalid IL or missing references)
			//IL_0695: Unknown result type (might be due to invalid IL or missing references)
			//IL_069c: Unknown result type (might be due to invalid IL or missing references)
			//IL_069d: Unknown result type (might be due to invalid IL or missing references)
			//IL_06b7: Unknown result type (might be due to invalid IL or missing references)
			//IL_06b9: Unknown result type (might be due to invalid IL or missing references)
			//IL_06c0: Unknown result type (might be due to invalid IL or missing references)
			//IL_06c1: Unknown result type (might be due to invalid IL or missing references)
			//IL_06c8: Unknown result type (might be due to invalid IL or missing references)
			//IL_06ca: Unknown result type (might be due to invalid IL or missing references)
			//IL_06d1: Unknown result type (might be due to invalid IL or missing references)
			//IL_06d3: Unknown result type (might be due to invalid IL or missing references)
			//IL_06da: Unknown result type (might be due to invalid IL or missing references)
			//IL_06db: Unknown result type (might be due to invalid IL or missing references)
			//IL_06f5: Unknown result type (might be due to invalid IL or missing references)
			//IL_06f7: Unknown result type (might be due to invalid IL or missing references)
			//IL_06fe: Unknown result type (might be due to invalid IL or missing references)
			//IL_0700: Unknown result type (might be due to invalid IL or missing references)
			//IL_0707: Unknown result type (might be due to invalid IL or missing references)
			//IL_0708: Unknown result type (might be due to invalid IL or missing references)
			//IL_0722: Unknown result type (might be due to invalid IL or missing references)
			//IL_0724: Unknown result type (might be due to invalid IL or missing references)
			//IL_072b: Unknown result type (might be due to invalid IL or missing references)
			//IL_072c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0733: Unknown result type (might be due to invalid IL or missing references)
			//IL_0734: Unknown result type (might be due to invalid IL or missing references)
			//IL_074e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0750: Unknown result type (might be due to invalid IL or missing references)
			//IL_0757: Unknown result type (might be due to invalid IL or missing references)
			//IL_0758: Unknown result type (might be due to invalid IL or missing references)
			//IL_075f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0761: Unknown result type (might be due to invalid IL or missing references)
			//IL_0768: Unknown result type (might be due to invalid IL or missing references)
			//IL_076a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0771: Unknown result type (might be due to invalid IL or missing references)
			//IL_0773: Unknown result type (might be due to invalid IL or missing references)
			//IL_077a: Unknown result type (might be due to invalid IL or missing references)
			//IL_077b: 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_0797: 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_079f: Unknown result type (might be due to invalid IL or missing references)
			//IL_07a6: Unknown result type (might be due to invalid IL or missing references)
			//IL_07a8: Unknown result type (might be due to invalid IL or missing references)
			//IL_07af: Unknown result type (might be due to invalid IL or missing references)
			//IL_07b1: Unknown result type (might be due to invalid IL or missing references)
			//IL_07b8: Unknown result type (might be due to invalid IL or missing references)
			//IL_07ba: Unknown result type (might be due to invalid IL or missing references)
			//IL_07c1: Unknown result type (might be due to invalid IL or missing references)
			//IL_07c3: Unknown result type (might be due to invalid IL or missing references)
			//IL_07dd: Unknown result type (might be due to invalid IL or missing references)
			//IL_07df: Unknown result type (might be due to invalid IL or missing references)
			//IL_07e6: Unknown result type (might be due to invalid IL or missing references)
			//IL_07e7: 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_07f0: 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_07f9: Unknown result type (might be due to invalid IL or missing references)
			//IL_0800: Unknown result type (might be due to invalid IL or missing references)
			//IL_0802: Unknown result type (might be due to invalid IL or missing references)
			//IL_0809: 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_0847: Unknown result type (might be due to invalid IL or missing references)
			//IL_084c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0855: Unknown result type (might be due to invalid IL or missing references)
			//IL_0865: Unknown result type (might be due to invalid IL or missing references)
			//IL_0877: Unknown result type (might be due to invalid IL or missing references)
			AttackWeight val = default(AttackWeight);
			val.state = (MonsterState)(object)TeleportToTopBossGeneralState;
			val.weight = 1;
			AttackWeight val2 = default(AttackWeight);
			val2.state = (MonsterState)(object)TeleportToBackBossGeneralState;
			val2.weight = 1;
			AttackWeight val3 = default(AttackWeight);
			val3.state = (MonsterState)(object)TeleportForwardBossGeneralState;
			val3.weight = 1;
			AttackWeight val4 = default(AttackWeight);
			val4.state = (MonsterState)(object)SlowStartBossGeneralState;
			val4.weight = 1;
			AttackWeight val5 = default(AttackWeight);
			val5.state = (MonsterState)(object)CrossUpBossGeneralState;
			val5.weight = 1;
			AttackWeight val6 = default(AttackWeight);
			val6.state = (MonsterState)(object)triplePokeBossGeneralState;
			val6.weight = 1;
			AttackWeight val7 = default(AttackWeight);
			val7.state = (MonsterState)(object)CrimsonSlamBossGeneralState;
			val7.weight = 1;
			AttackWeight val8 = default(AttackWeight);
			val8.state = (MonsterState)(object)UnsheatheBossGeneralState;
			val8.weight = 1;
			AttackWeight val9 = default(AttackWeight);
			val9.state = (MonsterState)(object)FooCharmBossGeneralState;
			val9.weight = 1;
			AttackWeight val10 = default(AttackWeight);
			val10.state = (MonsterState)(object)QuickFooBossGeneralState;
			val10.weight = 1;
			AttackWeight val11 = default(AttackWeight);
			val11.state = (MonsterState)(object)DunkBossGeneralState;
			val11.weight = 1;
			AttackWeight val12 = default(AttackWeight);
			val12.state = (MonsterState)(object)WindBladeBossGeneralState;
			val12.weight = 1;
			AttackWeight val13 = default(AttackWeight);
			val13.state = (MonsterState)(object)FooFollowUp0BossGeneralState;
			val13.weight = 1;
			AttackWeight val14 = default(AttackWeight);
			val14.state = (MonsterState)(object)FooFollowUp1BossGeneralState;
			val14.weight = 1;
			AttackWeight val15 = default(AttackWeight);
			val15.state = (MonsterState)(object)JudgementCutBossGeneralState;
			val15.weight = 1;
			AttackWeight val16 = default(AttackWeight);
			val16.state = (MonsterState)(object)RegularJudgementCutBossGeneralState;
			val16.weight = 1;
			Dictionary<LinkNextMoveStateWeight, AttackWeight[]> dictionary = new Dictionary<LinkNextMoveStateWeight, AttackWeight[]>();
			dictionary.Add(StunLinkStateWeight, (AttackWeight[])(object)new AttackWeight[3] { val2, val, val8 });
			dictionary.Add(TeleportToBackLinkStateWeight, (AttackWeight[])(object)new AttackWeight[5] { val8, val4, val5, val6, val });
			dictionary.Add(TeleportForwardLinkStateWeight, (AttackWeight[])(object)new AttackWeight[3] { val5, val6, val2 });
			dictionary.Add(SlowStartLinkStateWeight, (AttackWeight[])(object)new AttackWeight[3] { val9, val8, val });
			dictionary.Add(PokeLinkStateWeight, (AttackWeight[])(object)new AttackWeight[3] { val9, val13, val14 });
			dictionary.Add(CrossUpLinkStateWeight, (AttackWeight[])(object)new AttackWeight[3] { val8, val9, val3 });
			dictionary.Add(CrimsonSlamLinkStateWeight, (AttackWeight[])(object)new AttackWeight[7] { val5, val6, val9, val, val11, val2, val3 });
			dictionary.Add(UnsheatheLinkStateWeight, (AttackWeight[])(object)new AttackWeight[4] { val8, val, val6, val5 });
			dictionary.Add(DunkLinkStateWeight, (AttackWeight[])(object)new AttackWeight[3] { val, val8, val5 });
			dictionary.Add(StunPhase2LinkStateWeight, (AttackWeight[])(object)new AttackWeight[5] { val10, val, val13, val14, val2 });
			dictionary.Add(PokePhase2LinkStateWeight, (AttackWeight[])(object)new AttackWeight[6] { val6, val14, val13, val9, val4, val2 });
			dictionary.Add(TeleportToBackPhase2LinkStateWeight, (AttackWeight[])(object)new AttackWeight[8] { val8, val4, val5, val6, val, val12, val13, val14 });
			dictionary.Add(TeleportForwardPhase2LinkStateWeight, (AttackWeight[])(object)new AttackWeight[5] { val5, val6, val4, val13, val14 });
			dictionary.Add(SlowStartPhase2LinkStateWeight, (AttackWeight[])(object)new AttackWeight[5] { val9, val8, val, val13, val14 });
			dictionary.Add(CrossUpPhase2LinkStateWeight, (AttackWeight[])(object)new AttackWeight[5] { val8, val9, val2, val3, val14 });
			dictionary.Add(CrimsonSlamPhase2LinkStateWeight, (AttackWeight[])(object)new AttackWeight[9] { val5, val6, val, val11, val2, val3, val13, val14, val12 });
			dictionary.Add(FooFollowUp1LinkStateWeight, (AttackWeight[])(object)new AttackWeight[5] { val, val8, val10, val13, val14 });
			dictionary.Add(UnsheathePhase2LinkStateWeight, (AttackWeight[])(object)new AttackWeight[7] { val8, val, val11, val6, val5, val13, val14 });
			dictionary.Add(WindBladeLinkStateWeight, (AttackWeight[])(object)new AttackWeight[2] { val10, val2 });
			dictionary.Add(StunPhase3LinkStateWeight, (AttackWeight[])(object)new AttackWeight[7] { val10, val, val13, val14, val12, val3, val2 });
			dictionary.Add(TeleportToBackPhase3LinkStateWeight, (AttackWeight[])(object)new AttackWeight[5] { val8, val4, val5, val6, val });
			dictionary.Add(TeleportForwardPhase3LinkStateWeight, (AttackWeight[])(object)new AttackWeight[3] { val5, val6, val4 });
			dictionary.Add(WindBladePhase3LinkStateWeight, (AttackWeight[])(object)new AttackWeight[3] { val10, val2, val3 });
			dictionary.Add(UnsheathePhase3LinkStateWeight, (AttackWeight[])(object)new AttackWeight[6] { val8, val, val11, val6, val5, val4 });
			dictionary.Add(JudgementCutLinkStateWeight, (AttackWeight[])(object)new AttackWeight[6] { val15, val, val5, val11, val13, val14 });
			dictionary.Add(RegularJudgementCutLinkStateWeight, (AttackWeight[])(object)new AttackWeight[6] { val15, val, val5, val11, val13, val14 });
			foreach (KeyValuePair<LinkNextMoveStateWeight, AttackWeight[]> item in dictionary)
			{
				LinkNextMoveStateWeight key = item.Key;
				AttackWeight[] value = item.Value;
				foreach (AttackWeight val17 in value)
				{
					if (!key.stateWeightList.Contains(val17))
					{
						key.stateWeightList.Add(val17);
						((BaseUnityPlugin)this).Logger.LogInfo((object)$"Added {val17.state} to {((Object)((Component)((Component)key).transform.parent).gameObject).name}");
					}
				}
			}
		}

		public void GetAttackGameObjects()
		{
			eigongAttackStatesPath = "GameLevel/Room/Prefab/EventBinder/General Boss Fight FSM Object Variant/FSM Animator/LogicRoot/---Boss---/Boss_Yi Gung/States/Attacks/";
			StunLinkStateWeight = GameObject.Find("GameLevel/Room/Prefab/EventBinder/General Boss Fight FSM Object Variant/FSM Animator/LogicRoot/---Boss---/Boss_Yi Gung/States/AttackParrying/weight").GetComponent<LinkNextMoveStateWeight>();
			StunPhase2LinkStateWeight = GameObject.Find("GameLevel/Room/Prefab/EventBinder/General Boss Fight FSM Object Variant/FSM Animator/LogicRoot/---Boss---/Boss_Yi Gung/States/AttackParrying/weight (1)").GetComponent<LinkNextMoveStateWeight>();
			StunPhase3LinkStateWeight = GameObject.Find("GameLevel/Room/Prefab/EventBinder/General Boss Fight FSM Object Variant/FSM Animator/LogicRoot/---Boss---/Boss_Yi Gung/States/AttackParrying/weight (2)").GetComponent<LinkNextMoveStateWeight>();
			TeleportToTopLinkStateWeight = GameObject.Find(eigongAttackStatesPath + "[2] Teleport To Top/phase (0)").GetComponent<LinkNextMoveStateWeight>();
			TeleportToTopPhase2LinkStateWeight = GameObject.Find(eigongAttackStatesPath + "[2] Teleport To Top/phase (1)").GetComponent<LinkNextMoveStateWeight>();
			TeleportToTopPhase3LinkStateWeight = GameObject.Find(eigongAttackStatesPath + "[2] Teleport To Top/phase (2)").GetComponent<LinkNextMoveStateWeight>();
			TeleportForwardLinkStateWeight = GameObject.Find(eigongAttackStatesPath + "[7] Teleport Dash Forward/weight").GetComponent<LinkNextMoveStateWeight>();
			TeleportForwardPhase2LinkStateWeight = GameObject.Find(eigongAttackStatesPath + "[7] Teleport Dash Forward/weight (1)").GetComponent<LinkNextMoveStateWeight>();
			TeleportForwardPhase3LinkStateWeight = GameObject.Find(eigongAttackStatesPath + "[7] Teleport Dash Forward/weight (2)").GetComponent<LinkNextMoveStateWeight>();
			TeleportToBackLinkStateWeight = GameObject.Find(eigongAttackStatesPath + "[5] Teleport to Back/weight").GetComponent<LinkNextMoveStateWeight>();
			TeleportToBackPhase2LinkStateWeight = GameObject.Find(eigongAttackStatesPath + "[5] Teleport to Back/weight (1)").GetComponent<LinkNextMoveStateWeight>();
			TeleportToBackPhase3LinkStateWeight = GameObject.Find(eigongAttackStatesPath + "[5] Teleport to Back/weight (2)").GetComponent<LinkNextMoveStateWeight>();
			SlowStartLinkStateWeight = GameObject.Find(eigongAttackStatesPath + "[1] Starter  Slow Attack 慢刀前揮/phase (0)").GetComponent<LinkNextMoveStateWeight>();
			PokeLinkStateWeight = GameObject.Find(eigongAttackStatesPath + "[13] Tripple Poke 三連/weight").GetComponent<LinkNextMoveStateWeight>();
			CrossUpLinkStateWeight = GameObject.Find(eigongAttackStatesPath + "[6] Double Attack/LinkMoveGroupingNode2 StarterPose/phase (0)").GetComponent<LinkNextMoveStateWeight>();
			UnsheatheLinkStateWeight = GameObject.Find(eigongAttackStatesPath + "[3] Thrust Delay 一閃/phase (0)").GetComponent<LinkNextMoveStateWeight>();
			FooCharmLinkStateWeight = GameObject.Find(eigongAttackStatesPath + "[10] Danger Foo Grab/interrupt weight").GetComponent<LinkNextMoveStateWeight>();
			CrimsonSlamLinkStateWeight = GameObject.Find(eigongAttackStatesPath + "[17] DownAttack Danger 空中下危/weight").GetComponent<LinkNextMoveStateWeight>();
			DunkLinkStateWeight = GameObject.Find(eigongAttackStatesPath + "[14] FooExplode Smash 下砸紅球/phase0 (1)").GetComponent<LinkNextMoveStateWeight>();
			SlowStartPhase2LinkStateWeight = GameObject.Find(eigongAttackStatesPath + "[1] Starter  Slow Attack 慢刀前揮/phase (1)").GetComponent<LinkNextMoveStateWeight>();
			PokePhase2LinkStateWeight = GameObject.Find(eigongAttackStatesPath + "[13] Tripple Poke 三連/weight (1)").GetComponent<LinkNextMoveStateWeight>();
			CrossUpPhase2LinkStateWeight = GameObject.Find(eigongAttackStatesPath + "[6] Double Attack/LinkMoveGroupingNode2 StarterPose/phase (1)").GetComponent<LinkNextMoveStateWeight>();
			UnsheathePhase2LinkStateWeight = GameObject.Find(eigongAttackStatesPath + "[3] Thrust Delay 一閃/phase (1)").GetComponent<LinkNextMoveStateWeight>();
			FooCharmPhase2LinkStateWeight = GameObject.Find(eigongAttackStatesPath + "[10] Danger Foo Grab/interrupt weight (1)").GetComponent<LinkNextMoveStateWeight>();
			FooFollowUp0LinkStateWeight = GameObject.Find(eigongAttackStatesPath + "[4] Slash Up 上撈下打 大反危/phase (1)").GetComponent<LinkNextMoveStateWeight>();
			FooFollowUp1LinkStateWeight = GameObject.Find(eigongAttackStatesPath + "[12] UpSlash Down Danger/weight (1)").GetComponent<LinkNextMoveStateWeight>();
			CrimsonSlamPhase2LinkStateWeight = GameObject.Find(eigongAttackStatesPath + "[17] DownAttack Danger 空中下危/weight (1)").GetComponent<LinkNextMoveStateWeight>();
			WindBladeLinkStateWeight = GameObject.Find(eigongAttackStatesPath + "[11] GiantChargeWave 紅白白紅/weight (2)").GetComponent<LinkNextMoveStateWeight>();
			FooCharmPhase3LinkStateWeight = GameObject.Find(eigongAttackStatesPath + "[10] Danger Foo Grab/interrupt weight (2)").GetComponent<LinkNextMoveStateWeight>();
			WindBladePhase3LinkStateWeight = GameObject.Find(eigongAttackStatesPath + "[11] GiantChargeWave 紅白白紅/weight (3)").GetComponent<LinkNextMoveStateWeight>();
			UnsheathePhase3LinkStateWeight = GameObject.Find(eigongAttackStatesPath + "[3] Thrust Delay 一閃/phase (2)").GetComponent<LinkNextMoveStateWeight>();
			JudgementCutLinkStateWeight = GameObject.Find(eigongAttackStatesPath + "[19] Thrust Full Screen Slash/LinkMoveGroupingNode Timing 2 Ground/weight (2)").GetComponent<LinkNextMoveStateWeight>();
			RegularJudgementCutLinkStateWeight = GameObject.Find(eigongAttackStatesPath + "[20] TeleportOut/weight (2)").GetComponent<LinkNextMoveStateWeight>();
			stunBossGeneralState = GameObject.Find("GameLevel/Room/Prefab/EventBinder/General Boss Fight FSM Object Variant/FSM Animator/LogicRoot/---Boss---/Boss_Yi Gung/States/AttackParrying").GetComponent<BossGeneralState>();
			TeleportToTopBossGeneralState = GameObject.Find(eigongAttackStatesPath + "[2] Teleport To Top").GetComponent<BossGeneralState>();
			TeleportForwardBossGeneralState = GameObject.Find(eigongAttackStatesPath + "[7] Teleport Dash Forward").GetComponent<BossGeneralState>();
			TeleportToBackBossGeneralState = GameObject.Find(eigongAttackStatesPath + "[5] Teleport to Back").GetComponent<BossGeneralState>();
			SlowStartBossGeneralState = GameObject.Find(eigongAttackStatesPath + "[1] Starter  Slow Attack 慢刀前揮").GetComponent<BossGeneralState>();
			UnsheatheBossGeneralState = GameObject.Find(eigongAttackStatesPath + "[3] Thrust Delay 一閃").GetComponent<BossGeneralState>();
			CrossUpBossGeneralState = GameObject.Find(eigongAttackStatesPath + "[6] Double Attack").GetComponent<BossGeneralState>();
			triplePokeBossGeneralState = GameObject.Find(eigongAttackStatesPath + "[13] Tripple Poke 三連").GetComponent<BossGeneralState>();
			FooCharmBossGeneralState = GameObject.Find(eigongAttackStatesPath + "[10] Danger Foo Grab").GetComponent<BossGeneralState>();
			QuickFooBossGeneralState = GameObject.Find(eigongAttackStatesPath + "[16] QuickFoo").GetComponent<BossGeneralState>();
			DunkBossGeneralState = GameObject.Find(eigongAttackStatesPath + "[14] FooExplode Smash 下砸紅球").GetComponent<BossGeneralState>();
			CrimsonSlamBossGeneralState = GameObject.Find(eigongAttackStatesPath + "[17] DownAttack Danger 空中下危").GetComponent<BossGeneralState>();
			WindBladeBossGeneralState = GameObject.Find(eigongAttackStatesPath + "[8] Long Charge (2階才有").GetComponent<BossGeneralState>();
			FooFollowUp0BossGeneralState = GameObject.Find(eigongAttackStatesPath + "[4] Slash Up 上撈下打 大反危").GetComponent<BossGeneralState>();
			FooFollowUp1BossGeneralState = GameObject.Find(eigongAttackStatesPath + "[12] UpSlash Down Danger").GetComponent<BossGeneralState>();
			JudgementCutBossGeneralState = GameObject.Find(eigongAttackStatesPath + "[19] Thrust Full Screen Slash").GetComponent<BossGeneralState>();
			RegularJudgementCutBossGeneralState = GameObject.Find(eigongAttackStatesPath + "[20] TeleportOut").GetComponent<BossGeneralState>();
			if ((Object)(object)((Component)DunkBossGeneralState).gameObject.GetComponent<LinkMoveExtendProvider>() == (Object)null)
			{
				((Component)DunkBossGeneralState).gameObject.AddComponent<LinkMoveExtendProvider>();
			}
		}

		public void RecolorSprite()
		{
			if (dontspamstuffwow2 == 0)
			{
				eigongSpriteHolder = GameObject.Find("GameLevel/Room/Prefab/EventBinder/General Boss Fight FSM Object Variant/FSM Animator/LogicRoot/---Boss---/Boss_Yi Gung/MonsterCore/Animator(Proxy)/Animator/View/YiGung/Body");
				eigongSpriteHolder.AddComponent<_2dxFX_ColorChange>();
				eigongCurrentHueValue = eigongSpriteHolder.GetComponent<_2dxFX_ColorChange>();
				eigongSwordSpriteHolder = GameObject.Find("GameLevel/Room/Prefab/EventBinder/General Boss Fight FSM Object Variant/FSM Animator/LogicRoot/---Boss---/Boss_Yi Gung/MonsterCore/Animator(Proxy)/Animator/View/YiGung/Weapon/Sword/Sword Sprite");
				eigongSwordSpriteHolder.AddComponent<_2dxFX_ColorChange>();
				eigongSwordCurrentHueValue = eigongSwordSpriteHolder.GetComponent<_2dxFX_ColorChange>();
				eigongFooSpriteHolder = GameObject.Find("GameLevel/Room/Prefab/EventBinder/General Boss Fight FSM Object Variant/FSM Animator/LogicRoot/---Boss---/Boss_Yi Gung/MonsterCore/Animator(Proxy)/Animator/View/YiGung/Weapon/Foo/FooSprite");
				eigongFooSpriteHolder.AddComponent<_2dxFX_ColorChange>();
				eigongFooCurrentHueValue = eigongFooSpriteHolder.GetComponent<_2dxFX_ColorChange>();
				eigongCurrentHueValue._HueShift = 130f;
				eigongSwordCurrentHueValue._HueShift = 250f;
				eigongFooCurrentHueValue._HueShift = 250f;
				dontspamstuffwow2++;
			}
			if (Player.i.health.CurrentHealthValue <= 0f)
			{
				dontspamstuffwow2 = 0;
			}
		}

		public void OnDestroy()
		{
			harmony.UnpatchSelf();
		}
	}
	internal static class Log
	{
		private static ManualLogSource? logSource;

		internal static void Init(ManualLogSource logSource)
		{
			Log.logSource = logSource;
		}

		internal static void Debug(object data)
		{
			ManualLogSource? obj = logSource;
			if (obj != null)
			{
				obj.LogDebug(data);
			}
		}

		internal static void Error(object data)
		{
			ManualLogSource? obj = logSource;
			if (obj != null)
			{
				obj.LogError(data);
			}
		}

		internal static void Fatal(object data)
		{
			ManualLogSource? obj = logSource;
			if (obj != null)
			{
				obj.LogFatal(data);
			}
		}

		internal static void Info(object data)
		{
			ManualLogSource? obj = logSource;
			if (obj != null)
			{
				obj.LogInfo(data);
			}
		}

		internal static void Message(object data)
		{
			ManualLogSource? obj = logSource;
			if (obj != null)
			{
				obj.LogMessage(data);
			}
		}

		internal static void Warning(object data)
		{
			ManualLogSource? obj = logSource;
			if (obj != null)
			{
				obj.LogWarning(data);
			}
		}
	}
	[HarmonyPatch]
	public class Patches
	{
		[HarmonyPatch(typeof(Player), "SetStoryWalk")]
		[HarmonyPrefix]
		private static bool PatchStoryWalk(ref float walkModifier)
		{
			walkModifier = 1f;
			return true;
		}

		[HarmonyPostfix]
		[HarmonyPatch(typeof(LocalizationManager), "GetTranslation")]
		private static void GetInnerEigongTranslation(string Term, ref string __result)
		{
			if (!(Term != "Characters/NameTag_YiKong"))
			{
				__result = "Eigong Prime";
			}
		}
	}
	public static class MyPluginInfo
	{
		public const string PLUGIN_GUID = "EigongPrime";

		public const string PLUGIN_NAME = "EigongPrime";

		public const string PLUGIN_VERSION = "1.0.0";
	}
}