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.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("JiequanDemonOfTheAbyss")]
[assembly: AssemblyConfiguration("Debug")]
[assembly: AssemblyDescription("Buffed up version of Voidbringer Jiequan intended for veterans who've cleared the mod before")]
[assembly: AssemblyFileVersion("1.1.1.0")]
[assembly: AssemblyInformationalVersion("1.1.1+086012ee01cc27ae72d147ced4f592059a7c54cf")]
[assembly: AssemblyProduct("JiequanDemonOfTheAbyss")]
[assembly: AssemblyTitle("JiequanDemonOfTheAbyss")]
[assembly: AssemblyVersion("1.1.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_0067: Unknown result type (might be due to invalid IL or missing references)
//IL_006c: Unknown result type (might be due to invalid IL or missing references)
//IL_0014: Unknown result type (might be due to invalid IL or missing references)
//IL_0019: Unknown result type (might be due to invalid IL or missing references)
//IL_0082: Unknown result type (might be due to invalid IL or missing references)
//IL_0089: Invalid comparison between Unknown and I4
//IL_002f: Unknown result type (might be due to invalid IL or missing references)
//IL_0036: Invalid comparison between Unknown and I4
//IL_00bc: Unknown result type (might be due to invalid IL or missing references)
//IL_00c1: Unknown result type (might be due to invalid IL or missing references)
//IL_00d7: Unknown result type (might be due to invalid IL or missing references)
//IL_00e1: Invalid comparison between Unknown and I4
//IL_0117: Unknown result type (might be due to invalid IL or missing references)
//IL_011c: Unknown result type (might be due to invalid IL or missing references)
//IL_0132: Unknown result type (might be due to invalid IL or missing references)
//IL_013c: Invalid comparison between Unknown and I4
//IL_0172: Unknown result type (might be due to invalid IL or missing references)
//IL_0177: Unknown result type (might be due to invalid IL or missing references)
//IL_018d: Unknown result type (might be due to invalid IL or missing references)
//IL_0197: Invalid comparison between Unknown and I4
//IL_01cd: Unknown result type (might be due to invalid IL or missing references)
//IL_01d2: 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_01f2: Invalid comparison between Unknown and I4
//IL_0228: 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_0243: Unknown result type (might be due to invalid IL or missing references)
//IL_024d: Invalid comparison between Unknown and I4
//IL_0283: Unknown result type (might be due to invalid IL or missing references)
//IL_0288: Unknown result type (might be due to invalid IL or missing references)
//IL_029e: Unknown result type (might be due to invalid IL or missing references)
//IL_02a5: Invalid comparison between Unknown and I4
int num = Random.Range(0, 99);
Scene activeScene;
if (num < 50)
{
activeScene = SceneManager.GetActiveScene();
if (((Scene)(ref activeScene)).name == "A5_S5_JieChuanHall" && (int)((MonsterState)__instance).GetStateType() == 109)
{
((MonoBehaviour)TormentedJiequan.Instance).StartCoroutine(TormentedJiequan.StateInterruptCoroutine(0.75f, SingletonBehaviour<MonsterManager>.Instance.ClosetMonster, (States)109, (States)103));
}
}
else
{
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)160));
}
}
activeScene = SceneManager.GetActiveScene();
if (((Scene)(ref activeScene)).name == "A5_S5_JieChuanHall" && (int)((MonsterState)__instance).GetStateType() == 137)
{
((MonoBehaviour)TormentedJiequan.Instance).StartCoroutine(TormentedJiequan.StateInterruptCoroutine(0.35f, SingletonBehaviour<MonsterManager>.Instance.ClosetMonster, (States)137, (States)160));
}
activeScene = SceneManager.GetActiveScene();
if (((Scene)(ref activeScene)).name == "A5_S5_JieChuanHall" && (int)((MonsterState)__instance).GetStateType() == 138)
{
((MonoBehaviour)TormentedJiequan.Instance).StartCoroutine(TormentedJiequan.StateInterruptCoroutine(0.35f, SingletonBehaviour<MonsterManager>.Instance.ClosetMonster, (States)138, (States)160));
}
activeScene = SceneManager.GetActiveScene();
if (((Scene)(ref activeScene)).name == "A5_S5_JieChuanHall" && (int)((MonsterState)__instance).GetStateType() == 139)
{
((MonoBehaviour)TormentedJiequan.Instance).StartCoroutine(TormentedJiequan.StateInterruptCoroutine(0.35f, SingletonBehaviour<MonsterManager>.Instance.ClosetMonster, (States)139, (States)160));
}
activeScene = SceneManager.GetActiveScene();
if (((Scene)(ref activeScene)).name == "A5_S5_JieChuanHall" && (int)((MonsterState)__instance).GetStateType() == 140)
{
((MonoBehaviour)TormentedJiequan.Instance).StartCoroutine(TormentedJiequan.StateInterruptCoroutine(0.35f, SingletonBehaviour<MonsterManager>.Instance.ClosetMonster, (States)140, (States)160));
}
activeScene = SceneManager.GetActiveScene();
if (((Scene)(ref activeScene)).name == "A5_S5_JieChuanHall" && (int)((MonsterState)__instance).GetStateType() == 141)
{
((MonoBehaviour)TormentedJiequan.Instance).StartCoroutine(TormentedJiequan.StateInterruptCoroutine(0.35f, SingletonBehaviour<MonsterManager>.Instance.ClosetMonster, (States)141, (States)160));
}
activeScene = SceneManager.GetActiveScene();
if (((Scene)(ref activeScene)).name == "A5_S5_JieChuanHall" && (int)((MonsterState)__instance).GetStateType() != 109)
{
}
}
[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 += ", Demon of The Abyss";
}
}
}
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 = 3.7f;
public const float DIAGONAL_SPEED = 2f;
public const float PLUNGE_SPEED = 2f;
public const float CRIMSON_SMASH_SPEED = 1.6f;
public const float STAB_SPEED = 1.85f;
public const float GRENADES_SPEED = 2f;
public const float SHIELD_SPEED = 3f;
public const float TELEPORT_SPEED = 4f;
public const float HORIZONTAL_SPEED = 1.35f;
public const float CRIMSON_THRUST_SPEED = 1.6f;
public const float STUN_STATE_SPEED = 1.7f;
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("JiequanDemonOfTheAbyss", "JiequanDemonOfTheAbyss", "1.1.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_0125: 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(0, 99);
if (<random>5__2 < 50)
{
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 _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;
private LinkNextMoveStateWeight phase2CrimsonThrustWeight = 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 JiequanDemonOfTheAbyss 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 = 3f;
closetMonster.postureSystem.CurrentHealthValue = 9000f;
}
[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>();
_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()
{
GameObject val = GameObject.Find("A5_S5/CameraCore/DockObj/OffsetObj/ShakeObj/SceneCamera/AmplifyLightingSystem/EffectCamera(請開著,Runtime會撈到SceneCamera做)");
val.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";
GameObject val17 = GameObject.Find("A5_S5/Room/EventBinder/General Boss Fight FSM Object_結權/FSM Animator/LogicRoot/---Boss---/BossShowHealthArea/StealthGameMonster_Boss_JieChuan/States/Attacks/[12]DangerLargeThrust");
phase2CrimsonThrustWeight = 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>();
LinkNextMoveStateWeight val18 = Object.Instantiate<LinkNextMoveStateWeight>(phase2CrimsonThrustWeight, val17.transform);
((Object)val18).name = "phase3";
}
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 = 1.7f;
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 = 3.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 = 2f;
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 = 2f;
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.6f;
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.85f;
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 = 2f;
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 = 3f;
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 = 4f;
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.35f;
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.35f;
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.6f;
component13.OverideAnimationSpeed = true;
}
private static void WeightChanger()
{
//IL_0003: Unknown result type (might be due to invalid IL or missing references)
//IL_0029: Unknown result type (might be due to invalid IL or missing references)
//IL_004f: Unknown result type (might be due to invalid IL or missing references)
//IL_0075: Unknown result type (might be due to invalid IL or missing references)
//IL_009b: Unknown result type (might be due to invalid IL or missing references)
//IL_00c1: Unknown result type (might be due to invalid IL or missing references)
//IL_00e7: Unknown result type (might be due to invalid IL or missing references)
//IL_010d: Unknown result type (might be due to invalid IL or missing references)
//IL_0133: Unknown result type (might be due to invalid IL or missing references)
//IL_0159: Unknown result type (might be due to invalid IL or missing references)
//IL_017f: Unknown result type (might be due to invalid IL or missing references)
//IL_01d5: Unknown result type (might be due to invalid IL or missing references)
//IL_01e4: Unknown result type (might be due to invalid IL or missing references)
//IL_01f3: Unknown result type (might be due to invalid IL or missing references)
//IL_0201: Unknown result type (might be due to invalid IL or missing references)
//IL_0210: Unknown result type (might be due to invalid IL or missing references)
//IL_023d: 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_025a: Unknown result type (might be due to invalid IL or missing references)
//IL_0293: 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_02b0: 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_02df: 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_0319: Unknown result type (might be due to invalid IL or missing references)
//IL_0346: Unknown result type (might be due to invalid IL or missing references)
//IL_0373: Unknown result type (might be due to invalid IL or missing references)
//IL_0382: Unknown result type (might be due to invalid IL or missing references)
//IL_0390: Unknown result type (might be due to invalid IL or missing references)
//IL_03bd: Unknown result type (might be due to invalid IL or missing references)
//IL_03ea: Unknown result type (might be due to invalid IL or missing references)
//IL_0424: Unknown result type (might be due to invalid IL or missing references)
//IL_045e: Unknown result type (might be due to invalid IL or missing references)
//IL_046d: 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_048a: Unknown result type (might be due to invalid IL or missing references)
//IL_04c4: Unknown result type (might be due to invalid IL or missing references)
//IL_04d3: Unknown result type (might be due to invalid IL or missing references)
//IL_04e2: 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_0500: Unknown result type (might be due to invalid IL or missing references)
//IL_0539: Unknown result type (might be due to invalid IL or missing references)
//IL_0548: Unknown result type (might be due to invalid IL or missing references)
//IL_0556: 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_059f: Unknown result type (might be due to invalid IL or missing references)
//IL_05ad: Unknown result type (might be due to invalid IL or missing references)
//IL_05bb: Unknown result type (might be due to invalid IL or missing references)
//IL_05c9: Unknown result type (might be due to invalid IL or missing references)
//IL_0603: Unknown result type (might be due to invalid IL or missing references)
//IL_0612: 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_065a: Unknown result type (might be due to invalid IL or missing references)
//IL_0669: Unknown result type (might be due to invalid IL or missing references)
//IL_06a3: Unknown result type (might be due to invalid IL or missing references)
//IL_06dd: Unknown result type (might be due to invalid IL or missing references)
//IL_06eb: Unknown result type (might be due to invalid IL or missing references)
//IL_06fa: Unknown result type (might be due to invalid IL or missing references)
//IL_0709: Unknown result type (might be due to invalid IL or missing references)
//IL_0717: Unknown result type (might be due to invalid IL or missing references)
//IL_0725: 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_076e: Unknown result type (might be due to invalid IL or missing references)
//IL_077c: Unknown result type (might be due to invalid IL or missing references)
//IL_078a: Unknown result type (might be due to invalid IL or missing references)
//IL_0799: 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_07e1: 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_080f: Unknown result type (might be due to invalid IL or missing references)
//IL_081e: Unknown result type (might be due to invalid IL or missing references)
//IL_082c: Unknown result type (might be due to invalid IL or missing references)
//IL_083b: Unknown result type (might be due to invalid IL or missing references)
//IL_084a: Unknown result type (might be due to invalid IL or missing references)
//IL_0859: Unknown result type (might be due to invalid IL or missing references)
//IL_0867: Unknown result type (might be due to invalid IL or missing references)
//IL_08a1: Unknown result type (might be due to invalid IL or missing references)
//IL_08b0: Unknown result type (might be due to invalid IL or missing references)
//IL_08ea: Unknown result type (might be due to invalid IL or missing references)
//IL_08f9: Unknown result type (might be due to invalid IL or missing references)
//IL_0908: Unknown result type (might be due to invalid IL or missing references)
//IL_0916: Unknown result type (might be due to invalid IL or missing references)
//IL_0925: Unknown result type (might be due to invalid IL or missing references)
//IL_0952: Unknown result type (might be due to invalid IL or missing references)
//IL_0961: Unknown result type (might be due to invalid IL or missing references)
//IL_0970: Unknown result type (might be due to invalid IL or missing references)
//IL_09aa: Unknown result type (might be due to invalid IL or missing references)
//IL_09b8: Unknown result type (might be due to invalid IL or missing references)
//IL_09c7: Unknown result type (might be due to invalid IL or missing references)
//IL_09d6: Unknown result type (might be due to invalid IL or missing references)
//IL_09e5: Unknown result type (might be due to invalid IL or missing references)
//IL_0a04: Unknown result type (might be due to invalid IL or missing references)
//IL_0a13: Unknown result type (might be due to invalid IL or missing references)
//IL_0a22: Unknown result type (might be due to invalid IL or missing references)
//IL_0a30: Unknown result type (might be due to invalid IL or missing references)
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/[1]TrippleSlashAndBack").GetComponent<BossGeneralState>();
item.weight = 1;
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/[2]Shoot").GetComponent<BossGeneralState>();
item2.weight = 1;
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/[3]ThrustAttack Through").GetComponent<BossGeneralState>();
item3.weight = 1;
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/[4]FlipJumpAttack").GetComponent<BossGeneralState>();
item4.weight = 1;
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/[5]DangerLargeSmash").GetComponent<BossGeneralState>();
item5.weight = 1;
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/[6]BackStab").GetComponent<BossGeneralState>();
item6.weight = 1;
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/[7]ThrowGrenade").GetComponent<BossGeneralState>();
item7.weight = 1;
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/[8]DrinkPotion").GetComponent<BossGeneralState>();
item8.weight = 1;
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/[9] TeleportToPlayerBack").GetComponent<BossGeneralState>();
item9.weight = 1;
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/[14]LinkReverseStab").GetComponent<BossGeneralState>();
item10.weight = 1;
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/[12]DangerLargeThrust").GetComponent<BossGeneralState>();
item11.weight = 1;
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();
component.stateWeightList.Add(item5);
component.stateWeightList.Add(item9);
component.stateWeightList.Add(item);
component.stateWeightList.Add(item6);
component.stateWeightList.Add(item10);
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();
component2.stateWeightList.Add(item);
component2.stateWeightList.Add(item9);
component2.stateWeightList.Add(item4);
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();
component3.stateWeightList.Clear();
component3.stateWeightList.Add(item4);
component3.stateWeightList.Add(item9);
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/phase1").GetComponent<LinkNextMoveStateWeight>();
component4.stateWeightList.Add(item6);
component4.stateWeightList.Add(item);
LinkNextMoveStateWeight component5 = 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>();
component5.stateWeightList.Clear();
component5.stateWeightList.Add(item3);
component5.stateWeightList.Add(item5);
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();
component6.stateWeightList.Add(item11);
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();
component7.stateWeightList.Add(item8);
component7.stateWeightList.Add(item);
component7.stateWeightList.Add(item7);
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();
component8.stateWeightList.Add(item8);
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();
component9.stateWeightList.Add(item8);
LinkNextMoveStateWeight component10 = 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>();
component10.stateWeightList.Clear();
component10.mustUseStates.Clear();
component10.stateWeightList.Add(item11);
LinkNextMoveStateWeight component11 = 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>();
component11.stateWeightList.Clear();
component11.mustUseStates.Clear();
component11.stateWeightList.Add(item8);
component11.stateWeightList.Add(item3);
component11.stateWeightList.Add(item11);
component11.stateWeightList.Add(item9);
LinkNextMoveStateWeight component12 = 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>();
component12.stateWeightList.Clear();
component12.mustUseStates.Clear();
component12.stateWeightList.Add(item9);
component12.stateWeightList.Add(item5);
component12.stateWeightList.Add(item11);
component12.stateWeightList.Add(item7);
component12.stateWeightList.Add(item4);
LinkNextMoveStateWeight component13 = 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>();
component13.stateWeightList.Clear();
component13.mustUseStates.Clear();
component13.stateWeightList.Add(item9);
component13.stateWeightList.Add(item);
component13.stateWeightList.Add(item6);
component13.stateWeightList.Add(item10);
LinkNextMoveStateWeight component14 = 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>();
component14.stateWeightList.Clear();
component14.mustUseStates.Clear();
component14.stateWeightList.Add(item4);
component14.stateWeightList.Add(item);
component14.stateWeightList.Add(item3);
component14.stateWeightList.Add(item9);
LinkNextMoveStateWeight component15 = 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>();
component15.stateWeightList.Clear();
component15.mustUseStates.Clear();
component15.stateWeightList.Add(item11);
component15.stateWeightList.Add(item2);
LinkNextMoveStateWeight component16 = GameObject.Find("A5_S5/Room/EventBinder/General Boss Fight FSM Object_結權/FSM Animator/LogicRoot/---Boss---/BossShowHealthArea/StealthGameMonster_Boss_JieChuan/States/Attacks/[7]ThrowGrenade/phase2").GetComponent<LinkNextMoveStateWeight>();
component16.stateWeightList.Clear();
component16.mustUseStates.Clear();
component16.stateWeightList.Add(item9);
component16.stateWeightList.Add(item8);
component16.stateWeightList.Add(item11);
LinkNextMoveStateWeight component17 = 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>();
component17.stateWeightList.Clear();
component17.mustUseStates.Clear();
component17.stateWeightList.Add(item9);
LinkNextMoveStateWeight component18 = 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>();
component18.stateWeightList.Clear();
component18.mustUseStates.Clear();
component18.stateWeightList.Add(item);
component18.stateWeightList.Add(item11);
component18.stateWeightList.Add(item5);
component18.stateWeightList.Add(item3);
component18.stateWeightList.Add(item4);
component18.stateWeightList.Add(item9);
component18.stateWeightList.Add(item10);
LinkNextMoveStateWeight component19 = 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>();
component19.stateWeightList.Clear();
component19.mustUseStates.Clear();
component19.stateWeightList.Add(item3);
component19.stateWeightList.Add(item4);
component19.stateWeightList.Add(item5);
component19.stateWeightList.Add(item8);
component19.stateWeightList.Add(item2);
LinkNextMoveStateWeight component20 = 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>();
component20.stateWeightList.Clear();
component20.mustUseStates.Clear();
component20.stateWeightList.Add(item9);
component20.stateWeightList.Add(item3);
LinkNextMoveStateWeight component21 = 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>();
component21.stateWeightList.Add(item9);
component21.stateWeightList.Add(item);
component21.stateWeightList.Add(item5);
component21.stateWeightList.Add(item11);
component21.stateWeightList.Add(item7);
component21.stateWeightList.Add(item2);
component21.stateWeightList.Add(item6);
LinkNextMoveStateWeight component22 = 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>();
component22.stateWeightList.Clear();
component22.mustUseStates.Clear();
component22.stateWeightList.Add(item5);
component22.stateWeightList.Add(item11);
LinkNextMoveStateWeight component23 = 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>();
component23.stateWeightList.Clear();
component23.mustUseStates.Clear();
component23.stateWeightList.Add(item10);
component23.stateWeightList.Add(item11);
component23.stateWeightList.Add(item2);
component23.stateWeightList.Add(item8);
component23.stateWeightList.Add(item5);
LinkNextMoveStateWeight component24 = 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>();
component24.stateWeightList.Clear();
component24.stateWeightList.Add(item11);
component24.stateWeightList.Add(item5);
component24.stateWeightList.Add(item8);
LinkNextMoveStateWeight component25 = 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>();
component25.stateWeightList.Clear();
component25.mustUseStates.Clear();
component25.stateWeightList.Add(item);
component25.stateWeightList.Add(item11);
component25.stateWeightList.Add(item5);
component25.stateWeightList.Add(item8);
component25.stateWeightList.Add(item3);
LinkNextMoveStateWeight component26 = GameObject.Find("A5_S5/Room/EventBinder/General Boss Fight FSM Object_結權/FSM Animator/LogicRoot/---Boss---/BossShowHealthArea/StealthGameMonster_Boss_JieChuan/States/Attacks/[12]DangerLargeThrust/phase3").GetComponent<LinkNextMoveStateWeight>();
component26.stateWeightList.Add(item11);
component26.stateWeightList.Add(item5);
component26.stateWeightList.Add(item3);
component26.stateWeightList.Add(item4);
}
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();
Phase3Enabler();
WeightChanger();
}
}
private void OnDestroy()
{
_harmony.UnpatchSelf();
SceneManager.sceneLoaded -= OnSceneLoaded;
Instance = null;
}
}
public static class MyPluginInfo
{
public const string PLUGIN_GUID = "JiequanDemonOfTheAbyss";
public const string PLUGIN_NAME = "JiequanDemonOfTheAbyss";
public const string PLUGIN_VERSION = "1.1.1";
}
}