Decompiled source of VoidbringerJiequan v1.0.2

VoidbringerJiequan_v1_0_2.dll

Decompiled a day ago
using System;
using System.Collections;
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.Rendering.PostProcessing;
using UnityEngine.SceneManagement;

[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.1", FrameworkDisplayName = ".NET Standard 2.1")]
[assembly: AssemblyCompany("TormentedJiequan")]
[assembly: AssemblyConfiguration("Debug")]
[assembly: AssemblyDescription("Jiequan, Bringer of Void")]
[assembly: AssemblyFileVersion("1.0.1.0")]
[assembly: AssemblyInformationalVersion("1.0.1+086012ee01cc27ae72d147ced4f592059a7c54cf")]
[assembly: AssemblyProduct("TormentedJiequan")]
[assembly: AssemblyTitle("TormentedJiequan")]
[assembly: AssemblyVersion("1.0.1.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 TormentedJiequan
{
	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
	{
		[HarmonyPrefix]
		[HarmonyPatch(typeof(BossGeneralState), "OnAnimationMove")]
		private static void ChasingAttackEnhancer(ref BossGeneralState __instance, ref Vector3 delta)
		{
			//IL_0001: Unknown result type (might be due to invalid IL or missing references)
			//IL_0006: 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_0029: Invalid comparison between Unknown and I4
			Scene activeScene = SceneManager.GetActiveScene();
			if (((Scene)(ref activeScene)).name == "A5_S5_JieChuanHall")
			{
				if ((int)((MonsterState)__instance).GetStateType() == 137)
				{
					delta.x *= 1.05f;
				}
				else
				{
					delta.x *= 1.2f;
				}
			}
		}

		[HarmonyPrefix]
		[HarmonyPatch(typeof(MonsterBase), "CheckInit")]
		private static void OnMonsterInit(ref MonsterBase __instance)
		{
			//IL_0001: Unknown result type (might be due to invalid IL or missing references)
			//IL_0006: Unknown result type (might be due to invalid IL or missing references)
			Scene activeScene = SceneManager.GetActiveScene();
			if (((Scene)(ref activeScene)).name == "A5_S5_JieChuanHall")
			{
				ApplyNewState(ref __instance);
			}
		}

		private static void ApplyNewState(ref MonsterBase __instance)
		{
			//IL_0024: Unknown result type (might be due to invalid IL or missing references)
			//IL_0040: Unknown result type (might be due to invalid IL or missing references)
			Transform val = ((Component)__instance).transform.Find("States");
			BossPhaseChangeState componentInChildren = ((Component)val).GetComponentInChildren<BossPhaseChangeState>();
			BossPhaseChangeState val2 = Object.Instantiate<BossPhaseChangeState>(componentInChildren, val);
			((MonsterState)val2).exitState = (States)3;
			MonsterStateScriptable val3 = (((MonsterState)val2).stateTypeScriptable = ScriptableObject.CreateInstance<MonsterStateScriptable>());
			val3.overrideStateType = (States)132;
			val3.stateName = ((MonsterState)componentInChildren).BindingAnimation;
			__instance.postureSystem.DieHandleingStates = new List<States>
			{
				(States)131,
				(States)131,
				(States)169,
				(States)110
			};
			__instance.postureSystem.GenerateCurrentDieHandleStacks();
		}

		[HarmonyPostfix]
		[HarmonyPatch(typeof(BossGeneralState), "OnStateEnter")]
		private static void Check(ref BossGeneralState __instance)
		{
			//IL_0001: Unknown result type (might be due to invalid IL or missing references)
			//IL_0006: Unknown result type (might be due to invalid IL or missing references)
			//IL_001c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0023: Invalid comparison between Unknown and I4
			//IL_0054: 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_006f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0076: Invalid comparison between Unknown and I4
			//IL_00e5: 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_0100: Unknown result type (might be due to invalid IL or missing references)
			//IL_010a: Invalid comparison between Unknown and I4
			Scene activeScene = SceneManager.GetActiveScene();
			if (((Scene)(ref activeScene)).name == "A5_S5_JieChuanHall" && (int)((MonsterState)__instance).GetStateType() == 109)
			{
				((MonoBehaviour)TormentedJiequan.Instance).StartCoroutine(TormentedJiequan.StateInterruptCoroutine(0.4f, SingletonBehaviour<MonsterManager>.Instance.ClosetMonster, (States)109, (States)205));
			}
			activeScene = SceneManager.GetActiveScene();
			if (((Scene)(ref activeScene)).name == "A5_S5_JieChuanHall" && (int)((MonsterState)__instance).GetStateType() == 103)
			{
				int num = Random.Range(0, 2);
				if (num == 1)
				{
					((MonoBehaviour)TormentedJiequan.Instance).StartCoroutine(TormentedJiequan.StateInterruptCoroutine(0.3f, SingletonBehaviour<MonsterManager>.Instance.ClosetMonster, (States)103, (States)172));
				}
				else
				{
					((MonoBehaviour)TormentedJiequan.Instance).StartCoroutine(TormentedJiequan.StateInterruptCoroutine(0.3f, SingletonBehaviour<MonsterManager>.Instance.ClosetMonster, (States)103, (States)160));
				}
			}
			activeScene = SceneManager.GetActiveScene();
			if (((Scene)(ref activeScene)).name == "A5_S5_JieChuanHall" && (int)((MonsterState)__instance).GetStateType() == 172)
			{
				((MonoBehaviour)TormentedJiequan.Instance).StartCoroutine(TormentedJiequan.StateInterruptCoroutine(0.2f, SingletonBehaviour<MonsterManager>.Instance.ClosetMonster, (States)172, (States)160));
			}
		}

		[HarmonyPostfix]
		[HarmonyPatch(/*Could not decode attribute arguments.*/)]
		private static void DamageBuff(ref DamageDealer __instance, ref float __result)
		{
			//IL_0001: Unknown result type (might be due to invalid IL or missing references)
			//IL_0006: Unknown result type (might be due to invalid IL or missing references)
			//IL_0038: Unknown result type (might be due to invalid IL or missing references)
			//IL_003f: Invalid comparison between Unknown and I4
			Scene activeScene = SceneManager.GetActiveScene();
			if (!(((Scene)(ref activeScene)).name != "A5_S5_JieChuanHall"))
			{
				float num = __result;
				float num2 = 1.5f;
				float num3 = 8.77f;
				if ((int)SingletonBehaviour<MonsterManager>.Instance.ClosetMonster.CurrentState == 109)
				{
					__result *= num3;
				}
				else
				{
					__result *= num2;
				}
			}
		}

		[HarmonyPostfix]
		[HarmonyPatch(typeof(LocalizationManager), "GetTranslation")]
		private static void TormentedNameChange(string Term, ref string __result)
		{
			if (!(Term != "Characters/NameTag_JieChuan"))
			{
				__result += ", the Bringer of Void";
			}
		}
	}
	public static class PATH_LIST
	{
		public static class BOSS_ROOM
		{
			public const string ROOM_NAME = "A5_S5/Room/EventBinder/General Boss Fight FSM Object_結權/JieChuanRoom/";

			public const string SCENE_NAME = "A5_S5_JieChuanHall";
		}

		public static class STEALTH_GAME_MONSTER
		{
			public const string BOSS_PATH = "A5_S5/Room/EventBinder/General Boss Fight FSM Object_結權/FSM Animator/LogicRoot/---Boss---/BossShowHealthArea/StealthGameMonster_Boss_JieChuan/";

			public const string STATES = "A5_S5/Room/EventBinder/General Boss Fight FSM Object_結權/FSM Animator/LogicRoot/---Boss---/BossShowHealthArea/StealthGameMonster_Boss_JieChuan/States/";

			public const string ATTACKS = "A5_S5/Room/EventBinder/General Boss Fight FSM Object_結權/FSM Animator/LogicRoot/---Boss---/BossShowHealthArea/StealthGameMonster_Boss_JieChuan/States/Attacks/";
		}

		public static class JIEQUAN_STATE
		{
			public const string STAGGER = "A5_S5/Room/EventBinder/General Boss Fight FSM Object_結權/FSM Animator/LogicRoot/---Boss---/BossShowHealthArea/StealthGameMonster_Boss_JieChuan/States/Hurt_BigState";

			public const string SHIELD_BREAK_STAGGER = "A5_S5/Room/EventBinder/General Boss Fight FSM Object_結權/FSM Animator/LogicRoot/---Boss---/BossShowHealthArea/StealthGameMonster_Boss_JieChuan/States/PostureBreak";

			public const string UC_STAGGER = "A5_S5/Room/EventBinder/General Boss Fight FSM Object_結權/FSM Animator/LogicRoot/---Boss---/BossShowHealthArea/StealthGameMonster_Boss_JieChuan/States/AttackParrying";

			public const string PHASE_2_TRANSITION_STATE = "A5_S5/Room/EventBinder/General Boss Fight FSM Object_結權/FSM Animator/LogicRoot/---Boss---/BossShowHealthArea/StealthGameMonster_Boss_JieChuan/States/[BossAngry] BossAngry Phase Change";

			public const string PHASE_3_TRANSITION_STATE = "A5_S5/Room/EventBinder/General Boss Fight FSM Object_結權/FSM Animator/LogicRoot/---Boss---/BossShowHealthArea/StealthGameMonster_Boss_JieChuan/States/[BossAngry] BossAngry Phase Change(Clone)";
		}

		public static class JIEQUAN_ATTACK
		{
			public const string DOUBLE_SLASH = "A5_S5/Room/EventBinder/General Boss Fight FSM Object_結權/FSM Animator/LogicRoot/---Boss---/BossShowHealthArea/StealthGameMonster_Boss_JieChuan/States/Attacks/[1]TrippleSlashAndBack";

			public const string DAGGERS = "A5_S5/Room/EventBinder/General Boss Fight FSM Object_結權/FSM Animator/LogicRoot/---Boss---/BossShowHealthArea/StealthGameMonster_Boss_JieChuan/States/Attacks/[2]Shoot";

			public const string DIAGONAL = "A5_S5/Room/EventBinder/General Boss Fight FSM Object_結權/FSM Animator/LogicRoot/---Boss---/BossShowHealthArea/StealthGameMonster_Boss_JieChuan/States/Attacks/[3]ThrustAttack Through";

			public const string PLUNGE = "A5_S5/Room/EventBinder/General Boss Fight FSM Object_結權/FSM Animator/LogicRoot/---Boss---/BossShowHealthArea/StealthGameMonster_Boss_JieChuan/States/Attacks/[4]FlipJumpAttack";

			public const string CRIMSON_SMASH = "A5_S5/Room/EventBinder/General Boss Fight FSM Object_結權/FSM Animator/LogicRoot/---Boss---/BossShowHealthArea/StealthGameMonster_Boss_JieChuan/States/Attacks/[5]DangerLargeSmash";

			public const string STAB = "A5_S5/Room/EventBinder/General Boss Fight FSM Object_結權/FSM Animator/LogicRoot/---Boss---/BossShowHealthArea/StealthGameMonster_Boss_JieChuan/States/Attacks/[6]BackStab";

			public const string GRENADES = "A5_S5/Room/EventBinder/General Boss Fight FSM Object_結權/FSM Animator/LogicRoot/---Boss---/BossShowHealthArea/StealthGameMonster_Boss_JieChuan/States/Attacks/[7]ThrowGrenade";

			public const string SHIELD = "A5_S5/Room/EventBinder/General Boss Fight FSM Object_結權/FSM Animator/LogicRoot/---Boss---/BossShowHealthArea/StealthGameMonster_Boss_JieChuan/States/Attacks/[8]DrinkPotion";

			public const string TELEPORT = "A5_S5/Room/EventBinder/General Boss Fight FSM Object_結權/FSM Animator/LogicRoot/---Boss---/BossShowHealthArea/StealthGameMonster_Boss_JieChuan/States/Attacks/[9] TeleportToPlayerBack";

			public const string HORIZONTAL_THRUST = "A5_S5/Room/EventBinder/General Boss Fight FSM Object_結權/FSM Animator/LogicRoot/---Boss---/BossShowHealthArea/StealthGameMonster_Boss_JieChuan/States/Attacks/[11] Thurst Interrupt";

			public const string CRIMSON_THRUST = "A5_S5/Room/EventBinder/General Boss Fight FSM Object_結權/FSM Animator/LogicRoot/---Boss---/BossShowHealthArea/StealthGameMonster_Boss_JieChuan/States/Attacks/[12]DangerLargeThrust";

			public const string LINK_REVERSE_STAB = "A5_S5/Room/EventBinder/General Boss Fight FSM Object_結權/FSM Animator/LogicRoot/---Boss---/BossShowHealthArea/StealthGameMonster_Boss_JieChuan/States/Attacks/[14]LinkReverseStab";
		}

		public static class SPEED_MULTIPLIER
		{
			public const float DOUBLE_SLASH_SPEED = 1.7f;

			public const float DAGGERS_SPEED = 1.7f;

			public const float DIAGONAL_SPEED = 1.8f;

			public const float PLUNGE_SPEED = 1.7f;

			public const float CRIMSON_SMASH_SPEED = 1.7f;

			public const float STAB_SPEED = 1.7f;

			public const float GRENADES_SPEED = 1.7f;

			public const float SHIELD_SPEED = 2f;

			public const float TELEPORT_SPEED = 3f;

			public const float HORIZONTAL_SPEED = 1.8f;

			public const float CRIMSON_THRUST_SPEED = 1.7f;

			public const float STUN_STATE_SPEED = 2f;

			public const float PHASE_2_TRANSITION_SPEED = 4f;

			public const float PHASE_3_TRANSITION_SPEED = 8f;
		}

		public static class DAMAGE_MULTIPLIER
		{
			public const float UNIVERSAL = 1.5f;

			public const float ONESHOT = 8.77f;
		}
	}
	[BepInDependency(/*Could not decode attribute arguments.*/)]
	[BepInPlugin("TormentedJiequan", "TormentedJiequan", "1.0.1")]
	public class TormentedJiequan : BaseUnityPlugin
	{
		[CompilerGenerated]
		private sealed class <StateInterruptCoroutine>d__6 : IEnumerator<object>, IEnumerator, IDisposable
		{
			private int <>1__state;

			private object <>2__current;

			public float duration;

			public MonsterBase monster;

			public States cancelableState;

			public States newState;

			private float <timeElapsed>5__1;

			private int <random>5__2;

			object IEnumerator<object>.Current
			{
				[DebuggerHidden]
				get
				{
					return <>2__current;
				}
			}

			object IEnumerator.Current
			{
				[DebuggerHidden]
				get
				{
					return <>2__current;
				}
			}

			[DebuggerHidden]
			public <StateInterruptCoroutine>d__6(int <>1__state)
			{
				this.<>1__state = <>1__state;
			}

			[DebuggerHidden]
			void IDisposable.Dispose()
			{
				<>1__state = -2;
			}

			private bool MoveNext()
			{
				//IL_004a: Unknown result type (might be due to invalid IL or missing references)
				//IL_0050: Unknown result type (might be due to invalid IL or missing references)
				//IL_00b1: Unknown result type (might be due to invalid IL or missing references)
				//IL_00bb: Invalid comparison between Unknown and I4
				//IL_00c3: Unknown result type (might be due to invalid IL or missing references)
				//IL_00cd: Invalid comparison between Unknown and I4
				//IL_00d5: Unknown result type (might be due to invalid IL or missing references)
				//IL_00df: Invalid comparison between Unknown and I4
				//IL_00e7: Unknown result type (might be due to invalid IL or missing references)
				//IL_00ee: Invalid comparison between Unknown and I4
				//IL_0127: Unknown result type (might be due to invalid IL or missing references)
				switch (<>1__state)
				{
				default:
					return false;
				case 0:
					<>1__state = -1;
					goto IL_0044;
				case 1:
					<>1__state = -1;
					goto IL_0044;
				case 2:
					{
						<>1__state = -1;
						break;
					}
					IL_0044:
					if (monster.CurrentState != cancelableState)
					{
						<>2__current = null;
						<>1__state = 1;
						return true;
					}
					<timeElapsed>5__1 = 0f;
					break;
				}
				if (<timeElapsed>5__1 <= duration)
				{
					<timeElapsed>5__1 += Time.deltaTime;
					<>2__current = null;
					<>1__state = 2;
					return true;
				}
				if ((int)monster.CurrentState == 131 || (int)monster.CurrentState == 132 || (int)monster.CurrentState == 169 || (int)monster.CurrentState == 110)
				{
					return false;
				}
				<random>5__2 = Random.Range(1, 11);
				if (<random>5__2 <= 3)
				{
					monster.ChangeState(monster.GetState(newState));
				}
				return false;
			}

			bool IEnumerator.MoveNext()
			{
				//ILSpy generated this explicit interface implementation from .override directive in MoveNext
				return this.MoveNext();
			}

			[DebuggerHidden]
			void IEnumerator.Reset()
			{
				throw new NotSupportedException();
			}
		}

		[CompilerGenerated]
		private sealed class <WaitForBossAndInit>d__5 : IEnumerator<object>, IEnumerator, IDisposable
		{
			private int <>1__state;

			private object <>2__current;

			object IEnumerator<object>.Current
			{
				[DebuggerHidden]
				get
				{
					return <>2__current;
				}
			}

			object IEnumerator.Current
			{
				[DebuggerHidden]
				get
				{
					return <>2__current;
				}
			}

			[DebuggerHidden]
			public <WaitForBossAndInit>d__5(int <>1__state)
			{
				this.<>1__state = <>1__state;
			}

			[DebuggerHidden]
			void IDisposable.Dispose()
			{
				<>1__state = -2;
			}

			private bool MoveNext()
			{
				switch (<>1__state)
				{
				default:
					return false;
				case 0:
					<>1__state = -1;
					break;
				case 1:
					<>1__state = -1;
					break;
				}
				if (!Object.op_Implicit((Object)(object)SingletonBehaviour<MonsterManager>.Instance) || !Object.op_Implicit((Object)(object)SingletonBehaviour<MonsterManager>.Instance.ClosetMonster))
				{
					<>2__current = null;
					<>1__state = 1;
					return true;
				}
				HealthChanger();
				return false;
			}

			bool IEnumerator.MoveNext()
			{
				//ILSpy generated this explicit interface implementation from .override directive in MoveNext
				return this.MoveNext();
			}

			[DebuggerHidden]
			void IEnumerator.Reset()
			{
				throw new NotSupportedException();
			}
		}

		private Harmony _harmony = null;

		private ConfigEntry<bool> _enableDarkness = null;

		private ConfigEntry<bool> _enableJiequanLight = null;

		private _2dxFX_ColorChange _tj = null;

		private PlayerLight _tjl = null;

		private _2dxFX_ColorChange _weaponA = null;

		private _2dxFX_ColorChange _weaponB = null;

		private _2dxFX_ColorChange _weaponC = null;

		private _2dxFX_ColorChange _weaponD = null;

		private _2dxFX_ColorChange _teleportSmoke = null;

		private _2dxFX_ColorChange _knifething0 = null;

		private _2dxFX_ColorChange _knifething1 = null;

		private _2dxFX_ColorChange _knifething2 = null;

		private LinkNextMoveStateWeight phase2DoubleSlashWeight = null;

		private LinkNextMoveStateWeight phase2DaggersWeight = null;

		private LinkNextMoveStateWeight phase2DiagonalWeight = null;

		private LinkNextMoveStateWeight phase2PlungeWeight = null;

		private LinkNextMoveStateWeight phase2StabWeight = null;

		private LinkNextMoveStateWeight phase2GrenadesWeight = null;

		private LinkNextMoveStateWeight phase2TeleportWeight = null;

		private LinkNextMoveStateWeight phase2HorizontalWeight = null;

		public static TormentedJiequan? Instance { get; private set; }

		private void Awake()
		{
			Log.Init(((BaseUnityPlugin)this).Logger);
			RCGLifeCycle.DontDestroyForever(((Component)this).gameObject);
			_harmony = Harmony.CreateAndPatchAll(typeof(TormentedJiequan).Assembly, (string)null);
			ToastManager.Toast((object)"Plugin TormentedJiequan is loaded!");
			Log.Info("Mod is loaded!");
			SceneManager.sceneLoaded += OnSceneLoaded;
			_enableDarkness = ((BaseUnityPlugin)this).Config.Bind<bool>("Options", "Lights Out!", false, "(REQUIRES RELOADING THE SCENE TO WORK! JUST PRESS <<Retry>> OR LEAVE AND REJOIN JIEQUAN'S FIGHT) Turns off the lights in Jiequan's room. Not recommended for first-time clears.");
			_enableJiequanLight = ((BaseUnityPlugin)this).Config.Bind<bool>("Options", "Jiequan Tracking Light", false, "(REQUIRES RELOADING THE SCENE TO WORK! JUST PRESS <<Retry>> OR LEAVE AND REJOIN JIEQUAN'S FIGHT) Makes a light follow Jiequan around. Highly recommended when used with <<Lights Out!>>");
			Instance = this;
		}

		private static void HealthChanger()
		{
			MonsterBase closetMonster = SingletonBehaviour<MonsterManager>.Instance.ClosetMonster;
			FieldRef<MonsterStat, float> val = AccessTools.FieldRefAccess<MonsterStat, float>("BaseHealthValue");
			val.Invoke(closetMonster.monsterStat) = 6000f;
			closetMonster.monsterStat.Phase2HealthRatio = 1.0666667f;
			closetMonster.monsterStat.Phase3HealthRatio = 1.1333333f;
			closetMonster.monsterStat.BossMemoryHealthScale = 2.5f;
			closetMonster.postureSystem.CurrentHealthValue = 7500f;
		}

		[IteratorStateMachine(typeof(<WaitForBossAndInit>d__5))]
		private static IEnumerator WaitForBossAndInit()
		{
			//yield-return decompiler failed: Unexpected instruction in Iterator.Dispose()
			return new <WaitForBossAndInit>d__5(0);
		}

		[IteratorStateMachine(typeof(<StateInterruptCoroutine>d__6))]
		public static IEnumerator StateInterruptCoroutine(float duration, MonsterBase monster, States cancelableState, States newState)
		{
			//IL_0015: Unknown result type (might be due to invalid IL or missing references)
			//IL_0016: Unknown result type (might be due to invalid IL or missing references)
			//IL_001c: Unknown result type (might be due to invalid IL or missing references)
			//IL_001d: Unknown result type (might be due to invalid IL or missing references)
			//yield-return decompiler failed: Unexpected instruction in Iterator.Dispose()
			return new <StateInterruptCoroutine>d__6(0)
			{
				duration = duration,
				monster = monster,
				cancelableState = cancelableState,
				newState = newState
			};
		}

		private void ColorChanger()
		{
			GameObject val = GameObject.Find("A5_S5/Room/EventBinder/General Boss Fight FSM Object_結權/FSM Animator/LogicRoot/---Boss---/BossShowHealthArea/StealthGameMonster_Boss_JieChuan/MonsterCore/Animator(Proxy)/Animator/Boss_JieChuan");
			_tj = val.AddComponent<_2dxFX_ColorChange>();
			_tjl = GameObject.Find("GameCore(Clone)/RCG LifeCycle/PPlayer/RotateProxy/SpriteHolder/PlayerLightmask").GetComponent<PlayerLight>();
			_tj._Saturation = 0f;
			_tj._ValueBrightness = 0.2f;
			GameObject val2 = GameObject.Find("A5_S5/Room/EventBinder/General Boss Fight FSM Object_結權/FSM Animator/LogicRoot/---Boss---/BossShowHealthArea/StealthGameMonster_Boss_JieChuan/MonsterCore/Animator(Proxy)/Animator/Boss_JieChuan/Weapons/Weapon_A/Weapon");
			GameObject val3 = GameObject.Find("A5_S5/Room/EventBinder/General Boss Fight FSM Object_結權/FSM Animator/LogicRoot/---Boss---/BossShowHealthArea/StealthGameMonster_Boss_JieChuan/MonsterCore/Animator(Proxy)/Animator/Boss_JieChuan/Weapons/Weapon_B/Weapon");
			GameObject val4 = GameObject.Find("A5_S5/Room/EventBinder/General Boss Fight FSM Object_結權/FSM Animator/LogicRoot/---Boss---/BossShowHealthArea/StealthGameMonster_Boss_JieChuan/MonsterCore/Animator(Proxy)/Animator/Boss_JieChuan/Weapons/Weapon_C/Weapon");
			GameObject val5 = GameObject.Find("A5_S5/Room/EventBinder/General Boss Fight FSM Object_結權/FSM Animator/LogicRoot/---Boss---/BossShowHealthArea/StealthGameMonster_Boss_JieChuan/MonsterCore/Animator(Proxy)/Animator/Boss_JieChuan/Weapons/Weapon_D/Weapon");
			GameObject val6 = GameObject.Find("A5_S5/Room/EventBinder/General Boss Fight FSM Object_結權/FSM Animator/LogicRoot/---Boss---/BossShowHealthArea/StealthGameMonster_Boss_JieChuan/MonsterCore/Animator(Proxy)/Animator/Boss_JieChuan/Effect/TeleportSmoke/Effect_TeleportSmoke");
			GameObject val7 = GameObject.Find("A5_S5/Room/EventBinder/General Boss Fight FSM Object_結權/FSM Animator/LogicRoot/---Boss---/BossShowHealthArea/StealthGameMonster_Boss_JieChuan/MonsterCore/Animator(Proxy)/Animator/LogicRoot/Circle Shooter/Flying Weapon Path/View/Bullet/BulletSprite");
			GameObject val8 = GameObject.Find("A5_S5/Room/EventBinder/General Boss Fight FSM Object_結權/FSM Animator/LogicRoot/---Boss---/BossShowHealthArea/StealthGameMonster_Boss_JieChuan/MonsterCore/Animator(Proxy)/Animator/LogicRoot/Circle Shooter/Flying Weapon Path (1)/View/Bullet/BulletSprite");
			GameObject val9 = GameObject.Find("A5_S5/Room/EventBinder/General Boss Fight FSM Object_結權/FSM Animator/LogicRoot/---Boss---/BossShowHealthArea/StealthGameMonster_Boss_JieChuan/MonsterCore/Animator(Proxy)/Animator/LogicRoot/Circle Shooter/Flying Weapon Path (2)/View/Bullet/BulletSprite");
			_weaponA = val2.AddComponent<_2dxFX_ColorChange>();
			_weaponB = val3.AddComponent<_2dxFX_ColorChange>();
			_weaponC = val4.AddComponent<_2dxFX_ColorChange>();
			_weaponD = val5.AddComponent<_2dxFX_ColorChange>();
			_teleportSmoke = val6.AddComponent<_2dxFX_ColorChange>();
			_knifething0 = val7.AddComponent<_2dxFX_ColorChange>();
			_knifething1 = val8.AddComponent<_2dxFX_ColorChange>();
			_knifething2 = val9.AddComponent<_2dxFX_ColorChange>();
			_weaponA._Saturation = 0f;
			_weaponB._Saturation = 0f;
			_weaponC._Saturation = 0f;
			_weaponD._Saturation = 0f;
			_teleportSmoke._Saturation = 0f;
			_knifething0._Saturation = 0f;
			_knifething1._Saturation = 0f;
			_knifething2._Saturation = 0f;
			_weaponA._ValueBrightness = 0.95f;
			_weaponB._ValueBrightness = 0.95f;
			_weaponC._ValueBrightness = 0.95f;
			_weaponD._ValueBrightness = 0.95f;
			_teleportSmoke._ValueBrightness = 0.2f;
			_knifething0._ValueBrightness = 0.95f;
			_knifething1._ValueBrightness = 0.95f;
			_knifething2._ValueBrightness = 0.95f;
		}

		private void LightingHandler()
		{
			PostProcessVolume component = GameObject.Find("A5_S5/CameraCore/DockObj/OffsetObj/ShakeObj/SceneCamera/AmplifyLightingSystem/FxCamera").GetComponent<PostProcessVolume>();
			GameObject val = GameObject.Find("A5_S5/Room/EventBinder/General Boss Fight FSM Object_結權/JieChuanRoom/RoomVibe");
			if (_enableDarkness.Value)
			{
				val.SetActive(false);
				component.weight = 0.1f;
			}
			if (_enableJiequanLight.Value)
			{
				Object.Instantiate<GameObject>(((Component)_tjl).gameObject, ((Component)_tj).transform);
			}
			GameObject val2 = GameObject.Find("A5_S5/CameraCore/DockObj/OffsetObj/ShakeObj/SceneCamera/AmplifyLightingSystem/EffectCamera(請開著,Runtime會撈到SceneCamera做)");
			val2.SetActive(false);
		}

		private void Phase3Enabler()
		{
			GameObject val = GameObject.Find("A5_S5/Room/EventBinder/General Boss Fight FSM Object_結權/FSM Animator/LogicRoot/---Boss---/BossShowHealthArea/StealthGameMonster_Boss_JieChuan/States/Attacks/[1]TrippleSlashAndBack");
			phase2DoubleSlashWeight = GameObject.Find("A5_S5/Room/EventBinder/General Boss Fight FSM Object_結權/FSM Animator/LogicRoot/---Boss---/BossShowHealthArea/StealthGameMonster_Boss_JieChuan/States/Attacks/[1]TrippleSlashAndBack/phase2").GetComponent<LinkNextMoveStateWeight>();
			LinkNextMoveStateWeight val2 = Object.Instantiate<LinkNextMoveStateWeight>(phase2DoubleSlashWeight, val.transform);
			((Object)val2).name = "phase3";
			GameObject val3 = GameObject.Find("A5_S5/Room/EventBinder/General Boss Fight FSM Object_結權/FSM Animator/LogicRoot/---Boss---/BossShowHealthArea/StealthGameMonster_Boss_JieChuan/States/Attacks/[2]Shoot");
			phase2DaggersWeight = GameObject.Find("A5_S5/Room/EventBinder/General Boss Fight FSM Object_結權/FSM Animator/LogicRoot/---Boss---/BossShowHealthArea/StealthGameMonster_Boss_JieChuan/States/Attacks/[2]Shoot/phase2").GetComponent<LinkNextMoveStateWeight>();
			LinkNextMoveStateWeight val4 = Object.Instantiate<LinkNextMoveStateWeight>(phase2DaggersWeight, val3.transform);
			((Object)val4).name = "phase3";
			GameObject val5 = GameObject.Find("A5_S5/Room/EventBinder/General Boss Fight FSM Object_結權/FSM Animator/LogicRoot/---Boss---/BossShowHealthArea/StealthGameMonster_Boss_JieChuan/States/Attacks/[3]ThrustAttack Through");
			phase2DiagonalWeight = GameObject.Find("A5_S5/Room/EventBinder/General Boss Fight FSM Object_結權/FSM Animator/LogicRoot/---Boss---/BossShowHealthArea/StealthGameMonster_Boss_JieChuan/States/Attacks/[3]ThrustAttack Through/phase2").GetComponent<LinkNextMoveStateWeight>();
			LinkNextMoveStateWeight val6 = Object.Instantiate<LinkNextMoveStateWeight>(phase2DiagonalWeight, val5.transform);
			((Object)val6).name = "phase3";
			GameObject val7 = GameObject.Find("A5_S5/Room/EventBinder/General Boss Fight FSM Object_結權/FSM Animator/LogicRoot/---Boss---/BossShowHealthArea/StealthGameMonster_Boss_JieChuan/States/Attacks/[4]FlipJumpAttack");
			phase2PlungeWeight = GameObject.Find("A5_S5/Room/EventBinder/General Boss Fight FSM Object_結權/FSM Animator/LogicRoot/---Boss---/BossShowHealthArea/StealthGameMonster_Boss_JieChuan/States/Attacks/[4]FlipJumpAttack/phase2").GetComponent<LinkNextMoveStateWeight>();
			LinkNextMoveStateWeight val8 = Object.Instantiate<LinkNextMoveStateWeight>(phase2PlungeWeight, val7.transform);
			((Object)val8).name = "phase3";
			GameObject val9 = GameObject.Find("A5_S5/Room/EventBinder/General Boss Fight FSM Object_結權/FSM Animator/LogicRoot/---Boss---/BossShowHealthArea/StealthGameMonster_Boss_JieChuan/States/Attacks/[6]BackStab");
			phase2StabWeight = GameObject.Find("A5_S5/Room/EventBinder/General Boss Fight FSM Object_結權/FSM Animator/LogicRoot/---Boss---/BossShowHealthArea/StealthGameMonster_Boss_JieChuan/States/Attacks/[6]BackStab/phase2").GetComponent<LinkNextMoveStateWeight>();
			LinkNextMoveStateWeight val10 = Object.Instantiate<LinkNextMoveStateWeight>(phase2StabWeight, val9.transform);
			((Object)val10).name = "phase3";
			GameObject val11 = GameObject.Find("A5_S5/Room/EventBinder/General Boss Fight FSM Object_結權/FSM Animator/LogicRoot/---Boss---/BossShowHealthArea/StealthGameMonster_Boss_JieChuan/States/Attacks/[7]ThrowGrenade");
			phase2GrenadesWeight = GameObject.Find("A5_S5/Room/EventBinder/General Boss Fight FSM Object_結權/FSM Animator/LogicRoot/---Boss---/BossShowHealthArea/StealthGameMonster_Boss_JieChuan/States/Attacks/[6]BackStab/phase2").GetComponent<LinkNextMoveStateWeight>();
			LinkNextMoveStateWeight val12 = Object.Instantiate<LinkNextMoveStateWeight>(phase2GrenadesWeight, val11.transform);
			((Object)val12).name = "phase3";
			GameObject val13 = GameObject.Find("A5_S5/Room/EventBinder/General Boss Fight FSM Object_結權/FSM Animator/LogicRoot/---Boss---/BossShowHealthArea/StealthGameMonster_Boss_JieChuan/States/Attacks/[9] TeleportToPlayerBack");
			phase2TeleportWeight = GameObject.Find("A5_S5/Room/EventBinder/General Boss Fight FSM Object_結權/FSM Animator/LogicRoot/---Boss---/BossShowHealthArea/StealthGameMonster_Boss_JieChuan/States/Attacks/[9] TeleportToPlayerBack/phase2").GetComponent<LinkNextMoveStateWeight>();
			LinkNextMoveStateWeight val14 = Object.Instantiate<LinkNextMoveStateWeight>(phase2TeleportWeight, val13.transform);
			((Object)val14).name = "phase3";
			GameObject val15 = GameObject.Find("A5_S5/Room/EventBinder/General Boss Fight FSM Object_結權/FSM Animator/LogicRoot/---Boss---/BossShowHealthArea/StealthGameMonster_Boss_JieChuan/States/Attacks/[14]LinkReverseStab");
			phase2HorizontalWeight = GameObject.Find("A5_S5/Room/EventBinder/General Boss Fight FSM Object_結權/FSM Animator/LogicRoot/---Boss---/BossShowHealthArea/StealthGameMonster_Boss_JieChuan/States/Attacks/[14]LinkReverseStab/phase2").GetComponent<LinkNextMoveStateWeight>();
			LinkNextMoveStateWeight val16 = Object.Instantiate<LinkNextMoveStateWeight>(phase2HorizontalWeight, val15.transform);
			((Object)val16).name = "phase3";
		}

		private void WeightChangerP3()
		{
			//IL_002b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0055: Unknown result type (might be due to invalid IL or missing references)
			//IL_005e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0088: Unknown result type (might be due to invalid IL or missing references)
			//IL_0091: Unknown result type (might be due to invalid IL or missing references)
			//IL_00bb: Unknown result type (might be due to invalid IL or missing references)
			//IL_00c4: Unknown result type (might be due to invalid IL or missing references)
			//IL_00ee: Unknown result type (might be due to invalid IL or missing references)
			//IL_00f8: Unknown result type (might be due to invalid IL or missing references)
			//IL_0122: Unknown result type (might be due to invalid IL or missing references)
			//IL_012c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0156: Unknown result type (might be due to invalid IL or missing references)
			//IL_018b: Unknown result type (might be due to invalid IL or missing references)
			//IL_01b6: Unknown result type (might be due to invalid IL or missing references)
			//IL_01c0: Unknown result type (might be due to invalid IL or missing references)
			//IL_01eb: Unknown result type (might be due to invalid IL or missing references)
			//IL_0220: Unknown result type (might be due to invalid IL or missing references)
			//IL_024b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0255: 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_028a: Unknown result type (might be due to invalid IL or missing references)
			//IL_02b5: Unknown result type (might be due to invalid IL or missing references)
			//IL_02d0: Unknown result type (might be due to invalid IL or missing references)
			//IL_02fb: Unknown result type (might be due to invalid IL or missing references)
			//IL_0305: Unknown result type (might be due to invalid IL or missing references)
			//IL_0330: 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_0365: 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_039a: Unknown result type (might be due to invalid IL or missing references)
			//IL_03a4: Unknown result type (might be due to invalid IL or missing references)
			//IL_03cf: Unknown result type (might be due to invalid IL or missing references)
			//IL_0404: Unknown result type (might be due to invalid IL or missing references)
			//IL_042f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0439: Unknown result type (might be due to invalid IL or missing references)
			//IL_0464: Unknown result type (might be due to invalid IL or missing references)
			//IL_046e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0499: Unknown result type (might be due to invalid IL or missing references)
			//IL_04ce: Unknown result type (might be due to invalid IL or missing references)
			//IL_04f9: Unknown result type (might be due to invalid IL or missing references)
			//IL_0503: 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_0538: Unknown result type (might be due to invalid IL or missing references)
			//IL_0563: 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_0598: Unknown result type (might be due to invalid IL or missing references)
			//IL_05c0: Unknown result type (might be due to invalid IL or missing references)
			//IL_05eb: Unknown result type (might be due to invalid IL or missing references)
			//IL_0620: Unknown result type (might be due to invalid IL or missing references)
			//IL_064b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0655: Unknown result type (might be due to invalid IL or missing references)
			//IL_0680: Unknown result type (might be due to invalid IL or missing references)
			LinkNextMoveStateWeight component = GameObject.Find("A5_S5/Room/EventBinder/General Boss Fight FSM Object_結權/FSM Animator/LogicRoot/---Boss---/BossShowHealthArea/StealthGameMonster_Boss_JieChuan/States/Attacks/[1]TrippleSlashAndBack/phase3").GetComponent<LinkNextMoveStateWeight>();
			component.stateWeightList.Clear();
			component.mustUseStates.Clear();
			AttackWeight item = default(AttackWeight);
			item.state = (MonsterState)(object)GameObject.Find("A5_S5/Room/EventBinder/General Boss Fight FSM Object_結權/FSM Animator/LogicRoot/---Boss---/BossShowHealthArea/StealthGameMonster_Boss_JieChuan/States/Attacks/[12]DangerLargeThrust").GetComponent<BossGeneralState>();
			item.weight = 1;
			component.stateWeightList.Add(item);
			AttackWeight item2 = default(AttackWeight);
			item2.state = (MonsterState)(object)GameObject.Find("A5_S5/Room/EventBinder/General Boss Fight FSM Object_結權/FSM Animator/LogicRoot/---Boss---/BossShowHealthArea/StealthGameMonster_Boss_JieChuan/States/Attacks/[3]ThrustAttack Through").GetComponent<BossGeneralState>();
			item2.weight = 1;
			component.stateWeightList.Add(item2);
			AttackWeight item3 = default(AttackWeight);
			item3.state = (MonsterState)(object)GameObject.Find("A5_S5/Room/EventBinder/General Boss Fight FSM Object_結權/FSM Animator/LogicRoot/---Boss---/BossShowHealthArea/StealthGameMonster_Boss_JieChuan/States/Attacks/[9] TeleportToPlayerBack").GetComponent<BossGeneralState>();
			item3.weight = 1;
			component.stateWeightList.Add(item3);
			AttackWeight item4 = default(AttackWeight);
			item4.state = (MonsterState)(object)GameObject.Find("A5_S5/Room/EventBinder/General Boss Fight FSM Object_結權/FSM Animator/LogicRoot/---Boss---/BossShowHealthArea/StealthGameMonster_Boss_JieChuan/States/Attacks/[1]TrippleSlashAndBack").GetComponent<BossGeneralState>();
			item4.weight = 1;
			component.stateWeightList.Add(item4);
			AttackWeight item5 = default(AttackWeight);
			item5.state = (MonsterState)(object)GameObject.Find("A5_S5/Room/EventBinder/General Boss Fight FSM Object_結權/FSM Animator/LogicRoot/---Boss---/BossShowHealthArea/StealthGameMonster_Boss_JieChuan/States/Attacks/[4]FlipJumpAttack").GetComponent<BossGeneralState>();
			item5.weight = 1;
			component.stateWeightList.Add(item5);
			AttackWeight item6 = default(AttackWeight);
			item6.state = (MonsterState)(object)GameObject.Find("A5_S5/Room/EventBinder/General Boss Fight FSM Object_結權/FSM Animator/LogicRoot/---Boss---/BossShowHealthArea/StealthGameMonster_Boss_JieChuan/States/Attacks/[11] Thurst Interrupt").GetComponent<BossGeneralState>();
			item6.weight = 1;
			component.stateWeightList.Add(item6);
			LinkNextMoveStateWeight component2 = GameObject.Find("A5_S5/Room/EventBinder/General Boss Fight FSM Object_結權/FSM Animator/LogicRoot/---Boss---/BossShowHealthArea/StealthGameMonster_Boss_JieChuan/States/Attacks/[6]BackStab/phase3").GetComponent<LinkNextMoveStateWeight>();
			component2.stateWeightList.Clear();
			component2.mustUseStates.Clear();
			AttackWeight item7 = default(AttackWeight);
			item7.state = (MonsterState)(object)GameObject.Find("A5_S5/Room/EventBinder/General Boss Fight FSM Object_結權/FSM Animator/LogicRoot/---Boss---/BossShowHealthArea/StealthGameMonster_Boss_JieChuan/States/Attacks/[11] Thurst Interrupt").GetComponent<BossGeneralState>();
			item7.weight = 1;
			component2.stateWeightList.Add(item7);
			AttackWeight item8 = default(AttackWeight);
			item8.state = (MonsterState)(object)GameObject.Find("A5_S5/Room/EventBinder/General Boss Fight FSM Object_結權/FSM Animator/LogicRoot/---Boss---/BossShowHealthArea/StealthGameMonster_Boss_JieChuan/States/Attacks/[5]DangerLargeSmash").GetComponent<BossGeneralState>();
			item8.weight = 1;
			component2.stateWeightList.Add(item8);
			LinkNextMoveStateWeight component3 = GameObject.Find("A5_S5/Room/EventBinder/General Boss Fight FSM Object_結權/FSM Animator/LogicRoot/---Boss---/BossShowHealthArea/StealthGameMonster_Boss_JieChuan/States/Attacks/[4]FlipJumpAttack/phase3").GetComponent<LinkNextMoveStateWeight>();
			component3.stateWeightList.Clear();
			component3.mustUseStates.Clear();
			AttackWeight item9 = default(AttackWeight);
			item9.state = (MonsterState)(object)GameObject.Find("A5_S5/Room/EventBinder/General Boss Fight FSM Object_結權/FSM Animator/LogicRoot/---Boss---/BossShowHealthArea/StealthGameMonster_Boss_JieChuan/States/Attacks/[6]BackStab").GetComponent<BossGeneralState>();
			item9.weight = 1;
			component3.stateWeightList.Add(item9);
			AttackWeight item10 = default(AttackWeight);
			item10.state = (MonsterState)(object)GameObject.Find("A5_S5/Room/EventBinder/General Boss Fight FSM Object_結權/FSM Animator/LogicRoot/---Boss---/BossShowHealthArea/StealthGameMonster_Boss_JieChuan/States/Attacks/[9] TeleportToPlayerBack").GetComponent<BossGeneralState>();
			item10.weight = 1;
			component3.stateWeightList.Add(item10);
			AttackWeight item11 = default(AttackWeight);
			item11.state = (MonsterState)(object)GameObject.Find("A5_S5/Room/EventBinder/General Boss Fight FSM Object_結權/FSM Animator/LogicRoot/---Boss---/BossShowHealthArea/StealthGameMonster_Boss_JieChuan/States/Attacks/[8]DrinkPotion").GetComponent<BossGeneralState>();
			item11.weight = 1;
			component3.stateWeightList.Add(item11);
			LinkNextMoveStateWeight component4 = GameObject.Find("A5_S5/Room/EventBinder/General Boss Fight FSM Object_結權/FSM Animator/LogicRoot/---Boss---/BossShowHealthArea/StealthGameMonster_Boss_JieChuan/States/Attacks/[9] TeleportToPlayerBack/phase3").GetComponent<LinkNextMoveStateWeight>();
			AttackWeight item12 = default(AttackWeight);
			item12.state = (MonsterState)(object)GameObject.Find("A5_S5/Room/EventBinder/General Boss Fight FSM Object_結權/FSM Animator/LogicRoot/---Boss---/BossShowHealthArea/StealthGameMonster_Boss_JieChuan/States/Attacks/[9] TeleportToPlayerBack").GetComponent<BossGeneralState>();
			item12.weight = 1;
			component4.stateWeightList.Add(item12);
			AttackWeight item13 = default(AttackWeight);
			item13.state = (MonsterState)(object)GameObject.Find("A5_S5/Room/EventBinder/General Boss Fight FSM Object_結權/FSM Animator/LogicRoot/---Boss---/BossShowHealthArea/StealthGameMonster_Boss_JieChuan/States/Attacks/[1]TrippleSlashAndBack").GetComponent<BossGeneralState>();
			item13.weight = 1;
			component4.stateWeightList.Add(item13);
			AttackWeight item14 = default(AttackWeight);
			item14.state = (MonsterState)(object)GameObject.Find("A5_S5/Room/EventBinder/General Boss Fight FSM Object_結權/FSM Animator/LogicRoot/---Boss---/BossShowHealthArea/StealthGameMonster_Boss_JieChuan/States/Attacks/[5]DangerLargeSmash").GetComponent<BossGeneralState>();
			item14.weight = 1;
			component4.stateWeightList.Add(item14);
			AttackWeight item15 = default(AttackWeight);
			item14.state = (MonsterState)(object)GameObject.Find("A5_S5/Room/EventBinder/General Boss Fight FSM Object_結權/FSM Animator/LogicRoot/---Boss---/BossShowHealthArea/StealthGameMonster_Boss_JieChuan/States/Attacks/[12]DangerLargeThrust").GetComponent<BossGeneralState>();
			item14.weight = 1;
			component4.stateWeightList.Add(item15);
			AttackWeight item16 = default(AttackWeight);
			item14.state = (MonsterState)(object)GameObject.Find("A5_S5/Room/EventBinder/General Boss Fight FSM Object_結權/FSM Animator/LogicRoot/---Boss---/BossShowHealthArea/StealthGameMonster_Boss_JieChuan/States/Attacks/[7]ThrowGrenade").GetComponent<BossGeneralState>();
			item14.weight = 1;
			component4.stateWeightList.Add(item16);
			LinkNextMoveStateWeight component5 = GameObject.Find("A5_S5/Room/EventBinder/General Boss Fight FSM Object_結權/FSM Animator/LogicRoot/---Boss---/BossShowHealthArea/StealthGameMonster_Boss_JieChuan/States/Attacks/[3]ThrustAttack Through/phase3").GetComponent<LinkNextMoveStateWeight>();
			component5.stateWeightList.Clear();
			component5.mustUseStates.Clear();
			AttackWeight item17 = default(AttackWeight);
			item17.state = (MonsterState)(object)GameObject.Find("A5_S5/Room/EventBinder/General Boss Fight FSM Object_結權/FSM Animator/LogicRoot/---Boss---/BossShowHealthArea/StealthGameMonster_Boss_JieChuan/States/Attacks/[5]DangerLargeSmash").GetComponent<BossGeneralState>();
			item17.weight = 1;
			component5.stateWeightList.Add(item17);
			AttackWeight item18 = default(AttackWeight);
			item18.state = (MonsterState)(object)GameObject.Find("A5_S5/Room/EventBinder/General Boss Fight FSM Object_結權/FSM Animator/LogicRoot/---Boss---/BossShowHealthArea/StealthGameMonster_Boss_JieChuan/States/Attacks/[5]DangerLargeSmash").GetComponent<BossGeneralState>();
			item18.weight = 1;
			component5.stateWeightList.Add(item18);
			AttackWeight item19 = default(AttackWeight);
			item19.state = (MonsterState)(object)GameObject.Find("A5_S5/Room/EventBinder/General Boss Fight FSM Object_結權/FSM Animator/LogicRoot/---Boss---/BossShowHealthArea/StealthGameMonster_Boss_JieChuan/States/Attacks/[5]DangerLargeSmash").GetComponent<BossGeneralState>();
			item19.weight = 1;
			component5.stateWeightList.Add(item19);
			LinkNextMoveStateWeight component6 = GameObject.Find("A5_S5/Room/EventBinder/General Boss Fight FSM Object_結權/FSM Animator/LogicRoot/---Boss---/BossShowHealthArea/StealthGameMonster_Boss_JieChuan/States/Attacks/[14]LinkReverseStab/phase3").GetComponent<LinkNextMoveStateWeight>();
			component6.stateWeightList.Clear();
			component6.mustUseStates.Clear();
			AttackWeight item20 = default(AttackWeight);
			item20.state = (MonsterState)(object)GameObject.Find("A5_S5/Room/EventBinder/General Boss Fight FSM Object_結權/FSM Animator/LogicRoot/---Boss---/BossShowHealthArea/StealthGameMonster_Boss_JieChuan/States/Attacks/[14]LinkReverseStab").GetComponent<BossGeneralState>();
			item20.weight = 1;
			component6.stateWeightList.Add(item20);
			AttackWeight item21 = default(AttackWeight);
			item21.state = (MonsterState)(object)GameObject.Find("A5_S5/Room/EventBinder/General Boss Fight FSM Object_結權/FSM Animator/LogicRoot/---Boss---/BossShowHealthArea/StealthGameMonster_Boss_JieChuan/States/Attacks/[2]Shoot").GetComponent<BossGeneralState>();
			item21.weight = 1;
			component6.stateWeightList.Add(item21);
			AttackWeight item22 = default(AttackWeight);
			item22.state = (MonsterState)(object)GameObject.Find("A5_S5/Room/EventBinder/General Boss Fight FSM Object_結權/FSM Animator/LogicRoot/---Boss---/BossShowHealthArea/StealthGameMonster_Boss_JieChuan/States/Attacks/[8]DrinkPotion").GetComponent<BossGeneralState>();
			item22.weight = 1;
			component6.stateWeightList.Add(item22);
			AttackWeight item23 = default(AttackWeight);
			item23.state = (MonsterState)(object)GameObject.Find("A5_S5/Room/EventBinder/General Boss Fight FSM Object_結權/FSM Animator/LogicRoot/---Boss---/BossShowHealthArea/StealthGameMonster_Boss_JieChuan/States/Attacks/[5]DangerLargeSmash").GetComponent<BossGeneralState>();
			item23.weight = 1;
			component6.stateWeightList.Add(item23);
			LinkNextMoveStateWeight component7 = GameObject.Find("A5_S5/Room/EventBinder/General Boss Fight FSM Object_結權/FSM Animator/LogicRoot/---Boss---/BossShowHealthArea/StealthGameMonster_Boss_JieChuan/States/Attacks/[7]ThrowGrenade/phase3").GetComponent<LinkNextMoveStateWeight>();
			component7.stateWeightList.Clear();
			AttackWeight item24 = default(AttackWeight);
			item24.state = (MonsterState)(object)GameObject.Find("A5_S5/Room/EventBinder/General Boss Fight FSM Object_結權/FSM Animator/LogicRoot/---Boss---/BossShowHealthArea/StealthGameMonster_Boss_JieChuan/States/Attacks/[2]Shoot").GetComponent<BossGeneralState>();
			item24.weight = 1;
			component7.stateWeightList.Add(item24);
			LinkNextMoveStateWeight component8 = GameObject.Find("A5_S5/Room/EventBinder/General Boss Fight FSM Object_結權/FSM Animator/LogicRoot/---Boss---/BossShowHealthArea/StealthGameMonster_Boss_JieChuan/States/Attacks/[2]Shoot/phase3").GetComponent<LinkNextMoveStateWeight>();
			component8.stateWeightList.Clear();
			component8.mustUseStates.Clear();
			AttackWeight item25 = default(AttackWeight);
			item25.state = (MonsterState)(object)GameObject.Find("A5_S5/Room/EventBinder/General Boss Fight FSM Object_結權/FSM Animator/LogicRoot/---Boss---/BossShowHealthArea/StealthGameMonster_Boss_JieChuan/States/Attacks/[2]Shoot").GetComponent<BossGeneralState>();
			item25.weight = 1;
			component8.stateWeightList.Add(item25);
			AttackWeight item26 = default(AttackWeight);
			item26.state = (MonsterState)(object)GameObject.Find("A5_S5/Room/EventBinder/General Boss Fight FSM Object_結權/FSM Animator/LogicRoot/---Boss---/BossShowHealthArea/StealthGameMonster_Boss_JieChuan/States/Attacks/[1]TrippleSlashAndBack").GetComponent<BossGeneralState>();
			item26.weight = 1;
			component8.stateWeightList.Add(item26);
		}

		private static void JiDecoration()
		{
			GameObject val = GameObject.Find("A5_S5/Room/EventBinder/General Boss Fight FSM Object_結權/JieChuanRoom/DressingSpace/Jee_Chill");
			val.SetActive(true);
			GameObject val2 = GameObject.Find("A5_S5/Room/EventBinder/General Boss Fight FSM Object_結權/JieChuanRoom/DressingSpace/Jee_Chill/Jee/Track_Eye");
			val2.SetActive(false);
		}

		private static void StaggerRemover()
		{
			GameObject val = GameObject.Find("A5_S5/Room/EventBinder/General Boss Fight FSM Object_結權/FSM Animator/LogicRoot/---Boss---/BossShowHealthArea/StealthGameMonster_Boss_JieChuan/States/Hurt_BigState");
			val.SetActive(false);
			GameObject val2 = GameObject.Find("A5_S5/Room/EventBinder/General Boss Fight FSM Object_結權/FSM Animator/LogicRoot/---Boss---/BossShowHealthArea/StealthGameMonster_Boss_JieChuan/States/PostureBreak");
			val2.SetActive(false);
		}

		private static void AttackSpeedChanger()
		{
			BossGeneralState component = GameObject.Find("A5_S5/Room/EventBinder/General Boss Fight FSM Object_結權/FSM Animator/LogicRoot/---Boss---/BossShowHealthArea/StealthGameMonster_Boss_JieChuan/States/AttackParrying").GetComponent<BossGeneralState>();
			if ((Object)(object)component != (Object)null)
			{
				component.AnimationSpeed = 2f;
				component.OverideAnimationSpeed = true;
			}
			BossGeneralState component2 = GameObject.Find("A5_S5/Room/EventBinder/General Boss Fight FSM Object_結權/FSM Animator/LogicRoot/---Boss---/BossShowHealthArea/StealthGameMonster_Boss_JieChuan/States/Attacks/[1]TrippleSlashAndBack").GetComponent<BossGeneralState>();
			component2.AnimationSpeed = 1.7f;
			component2.OverideAnimationSpeed = true;
			BossGeneralState component3 = GameObject.Find("A5_S5/Room/EventBinder/General Boss Fight FSM Object_結權/FSM Animator/LogicRoot/---Boss---/BossShowHealthArea/StealthGameMonster_Boss_JieChuan/States/Attacks/[2]Shoot").GetComponent<BossGeneralState>();
			component3.AnimationSpeed = 1.7f;
			component3.OverideAnimationSpeed = true;
			BossGeneralState component4 = GameObject.Find("A5_S5/Room/EventBinder/General Boss Fight FSM Object_結權/FSM Animator/LogicRoot/---Boss---/BossShowHealthArea/StealthGameMonster_Boss_JieChuan/States/Attacks/[3]ThrustAttack Through").GetComponent<BossGeneralState>();
			component4.AnimationSpeed = 1.8f;
			component4.OverideAnimationSpeed = true;
			BossGeneralState component5 = GameObject.Find("A5_S5/Room/EventBinder/General Boss Fight FSM Object_結權/FSM Animator/LogicRoot/---Boss---/BossShowHealthArea/StealthGameMonster_Boss_JieChuan/States/Attacks/[4]FlipJumpAttack").GetComponent<BossGeneralState>();
			component5.AnimationSpeed = 1.7f;
			component5.OverideAnimationSpeed = true;
			BossGeneralState component6 = GameObject.Find("A5_S5/Room/EventBinder/General Boss Fight FSM Object_結權/FSM Animator/LogicRoot/---Boss---/BossShowHealthArea/StealthGameMonster_Boss_JieChuan/States/Attacks/[5]DangerLargeSmash").GetComponent<BossGeneralState>();
			component6.AnimationSpeed = 1.7f;
			component6.OverideAnimationSpeed = true;
			BossGeneralState component7 = GameObject.Find("A5_S5/Room/EventBinder/General Boss Fight FSM Object_結權/FSM Animator/LogicRoot/---Boss---/BossShowHealthArea/StealthGameMonster_Boss_JieChuan/States/Attacks/[6]BackStab").GetComponent<BossGeneralState>();
			component7.AnimationSpeed = 1.7f;
			component7.OverideAnimationSpeed = true;
			BossGeneralState component8 = GameObject.Find("A5_S5/Room/EventBinder/General Boss Fight FSM Object_結權/FSM Animator/LogicRoot/---Boss---/BossShowHealthArea/StealthGameMonster_Boss_JieChuan/States/Attacks/[7]ThrowGrenade").GetComponent<BossGeneralState>();
			component8.AnimationSpeed = 1.7f;
			component8.OverideAnimationSpeed = true;
			BossGeneralState component9 = GameObject.Find("A5_S5/Room/EventBinder/General Boss Fight FSM Object_結權/FSM Animator/LogicRoot/---Boss---/BossShowHealthArea/StealthGameMonster_Boss_JieChuan/States/Attacks/[8]DrinkPotion").GetComponent<BossGeneralState>();
			component9.AnimationSpeed = 2f;
			component9.OverideAnimationSpeed = true;
			BossGeneralState component10 = GameObject.Find("A5_S5/Room/EventBinder/General Boss Fight FSM Object_結權/FSM Animator/LogicRoot/---Boss---/BossShowHealthArea/StealthGameMonster_Boss_JieChuan/States/Attacks/[9] TeleportToPlayerBack").GetComponent<BossGeneralState>();
			component10.AnimationSpeed = 3f;
			component10.OverideAnimationSpeed = true;
			BossGeneralState component11 = GameObject.Find("A5_S5/Room/EventBinder/General Boss Fight FSM Object_結權/FSM Animator/LogicRoot/---Boss---/BossShowHealthArea/StealthGameMonster_Boss_JieChuan/States/Attacks/[11] Thurst Interrupt").GetComponent<BossGeneralState>();
			component11.AnimationSpeed = 1.8f;
			component11.OverideAnimationSpeed = true;
			BossGeneralState component12 = GameObject.Find("A5_S5/Room/EventBinder/General Boss Fight FSM Object_結權/FSM Animator/LogicRoot/---Boss---/BossShowHealthArea/StealthGameMonster_Boss_JieChuan/States/Attacks/[14]LinkReverseStab").GetComponent<BossGeneralState>();
			component12.AnimationSpeed = 1.8f;
			component12.OverideAnimationSpeed = true;
			BossGeneralState component13 = GameObject.Find("A5_S5/Room/EventBinder/General Boss Fight FSM Object_結權/FSM Animator/LogicRoot/---Boss---/BossShowHealthArea/StealthGameMonster_Boss_JieChuan/States/Attacks/[12]DangerLargeThrust").GetComponent<BossGeneralState>();
			component13.AnimationSpeed = 1.7f;
			component13.OverideAnimationSpeed = true;
		}

		private static void WeightChangerP1()
		{
			//IL_002b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0055: Unknown result type (might be due to invalid IL or missing references)
			//IL_005e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0088: Unknown result type (might be due to invalid IL or missing references)
			//IL_0091: Unknown result type (might be due to invalid IL or missing references)
			//IL_00bb: Unknown result type (might be due to invalid IL or missing references)
			//IL_00c4: Unknown result type (might be due to invalid IL or missing references)
			//IL_00ee: Unknown result type (might be due to invalid IL or missing references)
			//IL_0116: 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_014b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0176: Unknown result type (might be due to invalid IL or missing references)
			//IL_0180: Unknown result type (might be due to invalid IL or missing references)
			//IL_01ab: Unknown result type (might be due to invalid IL or missing references)
			//IL_01d3: Unknown result type (might be due to invalid IL or missing references)
			//IL_01fe: Unknown result type (might be due to invalid IL or missing references)
			//IL_0208: Unknown result type (might be due to invalid IL or missing references)
			//IL_0233: Unknown result type (might be due to invalid IL or missing references)
			//IL_025b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0286: Unknown result type (might be due to invalid IL or missing references)
			//IL_02a1: Unknown result type (might be due to invalid IL or missing references)
			//IL_02cc: Unknown result type (might be due to invalid IL or missing references)
			//IL_02d6: Unknown result type (might be due to invalid IL or missing references)
			//IL_0301: Unknown result type (might be due to invalid IL or missing references)
			//IL_030b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0336: 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_0389: 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_03be: Unknown result type (might be due to invalid IL or missing references)
			//IL_03c8: Unknown result type (might be due to invalid IL or missing references)
			//IL_03f3: 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_0446: 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_047b: Unknown result type (might be due to invalid IL or missing references)
			//IL_04a3: Unknown result type (might be due to invalid IL or missing references)
			//IL_04ce: Unknown result type (might be due to invalid IL or missing references)
			//IL_04d8: Unknown result type (might be due to invalid IL or missing references)
			//IL_0503: Unknown result type (might be due to invalid IL or missing references)
			//IL_050d: 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_0560: Unknown result type (might be due to invalid IL or missing references)
			//IL_058b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0595: Unknown result type (might be due to invalid IL or missing references)
			//IL_05c0: Unknown result type (might be due to invalid IL or missing references)
			//IL_05ca: 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)
			LinkNextMoveStateWeight component = GameObject.Find("A5_S5/Room/EventBinder/General Boss Fight FSM Object_結權/FSM Animator/LogicRoot/---Boss---/BossShowHealthArea/StealthGameMonster_Boss_JieChuan/States/Attacks/[1]TrippleSlashAndBack/phase1").GetComponent<LinkNextMoveStateWeight>();
			component.stateWeightList.Clear();
			component.mustUseStates.Clear();
			AttackWeight item = default(AttackWeight);
			item.state = (MonsterState)(object)GameObject.Find("A5_S5/Room/EventBinder/General Boss Fight FSM Object_結權/FSM Animator/LogicRoot/---Boss---/BossShowHealthArea/StealthGameMonster_Boss_JieChuan/States/Attacks/[12]DangerLargeThrust").GetComponent<BossGeneralState>();
			item.weight = 1;
			component.stateWeightList.Add(item);
			AttackWeight item2 = default(AttackWeight);
			item2.state = (MonsterState)(object)GameObject.Find("A5_S5/Room/EventBinder/General Boss Fight FSM Object_結權/FSM Animator/LogicRoot/---Boss---/BossShowHealthArea/StealthGameMonster_Boss_JieChuan/States/Attacks/[5]DangerLargeSmash").GetComponent<BossGeneralState>();
			item2.weight = 1;
			component.stateWeightList.Add(item2);
			AttackWeight item3 = default(AttackWeight);
			item3.state = (MonsterState)(object)GameObject.Find("A5_S5/Room/EventBinder/General Boss Fight FSM Object_結權/FSM Animator/LogicRoot/---Boss---/BossShowHealthArea/StealthGameMonster_Boss_JieChuan/States/Attacks/[9] TeleportToPlayerBack").GetComponent<BossGeneralState>();
			item3.weight = 1;
			component.stateWeightList.Add(item3);
			AttackWeight item4 = default(AttackWeight);
			item4.state = (MonsterState)(object)GameObject.Find("A5_S5/Room/EventBinder/General Boss Fight FSM Object_結權/FSM Animator/LogicRoot/---Boss---/BossShowHealthArea/StealthGameMonster_Boss_JieChuan/States/Attacks/[1]TrippleSlashAndBack").GetComponent<BossGeneralState>();
			item4.weight = 1;
			component.stateWeightList.Add(item4);
			LinkNextMoveStateWeight component2 = GameObject.Find("A5_S5/Room/EventBinder/General Boss Fight FSM Object_結權/FSM Animator/LogicRoot/---Boss---/BossShowHealthArea/StealthGameMonster_Boss_JieChuan/States/Attacks/[6]BackStab/phase1").GetComponent<LinkNextMoveStateWeight>();
			component2.stateWeightList.Clear();
			AttackWeight item5 = default(AttackWeight);
			item5.state = (MonsterState)(object)GameObject.Find("A5_S5/Room/EventBinder/General Boss Fight FSM Object_結權/FSM Animator/LogicRoot/---Boss---/BossShowHealthArea/StealthGameMonster_Boss_JieChuan/States/Attacks/[4]FlipJumpAttack").GetComponent<BossGeneralState>();
			item5.weight = 1;
			component2.stateWeightList.Add(item5);
			AttackWeight item6 = default(AttackWeight);
			item6.state = (MonsterState)(object)GameObject.Find("A5_S5/Room/EventBinder/General Boss Fight FSM Object_結權/FSM Animator/LogicRoot/---Boss---/BossShowHealthArea/StealthGameMonster_Boss_JieChuan/States/Attacks/[1]TrippleSlashAndBack").GetComponent<BossGeneralState>();
			item6.weight = 1;
			component2.stateWeightList.Add(item6);
			AttackWeight item7 = default(AttackWeight);
			item7.state = (MonsterState)(object)GameObject.Find("A5_S5/Room/EventBinder/General Boss Fight FSM Object_結權/FSM Animator/LogicRoot/---Boss---/BossShowHealthArea/StealthGameMonster_Boss_JieChuan/States/Attacks/[9] TeleportToPlayerBack").GetComponent<BossGeneralState>();
			item7.weight = 1;
			component2.stateWeightList.Add(item7);
			LinkNextMoveStateWeight component3 = GameObject.Find("A5_S5/Room/EventBinder/General Boss Fight FSM Object_結權/FSM Animator/LogicRoot/---Boss---/BossShowHealthArea/StealthGameMonster_Boss_JieChuan/States/Attacks/[12]DangerLargeThrust/weight").GetComponent<LinkNextMoveStateWeight>();
			component3.mustUseStates.Clear();
			AttackWeight item8 = default(AttackWeight);
			item8.state = (MonsterState)(object)GameObject.Find("A5_S5/Room/EventBinder/General Boss Fight FSM Object_結權/FSM Animator/LogicRoot/---Boss---/BossShowHealthArea/StealthGameMonster_Boss_JieChuan/States/Attacks/[4]FlipJumpAttack").GetComponent<BossGeneralState>();
			item8.weight = 1;
			component3.stateWeightList.Add(item8);
			AttackWeight item9 = default(AttackWeight);
			item9.state = (MonsterState)(object)GameObject.Find("A5_S5/Room/EventBinder/General Boss Fight FSM Object_結權/FSM Animator/LogicRoot/---Boss---/BossShowHealthArea/StealthGameMonster_Boss_JieChuan/States/Attacks/[2]Shoot").GetComponent<BossGeneralState>();
			item9.weight = 1;
			component3.stateWeightList.Add(item9);
			LinkNextMoveStateWeight component4 = GameObject.Find("A5_S5/Room/EventBinder/General Boss Fight FSM Object_結權/FSM Animator/LogicRoot/---Boss---/BossShowHealthArea/StealthGameMonster_Boss_JieChuan/States/Attacks/[4]FlipJumpAttack/phase1").GetComponent<LinkNextMoveStateWeight>();
			component4.stateWeightList.Clear();
			AttackWeight item10 = default(AttackWeight);
			item10.state = (MonsterState)(object)GameObject.Find("A5_S5/Room/EventBinder/General Boss Fight FSM Object_結權/FSM Animator/LogicRoot/---Boss---/BossShowHealthArea/StealthGameMonster_Boss_JieChuan/States/Attacks/[3]ThrustAttack Through").GetComponent<BossGeneralState>();
			item10.weight = 2;
			component4.stateWeightList.Add(item10);
			LinkNextMoveStateWeight component5 = GameObject.Find("A5_S5/Room/EventBinder/General Boss Fight FSM Object_結權/FSM Animator/LogicRoot/---Boss---/BossShowHealthArea/StealthGameMonster_Boss_JieChuan/States/Attacks/[9] TeleportToPlayerBack/phase1").GetComponent<LinkNextMoveStateWeight>();
			AttackWeight item11 = default(AttackWeight);
			item11.state = (MonsterState)(object)GameObject.Find("A5_S5/Room/EventBinder/General Boss Fight FSM Object_結權/FSM Animator/LogicRoot/---Boss---/BossShowHealthArea/StealthGameMonster_Boss_JieChuan/States/Attacks/[9] TeleportToPlayerBack").GetComponent<BossGeneralState>();
			item11.weight = 1;
			component5.stateWeightList.Add(item11);
			AttackWeight item12 = default(AttackWeight);
			item12.state = (MonsterState)(object)GameObject.Find("A5_S5/Room/EventBinder/General Boss Fight FSM Object_結權/FSM Animator/LogicRoot/---Boss---/BossShowHealthArea/StealthGameMonster_Boss_JieChuan/States/Attacks/[1]TrippleSlashAndBack").GetComponent<BossGeneralState>();
			item12.weight = 1;
			component5.stateWeightList.Add(item12);
			AttackWeight item13 = default(AttackWeight);
			item13.state = (MonsterState)(object)GameObject.Find("A5_S5/Room/EventBinder/General Boss Fight FSM Object_結權/FSM Animator/LogicRoot/---Boss---/BossShowHealthArea/StealthGameMonster_Boss_JieChuan/States/Attacks/[6]BackStab").GetComponent<BossGeneralState>();
			item13.weight = 1;
			component5.stateWeightList.Add(item13);
			LinkNextMoveStateWeight component6 = GameObject.Find("A5_S5/Room/EventBinder/General Boss Fight FSM Object_結權/FSM Animator/LogicRoot/---Boss---/BossShowHealthArea/StealthGameMonster_Boss_JieChuan/States/Attacks/[3]ThrustAttack Through/phase1").GetComponent<LinkNextMoveStateWeight>();
			component6.stateWeightList.Clear();
			AttackWeight item14 = default(AttackWeight);
			item14.state = (MonsterState)(object)GameObject.Find("A5_S5/Room/EventBinder/General Boss Fight FSM Object_結權/FSM Animator/LogicRoot/---Boss---/BossShowHealthArea/StealthGameMonster_Boss_JieChuan/States/Attacks/[14]LinkReverseStab").GetComponent<BossGeneralState>();
			item14.weight = 1;
			component6.stateWeightList.Add(item14);
			AttackWeight item15 = default(AttackWeight);
			item15.state = (MonsterState)(object)GameObject.Find("A5_S5/Room/EventBinder/General Boss Fight FSM Object_結權/FSM Animator/LogicRoot/---Boss---/BossShowHealthArea/StealthGameMonster_Boss_JieChuan/States/Attacks/[14]LinkReverseStab").GetComponent<BossGeneralState>();
			item15.weight = 1;
			component6.stateWeightList.Add(item15);
			AttackWeight item16 = default(AttackWeight);
			item16.state = (MonsterState)(object)GameObject.Find("A5_S5/Room/EventBinder/General Boss Fight FSM Object_結權/FSM Animator/LogicRoot/---Boss---/BossShowHealthArea/StealthGameMonster_Boss_JieChuan/States/Attacks/[14]LinkReverseStab").GetComponent<BossGeneralState>();
			item16.weight = 1;
			component6.stateWeightList.Add(item16);
			LinkNextMoveStateWeight component7 = GameObject.Find("A5_S5/Room/EventBinder/General Boss Fight FSM Object_結權/FSM Animator/LogicRoot/---Boss---/BossShowHealthArea/StealthGameMonster_Boss_JieChuan/States/Attacks/[14]LinkReverseStab/phase1").GetComponent<LinkNextMoveStateWeight>();
			component7.stateWeightList.Clear();
			AttackWeight item17 = default(AttackWeight);
			item17.state = (MonsterState)(object)GameObject.Find("A5_S5/Room/EventBinder/General Boss Fight FSM Object_結權/FSM Animator/LogicRoot/---Boss---/BossShowHealthArea/StealthGameMonster_Boss_JieChuan/States/Attacks/[7]ThrowGrenade").GetComponent<BossGeneralState>();
			item17.weight = 1;
			component7.stateWeightList.Add(item17);
			AttackWeight item18 = default(AttackWeight);
			item18.state = (MonsterState)(object)GameObject.Find("A5_S5/Room/EventBinder/General Boss Fight FSM Object_結權/FSM Animator/LogicRoot/---Boss---/BossShowHealthArea/StealthGameMonster_Boss_JieChuan/States/Attacks/[7]ThrowGrenade").GetComponent<BossGeneralState>();
			item18.weight = 1;
			component7.stateWeightList.Add(item18);
			LinkNextMoveStateWeight component8 = GameObject.Find("A5_S5/Room/EventBinder/General Boss Fight FSM Object_結權/FSM Animator/LogicRoot/---Boss---/BossShowHealthArea/StealthGameMonster_Boss_JieChuan/States/Attacks/[7]ThrowGrenade/phase1").GetComponent<LinkNextMoveStateWeight>();
			component8.stateWeightList.Clear();
			AttackWeight item19 = default(AttackWeight);
			item19.state = (MonsterState)(object)GameObject.Find("A5_S5/Room/EventBinder/General Boss Fight FSM Object_結權/FSM Animator/LogicRoot/---Boss---/BossShowHealthArea/StealthGameMonster_Boss_JieChuan/States/Attacks/[7]ThrowGrenade").GetComponent<BossGeneralState>();
			item19.weight = 1;
			component8.stateWeightList.Add(item19);
			AttackWeight item20 = default(AttackWeight);
			item20.state = (MonsterState)(object)GameObject.Find("A5_S5/Room/EventBinder/General Boss Fight FSM Object_結權/FSM Animator/LogicRoot/---Boss---/BossShowHealthArea/StealthGameMonster_Boss_JieChuan/States/Attacks/[2]Shoot").GetComponent<BossGeneralState>();
			item20.weight = 1;
			component8.stateWeightList.Add(item20);
			AttackWeight item21 = default(AttackWeight);
			item21.state = (MonsterState)(object)GameObject.Find("A5_S5/Room/EventBinder/General Boss Fight FSM Object_結權/FSM Animator/LogicRoot/---Boss---/BossShowHealthArea/StealthGameMonster_Boss_JieChuan/States/Attacks/[8]DrinkPotion").GetComponent<BossGeneralState>();
			item21.weight = 1;
			component8.stateWeightList.Add(item21);
			LinkNextMoveStateWeight component9 = GameObject.Find("A5_S5/Room/EventBinder/General Boss Fight FSM Object_結權/FSM Animator/LogicRoot/---Boss---/BossShowHealthArea/StealthGameMonster_Boss_JieChuan/States/Attacks/[2]Shoot/phase1 ").GetComponent<LinkNextMoveStateWeight>();
			component9.stateWeightList.Clear();
			AttackWeight item22 = default(AttackWeight);
			item22.state = (MonsterState)(object)GameObject.Find("A5_S5/Room/EventBinder/General Boss Fight FSM Object_結權/FSM Animator/LogicRoot/---Boss---/BossShowHealthArea/StealthGameMonster_Boss_JieChuan/States/Attacks/[7]ThrowGrenade").GetComponent<BossGeneralState>();
			item22.weight = 1;
			component9.stateWeightList.Add(item22);
			AttackWeight item23 = default(AttackWeight);
			item23.state = (MonsterState)(object)GameObject.Find("A5_S5/Room/EventBinder/General Boss Fight FSM Object_結權/FSM Animator/LogicRoot/---Boss---/BossShowHealthArea/StealthGameMonster_Boss_JieChuan/States/Attacks/[2]Shoot").GetComponent<BossGeneralState>();
			item23.weight = 1;
			component9.stateWeightList.Add(item23);
			AttackWeight item24 = default(AttackWeight);
			item24.state = (MonsterState)(object)GameObject.Find("A5_S5/Room/EventBinder/General Boss Fight FSM Object_結權/FSM Animator/LogicRoot/---Boss---/BossShowHealthArea/StealthGameMonster_Boss_JieChuan/States/Attacks/[6]BackStab").GetComponent<BossGeneralState>();
			item24.weight = 1;
			component9.stateWeightList.Add(item24);
		}

		private void OnSceneLoaded(Scene scene, LoadSceneMode mode)
		{
			//IL_0001: Unknown result type (might be due to invalid IL or missing references)
			//IL_0006: Unknown result type (might be due to invalid IL or missing references)
			Scene activeScene = SceneManager.GetActiveScene();
			if (((Scene)(ref activeScene)).name == "A5_S5_JieChuanHall")
			{
				((MonoBehaviour)this).StartCoroutine(WaitForBossAndInit());
				ColorChanger();
				JiDecoration();
				LightingHandler();
				StaggerRemover();
				AttackSpeedChanger();
				WeightChangerP1();
				Phase3Enabler();
				WeightChangerP3();
			}
		}

		private void OnDestroy()
		{
			_harmony.UnpatchSelf();
			SceneManager.sceneLoaded -= OnSceneLoaded;
			Instance = null;
		}
	}
	public static class MyPluginInfo
	{
		public const string PLUGIN_GUID = "TormentedJiequan";

		public const string PLUGIN_NAME = "TormentedJiequan";

		public const string PLUGIN_VERSION = "1.0.1";
	}
}