Decompiled source of conveniencemod v1.4.2
item/airhorn.dll
Decompiled 9 months agousing System; using System.Diagnostics; using System.IO; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.Versioning; using BepInEx; using GameNetcodeStuff; using LethalLib.Modules; using Microsoft.CodeAnalysis; using Unity.Netcode; using UnityEngine; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)] [assembly: TargetFramework(".NETStandard,Version=v2.1", FrameworkDisplayName = ".NET Standard 2.1")] [assembly: AssemblyCompany("airhorn")] [assembly: AssemblyConfiguration("Debug")] [assembly: AssemblyFileVersion("1.0.0.0")] [assembly: AssemblyInformationalVersion("1.0.0")] [assembly: AssemblyProduct("airhorn")] [assembly: AssemblyTitle("airhorn")] [assembly: AssemblyVersion("1.0.0.0")] 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; } } } namespace air { public class airAI : EnemyAI { public float laughTimer; private const float MovementSpeed = 2f; private const float RotationSpeed = 2f; private float timeSinceHittingLocalPlayer; private float timeSinceHittingLocalPlayer3; private float timeSinceHittingLocalPlayer2; private float timeSinceNewRandPos; public override void Start() { ((EnemyAI)this).Start(); Debug.Log((object)"에어혼 소환"); base.currentBehaviourStateIndex = 0; } public virtual void EvtFlush() { Debug.Log((object)"정상작동"); ((EnemyAI)this).SwitchToBehaviourState(0); } public override void OnCollideWithPlayer(Collider other) { //IL_0035: Unknown result type (might be due to invalid IL or missing references) //IL_003b: Unknown result type (might be due to invalid IL or missing references) if (!(timeSinceHittingLocalPlayer < 1f)) { PlayerControllerB val = ((EnemyAI)this).MeetsStandardPlayerCollisionConditions(other, false, false); timeSinceHittingLocalPlayer = 0f; val.DamagePlayer(10, true, true, (CauseOfDeath)0, 0, false, default(Vector3)); } } public override void Update() { //IL_017e: Unknown result type (might be due to invalid IL or missing references) //IL_0189: Unknown result type (might be due to invalid IL or missing references) //IL_018e: Unknown result type (might be due to invalid IL or missing references) //IL_0193: Unknown result type (might be due to invalid IL or missing references) //IL_0197: Unknown result type (might be due to invalid IL or missing references) //IL_019c: Unknown result type (might be due to invalid IL or missing references) //IL_01a4: Unknown result type (might be due to invalid IL or missing references) //IL_01a9: Unknown result type (might be due to invalid IL or missing references) //IL_01b5: Unknown result type (might be due to invalid IL or missing references) //IL_01ba: Unknown result type (might be due to invalid IL or missing references) ((EnemyAI)this).Update(); laughTimer -= Time.deltaTime; if ((double)laughTimer <= 0.0) { laughTimer = Random.Range(6f, 7f); if (base.enemyType.audioClips.Length != 0) { base.creatureVoice.PlayOneShot(base.enemyType.audioClips[Random.Range(0, base.enemyType.audioClips.Length)]); } } if (!HasValidTarget()) { base.targetPlayer = ((EnemyAI)this).GetClosestPlayer(false, false, false); if (base.debugEnemyAI && (Object)(object)base.targetPlayer != (Object)null) { Debug.Log((object)("Found new target: " + base.targetPlayer.playerUsername)); } } if (!HasValidTarget()) { if (base.debugEnemyAI) { Debug.Log((object)"Failed to find new target"); } } else if (!base.isEnemyDead && !StartOfRound.Instance.allPlayersDead) { timeSinceHittingLocalPlayer += Time.deltaTime; timeSinceNewRandPos += Time.deltaTime; timeSinceHittingLocalPlayer2 += Time.deltaTime; timeSinceHittingLocalPlayer3 += Time.deltaTime; Vector3 val = base.targetPlayer.playerGlobalHead.position - ((Component)this).transform.position; Vector3 normalized = ((Vector3)(ref val)).normalized; Transform transform = ((Component)this).transform; transform.position += normalized * (Time.deltaTime * 2f); if (base.currentBehaviourStateIndex == 1 && !(timeSinceHittingLocalPlayer2 < 0.3f)) { base.creatureSFX.PlayOneShot(base.enemyType.stunSFX); timeSinceHittingLocalPlayer2 = 0f; Debug.Log((object)"소리 정상작동중!"); } } } private bool HasValidTarget() { return (Object)(object)base.targetPlayer != (Object)null && base.targetPlayer.isInsideFactory && !base.targetPlayer.isPlayerDead; } [ClientRpc] public override void DoAIInterval() { ((EnemyAI)this).DoAIInterval(); switch (base.currentBehaviourStateIndex) { case 0: Debug.Log((object)"소리남"); ((EnemyAI)this).SwitchToBehaviourState(0); ((EnemyAI)this).SwitchToBehaviourClientRpc(0); ((EnemyAI)this).SwitchToBehaviourServerRpc(0); ((EnemyAI)this).SwitchToBehaviourStateOnLocalClient(0); timeSinceHittingLocalPlayer3 = 0f; break; case 1: if (base.currentBehaviourStateIndex == 1 && !(timeSinceHittingLocalPlayer3 < 0.1f)) { Debug.Log((object)"소리남2"); ((EnemyAI)this).SwitchToBehaviourState(1); ((EnemyAI)this).SwitchToBehaviourClientRpc(1); ((EnemyAI)this).SwitchToBehaviourServerRpc(1); ((EnemyAI)this).SwitchToBehaviourStateOnLocalClient(1); base.currentBehaviourStateIndex = 0; } break; case 2: break; } } } [BepInPlugin("air", "air", "1.0.0")] public class airPlugin : BaseUnityPlugin { private void Awake() { string directoryName = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location); if (Utility.IsNullOrWhiteSpace(directoryName)) { return; } AssetBundle val = AssetBundle.LoadFromFile(Path.Combine(directoryName, "airmob")); if ((Object)(object)val == (Object)null) { ((BaseUnityPlugin)this).Logger.LogError((object)"Failed to load custom assets"); return; } EnemyType val2 = val.LoadAsset<EnemyType>("airenemy"); TerminalNode val3 = val.LoadAsset<TerminalNode>("air TN"); TerminalKeyword val4 = val.LoadAsset<TerminalKeyword>("air TK"); NetworkPrefabs.RegisterNetworkPrefab(val2.enemyPrefab); Enemies.RegisterEnemy(val2, 0, (LevelTypes)(-1), (SpawnType)0, val3, val4); Type[] types = Assembly.GetExecutingAssembly().GetTypes(); Type[] array = types; foreach (Type type in array) { MethodInfo[] methods = type.GetMethods(BindingFlags.Instance | BindingFlags.Static | BindingFlags.NonPublic); MethodInfo[] array2 = methods; foreach (MethodInfo methodInfo in array2) { object[] customAttributes = methodInfo.GetCustomAttributes(typeof(RuntimeInitializeOnLoadMethodAttribute), inherit: false); if (customAttributes.Length != 0) { methodInfo.Invoke(null, null); } } } ((BaseUnityPlugin)this).Logger.LogInfo((object)"Plugin air is loaded!"); } } public static class PluginInfo { public const string PLUGIN_GUID = "air"; public const string PLUGIN_NAME = "air"; public const string PLUGIN_VERSION = "1.0.0"; } }
item/bell.dll
Decompiled 9 months agousing System; using System.Diagnostics; using System.IO; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.Versioning; using BepInEx; using GameNetcodeStuff; using LethalLib.Modules; using Microsoft.CodeAnalysis; using Unity.Netcode; using UnityEngine; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)] [assembly: TargetFramework(".NETStandard,Version=v2.1", FrameworkDisplayName = ".NET Standard 2.1")] [assembly: AssemblyCompany("bell")] [assembly: AssemblyConfiguration("Debug")] [assembly: AssemblyFileVersion("1.0.0.0")] [assembly: AssemblyInformationalVersion("1.0.0")] [assembly: AssemblyProduct("bell")] [assembly: AssemblyTitle("bell")] [assembly: AssemblyVersion("1.0.0.0")] 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; } } } namespace bell { public class bellAI : EnemyAI { public float laughTimer; private const float MovementSpeed = 2f; private const float RotationSpeed = 2f; private float timeSinceHittingLocalPlayer; private float timeSinceHittingLocalPlayer2; private float timeSinceHittingLocalPlayer3; private float timeSinceNewRandPos; public override void Start() { ((EnemyAI)this).Start(); Debug.Log((object)"종 소환"); base.currentBehaviourStateIndex = 0; } public virtual void EvtFlush() { Debug.Log((object)"정상작동"); ((EnemyAI)this).SwitchToBehaviourState(0); } public override void OnCollideWithPlayer(Collider other) { //IL_0035: Unknown result type (might be due to invalid IL or missing references) //IL_003b: Unknown result type (might be due to invalid IL or missing references) if (!(timeSinceHittingLocalPlayer3 < 1f)) { PlayerControllerB val = ((EnemyAI)this).MeetsStandardPlayerCollisionConditions(other, false, false); timeSinceHittingLocalPlayer3 = 0f; val.DamagePlayer(10, true, true, (CauseOfDeath)0, 0, false, default(Vector3)); } } public override void Update() { //IL_017e: Unknown result type (might be due to invalid IL or missing references) //IL_0189: Unknown result type (might be due to invalid IL or missing references) //IL_018e: Unknown result type (might be due to invalid IL or missing references) //IL_0193: Unknown result type (might be due to invalid IL or missing references) //IL_0197: Unknown result type (might be due to invalid IL or missing references) //IL_019c: Unknown result type (might be due to invalid IL or missing references) //IL_01a4: Unknown result type (might be due to invalid IL or missing references) //IL_01a9: Unknown result type (might be due to invalid IL or missing references) //IL_01b5: Unknown result type (might be due to invalid IL or missing references) //IL_01ba: Unknown result type (might be due to invalid IL or missing references) ((EnemyAI)this).Update(); laughTimer -= Time.deltaTime; if ((double)laughTimer <= 0.0) { laughTimer = Random.Range(6f, 7f); if (base.enemyType.audioClips.Length != 0) { base.creatureVoice.PlayOneShot(base.enemyType.audioClips[Random.Range(0, base.enemyType.audioClips.Length)]); } } if (!HasValidTarget()) { base.targetPlayer = ((EnemyAI)this).GetClosestPlayer(false, false, false); if (base.debugEnemyAI && (Object)(object)base.targetPlayer != (Object)null) { Debug.Log((object)("Found new target: " + base.targetPlayer.playerUsername)); } } if (!HasValidTarget()) { if (base.debugEnemyAI) { Debug.Log((object)"Failed to find new target"); } } else if (!base.isEnemyDead && !StartOfRound.Instance.allPlayersDead) { timeSinceHittingLocalPlayer += Time.deltaTime; timeSinceNewRandPos += Time.deltaTime; timeSinceHittingLocalPlayer2 += Time.deltaTime; timeSinceHittingLocalPlayer3 += Time.deltaTime; Vector3 val = base.targetPlayer.playerGlobalHead.position - ((Component)this).transform.position; Vector3 normalized = ((Vector3)(ref val)).normalized; Transform transform = ((Component)this).transform; transform.position += normalized * (Time.deltaTime * 2f); if (base.currentBehaviourStateIndex == 1 && !(timeSinceHittingLocalPlayer2 < 0.3f)) { base.creatureSFX.PlayOneShot(base.enemyType.stunSFX); timeSinceHittingLocalPlayer2 = 0f; Debug.Log((object)"소리 정상작동중!"); } } } [ClientRpc] public override void DoAIInterval() { ((EnemyAI)this).DoAIInterval(); switch (base.currentBehaviourStateIndex) { case 0: Debug.Log((object)"소리남"); ((EnemyAI)this).SwitchToBehaviourState(0); ((EnemyAI)this).SwitchToBehaviourClientRpc(0); ((EnemyAI)this).SwitchToBehaviourServerRpc(0); ((EnemyAI)this).SwitchToBehaviourStateOnLocalClient(0); timeSinceHittingLocalPlayer = 0f; break; case 1: if (base.currentBehaviourStateIndex == 1 && !(timeSinceHittingLocalPlayer < 0.1f)) { Debug.Log((object)"소리남2"); ((EnemyAI)this).SwitchToBehaviourState(1); ((EnemyAI)this).SwitchToBehaviourClientRpc(1); ((EnemyAI)this).SwitchToBehaviourServerRpc(1); ((EnemyAI)this).SwitchToBehaviourStateOnLocalClient(1); base.currentBehaviourStateIndex = 0; } break; case 2: break; } } private bool HasValidTarget() { return (Object)(object)base.targetPlayer != (Object)null && base.targetPlayer.isInsideFactory && !base.targetPlayer.isPlayerDead; } } [BepInPlugin("bell", "bell", "1.0.0")] public class bellPlugin : BaseUnityPlugin { private void Awake() { string directoryName = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location); if (Utility.IsNullOrWhiteSpace(directoryName)) { return; } AssetBundle val = AssetBundle.LoadFromFile(Path.Combine(directoryName, "bellmob2")); if ((Object)(object)val == (Object)null) { ((BaseUnityPlugin)this).Logger.LogError((object)"Failed to load custom assets"); return; } EnemyType val2 = val.LoadAsset<EnemyType>("bellenemy2"); TerminalNode val3 = val.LoadAsset<TerminalNode>("bell TN2"); TerminalKeyword val4 = val.LoadAsset<TerminalKeyword>("bell TK2"); NetworkPrefabs.RegisterNetworkPrefab(val2.enemyPrefab); Enemies.RegisterEnemy(val2, 0, (LevelTypes)(-1), (SpawnType)0, val3, val4); Type[] types = Assembly.GetExecutingAssembly().GetTypes(); Type[] array = types; foreach (Type type in array) { MethodInfo[] methods = type.GetMethods(BindingFlags.Instance | BindingFlags.Static | BindingFlags.NonPublic); MethodInfo[] array2 = methods; foreach (MethodInfo methodInfo in array2) { object[] customAttributes = methodInfo.GetCustomAttributes(typeof(RuntimeInitializeOnLoadMethodAttribute), inherit: false); if (customAttributes.Length != 0) { methodInfo.Invoke(null, null); } } } ((BaseUnityPlugin)this).Logger.LogInfo((object)"Plugin bell is loaded!"); } } public static class PluginInfo { public const string PLUGIN_GUID = "bell"; public const string PLUGIN_NAME = "bell"; public const string PLUGIN_VERSION = "1.0.0"; } }
item/boom.dll
Decompiled 9 months agousing System; using System.Diagnostics; using System.IO; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.Versioning; using BepInEx; using GameNetcodeStuff; using LethalLib.Modules; using Microsoft.CodeAnalysis; using Unity.Netcode; using UnityEngine; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)] [assembly: TargetFramework(".NETStandard,Version=v2.1", FrameworkDisplayName = ".NET Standard 2.1")] [assembly: AssemblyCompany("boom")] [assembly: AssemblyConfiguration("Debug")] [assembly: AssemblyFileVersion("1.0.0.0")] [assembly: AssemblyInformationalVersion("1.0.0")] [assembly: AssemblyProduct("boom")] [assembly: AssemblyTitle("boom")] [assembly: AssemblyVersion("1.0.0.0")] 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; } } } namespace boom { public class boomAI : EnemyAI { public float laughTimer; public Transform turnCompass; public Transform attackArea; private const float MovementSpeed = 2f; private const float RotationSpeed = 2f; private float timeSinceHittingLocalPlayer; private float timeSinceHittingLocalPlayer2; private float timeSinceHittingLocalPlayer3; private float timeSinceNewRandPos; public override void Start() { ((EnemyAI)this).Start(); Debug.Log((object)"붐박스 Spawned"); base.currentBehaviourStateIndex = 0; } public virtual void EvtFlush() { Debug.Log((object)"정상작동"); ((EnemyAI)this).SwitchToBehaviourState(0); } public override void Update() { //IL_0140: 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_0150: Unknown result type (might be due to invalid IL or missing references) //IL_0155: 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_015e: Unknown result type (might be due to invalid IL or missing references) //IL_0166: Unknown result type (might be due to invalid IL or missing references) //IL_016b: 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_017c: Unknown result type (might be due to invalid IL or missing references) ((EnemyAI)this).Update(); laughTimer -= Time.deltaTime; if ((double)laughTimer <= 0.0) { laughTimer = Random.Range(6f, 7f); if (base.enemyType.audioClips.Length != 0) { base.creatureVoice.PlayOneShot(base.enemyType.audioClips[Random.Range(0, base.enemyType.audioClips.Length)]); } } if (!HasValidTarget()) { base.targetPlayer = ((EnemyAI)this).GetClosestPlayer(false, false, false); if (base.debugEnemyAI && (Object)(object)base.targetPlayer != (Object)null) { Debug.Log((object)("Found new target: " + base.targetPlayer.playerUsername)); } } if (!base.isEnemyDead && !StartOfRound.Instance.allPlayersDead) { timeSinceHittingLocalPlayer2 += Time.deltaTime; timeSinceHittingLocalPlayer += Time.deltaTime; timeSinceNewRandPos += Time.deltaTime; Vector3 val = base.targetPlayer.playerGlobalHead.position - ((Component)this).transform.position; Vector3 normalized = ((Vector3)(ref val)).normalized; Transform transform = ((Component)this).transform; transform.position += normalized * (Time.deltaTime * 2f); if (base.currentBehaviourStateIndex == 1 && !(timeSinceHittingLocalPlayer2 < 0.3f)) { base.creatureSFX.PlayOneShot(base.enemyType.stunSFX); timeSinceHittingLocalPlayer2 = 0f; Debug.Log((object)"소리 정상작동중!"); } } } [ClientRpc] public override void DoAIInterval() { ((EnemyAI)this).DoAIInterval(); switch (base.currentBehaviourStateIndex) { case 0: Debug.Log((object)"소리남"); ((EnemyAI)this).SwitchToBehaviourState(0); ((EnemyAI)this).SwitchToBehaviourClientRpc(0); ((EnemyAI)this).SwitchToBehaviourServerRpc(0); ((EnemyAI)this).SwitchToBehaviourStateOnLocalClient(0); timeSinceHittingLocalPlayer = 0f; break; case 1: if (base.currentBehaviourStateIndex == 1 && !(timeSinceHittingLocalPlayer < 0.1f)) { Debug.Log((object)"소리남2"); ((EnemyAI)this).SwitchToBehaviourState(1); ((EnemyAI)this).SwitchToBehaviourClientRpc(1); ((EnemyAI)this).SwitchToBehaviourServerRpc(1); ((EnemyAI)this).SwitchToBehaviourStateOnLocalClient(1); base.currentBehaviourStateIndex = 0; } break; case 2: break; } } private bool HasValidTarget() { return (Object)(object)base.targetPlayer != (Object)null && base.targetPlayer.isInsideFactory && !base.targetPlayer.isPlayerDead; } public override void OnCollideWithPlayer(Collider other) { //IL_0035: Unknown result type (might be due to invalid IL or missing references) //IL_003b: Unknown result type (might be due to invalid IL or missing references) if (!(timeSinceHittingLocalPlayer3 < 1f)) { PlayerControllerB val = ((EnemyAI)this).MeetsStandardPlayerCollisionConditions(other, false, false); timeSinceHittingLocalPlayer = 0f; val.DamagePlayer(10, true, true, (CauseOfDeath)0, 0, false, default(Vector3)); } } } [BepInPlugin("boom", "boom", "1.0.5")] public class boomPlugin : BaseUnityPlugin { private void Awake() { string directoryName = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location); if (Utility.IsNullOrWhiteSpace(directoryName)) { return; } AssetBundle val = AssetBundle.LoadFromFile(Path.Combine(directoryName, "boommob")); if ((Object)(object)val == (Object)null) { ((BaseUnityPlugin)this).Logger.LogError((object)"Failed to load custom assets"); return; } EnemyType val2 = val.LoadAsset<EnemyType>("boomenemy"); TerminalNode val3 = val.LoadAsset<TerminalNode>("boom TN"); TerminalKeyword val4 = val.LoadAsset<TerminalKeyword>("boom TK"); NetworkPrefabs.RegisterNetworkPrefab(val2.enemyPrefab); Enemies.RegisterEnemy(val2, 0, (LevelTypes)(-1), (SpawnType)0, val3, val4); Type[] types = Assembly.GetExecutingAssembly().GetTypes(); Type[] array = types; foreach (Type type in array) { MethodInfo[] methods = type.GetMethods(BindingFlags.Instance | BindingFlags.Static | BindingFlags.NonPublic); MethodInfo[] array2 = methods; foreach (MethodInfo methodInfo in array2) { object[] customAttributes = methodInfo.GetCustomAttributes(typeof(RuntimeInitializeOnLoadMethodAttribute), inherit: false); if (customAttributes.Length != 0) { methodInfo.Invoke(null, null); } } } ((BaseUnityPlugin)this).Logger.LogInfo((object)"Plugin boom is loaded!"); } } public static class PluginInfo { public const string PLUGIN_GUID = "boom"; public const string PLUGIN_NAME = "boom"; public const string PLUGIN_VERSION = "1.0.5"; } }
item/fire.dll
Decompiled 9 months agousing System; using System.Diagnostics; using System.IO; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.Versioning; using BepInEx; using GameNetcodeStuff; using LethalLib.Modules; using Microsoft.CodeAnalysis; using Unity.Netcode; using UnityEngine; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)] [assembly: TargetFramework(".NETStandard,Version=v2.1", FrameworkDisplayName = ".NET Standard 2.1")] [assembly: AssemblyCompany("fire")] [assembly: AssemblyConfiguration("Debug")] [assembly: AssemblyFileVersion("1.0.0.0")] [assembly: AssemblyInformationalVersion("1.0.0")] [assembly: AssemblyProduct("fire")] [assembly: AssemblyTitle("fire")] [assembly: AssemblyVersion("1.0.0.0")] 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; } } } namespace fire { public class fireAI : EnemyAI { public float laughTimer; private const float MovementSpeed = 2f; private const float RotationSpeed = 2f; private float timeSinceHittingLocalPlayer; private float timeSinceHittingLocalPlayer2; private float timeSinceNewRandPos; public override void Start() { ((EnemyAI)this).Start(); Debug.Log((object)"비상구생성"); base.currentBehaviourStateIndex = 0; } public virtual void EvtFlush() { Debug.Log((object)"정상작동"); ((EnemyAI)this).SwitchToBehaviourState(0); } public override void OnCollideWithPlayer(Collider other) { //IL_0034: Unknown result type (might be due to invalid IL or missing references) //IL_003a: Unknown result type (might be due to invalid IL or missing references) if (!(timeSinceHittingLocalPlayer < 1f)) { PlayerControllerB val = ((EnemyAI)this).MeetsStandardPlayerCollisionConditions(other, false, false); timeSinceHittingLocalPlayer = 0f; val.DamagePlayer(5, true, true, (CauseOfDeath)0, 0, false, default(Vector3)); } } public override void Update() { //IL_016c: 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_017c: Unknown result type (might be due to invalid IL or missing references) //IL_0181: Unknown result type (might be due to invalid IL or missing references) //IL_0185: Unknown result type (might be due to invalid IL or missing references) //IL_018a: Unknown result type (might be due to invalid IL or missing references) //IL_0192: Unknown result type (might be due to invalid IL or missing references) //IL_0197: Unknown result type (might be due to invalid IL or missing references) //IL_01a3: Unknown result type (might be due to invalid IL or missing references) //IL_01a8: Unknown result type (might be due to invalid IL or missing references) ((EnemyAI)this).Update(); laughTimer -= Time.deltaTime; if ((double)laughTimer <= 0.0) { laughTimer = Random.Range(6f, 7f); if (base.enemyType.audioClips.Length != 0) { base.creatureVoice.PlayOneShot(base.enemyType.audioClips[Random.Range(0, base.enemyType.audioClips.Length)]); } } if (!HasValidTarget()) { base.targetPlayer = ((EnemyAI)this).GetClosestPlayer(false, false, false); if (base.debugEnemyAI && (Object)(object)base.targetPlayer != (Object)null) { Debug.Log((object)("Found new target: " + base.targetPlayer.playerUsername)); } } if (!HasValidTarget()) { if (base.debugEnemyAI) { Debug.Log((object)"Failed to find new target"); } } else if (!base.isEnemyDead && !StartOfRound.Instance.allPlayersDead) { timeSinceHittingLocalPlayer += Time.deltaTime; timeSinceNewRandPos += Time.deltaTime; timeSinceHittingLocalPlayer2 += Time.deltaTime; Vector3 val = base.targetPlayer.playerGlobalHead.position - ((Component)this).transform.position; Vector3 normalized = ((Vector3)(ref val)).normalized; Transform transform = ((Component)this).transform; transform.position += normalized * (Time.deltaTime * 2f); if (base.currentBehaviourStateIndex == 1 && !(timeSinceHittingLocalPlayer2 < 0.3f)) { base.creatureSFX.PlayOneShot(base.enemyType.stunSFX); timeSinceHittingLocalPlayer2 = 0f; Debug.Log((object)"소리 정상작동중!"); } } } [ClientRpc] public override void DoAIInterval() { ((EnemyAI)this).DoAIInterval(); switch (base.currentBehaviourStateIndex) { case 0: Debug.Log((object)"소리남"); ((EnemyAI)this).SwitchToBehaviourState(0); ((EnemyAI)this).SwitchToBehaviourClientRpc(0); ((EnemyAI)this).SwitchToBehaviourServerRpc(0); ((EnemyAI)this).SwitchToBehaviourStateOnLocalClient(0); timeSinceHittingLocalPlayer = 0f; break; case 1: if (base.currentBehaviourStateIndex == 1 && !(timeSinceHittingLocalPlayer < 0.1f)) { Debug.Log((object)"소리남2"); ((EnemyAI)this).SwitchToBehaviourState(1); ((EnemyAI)this).SwitchToBehaviourClientRpc(1); ((EnemyAI)this).SwitchToBehaviourServerRpc(1); ((EnemyAI)this).SwitchToBehaviourStateOnLocalClient(1); base.currentBehaviourStateIndex = 0; } break; case 2: break; } } private bool HasValidTarget() { return (Object)(object)base.targetPlayer != (Object)null && base.targetPlayer.isInsideFactory && !base.targetPlayer.isPlayerDead; } } [BepInPlugin("fire", "fire", "1.0.4")] public class firePlugin : BaseUnityPlugin { private void Awake() { string directoryName = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location); if (Utility.IsNullOrWhiteSpace(directoryName)) { return; } AssetBundle val = AssetBundle.LoadFromFile(Path.Combine(directoryName, "firemob")); if ((Object)(object)val == (Object)null) { ((BaseUnityPlugin)this).Logger.LogError((object)"Failed to load custom assets"); return; } EnemyType val2 = val.LoadAsset<EnemyType>("fireenemy"); TerminalNode val3 = val.LoadAsset<TerminalNode>("fire TN"); TerminalKeyword val4 = val.LoadAsset<TerminalKeyword>("fire TK"); NetworkPrefabs.RegisterNetworkPrefab(val2.enemyPrefab); Enemies.RegisterEnemy(val2, 0, (LevelTypes)(-1), (SpawnType)0, val3, val4); Type[] types = Assembly.GetExecutingAssembly().GetTypes(); Type[] array = types; foreach (Type type in array) { MethodInfo[] methods = type.GetMethods(BindingFlags.Instance | BindingFlags.Static | BindingFlags.NonPublic); MethodInfo[] array2 = methods; foreach (MethodInfo methodInfo in array2) { object[] customAttributes = methodInfo.GetCustomAttributes(typeof(RuntimeInitializeOnLoadMethodAttribute), inherit: false); if (customAttributes.Length != 0) { methodInfo.Invoke(null, null); } } } ((BaseUnityPlugin)this).Logger.LogInfo((object)"Plugin fire is loaded!"); } } public static class PluginInfo { public const string PLUGIN_GUID = "fire"; public const string PLUGIN_NAME = "fire"; public const string PLUGIN_VERSION = "1.0.4"; } }
item/girl.dll
Decompiled 9 months agousing System; using System.Diagnostics; using System.IO; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.Versioning; using BepInEx; using GameNetcodeStuff; using LethalLib.Modules; using Microsoft.CodeAnalysis; using UnityEngine; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)] [assembly: TargetFramework(".NETStandard,Version=v2.1", FrameworkDisplayName = ".NET Standard 2.1")] [assembly: AssemblyCompany("girl")] [assembly: AssemblyConfiguration("Debug")] [assembly: AssemblyFileVersion("1.0.0.0")] [assembly: AssemblyInformationalVersion("1.0.0")] [assembly: AssemblyProduct("girl")] [assembly: AssemblyTitle("girl")] [assembly: AssemblyVersion("1.0.0.0")] 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; } } } namespace girl { public class girlAI : LassoManAI { public float laughTimer; public Transform turnCompass; public Transform attackArea; private const float MovementSpeed = 2f; private const float RotationSpeed = 2f; private float timeSinceHittingLocalPlayer; private float timeSinceNewRandPos; public override void Start() { ((LassoManAI)this).Start(); Debug.Log((object)"dress girl Spawned"); ((EnemyAI)this).currentBehaviourStateIndex = 0; } public override void Update() { //IL_012b: Unknown result type (might be due to invalid IL or missing references) //IL_0136: Unknown result type (might be due to invalid IL or missing references) //IL_013b: Unknown result type (might be due to invalid IL or missing references) //IL_0140: Unknown result type (might be due to invalid IL or missing references) //IL_0144: Unknown result type (might be due to invalid IL or missing references) //IL_0149: Unknown result type (might be due to invalid IL or missing references) //IL_0151: 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_0162: Unknown result type (might be due to invalid IL or missing references) //IL_0167: Unknown result type (might be due to invalid IL or missing references) ((LassoManAI)this).Update(); laughTimer -= Time.deltaTime; if ((double)laughTimer <= 0.0) { laughTimer = Random.Range(6f, 7f); if (((EnemyAI)this).enemyType.audioClips.Length != 0) { ((EnemyAI)this).creatureVoice.PlayOneShot(((EnemyAI)this).enemyType.audioClips[Random.Range(0, ((EnemyAI)this).enemyType.audioClips.Length)]); } } if (!HasValidTarget()) { ((EnemyAI)this).targetPlayer = ((EnemyAI)this).GetClosestPlayer(false, false, false); if (((EnemyAI)this).debugEnemyAI && (Object)(object)((EnemyAI)this).targetPlayer != (Object)null) { Debug.Log((object)("Found new target: " + ((EnemyAI)this).targetPlayer.playerUsername)); } } if (!((EnemyAI)this).isEnemyDead && !StartOfRound.Instance.allPlayersDead) { timeSinceHittingLocalPlayer += Time.deltaTime; timeSinceNewRandPos += Time.deltaTime; Vector3 val = ((EnemyAI)this).targetPlayer.playerGlobalHead.position - ((Component)this).transform.position; Vector3 normalized = ((Vector3)(ref val)).normalized; Transform transform = ((Component)this).transform; transform.position += normalized * (Time.deltaTime * 2f); } } public override void DoAIInterval() { ((LassoManAI)this).DoAIInterval(); switch (((EnemyAI)this).currentBehaviourStateIndex) { case 0: ((EnemyAI)this).SwitchToBehaviourState(0); Debug.Log((object)"소리남"); break; case 1: if (((EnemyAI)this).currentBehaviourStateIndex == 1) { ((EnemyAI)this).creatureVoice.Stop(); ((EnemyAI)this).creatureSFX.PlayOneShot(((EnemyAI)this).enemyType.stunSFX); Debug.Log((object)"소리남2"); ((EnemyAI)this).SwitchToBehaviourState(1); ((EnemyAI)this).currentBehaviourStateIndex = ((EnemyAI)this).currentBehaviourStateIndex + 1; } break; case 2: if (((EnemyAI)this).currentBehaviourStateIndex == 2) { Debug.Log((object)"초기화"); ((EnemyAI)this).SwitchToBehaviourState(0); ((EnemyAI)this).currentBehaviourStateIndex = 0; } break; } } private bool HasValidTarget() { return (Object)(object)((EnemyAI)this).targetPlayer != (Object)null && ((EnemyAI)this).targetPlayer.isInsideFactory && !((EnemyAI)this).targetPlayer.isPlayerDead; } public override void OnCollideWithPlayer(Collider other) { //IL_0035: Unknown result type (might be due to invalid IL or missing references) //IL_003b: Unknown result type (might be due to invalid IL or missing references) if (!(timeSinceHittingLocalPlayer < 1f)) { PlayerControllerB val = ((EnemyAI)this).MeetsStandardPlayerCollisionConditions(other, false, false); timeSinceHittingLocalPlayer = 0f; val.DamagePlayer(10, true, true, (CauseOfDeath)0, 0, false, default(Vector3)); } } protected override void __initializeVariables() { ((LassoManAI)this).__initializeVariables(); } } [BepInPlugin("girl", "girl", "1.0.5")] public class bellPlugin : BaseUnityPlugin { private void Awake() { string directoryName = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location); if (Utility.IsNullOrWhiteSpace(directoryName)) { return; } AssetBundle val = AssetBundle.LoadFromFile(Path.Combine(directoryName, "girlmob")); if ((Object)(object)val == (Object)null) { ((BaseUnityPlugin)this).Logger.LogError((object)"Failed to load custom assets"); return; } EnemyType val2 = val.LoadAsset<EnemyType>("girlenemy"); TerminalNode val3 = val.LoadAsset<TerminalNode>("girl TN"); TerminalKeyword val4 = val.LoadAsset<TerminalKeyword>("girl TK"); NetworkPrefabs.RegisterNetworkPrefab(val2.enemyPrefab); Enemies.RegisterEnemy(val2, 0, (LevelTypes)(-1), (SpawnType)0, val3, val4); Type[] types = Assembly.GetExecutingAssembly().GetTypes(); Type[] array = types; foreach (Type type in array) { MethodInfo[] methods = type.GetMethods(BindingFlags.Instance | BindingFlags.Static | BindingFlags.NonPublic); MethodInfo[] array2 = methods; foreach (MethodInfo methodInfo in array2) { object[] customAttributes = methodInfo.GetCustomAttributes(typeof(RuntimeInitializeOnLoadMethodAttribute), inherit: false); if (customAttributes.Length != 0) { methodInfo.Invoke(null, null); } } } ((BaseUnityPlugin)this).Logger.LogInfo((object)"Plugin girl is loaded!"); } } public static class PluginInfo { public const string PLUGIN_GUID = "girl"; public const string PLUGIN_NAME = "girl"; public const string PLUGIN_VERSION = "1.0.5"; } }
item/head.dll
Decompiled 9 months agousing System; using System.Diagnostics; using System.IO; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.Versioning; using BepInEx; using GameNetcodeStuff; using LethalLib.Modules; using Microsoft.CodeAnalysis; using Unity.Netcode; using UnityEngine; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)] [assembly: TargetFramework(".NETStandard,Version=v2.1", FrameworkDisplayName = ".NET Standard 2.1")] [assembly: AssemblyCompany("head")] [assembly: AssemblyConfiguration("Debug")] [assembly: AssemblyFileVersion("1.0.0.0")] [assembly: AssemblyInformationalVersion("1.0.0")] [assembly: AssemblyProduct("head")] [assembly: AssemblyTitle("head")] [assembly: AssemblyVersion("1.0.0.0")] 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; } } } namespace head { public class headAI : EnemyAI { public float laughTimer; public Transform turnCompass; public Transform attackArea; private const float MovementSpeed = 2f; private const float RotationSpeed = 2f; private float timeSinceHittingLocalPlayer; private float timeSinceHittingLocalPlayer2; private float timeSinceHittingLocalPlayer3; private float timeSinceNewRandPos; private Vector3 positionRandomness; public override void Start() { //IL_0036: Unknown result type (might be due to invalid IL or missing references) //IL_003b: Unknown result type (might be due to invalid IL or missing references) ((EnemyAI)this).Start(); Debug.Log((object)"대가리 소환"); base.currentBehaviourStateIndex = 0; Transform transform = ((Component)this).gameObject.transform; positionRandomness = new Vector3(0f, 0f, 0f); } public virtual void EvtFlush() { Debug.Log((object)"정상작동"); ((EnemyAI)this).SwitchToBehaviourState(0); } public override void Update() { //IL_00ce: Unknown result type (might be due to invalid IL or missing references) //IL_00d9: Unknown result type (might be due to invalid IL or missing references) //IL_00de: Unknown result type (might be due to invalid IL or missing references) //IL_00e3: 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_00ec: Unknown result type (might be due to invalid IL or missing references) //IL_00f4: Unknown result type (might be due to invalid IL or missing references) //IL_00f9: Unknown result type (might be due to invalid IL or missing references) //IL_0105: Unknown result type (might be due to invalid IL or missing references) //IL_010a: Unknown result type (might be due to invalid IL or missing references) ((EnemyAI)this).Update(); if (!HasValidTarget()) { base.targetPlayer = ((EnemyAI)this).GetClosestPlayer(false, false, false); if (base.debugEnemyAI && (Object)(object)base.targetPlayer != (Object)null) { Debug.Log((object)("Found new target: " + base.targetPlayer.playerUsername)); } } if (!base.isEnemyDead && !StartOfRound.Instance.allPlayersDead) { timeSinceHittingLocalPlayer += Time.deltaTime; timeSinceNewRandPos += Time.deltaTime; timeSinceHittingLocalPlayer2 += Time.deltaTime; timeSinceHittingLocalPlayer3 += Time.deltaTime; Vector3 val = base.targetPlayer.playerGlobalHead.position - ((Component)this).transform.position; Vector3 normalized = ((Vector3)(ref val)).normalized; Transform transform = ((Component)this).transform; transform.position += normalized * (Time.deltaTime * 2f); if (base.currentBehaviourStateIndex == 1 && !(timeSinceHittingLocalPlayer2 < 0.3f)) { GameNetworkManager.Instance.localPlayerController.JumpToFearLevel(1f, true); base.creatureSFX.PlayOneShot(base.enemyType.stunSFX); DoAnimationClientRpc("change"); DoAnimationClientRpc("blood"); timeSinceHittingLocalPlayer2 = 0f; Debug.Log((object)"소리 정상작동중!"); } } } [ClientRpc] public override void DoAIInterval() { ((EnemyAI)this).DoAIInterval(); switch (base.currentBehaviourStateIndex) { case 0: Debug.Log((object)"소리남"); ((EnemyAI)this).SwitchToBehaviourState(0); ((EnemyAI)this).SwitchToBehaviourClientRpc(0); ((EnemyAI)this).SwitchToBehaviourServerRpc(0); ((EnemyAI)this).SwitchToBehaviourStateOnLocalClient(0); timeSinceHittingLocalPlayer = 0f; break; case 1: if (base.currentBehaviourStateIndex == 1 && !(timeSinceHittingLocalPlayer < 0.1f)) { Debug.Log((object)"소리남2"); ((EnemyAI)this).SwitchToBehaviourState(1); ((EnemyAI)this).SwitchToBehaviourClientRpc(1); ((EnemyAI)this).SwitchToBehaviourServerRpc(1); ((EnemyAI)this).SwitchToBehaviourStateOnLocalClient(1); base.currentBehaviourStateIndex = 0; } break; case 2: break; } } public void DoAnimationClientRpc(string animationName) { Debug.Log((object)("Animation: " + animationName)); base.creatureAnimator.SetTrigger(animationName); } private bool HasValidTarget() { return (Object)(object)base.targetPlayer != (Object)null && base.targetPlayer.isInsideFactory && !base.targetPlayer.isPlayerDead; } public override void OnCollideWithPlayer(Collider other) { if (!(timeSinceHittingLocalPlayer3 < 1f)) { PlayerControllerB val = ((EnemyAI)this).MeetsStandardPlayerCollisionConditions(other, false, false); timeSinceHittingLocalPlayer3 = 0f; } } } [BepInPlugin("head", "head", "1.0.0")] public class headmujunPlugin : BaseUnityPlugin { private void Awake() { string directoryName = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location); if (Utility.IsNullOrWhiteSpace(directoryName)) { return; } AssetBundle val = AssetBundle.LoadFromFile(Path.Combine(directoryName, "headmob")); if ((Object)(object)val == (Object)null) { ((BaseUnityPlugin)this).Logger.LogError((object)"Failed to load custom assets"); return; } EnemyType val2 = val.LoadAsset<EnemyType>("headenemy"); TerminalNode val3 = val.LoadAsset<TerminalNode>("head TN"); TerminalKeyword val4 = val.LoadAsset<TerminalKeyword>("head TK"); NetworkPrefabs.RegisterNetworkPrefab(val2.enemyPrefab); Enemies.RegisterEnemy(val2, 0, (LevelTypes)(-1), (SpawnType)0, val3, val4); Type[] types = Assembly.GetExecutingAssembly().GetTypes(); Type[] array = types; foreach (Type type in array) { MethodInfo[] methods = type.GetMethods(BindingFlags.Instance | BindingFlags.Static | BindingFlags.NonPublic); MethodInfo[] array2 = methods; foreach (MethodInfo methodInfo in array2) { object[] customAttributes = methodInfo.GetCustomAttributes(typeof(RuntimeInitializeOnLoadMethodAttribute), inherit: false); if (customAttributes.Length != 0) { methodInfo.Invoke(null, null); } } } ((BaseUnityPlugin)this).Logger.LogInfo((object)"Plugin head is loaded!"); } } public static class PluginInfo { public const string PLUGIN_GUID = "head"; public const string PLUGIN_NAME = "head"; public const string PLUGIN_VERSION = "1.0.0"; } }
item/invisible.dll
Decompiled 9 months agousing System; using System.Diagnostics; using System.IO; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.Versioning; using BepInEx; using GameNetcodeStuff; using LethalLib.Modules; using Microsoft.CodeAnalysis; using Unity.Netcode; using UnityEngine; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)] [assembly: TargetFramework(".NETStandard,Version=v2.1", FrameworkDisplayName = ".NET Standard 2.1")] [assembly: AssemblyCompany("invisible")] [assembly: AssemblyConfiguration("Debug")] [assembly: AssemblyFileVersion("1.0.0.0")] [assembly: AssemblyInformationalVersion("1.0.0")] [assembly: AssemblyProduct("invisible")] [assembly: AssemblyTitle("invisible")] [assembly: AssemblyVersion("1.0.0.0")] 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; } } } namespace invisible { public class invisibleAI : EnemyAI { public float laughTimer; private const float MovementSpeed = 2f; private const float RotationSpeed = 2f; private float timeSinceHittingLocalPlayer; private float timeSinceHittingLocalPlayer2; private float timeSinceNewRandPos; public override void Start() { ((EnemyAI)this).Start(); Debug.Log((object)"투명 소환"); base.currentBehaviourStateIndex = 0; } public override void OnCollideWithPlayer(Collider other) { if (!(timeSinceHittingLocalPlayer < 1f)) { PlayerControllerB val = ((EnemyAI)this).MeetsStandardPlayerCollisionConditions(other, false, false); timeSinceHittingLocalPlayer = 0f; } } public virtual void EvtFlush() { Debug.Log((object)"정상작동"); ((EnemyAI)this).SwitchToBehaviourState(0); } public override void Update() { ((EnemyAI)this).Update(); laughTimer -= Time.deltaTime; if ((double)laughTimer <= 0.0) { laughTimer = Random.Range(6f, 7f); if (base.enemyType.audioClips.Length != 0) { base.creatureVoice.PlayOneShot(base.enemyType.audioClips[Random.Range(0, base.enemyType.audioClips.Length)]); } } if (!base.isEnemyDead && !StartOfRound.Instance.allPlayersDead) { timeSinceHittingLocalPlayer += Time.deltaTime; timeSinceHittingLocalPlayer2 += Time.deltaTime; timeSinceNewRandPos += Time.deltaTime; if (base.currentBehaviourStateIndex == 1 && !(timeSinceHittingLocalPlayer2 < 0.3f)) { base.creatureSFX.PlayOneShot(base.enemyType.stunSFX); timeSinceHittingLocalPlayer2 = 0f; Debug.Log((object)"소리 정상작동중!"); } } } [ClientRpc] public override void DoAIInterval() { ((EnemyAI)this).DoAIInterval(); switch (base.currentBehaviourStateIndex) { case 0: Debug.Log((object)"소리남"); ((EnemyAI)this).SwitchToBehaviourState(0); ((EnemyAI)this).SwitchToBehaviourClientRpc(0); ((EnemyAI)this).SwitchToBehaviourServerRpc(0); ((EnemyAI)this).SwitchToBehaviourStateOnLocalClient(0); timeSinceHittingLocalPlayer = 0f; break; case 1: if (base.currentBehaviourStateIndex == 1 && !(timeSinceHittingLocalPlayer < 0.1f)) { Debug.Log((object)"소리남2"); ((EnemyAI)this).SwitchToBehaviourState(1); ((EnemyAI)this).SwitchToBehaviourClientRpc(1); ((EnemyAI)this).SwitchToBehaviourServerRpc(1); ((EnemyAI)this).SwitchToBehaviourStateOnLocalClient(1); base.currentBehaviourStateIndex = 0; } break; case 2: break; } } private bool HasValidTarget() { return (Object)(object)base.targetPlayer != (Object)null && base.targetPlayer.isInsideFactory && !base.targetPlayer.isPlayerDead; } } [BepInPlugin("invisible", "invisible", "1.0.0")] public class invisiblePlugin : BaseUnityPlugin { private void Awake() { string directoryName = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location); if (Utility.IsNullOrWhiteSpace(directoryName)) { return; } AssetBundle val = AssetBundle.LoadFromFile(Path.Combine(directoryName, "invisiblemob")); if ((Object)(object)val == (Object)null) { ((BaseUnityPlugin)this).Logger.LogError((object)"Failed to load custom assets"); return; } EnemyType val2 = val.LoadAsset<EnemyType>("invisibleenemy"); TerminalNode val3 = val.LoadAsset<TerminalNode>("invisible TN"); TerminalKeyword val4 = val.LoadAsset<TerminalKeyword>("invisible TK"); NetworkPrefabs.RegisterNetworkPrefab(val2.enemyPrefab); Enemies.RegisterEnemy(val2, 0, (LevelTypes)(-1), (SpawnType)2, val3, val4); Type[] types = Assembly.GetExecutingAssembly().GetTypes(); Type[] array = types; foreach (Type type in array) { MethodInfo[] methods = type.GetMethods(BindingFlags.Instance | BindingFlags.Static | BindingFlags.NonPublic); MethodInfo[] array2 = methods; foreach (MethodInfo methodInfo in array2) { object[] customAttributes = methodInfo.GetCustomAttributes(typeof(RuntimeInitializeOnLoadMethodAttribute), inherit: false); if (customAttributes.Length != 0) { methodInfo.Invoke(null, null); } } } ((BaseUnityPlugin)this).Logger.LogInfo((object)"Plugin invisible is loaded!"); } } public static class PluginInfo { public const string PLUGIN_GUID = "invisible"; public const string PLUGIN_NAME = "invisible"; public const string PLUGIN_VERSION = "1.0.0"; } }
item/mujun.dll
Decompiled 9 months agousing System; using System.Diagnostics; using System.IO; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.Versioning; using BepInEx; using GameNetcodeStuff; using LethalLib.Modules; using Microsoft.CodeAnalysis; using Unity.Netcode; using UnityEngine; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)] [assembly: TargetFramework(".NETStandard,Version=v2.1", FrameworkDisplayName = ".NET Standard 2.1")] [assembly: AssemblyCompany("mujun")] [assembly: AssemblyConfiguration("Debug")] [assembly: AssemblyFileVersion("1.0.0.0")] [assembly: AssemblyInformationalVersion("1.0.0")] [assembly: AssemblyProduct("mujun")] [assembly: AssemblyTitle("mujun")] [assembly: AssemblyVersion("1.0.0.0")] 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; } } } namespace mujun { public class mujunAI : EnemyAI { public float laughTimer; public Transform turnCompass; public Transform attackArea; private const float MovementSpeed = 2f; private const float RotationSpeed = 2f; private float timeSinceHittingLocalPlayer; private float timeSinceHittingLocalPlayer2; private float timeSinceNewRandPos; private float timeSinceHittingLocalPlayer3; public override void Start() { ((EnemyAI)this).Start(); Debug.Log((object)"무전기 소환"); base.currentBehaviourStateIndex = 0; } public virtual void EvtFlush() { Debug.Log((object)"정상작동"); ((EnemyAI)this).SwitchToBehaviourState(0); } public override void Update() { //IL_0152: Unknown result type (might be due to invalid IL or missing references) //IL_015d: Unknown result type (might be due to invalid IL or missing references) //IL_0162: Unknown result type (might be due to invalid IL or missing references) //IL_0167: Unknown result type (might be due to invalid IL or missing references) //IL_016b: Unknown result type (might be due to invalid IL or missing references) //IL_0170: 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_01f0: Unknown result type (might be due to invalid IL or missing references) //IL_01fc: 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) ((EnemyAI)this).Update(); laughTimer -= Time.deltaTime; if ((double)laughTimer <= 0.0) { laughTimer = Random.Range(6f, 7f); if (base.enemyType.audioClips.Length != 0) { base.creatureVoice.PlayOneShot(base.enemyType.audioClips[Random.Range(0, base.enemyType.audioClips.Length)]); } } if (!HasValidTarget()) { base.targetPlayer = ((EnemyAI)this).GetClosestPlayer(false, false, false); if (base.debugEnemyAI && (Object)(object)base.targetPlayer != (Object)null) { Debug.Log((object)("Found new target: " + base.targetPlayer.playerUsername)); } } if (!base.isEnemyDead && !StartOfRound.Instance.allPlayersDead) { timeSinceHittingLocalPlayer += Time.deltaTime; timeSinceNewRandPos += Time.deltaTime; timeSinceHittingLocalPlayer2 += Time.deltaTime; timeSinceHittingLocalPlayer3 += Time.deltaTime; Vector3 val = base.targetPlayer.playerGlobalHead.position - ((Component)this).transform.position; Vector3 normalized = ((Vector3)(ref val)).normalized; if (base.currentBehaviourStateIndex == 1 && !(timeSinceHittingLocalPlayer2 < 0.3f)) { GameNetworkManager.Instance.localPlayerController.JumpToFearLevel(1f, true); base.creatureSFX.PlayOneShot(base.enemyType.stunSFX); DoAnimationClientRpc("change"); timeSinceHittingLocalPlayer2 = 0f; Debug.Log((object)"소리 정상작동중!"); } Transform transform = ((Component)this).transform; transform.position += normalized * (Time.deltaTime * 2f); } } [ClientRpc] public override void DoAIInterval() { ((EnemyAI)this).DoAIInterval(); switch (base.currentBehaviourStateIndex) { case 0: Debug.Log((object)"소리남"); ((EnemyAI)this).SwitchToBehaviourState(0); ((EnemyAI)this).SwitchToBehaviourClientRpc(0); ((EnemyAI)this).SwitchToBehaviourServerRpc(0); ((EnemyAI)this).SwitchToBehaviourStateOnLocalClient(0); timeSinceHittingLocalPlayer = 0f; break; case 1: if (base.currentBehaviourStateIndex == 1 && !(timeSinceHittingLocalPlayer < 0.1f)) { Debug.Log((object)"소리남2"); ((EnemyAI)this).SwitchToBehaviourState(1); ((EnemyAI)this).SwitchToBehaviourClientRpc(1); ((EnemyAI)this).SwitchToBehaviourServerRpc(1); ((EnemyAI)this).SwitchToBehaviourStateOnLocalClient(1); base.currentBehaviourStateIndex = 0; } break; case 2: break; } } public void DoAnimationClientRpc(string animationName) { Debug.Log((object)("Animation: " + animationName)); base.creatureAnimator.SetTrigger(animationName); } private bool HasValidTarget() { return (Object)(object)base.targetPlayer != (Object)null && base.targetPlayer.isInsideFactory && !base.targetPlayer.isPlayerDead; } public override void OnCollideWithPlayer(Collider other) { //IL_0035: Unknown result type (might be due to invalid IL or missing references) //IL_003b: Unknown result type (might be due to invalid IL or missing references) if (!(timeSinceHittingLocalPlayer3 < 1f)) { PlayerControllerB val = ((EnemyAI)this).MeetsStandardPlayerCollisionConditions(other, false, false); timeSinceHittingLocalPlayer3 = 0f; val.DamagePlayer(10, true, true, (CauseOfDeath)0, 0, false, default(Vector3)); } } } [BepInPlugin("mujun", "mujun", "1.0.0")] public class mujunPlugin : BaseUnityPlugin { private void Awake() { string directoryName = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location); if (Utility.IsNullOrWhiteSpace(directoryName)) { return; } AssetBundle val = AssetBundle.LoadFromFile(Path.Combine(directoryName, "mujunmob")); if ((Object)(object)val == (Object)null) { ((BaseUnityPlugin)this).Logger.LogError((object)"Failed to load custom assets"); return; } EnemyType val2 = val.LoadAsset<EnemyType>("mujunenemy"); TerminalNode val3 = val.LoadAsset<TerminalNode>("mujun TN"); TerminalKeyword val4 = val.LoadAsset<TerminalKeyword>("mujunl TK"); NetworkPrefabs.RegisterNetworkPrefab(val2.enemyPrefab); Enemies.RegisterEnemy(val2, 0, (LevelTypes)(-1), (SpawnType)0, val3, val4); Type[] types = Assembly.GetExecutingAssembly().GetTypes(); Type[] array = types; foreach (Type type in array) { MethodInfo[] methods = type.GetMethods(BindingFlags.Instance | BindingFlags.Static | BindingFlags.NonPublic); MethodInfo[] array2 = methods; foreach (MethodInfo methodInfo in array2) { object[] customAttributes = methodInfo.GetCustomAttributes(typeof(RuntimeInitializeOnLoadMethodAttribute), inherit: false); if (customAttributes.Length != 0) { methodInfo.Invoke(null, null); } } } ((BaseUnityPlugin)this).Logger.LogInfo((object)"Plugin mujun is loaded!"); } } public static class PluginInfo { public const string PLUGIN_GUID = "mujun"; public const string PLUGIN_NAME = "mujun"; public const string PLUGIN_VERSION = "1.0.0"; } }
item/outairhorn.dll
Decompiled 9 months agousing System; using System.Diagnostics; using System.IO; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.Versioning; using BepInEx; using GameNetcodeStuff; using LethalLib.Modules; using Microsoft.CodeAnalysis; using Unity.Netcode; using UnityEngine; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)] [assembly: TargetFramework(".NETStandard,Version=v2.1", FrameworkDisplayName = ".NET Standard 2.1")] [assembly: AssemblyCompany("outairhorn")] [assembly: AssemblyConfiguration("Debug")] [assembly: AssemblyFileVersion("1.0.0.0")] [assembly: AssemblyInformationalVersion("1.0.0")] [assembly: AssemblyProduct("outairhorn")] [assembly: AssemblyTitle("outairhorn")] [assembly: AssemblyVersion("1.0.0.0")] 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; } } } namespace outairhorn { public class outairhornAI : EnemyAI { public float laughTimer; public Transform turnCompass; public Transform attackArea; private const float MovementSpeed = 2f; private const float RotationSpeed = 2f; private float timeSinceHittingLocalPlayer; private float timeSinceHittingLocalPlayer2; private float timeSinceHittingLocalPlayer3; private int prevState = 0; private float timeSinceNewRandPos; public override void Start() { ((EnemyAI)this).Start(); Debug.Log((object)"Toilet Leech Spawned"); base.currentBehaviourStateIndex = 0; } public virtual void EvtFlush() { Debug.Log((object)"정상작동"); ((EnemyAI)this).SwitchToBehaviourState(0); } public override void Update() { ((EnemyAI)this).Update(); laughTimer -= Time.deltaTime; if ((double)laughTimer <= 0.0) { laughTimer = Random.Range(6f, 7f); if (base.enemyType.audioClips.Length != 0) { base.creatureVoice.PlayOneShot(base.enemyType.audioClips[Random.Range(0, base.enemyType.audioClips.Length)]); } } if (!base.isEnemyDead && !StartOfRound.Instance.allPlayersDead) { timeSinceHittingLocalPlayer += Time.deltaTime; timeSinceHittingLocalPlayer2 += Time.deltaTime; timeSinceHittingLocalPlayer3 += Time.deltaTime; timeSinceNewRandPos += Time.deltaTime; if (base.currentBehaviourStateIndex == 1 && !(timeSinceHittingLocalPlayer2 < 0.3f)) { base.creatureSFX.PlayOneShot(base.enemyType.stunSFX); timeSinceHittingLocalPlayer2 = 0f; Debug.Log((object)"소리 정상작동중!"); } } } [ClientRpc] public override void DoAIInterval() { ((EnemyAI)this).DoAIInterval(); switch (base.currentBehaviourStateIndex) { case 0: Debug.Log((object)"소리남"); ((EnemyAI)this).SwitchToBehaviourState(0); ((EnemyAI)this).SwitchToBehaviourClientRpc(0); ((EnemyAI)this).SwitchToBehaviourServerRpc(0); ((EnemyAI)this).SwitchToBehaviourStateOnLocalClient(0); timeSinceHittingLocalPlayer = 0f; break; case 1: if (base.currentBehaviourStateIndex == 1 && !(timeSinceHittingLocalPlayer < 0.1f)) { Debug.Log((object)"소리남2"); ((EnemyAI)this).SwitchToBehaviourState(1); ((EnemyAI)this).SwitchToBehaviourClientRpc(1); ((EnemyAI)this).SwitchToBehaviourServerRpc(1); ((EnemyAI)this).SwitchToBehaviourStateOnLocalClient(1); base.currentBehaviourStateIndex = 0; } break; case 2: break; } } public override void OnCollideWithPlayer(Collider other) { //IL_0035: Unknown result type (might be due to invalid IL or missing references) //IL_003b: Unknown result type (might be due to invalid IL or missing references) if (!(timeSinceHittingLocalPlayer3 < 1f)) { PlayerControllerB val = ((EnemyAI)this).MeetsStandardPlayerCollisionConditions(other, false, false); timeSinceHittingLocalPlayer3 = 0f; val.DamagePlayer(10, true, true, (CauseOfDeath)0, 0, false, default(Vector3)); } } } [BepInPlugin("outairhorn", "outairhorn", "1.0.5")] public class outairhornPlugin : BaseUnityPlugin { private void Awake() { string directoryName = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location); if (Utility.IsNullOrWhiteSpace(directoryName)) { return; } AssetBundle val = AssetBundle.LoadFromFile(Path.Combine(directoryName, "outairhornmob")); if ((Object)(object)val == (Object)null) { ((BaseUnityPlugin)this).Logger.LogError((object)"Failed to load custom assets"); return; } EnemyType val2 = val.LoadAsset<EnemyType>("outairhornenemy"); TerminalNode val3 = val.LoadAsset<TerminalNode>("outairhorn TN"); TerminalKeyword val4 = val.LoadAsset<TerminalKeyword>("outairhorn TK"); NetworkPrefabs.RegisterNetworkPrefab(val2.enemyPrefab); Enemies.RegisterEnemy(val2, 0, (LevelTypes)(-1), (SpawnType)2, val3, val4); Type[] types = Assembly.GetExecutingAssembly().GetTypes(); Type[] array = types; foreach (Type type in array) { MethodInfo[] methods = type.GetMethods(BindingFlags.Instance | BindingFlags.Static | BindingFlags.NonPublic); MethodInfo[] array2 = methods; foreach (MethodInfo methodInfo in array2) { object[] customAttributes = methodInfo.GetCustomAttributes(typeof(RuntimeInitializeOnLoadMethodAttribute), inherit: false); if (customAttributes.Length != 0) { methodInfo.Invoke(null, null); } } } ((BaseUnityPlugin)this).Logger.LogInfo((object)"Plugin outairhorn is loaded!"); } } public static class PluginInfo { public const string PLUGIN_GUID = "outairhorn"; public const string PLUGIN_NAME = "outairhorn"; public const string PLUGIN_VERSION = "1.0.5"; } }
item/outboom.dll
Decompiled 9 months agousing System; using System.Diagnostics; using System.IO; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.Versioning; using BepInEx; using GameNetcodeStuff; using LethalLib.Modules; using Microsoft.CodeAnalysis; using Unity.Netcode; using UnityEngine; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)] [assembly: TargetFramework(".NETStandard,Version=v2.1", FrameworkDisplayName = ".NET Standard 2.1")] [assembly: AssemblyCompany("outboom")] [assembly: AssemblyConfiguration("Debug")] [assembly: AssemblyFileVersion("1.0.0.0")] [assembly: AssemblyInformationalVersion("1.0.0")] [assembly: AssemblyProduct("outboom")] [assembly: AssemblyTitle("outboom")] [assembly: AssemblyVersion("1.0.0.0")] 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; } } } namespace outboom { public class outboomAI : EnemyAI { public float laughTimer; public Transform turnCompass; public Transform attackArea; private const float MovementSpeed = 2f; private const float RotationSpeed = 2f; private float timeSinceHittingLocalPlayer; private float timeSinceHittingLocalPlayer2; private float timeSinceHittingLocalPlayer3; private float timeSinceNewRandPos; public override void Start() { ((EnemyAI)this).Start(); Debug.Log((object)"Toilet Leech Spawned"); base.currentBehaviourStateIndex = 0; } public virtual void EvtFlush() { Debug.Log((object)"정상작동"); ((EnemyAI)this).SwitchToBehaviourState(0); } public override void Update() { //IL_0152: Unknown result type (might be due to invalid IL or missing references) //IL_015d: Unknown result type (might be due to invalid IL or missing references) //IL_0162: Unknown result type (might be due to invalid IL or missing references) //IL_0167: Unknown result type (might be due to invalid IL or missing references) //IL_016b: Unknown result type (might be due to invalid IL or missing references) //IL_0170: Unknown result type (might be due to invalid IL or missing references) //IL_0178: Unknown result type (might be due to invalid IL or missing references) //IL_017d: Unknown result type (might be due to invalid IL or missing references) //IL_0189: Unknown result type (might be due to invalid IL or missing references) //IL_018e: Unknown result type (might be due to invalid IL or missing references) ((EnemyAI)this).Update(); laughTimer -= Time.deltaTime; if ((double)laughTimer <= 0.0) { laughTimer = Random.Range(6f, 7f); if (base.enemyType.audioClips.Length != 0) { base.creatureVoice.PlayOneShot(base.enemyType.audioClips[Random.Range(0, base.enemyType.audioClips.Length)]); } } if (!HasValidTarget()) { base.targetPlayer = ((EnemyAI)this).GetClosestPlayer(false, false, false); if (base.debugEnemyAI && (Object)(object)base.targetPlayer != (Object)null) { Debug.Log((object)("Found new target: " + base.targetPlayer.playerUsername)); } } if (!base.isEnemyDead && !StartOfRound.Instance.allPlayersDead) { timeSinceHittingLocalPlayer += Time.deltaTime; timeSinceNewRandPos += Time.deltaTime; timeSinceHittingLocalPlayer2 += Time.deltaTime; timeSinceHittingLocalPlayer3 += Time.deltaTime; Vector3 val = base.targetPlayer.playerGlobalHead.position - ((Component)this).transform.position; Vector3 normalized = ((Vector3)(ref val)).normalized; Transform transform = ((Component)this).transform; transform.position += normalized * (Time.deltaTime * 2f); if (base.currentBehaviourStateIndex == 1 && !(timeSinceHittingLocalPlayer2 < 0.3f)) { base.creatureSFX.PlayOneShot(base.enemyType.stunSFX); timeSinceHittingLocalPlayer2 = 0f; Debug.Log((object)"소리 정상작동중!"); } } } [ClientRpc] public override void DoAIInterval() { ((EnemyAI)this).DoAIInterval(); switch (base.currentBehaviourStateIndex) { case 0: Debug.Log((object)"소리남"); ((EnemyAI)this).SwitchToBehaviourState(0); ((EnemyAI)this).SwitchToBehaviourClientRpc(0); ((EnemyAI)this).SwitchToBehaviourServerRpc(0); ((EnemyAI)this).SwitchToBehaviourStateOnLocalClient(0); timeSinceHittingLocalPlayer = 0f; break; case 1: if (base.currentBehaviourStateIndex == 1 && !(timeSinceHittingLocalPlayer < 0.1f)) { Debug.Log((object)"소리남2"); ((EnemyAI)this).SwitchToBehaviourState(1); ((EnemyAI)this).SwitchToBehaviourClientRpc(1); ((EnemyAI)this).SwitchToBehaviourServerRpc(1); ((EnemyAI)this).SwitchToBehaviourStateOnLocalClient(1); base.currentBehaviourStateIndex = 0; } break; case 2: break; } } private bool HasValidTarget() { return (Object)(object)base.targetPlayer != (Object)null && base.targetPlayer.isInsideFactory && !base.targetPlayer.isPlayerDead; } public override void OnCollideWithPlayer(Collider other) { //IL_0035: Unknown result type (might be due to invalid IL or missing references) //IL_003b: Unknown result type (might be due to invalid IL or missing references) if (!(timeSinceHittingLocalPlayer3 < 1f)) { PlayerControllerB val = ((EnemyAI)this).MeetsStandardPlayerCollisionConditions(other, false, false); timeSinceHittingLocalPlayer3 = 0f; val.DamagePlayer(10, true, true, (CauseOfDeath)0, 0, false, default(Vector3)); } } } [BepInPlugin("outboom", "outboom", "1.0.5")] public class outboomPlugin : BaseUnityPlugin { private void Awake() { string directoryName = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location); if (Utility.IsNullOrWhiteSpace(directoryName)) { return; } AssetBundle val = AssetBundle.LoadFromFile(Path.Combine(directoryName, "outboommob")); if ((Object)(object)val == (Object)null) { ((BaseUnityPlugin)this).Logger.LogError((object)"Failed to load custom assets"); return; } EnemyType val2 = val.LoadAsset<EnemyType>("outboomenemy"); TerminalNode val3 = val.LoadAsset<TerminalNode>("outboom TN"); TerminalKeyword val4 = val.LoadAsset<TerminalKeyword>("outboom TK"); NetworkPrefabs.RegisterNetworkPrefab(val2.enemyPrefab); Enemies.RegisterEnemy(val2, 0, (LevelTypes)(-1), (SpawnType)2, val3, val4); Type[] types = Assembly.GetExecutingAssembly().GetTypes(); Type[] array = types; foreach (Type type in array) { MethodInfo[] methods = type.GetMethods(BindingFlags.Instance | BindingFlags.Static | BindingFlags.NonPublic); MethodInfo[] array2 = methods; foreach (MethodInfo methodInfo in array2) { object[] customAttributes = methodInfo.GetCustomAttributes(typeof(RuntimeInitializeOnLoadMethodAttribute), inherit: false); if (customAttributes.Length != 0) { methodInfo.Invoke(null, null); } } } ((BaseUnityPlugin)this).Logger.LogInfo((object)"Plugin outboom is loaded!"); } } public static class PluginInfo { public const string PLUGIN_GUID = "outboom"; public const string PLUGIN_NAME = "outboom"; public const string PLUGIN_VERSION = "1.0.5"; } }
item/outmujun.dll
Decompiled 9 months agousing System; using System.Diagnostics; using System.IO; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.Versioning; using BepInEx; using GameNetcodeStuff; using LethalLib.Modules; using Microsoft.CodeAnalysis; using Unity.Netcode; using UnityEngine; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)] [assembly: TargetFramework(".NETStandard,Version=v2.1", FrameworkDisplayName = ".NET Standard 2.1")] [assembly: AssemblyCompany("outmujun")] [assembly: AssemblyConfiguration("Debug")] [assembly: AssemblyFileVersion("1.0.0.0")] [assembly: AssemblyInformationalVersion("1.0.0")] [assembly: AssemblyProduct("outmujun")] [assembly: AssemblyTitle("outmujun")] [assembly: AssemblyVersion("1.0.0.0")] 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; } } } namespace outmujun { public class outmujunAI : EnemyAI { public float laughTimer; public Transform turnCompass; public Transform attackArea; private const float MovementSpeed = 2f; private const float RotationSpeed = 2f; private float timeSinceHittingLocalPlayer; private float timeSinceHittingLocalPlayer2; private float timeSinceHittingLocalPlayer3; private float timeSinceNewRandPos; private Vector3 positionRandomness; public override void Start() { //IL_0036: Unknown result type (might be due to invalid IL or missing references) //IL_003b: Unknown result type (might be due to invalid IL or missing references) ((EnemyAI)this).Start(); Debug.Log((object)"외부 무전기 소환"); base.currentBehaviourStateIndex = 0; Transform transform = ((Component)this).gameObject.transform; positionRandomness = new Vector3(0f, 0f, 0f); } public virtual void EvtFlush() { Debug.Log((object)"정상작동"); ((EnemyAI)this).SwitchToBehaviourState(0); } public override void Update() { //IL_00ce: Unknown result type (might be due to invalid IL or missing references) //IL_00d9: Unknown result type (might be due to invalid IL or missing references) //IL_00de: Unknown result type (might be due to invalid IL or missing references) //IL_00e3: 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_00ec: Unknown result type (might be due to invalid IL or missing references) //IL_00f4: Unknown result type (might be due to invalid IL or missing references) //IL_00f9: Unknown result type (might be due to invalid IL or missing references) //IL_0105: Unknown result type (might be due to invalid IL or missing references) //IL_010a: Unknown result type (might be due to invalid IL or missing references) ((EnemyAI)this).Update(); if (!HasValidTarget()) { base.targetPlayer = ((EnemyAI)this).GetClosestPlayer(false, false, false); if (base.debugEnemyAI && (Object)(object)base.targetPlayer != (Object)null) { Debug.Log((object)("Found new target: " + base.targetPlayer.playerUsername)); } } if (!base.isEnemyDead && !StartOfRound.Instance.allPlayersDead) { timeSinceHittingLocalPlayer += Time.deltaTime; timeSinceNewRandPos += Time.deltaTime; timeSinceHittingLocalPlayer2 += Time.deltaTime; timeSinceHittingLocalPlayer3 += Time.deltaTime; Vector3 val = base.targetPlayer.playerGlobalHead.position - ((Component)this).transform.position; Vector3 normalized = ((Vector3)(ref val)).normalized; Transform transform = ((Component)this).transform; transform.position += normalized * (Time.deltaTime * 2f); if (base.currentBehaviourStateIndex == 1 && !(timeSinceHittingLocalPlayer2 < 0.3f)) { GameNetworkManager.Instance.localPlayerController.JumpToFearLevel(1f, true); base.creatureSFX.PlayOneShot(base.enemyType.stunSFX); DoAnimationClientRpc("change"); timeSinceHittingLocalPlayer2 = 0f; Debug.Log((object)"소리 정상작동중!"); } } } [ClientRpc] public override void DoAIInterval() { ((EnemyAI)this).DoAIInterval(); switch (base.currentBehaviourStateIndex) { case 0: Debug.Log((object)"소리남"); ((EnemyAI)this).SwitchToBehaviourState(0); ((EnemyAI)this).SwitchToBehaviourClientRpc(0); ((EnemyAI)this).SwitchToBehaviourServerRpc(0); ((EnemyAI)this).SwitchToBehaviourStateOnLocalClient(0); timeSinceHittingLocalPlayer = 0f; break; case 1: if (base.currentBehaviourStateIndex == 1 && !(timeSinceHittingLocalPlayer < 0.1f)) { Debug.Log((object)"소리남2"); ((EnemyAI)this).SwitchToBehaviourState(1); ((EnemyAI)this).SwitchToBehaviourClientRpc(1); ((EnemyAI)this).SwitchToBehaviourServerRpc(1); ((EnemyAI)this).SwitchToBehaviourStateOnLocalClient(1); base.currentBehaviourStateIndex = 0; } break; case 2: break; } } public void DoAnimationClientRpc(string animationName) { Debug.Log((object)("Animation: " + animationName)); base.creatureAnimator.SetTrigger(animationName); } private bool HasValidTarget() { return (Object)(object)base.targetPlayer != (Object)null && base.targetPlayer.isInsideFactory && !base.targetPlayer.isPlayerDead; } public override void OnCollideWithPlayer(Collider other) { //IL_0035: Unknown result type (might be due to invalid IL or missing references) //IL_003b: Unknown result type (might be due to invalid IL or missing references) if (!(timeSinceHittingLocalPlayer3 < 1f)) { PlayerControllerB val = ((EnemyAI)this).MeetsStandardPlayerCollisionConditions(other, false, false); timeSinceHittingLocalPlayer3 = 0f; val.DamagePlayer(10, true, true, (CauseOfDeath)0, 0, false, default(Vector3)); } } } [BepInPlugin("outmujun", "outmujun", "1.0.0")] public class outmujunPlugin : BaseUnityPlugin { private void Awake() { string directoryName = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location); if (Utility.IsNullOrWhiteSpace(directoryName)) { return; } AssetBundle val = AssetBundle.LoadFromFile(Path.Combine(directoryName, "outmujunmob")); if ((Object)(object)val == (Object)null) { ((BaseUnityPlugin)this).Logger.LogError((object)"Failed to load custom assets"); return; } EnemyType val2 = val.LoadAsset<EnemyType>("outmujunenemy"); TerminalNode val3 = val.LoadAsset<TerminalNode>("outmujun TN"); TerminalKeyword val4 = val.LoadAsset<TerminalKeyword>("outmujunl TK"); NetworkPrefabs.RegisterNetworkPrefab(val2.enemyPrefab); Enemies.RegisterEnemy(val2, 0, (LevelTypes)(-1), (SpawnType)2, val3, val4); Type[] types = Assembly.GetExecutingAssembly().GetTypes(); Type[] array = types; foreach (Type type in array) { MethodInfo[] methods = type.GetMethods(BindingFlags.Instance | BindingFlags.Static | BindingFlags.NonPublic); MethodInfo[] array2 = methods; foreach (MethodInfo methodInfo in array2) { object[] customAttributes = methodInfo.GetCustomAttributes(typeof(RuntimeInitializeOnLoadMethodAttribute), inherit: false); if (customAttributes.Length != 0) { methodInfo.Invoke(null, null); } } } ((BaseUnityPlugin)this).Logger.LogInfo((object)"Plugin outmujun is loaded!"); } } public static class PluginInfo { public const string PLUGIN_GUID = "outmujun"; public const string PLUGIN_NAME = "outmujun"; public const string PLUGIN_VERSION = "1.0.0"; } }
item/present.dll
Decompiled 9 months agousing System; using System.Diagnostics; using System.IO; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.Versioning; using BepInEx; using GameNetcodeStuff; using LethalLib.Modules; using Microsoft.CodeAnalysis; using Unity.Netcode; using UnityEngine; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)] [assembly: TargetFramework(".NETStandard,Version=v2.1", FrameworkDisplayName = ".NET Standard 2.1")] [assembly: AssemblyCompany("present")] [assembly: AssemblyConfiguration("Debug")] [assembly: AssemblyFileVersion("1.0.0.0")] [assembly: AssemblyInformationalVersion("1.0.0")] [assembly: AssemblyProduct("present")] [assembly: AssemblyTitle("present")] [assembly: AssemblyVersion("1.0.0.0")] 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; } } } namespace present { public class presentAI : EnemyAI { public float laughTimer; public Transform turnCompass; public Transform attackArea; private RoundManager instance = RoundManager.Instance; private const float MovementSpeed = 2f; private const float RotationSpeed = 2f; private float timeSinceHittingLocalPlayer; private float timeSinceHittingLocalPlayer2; private float timeSinceNewRandPos; private Vector3 positionRandomness; private float ticksTillThunder = 5f; private Random enemyRandom; public override void Start() { //IL_0052: Unknown result type (might be due to invalid IL or missing references) //IL_0057: Unknown result type (might be due to invalid IL or missing references) ((EnemyAI)this).Start(); Debug.Log((object)"선물상자 소환"); base.currentBehaviourStateIndex = 0; enemyRandom = new Random(StartOfRound.Instance.randomMapSeed + base.thisEnemyIndex); Transform transform = ((Component)this).gameObject.transform; positionRandomness = new Vector3(0f, 0f, 0f); } public override void Update() { //IL_00bc: Unknown result type (might be due to invalid IL or missing references) //IL_00c7: Unknown result type (might be due to invalid IL or missing references) //IL_00cc: Unknown result type (might be due to invalid IL or missing references) //IL_00d1: Unknown result type (might be due to invalid IL or missing references) //IL_00d5: Unknown result type (might be due to invalid IL or missing references) //IL_00da: Unknown result type (might be due to invalid IL or missing references) //IL_00e2: 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_00f3: 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_0156: Unknown result type (might be due to invalid IL or missing references) ((EnemyAI)this).Update(); if (!HasValidTarget()) { base.targetPlayer = ((EnemyAI)this).GetClosestPlayer(false, false, false); if (base.debugEnemyAI && (Object)(object)base.targetPlayer != (Object)null) { Debug.Log((object)("Found new target: " + base.targetPlayer.playerUsername)); } } if (base.isEnemyDead || StartOfRound.Instance.allPlayersDead) { return; } timeSinceHittingLocalPlayer2 += Time.deltaTime; timeSinceHittingLocalPlayer += Time.deltaTime; timeSinceNewRandPos += Time.deltaTime; Vector3 val = base.targetPlayer.playerGlobalHead.position - ((Component)this).transform.position; Vector3 normalized = ((Vector3)(ref val)).normalized; Transform transform = ((Component)this).transform; transform.position += normalized * (Time.deltaTime * 2f); if (base.currentBehaviourStateIndex == 1 && !(timeSinceHittingLocalPlayer2 < 0.2f)) { base.creatureSFX.PlayOneShot(base.enemyType.stunSFX); Debug.Log((object)"번개 정상작동중!"); thunderReset(); instance.LightningStrikeClientRpc(base.serverPosition); if (base.currentBehaviourStateIndex == 1 && !(timeSinceHittingLocalPlayer2 < 0.3f)) { thunderTick(); Debug.Log((object)"번개 활성화!"); timeSinceHittingLocalPlayer2 = 0f; } } } [ClientRpc] public override void DoAIInterval() { ((EnemyAI)this).DoAIInterval(); switch (base.currentBehaviourStateIndex) { case 0: Debug.Log((object)"소리남"); ((EnemyAI)this).SwitchToBehaviourState(0); ((EnemyAI)this).SwitchToBehaviourClientRpc(0); ((EnemyAI)this).SwitchToBehaviourServerRpc(0); ((EnemyAI)this).SwitchToBehaviourStateOnLocalClient(0); timeSinceHittingLocalPlayer = 0f; break; case 1: if (base.currentBehaviourStateIndex == 1 && !(timeSinceHittingLocalPlayer < 0.1f)) { Debug.Log((object)"소리남2"); ((EnemyAI)this).SwitchToBehaviourState(1); ((EnemyAI)this).SwitchToBehaviourClientRpc(1); ((EnemyAI)this).SwitchToBehaviourServerRpc(1); ((EnemyAI)this).SwitchToBehaviourStateOnLocalClient(1); base.currentBehaviourStateIndex = 0; } break; } } private bool HasValidTarget() { return (Object)(object)base.targetPlayer != (Object)null && base.targetPlayer.isInsideFactory && !base.targetPlayer.isPlayerDead; } public override void OnCollideWithPlayer(Collider other) { if (!(timeSinceHittingLocalPlayer < 1f)) { PlayerControllerB val = ((EnemyAI)this).MeetsStandardPlayerCollisionConditions(other, false, false); timeSinceHittingLocalPlayer = 0f; } } public void thunderReset() { //IL_002a: Unknown result type (might be due to invalid IL or missing references) //IL_003a: Unknown result type (might be due to invalid IL or missing references) //IL_0064: Unknown result type (might be due to invalid IL or missing references) //IL_0069: 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) if (base.currentBehaviourStateIndex == 1) { RoundManager val = RoundManager.Instance; Debug.Log((object)"thunder"); ticksTillThunder = Math.Min((float)Math.Pow(Vector3.Distance(((Component)this).transform.position, ((Component)base.targetPlayer).transform.position), 1.75), 180f); Vector3 serverPosition = base.serverPosition; serverPosition.y += (float)(enemyRandom.NextDouble() * (double)ticksTillThunder * 0.2) - ticksTillThunder * 0.1f; serverPosition.x += (float)(enemyRandom.NextDouble() * (double)ticksTillThunder * 0.2) - ticksTillThunder * 0.1f; GameObject val2 = GameObject.Find("TimeAndWeather"); GameObject val3 = null; for (int i = 0; i < val2.transform.GetChildCount(); i++) { GameObject gameObject = ((Component)val2.transform.GetChild(i)).gameObject; if (((Object)gameObject).name.Equals("Stormy")) { val3 = gameObject; } } val3.SetActive(true); val.LightningStrikeClientRpc(serverPosition); return; } GameObject val4 = GameObject.Find("TimeAndWeather"); GameObject val5 = null; for (int j = 0; j < val4.transform.GetChildCount(); j++) { GameObject gameObject2 = ((Component)val4.transform.GetChild(j)).gameObject; if (((Object)gameObject2).name.Equals("")) { val5 = gameObject2; } } val5.SetActive(true); } public void thunderTick() { ticksTillThunder -= 1f; if (ticksTillThunder <= 0f) { thunderReset(); } } } [BepInPlugin("present", "present", "1.0.0")] public class presentPlugin : BaseUnityPlugin { private void Awake() { string directoryName = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location); if (Utility.IsNullOrWhiteSpace(directoryName)) { return; } AssetBundle val = AssetBundle.LoadFromFile(Path.Combine(directoryName, "presentmob")); if ((Object)(object)val == (Object)null) { ((BaseUnityPlugin)this).Logger.LogError((object)"Failed to load custom assets"); return; } EnemyType val2 = val.LoadAsset<EnemyType>("presentenemy"); TerminalNode val3 = val.LoadAsset<TerminalNode>("present TN"); TerminalKeyword val4 = val.LoadAsset<TerminalKeyword>("present TK"); NetworkPrefabs.RegisterNetworkPrefab(val2.enemyPrefab); Enemies.RegisterEnemy(val2, 0, (LevelTypes)(-1), (SpawnType)2, val3, val4); Type[] types = Assembly.GetExecutingAssembly().GetTypes(); Type[] array = types; foreach (Type type in array) { MethodInfo[] methods = type.GetMethods(BindingFlags.Instance | BindingFlags.Static | BindingFlags.NonPublic); MethodInfo[] array2 = methods; foreach (MethodInfo methodInfo in array2) { object[] customAttributes = methodInfo.GetCustomAttributes(typeof(RuntimeInitializeOnLoadMethodAttribute), inherit: false); if (customAttributes.Length != 0) { methodInfo.Invoke(null, null); } } } ((BaseUnityPlugin)this).Logger.LogInfo((object)"Plugin present is loaded!"); } } public static class PluginInfo { public const string PLUGIN_GUID = "present"; public const string PLUGIN_NAME = "present"; public const string PLUGIN_VERSION = "1.0.0"; } }
item/robot.dll
Decompiled 9 months agousing System; using System.Diagnostics; using System.IO; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.Versioning; using BepInEx; using GameNetcodeStuff; using LethalLib.Modules; using Microsoft.CodeAnalysis; using Unity.Netcode; using UnityEngine; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)] [assembly: TargetFramework(".NETStandard,Version=v2.1", FrameworkDisplayName = ".NET Standard 2.1")] [assembly: AssemblyCompany("robot")] [assembly: AssemblyConfiguration("Debug")] [assembly: AssemblyFileVersion("1.0.0.0")] [assembly: AssemblyInformationalVersion("1.0.0")] [assembly: AssemblyProduct("robot")] [assembly: AssemblyTitle("robot")] [assembly: AssemblyVersion("1.0.0.0")] 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; } } } namespace robot { public class robotAI : EnemyAI { public float laughTimer; private const float MovementSpeed = 2f; private const float RotationSpeed = 2f; private float timeSinceHittingLocalPlayer; private float timeSinceHittingLocalPlayer2; private float timeSinceHittingLocalPlayer3; private float timeSinceNewRandPos; public override void Start() { ((EnemyAI)this).Start(); Debug.Log((object)"로봇 소환"); base.currentBehaviourStateIndex = 0; } public override void OnCollideWithPlayer(Collider other) { //IL_0035: Unknown result type (might be due to invalid IL or missing references) //IL_003b: Unknown result type (might be due to invalid IL or missing references) if (!(timeSinceHittingLocalPlayer3 < 1f)) { PlayerControllerB val = ((EnemyAI)this).MeetsStandardPlayerCollisionConditions(other, false, false); timeSinceHittingLocalPlayer3 = 0f; val.DamagePlayer(10, true, true, (CauseOfDeath)0, 0, false, default(Vector3)); } } public virtual void EvtFlush() { Debug.Log((object)"정상작동"); ((EnemyAI)this).SwitchToBehaviourState(0); } public override void Update() { //IL_017e: Unknown result type (might be due to invalid IL or missing references) //IL_0189: Unknown result type (might be due to invalid IL or missing references) //IL_018e: Unknown result type (might be due to invalid IL or missing references) //IL_0193: Unknown result type (might be due to invalid IL or missing references) //IL_0197: Unknown result type (might be due to invalid IL or missing references) //IL_019c: Unknown result type (might be due to invalid IL or missing references) //IL_01a4: Unknown result type (might be due to invalid IL or missing references) //IL_01a9: Unknown result type (might be due to invalid IL or missing references) //IL_01b5: Unknown result type (might be due to invalid IL or missing references) //IL_01ba: Unknown result type (might be due to invalid IL or missing references) ((EnemyAI)this).Update(); laughTimer -= Time.deltaTime; if ((double)laughTimer <= 0.0) { laughTimer = Random.Range(6f, 7f); if (base.enemyType.audioClips.Length != 0) { base.creatureVoice.PlayOneShot(base.enemyType.audioClips[Random.Range(0, base.enemyType.audioClips.Length)]); } } if (!HasValidTarget()) { base.targetPlayer = ((EnemyAI)this).GetClosestPlayer(false, false, false); if (base.debugEnemyAI && (Object)(object)base.targetPlayer != (Object)null) { Debug.Log((object)("Found new target: " + base.targetPlayer.playerUsername)); } } if (!HasValidTarget()) { if (base.debugEnemyAI) { Debug.Log((object)"Failed to find new target"); } } else if (!base.isEnemyDead && !StartOfRound.Instance.allPlayersDead) { timeSinceHittingLocalPlayer += Time.deltaTime; timeSinceNewRandPos += Time.deltaTime; timeSinceHittingLocalPlayer2 += Time.deltaTime; timeSinceHittingLocalPlayer3 += Time.deltaTime; Vector3 val = base.targetPlayer.playerGlobalHead.position - ((Component)this).transform.position; Vector3 normalized = ((Vector3)(ref val)).normalized; Transform transform = ((Component)this).transform; transform.position += normalized * (Time.deltaTime * 2f); if (base.currentBehaviourStateIndex == 1 && !(timeSinceHittingLocalPlayer2 < 0.3f)) { base.creatureSFX.PlayOneShot(base.enemyType.stunSFX); timeSinceHittingLocalPlayer2 = 0f; Debug.Log((object)"소리 정상작동중!"); } } } [ClientRpc] public override void DoAIInterval() { ((EnemyAI)this).DoAIInterval(); switch (base.currentBehaviourStateIndex) { case 0: Debug.Log((object)"소리남"); ((EnemyAI)this).SwitchToBehaviourState(0); ((EnemyAI)this).SwitchToBehaviourClientRpc(0); ((EnemyAI)this).SwitchToBehaviourServerRpc(0); ((EnemyAI)this).SwitchToBehaviourStateOnLocalClient(0); timeSinceHittingLocalPlayer = 0f; break; case 1: if (base.currentBehaviourStateIndex == 1 && !(timeSinceHittingLocalPlayer < 0.1f)) { Debug.Log((object)"소리남2"); ((EnemyAI)this).SwitchToBehaviourState(1); ((EnemyAI)this).SwitchToBehaviourClientRpc(1); ((EnemyAI)this).SwitchToBehaviourServerRpc(1); ((EnemyAI)this).SwitchToBehaviourStateOnLocalClient(1); base.currentBehaviourStateIndex = 0; } break; case 2: break; } } private bool HasValidTarget() { return (Object)(object)base.targetPlayer != (Object)null && base.targetPlayer.isInsideFactory && !base.targetPlayer.isPlayerDead; } } [BepInPlugin("robot", "robot", "1.0.0")] public class robotPlugin : BaseUnityPlugin { private void Awake() { string directoryName = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location); if (Utility.IsNullOrWhiteSpace(directoryName)) { return; } AssetBundle val = AssetBundle.LoadFromFile(Path.Combine(directoryName, "robotmob")); if ((Object)(object)val == (Object)null) { ((BaseUnityPlugin)this).Logger.LogError((object)"Failed to load custom assets"); return; } EnemyType val2 = val.LoadAsset<EnemyType>("robotenemy"); TerminalNode val3 = val.LoadAsset<TerminalNode>("robot TN"); TerminalKeyword val4 = val.LoadAsset<TerminalKeyword>("robot TK"); NetworkPrefabs.RegisterNetworkPrefab(val2.enemyPrefab); Enemies.RegisterEnemy(val2, 0, (LevelTypes)(-1), (SpawnType)0, val3, val4); Type[] types = Assembly.GetExecutingAssembly().GetTypes(); Type[] array = types; foreach (Type type in array) { MethodInfo[] methods = type.GetMethods(BindingFlags.Instance | BindingFlags.Static | BindingFlags.NonPublic); MethodInfo[] array2 = methods; foreach (MethodInfo methodInfo in array2) { object[] customAttributes = methodInfo.GetCustomAttributes(typeof(RuntimeInitializeOnLoadMethodAttribute), inherit: false); if (customAttributes.Length != 0) { methodInfo.Invoke(null, null); } } } ((BaseUnityPlugin)this).Logger.LogInfo((object)"Plugin robot is loaded!"); } } public static class PluginInfo { public const string PLUGIN_GUID = "robot"; public const string PLUGIN_NAME = "robot"; public const string PLUGIN_VERSION = "1.0.0"; } }
item/sword.dll
Decompiled 9 months agousing System; using System.Diagnostics; using System.IO; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.Versioning; using BepInEx; using LethalLib.Modules; using Microsoft.CodeAnalysis; using UnityEngine; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)] [assembly: TargetFramework(".NETStandard,Version=v2.1", FrameworkDisplayName = ".NET Standard 2.1")] [assembly: AssemblyCompany("hakapad2")] [assembly: AssemblyConfiguration("Debug")] [assembly: AssemblyFileVersion("1.0.0.0")] [assembly: AssemblyInformationalVersion("1.0.0")] [assembly: AssemblyProduct("hakapad2")] [assembly: AssemblyTitle("hakapad2")] [assembly: AssemblyVersion("1.0.0.0")] 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; } } } namespace sword { [BepInPlugin("gakmok.sword", "sword", "1.0.7")] public class Plugin : BaseUnityPlugin { private const string GUID = "gakmok.sword"; private const string Name = "sword"; private const string Version = "1.0.7"; public static Plugin Instance; private void Awake() { Instance = this; string text = Path.Combine(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location), "swordmode"); AssetBundle val = AssetBundle.LoadFromFile(text); Item val2 = val.LoadAsset<Item>("Assets/sword/sword Item.asset"); NetworkPrefabs.RegisterNetworkPrefab(val2.spawnPrefab); Utilities.FixMixerGroups(val2.spawnPrefab); TerminalNode val3 = ScriptableObject.CreateInstance<TerminalNode>(); val3.clearPreviousText = true; val3.displayText = "This is sword"; Items.RegisterShopItem(val2, (TerminalNode)null, (TerminalNode)null, val3, 1000); val2.spawnPrefab.GetComponent<Shovel>(); ((BaseUnityPlugin)this).Logger.LogInfo((object)"LethalLib loaded!!"); } } }
item/teleport.dll
Decompiled 9 months agousing System; using System.Diagnostics; using System.IO; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.Versioning; using BepInEx; using GameNetcodeStuff; using LethalLib.Modules; using Microsoft.CodeAnalysis; using Unity.Netcode; using UnityEngine; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)] [assembly: TargetFramework(".NETStandard,Version=v2.1", FrameworkDisplayName = ".NET Standard 2.1")] [assembly: AssemblyCompany("teleport")] [assembly: AssemblyConfiguration("Debug")] [assembly: AssemblyFileVersion("1.0.0.0")] [assembly: AssemblyInformationalVersion("1.0.0")] [assembly: AssemblyProduct("teleport")] [assembly: AssemblyTitle("teleport")] [assembly: AssemblyVersion("1.0.0.0")] 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; } } } namespace tp { [BepInPlugin("tp", "tp", "1.0.0")] public class tpPlugin : BaseUnityPlugin { private void Awake() { string directoryName = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location); if (Utility.IsNullOrWhiteSpace(directoryName)) { return; } AssetBundle val = AssetBundle.LoadFromFile(Path.Combine(directoryName, "tpmob")); if ((Object)(object)val == (Object)null) { ((BaseUnityPlugin)this).Logger.LogError((object)"Failed to load custom assets"); return; } EnemyType val2 = val.LoadAsset<EnemyType>("tpenemy"); TerminalNode val3 = val.LoadAsset<TerminalNode>("tp TN"); TerminalKeyword val4 = val.LoadAsset<TerminalKeyword>("tp TK"); NetworkPrefabs.RegisterNetworkPrefab(val2.enemyPrefab); Enemies.RegisterEnemy(val2, 0, (LevelTypes)(-1), (SpawnType)0, val3, val4); Type[] types = Assembly.GetExecutingAssembly().GetTypes(); Type[] array = types; foreach (Type type in array) { MethodInfo[] methods = type.GetMethods(BindingFlags.Instance | BindingFlags.Static | BindingFlags.NonPublic); MethodInfo[] array2 = methods; foreach (MethodInfo methodInfo in array2) { object[] customAttributes = methodInfo.GetCustomAttributes(typeof(RuntimeInitializeOnLoadMethodAttribute), inherit: false); if (customAttributes.Length != 0) { methodInfo.Invoke(null, null); } } } ((BaseUnityPlugin)this).Logger.LogInfo((object)"Plugin tp is loaded!"); } } public static class PluginInfo { public const string PLUGIN_GUID = "tp"; public const string PLUGIN_NAME = "tp"; public const string PLUGIN_VERSION = "1.0.0"; } public class tpAI : EnemyAI { public float laughTimer; public Transform turnCompass; public Transform attackArea; private const float MovementSpeed = 2f; private const float RotationSpeed = 2f; private float timeSinceHittingLocalPlayer; private float timeSinceHittingLocalPlayer2; private float timeSinceNewRandPos; private float timeSinceHittingLocalPlayer3; private bool currentlyTeleporting; public override void Start() { ((EnemyAI)this).Start(); Debug.Log((object)"무전기 소환"); base.currentBehaviourStateIndex = 0; } public virtual void EvtFlush() { Debug.Log((object)"정상작동"); ((EnemyAI)this).SwitchToBehaviourState(0); } public override void Update() { //IL_00e0: Unknown result type (might be due to invalid IL or missing references) //IL_00eb: Unknown result type (might be due to invalid IL or missing references) //IL_00f0: Unknown result type (might be due to invalid IL or missing references) //IL_00f5: Unknown result type (might be due to invalid IL or missing references) //IL_00f9: Unknown result type (might be due to invalid IL or missing references) //IL_00fe: Unknown result type (might be due to invalid IL or missing references) //IL_0140: Unknown result type (might be due to invalid IL or missing references) //IL_0145: Unknown result type (might be due to invalid IL or missing references) //IL_0151: 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) ((EnemyAI)this).Update(); laughTimer -= Time.deltaTime; if (!HasValidTarget()) { base.targetPlayer = ((EnemyAI)this).GetClosestPlayer(false, false, false); if (base.debugEnemyAI && (Object)(object)base.targetPlayer != (Object)null) { Debug.Log((object)("Found new target: " + base.targetPlayer.playerUsername)); } } if (!base.isEnemyDead && !StartOfRound.Instance.allPlayersDead) { timeSinceHittingLocalPlayer += Time.deltaTime; timeSinceNewRandPos += Time.deltaTime; timeSinceHittingLocalPlayer2 += Time.deltaTime; timeSinceHittingLocalPlayer3 += Time.deltaTime; Vector3 val = base.targetPlayer.playerGlobalHead.position - ((Component)this).transform.position; Vector3 normalized = ((Vector3)(ref val)).normalized; if (base.currentBehaviourStateIndex == 1 && !(timeSinceHittingLocalPlayer2 < 0.3f)) { timeSinceHittingLocalPlayer2 = 0f; Debug.Log((object)"소리 정상작동중!"); } Transform transform = ((Component)this).transform; transform.position += normalized * (Time.deltaTime * 2f); } } [ClientRpc] public override void DoAIInterval() { ((EnemyAI)this).DoAIInterval(); switch (base.currentBehaviourStateIndex) { case 0: Debug.Log((object)"소리남"); ((EnemyAI)this).SwitchToBehaviourState(0); ((EnemyAI)this).SwitchToBehaviourClientRpc(0); ((EnemyAI)this).SwitchToBehaviourServerRpc(0); ((EnemyAI)this).SwitchToBehaviourStateOnLocalClient(0); timeSinceHittingLocalPlayer = 0f; break; case 1: if (base.currentBehaviourStateIndex == 1 && !(timeSinceHittingLocalPlayer < 0.1f)) { Debug.Log((object)"소리남2"); ((EnemyAI)this).SwitchToBehaviourState(1); ((EnemyAI)this).SwitchToBehaviourClientRpc(1); ((EnemyAI)this).SwitchToBehaviourServerRpc(1); ((EnemyAI)this).SwitchToBehaviourStateOnLocalClient(1); base.currentBehaviourStateIndex = 0; } break; case 2: break; } } public void DoAnimationClientRpc(string animationName) { Debug.Log((object)("Animation: " + animationName)); base.creatureAnimator.SetTrigger(animationName); } private bool HasValidTarget() { return (Object)(object)base.targetPlayer != (Object)null && base.targetPlayer.isInsideFactory && !base.targetPlayer.isPlayerDead; } public override void OnCollideWithPlayer(Collider other) { //IL_003d: Unknown result type (might be due to invalid IL or missing references) //IL_0043: Unknown result type (might be due to invalid IL or missing references) if (!(timeSinceHittingLocalPlayer3 < 1f)) { PlayerControllerB val = ((EnemyAI)this).MeetsStandardPlayerCollisionConditions(other, false, false); timeSinceHittingLocalPlayer3 = 0f; TeleportPlayerToRandomPos(val); val.DamagePlayer(10, true, true, (CauseOfDeath)0, 0, false, default(Vector3)); base.creatureSFX.PlayOneShot(base.enemyType.stunSFX); } } public void TeleportPlayerToRandomPos(PlayerControllerB player) { //IL_0031: Unknown result type (might be due to invalid IL or missing references) //IL_0036: Unknown result type (might be due to invalid IL or missing references) //IL_0064: Unknown result type (might be due to invalid IL or missing references) //IL_006b: Unknown result type (might be due to invalid IL or missing references) //IL_005d: Unknown result type (might be due to invalid IL or missing references) //IL_0062: 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) currentlyTeleporting = true; Random random = new Random(); Vector3 position = RoundManager.Instance.insideAINodes[random.Next(0, RoundManager.Instance.insideAINodes.Length)].transform.position; while (Vector3.Distance(position, ((Component)this).transform.position) < 30f) { position = RoundManager.Instance.insideAINodes[random.Next(0, RoundManager.Instance.insideAINodes.Length)].transform.position; } player.DropAllHeldItemsAndSync(); player.TeleportPlayer(position, false, 0f, false, true); Debug.Log((object)"voodoo attempted to teleport player"); player.SpawnPlayerAnimation(); if (player.statusEffectAudio.isPlaying) { player.statusEffectAudio.Stop(); player.statusEffectAudio.clip = null; } currentlyTeleporting = false; } } }
item/test.dll
Decompiled 9 months agousing System; using System.Diagnostics; using System.IO; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.Versioning; using BepInEx; using GameNetcodeStuff; using LethalLib.Modules; using Microsoft.CodeAnalysis; using Unity.Netcode; using UnityEngine; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)] [assembly: TargetFramework(".NETStandard,Version=v2.1", FrameworkDisplayName = ".NET Standard 2.1")] [assembly: AssemblyCompany("test")] [assembly: AssemblyConfiguration("Debug")] [assembly: AssemblyFileVersion("1.0.0.0")] [assembly: AssemblyInformationalVersion("1.0.0")] [assembly: AssemblyProduct("test")] [assembly: AssemblyTitle("test")] [assembly: AssemblyVersion("1.0.0.0")] 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; } } } namespace test { public class testAI : EnemyAI { public float laughTimer; public Transform turnCompass; public Transform attackArea; private const float MovementSpeed = 2f; private const float RotationSpeed = 2f; private float timeSinceHittingLocalPlayer; private float timeSinceHittingLocalPlayer2; private float timeSinceHittingLocalPlayer3; private float timeSinceNewRandPos; public override void Start() { ((EnemyAI)this).Start(); Debug.Log((object)"테스트 스폰"); base.currentBehaviourStateIndex = 0; } public virtual void EvtFlush() { Debug.Log((object)"정상작동"); ((EnemyAI)this).SwitchToBehaviourState(0); } public override void Update() { //IL_0152: Unknown result type (might be due to invalid IL or missing references) //IL_015d: Unknown result type (might be due to invalid IL or missing references) //IL_0162: Unknown result type (might be due to invalid IL or missing references) //IL_0167: Unknown result type (might be due to invalid IL or missing references) //IL_016b: Unknown result type (might be due to invalid IL or missing references) //IL_0170: Unknown result type (might be due to invalid IL or missing references) //IL_0178: Unknown result type (might be due to invalid IL or missing references) //IL_017d: Unknown result type (might be due to invalid IL or missing references) //IL_0189: Unknown result type (might be due to invalid IL or missing references) //IL_018e: Unknown result type (might be due to invalid IL or missing references) ((EnemyAI)this).Update(); laughTimer -= Time.deltaTime; if ((double)laughTimer <= 0.0) { laughTimer = Random.Range(6f, 7f); if (base.enemyType.audioClips.Length != 0) { base.creatureVoice.PlayOneShot(base.enemyType.audioClips[Random.Range(0, base.enemyType.audioClips.Length)]); } } if (!HasValidTarget()) { base.targetPlayer = ((EnemyAI)this).GetClosestPlayer(false, false, false); if (base.debugEnemyAI && (Object)(object)base.targetPlayer != (Object)null) { Debug.Log((object)("Found new target: " + base.targetPlayer.playerUsername)); } } if (!base.isEnemyDead && !StartOfRound.Instance.allPlayersDead) { timeSinceHittingLocalPlayer += Time.deltaTime; timeSinceNewRandPos += Time.deltaTime; timeSinceHittingLocalPlayer2 += Time.deltaTime; timeSinceHittingLocalPlayer3 += Time.deltaTime; Vector3 val = base.targetPlayer.playerGlobalHead.position - ((Component)this).transform.position; Vector3 normalized = ((Vector3)(ref val)).normalized; Transform transform = ((Component)this).transform; transform.position += normalized * (Time.deltaTime * 2f); if (base.currentBehaviourStateIndex == 1 && !(timeSinceHittingLocalPlayer2 < 0.3f)) { GameNetworkManager.Instance.localPlayerController.JumpToFearLevel(1f, true); base.creatureSFX.PlayOneShot(base.enemyType.stunSFX); DoAnimationClientRpc("change"); timeSinceHittingLocalPlayer2 = 0f; Debug.Log((object)"소리 정상작동중!"); } } } [ClientRpc] public override void DoAIInterval() { ((EnemyAI)this).DoAIInterval(); switch (base.currentBehaviourStateIndex) { case 0: Debug.Log((object)"소리남"); ((EnemyAI)this).SwitchToBehaviourState(0); ((EnemyAI)this).SwitchToBehaviourClientRpc(0); ((EnemyAI)this).SwitchToBehaviourServerRpc(0); ((EnemyAI)this).SwitchToBehaviourStateOnLocalClient(0); timeSinceHittingLocalPlayer = 0f; break; case 1: if (base.currentBehaviourStateIndex == 1 && !(timeSinceHittingLocalPlayer < 0.1f)) { Debug.Log((object)"소리남2"); ((EnemyAI)this).SwitchToBehaviourState(1); ((EnemyAI)this).SwitchToBehaviourClientRpc(1); ((EnemyAI)this).SwitchToBehaviourServerRpc(1); ((EnemyAI)this).SwitchToBehaviourStateOnLocalClient(1); base.currentBehaviourStateIndex = 0; } break; case 2: break; } } public override void OnCollideWithPlayer(Collider other) { //IL_0035: Unknown result type (might be due to invalid IL or missing references) //IL_003b: Unknown result type (might be due to invalid IL or missing references) if (!(timeSinceHittingLocalPlayer3 < 1f)) { PlayerControllerB val = ((EnemyAI)this).MeetsStandardPlayerCollisionConditions(other, false, false); timeSinceHittingLocalPlayer3 = 0f; val.DamagePlayer(10, true, true, (CauseOfDeath)0, 0, false, default(Vector3)); } } private bool HasValidTarget() { return (Object)(object)base.targetPlayer != (Object)null && base.targetPlayer.isInsideFactory && !base.targetPlayer.isPlayerDead; } public void DoAnimationClientRpc(string animationName) { Debug.Log((object)("Animation: " + animationName)); base.creatureAnimator.SetTrigger(animationName); } } [BepInPlugin("test", "test", "1.0.4")] public class testPlugin : BaseUnityPlugin { private void Awake() { string directoryName = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location); if (Utility.IsNullOrWhiteSpace(directoryName)) { return; } AssetBundle val = AssetBundle.LoadFromFile(Path.Combine(directoryName, "testmob")); if ((Object)(object)val == (Object)null) { ((BaseUnityPlugin)this).Logger.LogError((object)"Failed to load custom assets"); return; } EnemyType val2 = val.LoadAsset<EnemyType>("testenemy"); TerminalNode val3 = val.LoadAsset<TerminalNode>("test TN"); TerminalKeyword val4 = val.LoadAsset<TerminalKeyword>("test TK"); NetworkPrefabs.RegisterNetworkPrefab(val2.enemyPrefab); Enemies.RegisterEnemy(val2, 0, (LevelTypes)(-1), (SpawnType)0, val3, val4); Type[] types = Assembly.GetExecutingAssembly().GetTypes(); Type[] array = types; foreach (Type type in array) { MethodInfo[] methods = type.GetMethods(BindingFlags.Instance | BindingFlags.Static | BindingFlags.NonPublic); MethodInfo[] array2 = methods; foreach (MethodInfo methodInfo in array2) { object[] customAttributes = methodInfo.GetCustomAttributes(typeof(RuntimeInitializeOnLoadMethodAttribute), inherit: false); if (customAttributes.Length != 0) { methodInfo.Invoke(null, null); } } } ((BaseUnityPlugin)this).Logger.LogInfo((object)"Plugin test is loaded!"); } } public static class PluginInfo { public const string PLUGIN_GUID = "test"; public const string PLUGIN_NAME = "test"; public const string PLUGIN_VERSION = "1.0.4"; } }
item/test2.dll
Decompiled 9 months agousing System; using System.Diagnostics; using System.IO; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.Versioning; using BepInEx; using GameNetcodeStuff; using LethalLib.Modules; using Microsoft.CodeAnalysis; using UnityEngine; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)] [assembly: TargetFramework(".NETStandard,Version=v2.1", FrameworkDisplayName = ".NET Standard 2.1")] [assembly: AssemblyCompany("test2")] [assembly: AssemblyConfiguration("Debug")] [assembly: AssemblyFileVersion("1.0.0.0")] [assembly: AssemblyInformationalVersion("1.0.0")] [assembly: AssemblyProduct("test2")] [assembly: AssemblyTitle("test2")] [assembly: AssemblyVersion("1.0.0.0")] 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; } } } namespace cash { public class customAI2 : EnemyAI { public float laughTimer; private const float MovementSpeed = 2f; private const float RotationSpeed = 2f; public override void OnCollideWithPlayer(Collider other) { //IL_002d: Unknown result type (might be due to invalid IL or missing references) ((EnemyAI)this).OnCollideWithPlayer(other); if (!base.isEnemyDead) { PlayerControllerB val = ((EnemyAI)this).MeetsStandardPlayerCollisionConditions(other, false, false); if (!((Object)(object)val == (Object)null)) { val.KillPlayer(Vector3.zero, true, (CauseOfDeath)0, 1); } } } public override void Update() { //IL_0117: 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_0127: 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_0130: Unknown result type (might be due to invalid IL or missing references) //IL_0135: Unknown result type (might be due to invalid IL or missing references) //IL_0136: Unknown result type (might be due to invalid IL or missing references) //IL_0137: Unknown result type (might be due to invalid IL or missing references) //IL_013c: Unknown result type (might be due to invalid IL or missing references) //IL_0149: Unknown result type (might be due to invalid IL or missing references) //IL_014e: Unknown result type (might be due to invalid IL or missing references) //IL_015a: Unknown result type (might be due to invalid IL or missing references) //IL_016c: Unknown result type (might be due to invalid IL or missing references) //IL_0171: Unknown result type (might be due to invalid IL or missing references) //IL_017d: Unknown result type (might be due to invalid IL or missing references) //IL_0182: Unknown result type (might be due to invalid IL or missing references) ((EnemyAI)this).Update(); laughTimer -= Time.deltaTime; if ((double)laughTimer <= 0.0) { laughTimer = Random.Range(6f, 7f); if (base.enemyType.audioClips.Length != 0) { base.creatureVoice.PlayOneShot(base.enemyType.audioClips[Random.Range(0, base.enemyType.audioClips.Length)]); } } if (!HasValidTarget()) { base.targetPlayer = ((EnemyAI)this).GetClosestPlayer(false, false, false); if (base.debugEnemyAI && (Object)(object)base.targetPlayer != (Object)null) { Debug.Log((object)("Found new target: " + base.targetPlayer.playerUsername)); } } if (!HasValidTarget()) { if (base.debugEnemyAI) { Debug.Log((object)"Failed to find new target"); } return; } Vector3 val = base.targetPlayer.playerGlobalHead.position - ((Component)this).transform.position; Vector3 normalized = ((Vector3)(ref val)).normalized; Quaternion val2 = Quaternion.LookRotation(normalized); ((Component)this).transform.rotation = Quaternion.Slerp(((Component)this).transform.rotation, val2, Time.deltaTime * 2f); Transform transform = ((Component)this).transform; transform.position += normalized * (Time.deltaTime * 2f); } private bool HasValidTarget() { return (Object)(object)base.targetPlayer != (Object)null && base.targetPlayer.isInsideFactory && !base.targetPlayer.isPlayerDead; } } [BepInPlugin("custom3", "custom3", "1.0.0")] public class SkullPlugin : BaseUnityPlugin { private void Awake() { string directoryName = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location); if (Utility.IsNullOrWhiteSpace(directoryName)) { return; } AssetBundle val = AssetBundle.LoadFromFile(Path.Combine(directoryName, "cashmob")); if ((Object)(object)val == (Object)null) { ((BaseUnityPlugin)this).Logger.LogError((object)"Failed to load custom assets"); return; } EnemyType val2 = val.LoadAsset<EnemyType>("cashenemy"); TerminalNode val3 = val.LoadAsset<TerminalNode>("cash TN"); TerminalKeyword val4 = val.LoadAsset<TerminalKeyword>("cash TK"); NetworkPrefabs.RegisterNetworkPrefab(val2.enemyPrefab); Enemies.RegisterEnemy(val2, 0, (LevelTypes)(-1), (SpawnType)0, val3, val4); Type[] types = Assembly.GetExecutingAssembly().GetTypes(); Type[] array = types; foreach (Type type in array) { MethodInfo[] methods = type.GetMethods(BindingFlags.Instance | BindingFlags.Static | BindingFlags.NonPublic); MethodInfo[] array2 = methods; foreach (MethodInfo methodInfo in array2) { object[] customAttributes = methodInfo.GetCustomAttributes(typeof(RuntimeInitializeOnLoadMethodAttribute), inherit: false); if (customAttributes.Length != 0) { methodInfo.Invoke(null, null); } } } ((BaseUnityPlugin)this).Logger.LogInfo((object)"Plugin custom3 is loaded!"); } } public static class PluginInfo { public const string PLUGIN_GUID = "custom3"; public const string PLUGIN_NAME = "custom3"; public const string PLUGIN_VERSION = "1.0.0"; } }
item/wall.dll
Decompiled 9 months agousing System; using System.Diagnostics; using System.IO; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.Versioning; using BepInEx; using GameNetcodeStuff; using LethalLib.Modules; using Microsoft.CodeAnalysis; using Unity.Netcode; using UnityEngine; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)] [assembly: TargetFramework(".NETStandard,Version=v2.1", FrameworkDisplayName = ".NET Standard 2.1")] [assembly: AssemblyCompany("wall")] [assembly: AssemblyConfiguration("Debug")] [assembly: AssemblyFileVersion("1.0.0.0")] [assembly: AssemblyInformationalVersion("1.0.0")] [assembly: AssemblyProduct("wall")] [assembly: AssemblyTitle("wall")] [assembly: AssemblyVersion("1.0.0.0")] 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; } } } namespace wall { [BepInPlugin("wall", "wall", "1.0.0")] public class wallPlugin : BaseUnityPlugin { private void Awake() { string directoryName = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location); if (Utility.IsNullOrWhiteSpace(directoryName)) { return; } AssetBundle val = AssetBundle.LoadFromFile(Path.Combine(directoryName, "wallmob")); if ((Object)(object)val == (Object)null) { ((BaseUnityPlugin)this).Logger.LogError((object)"Failed to load custom assets"); return; } EnemyType val2 = val.LoadAsset<EnemyType>("wallenemy"); TerminalNode val3 = val.LoadAsset<TerminalNode>("wall TN"); TerminalKeyword val4 = val.LoadAsset<TerminalKeyword>("wall TK"); NetworkPrefabs.RegisterNetworkPrefab(val2.enemyPrefab); Enemies.RegisterEnemy(val2, 0, (LevelTypes)(-1), (SpawnType)0, val3, val4); Type[] types = Assembly.GetExecutingAssembly().GetTypes(); Type[] array = types; foreach (Type type in array) { MethodInfo[] methods = type.GetMethods(BindingFlags.Instance | BindingFlags.Static | BindingFlags.NonPublic); MethodInfo[] array2 = methods; foreach (MethodInfo methodInfo in array2) { object[] customAttributes = methodInfo.GetCustomAttributes(typeof(RuntimeInitializeOnLoadMethodAttribute), inherit: false); if (customAttributes.Length != 0) { methodInfo.Invoke(null, null); } } } ((BaseUnityPlugin)this).Logger.LogInfo((object)"Plugin wall is loaded!"); } } public static class PluginInfo { public const string PLUGIN_GUID = "wall"; public const string PLUGIN_NAME = "wall"; public const string PLUGIN_VERSION = "1.0.0"; } public class wallAI : EnemyAI { public float laughTimer; private const float MovementSpeed = 2f; private const float RotationSpeed = 2f; private float timeSinceHittingLocalPlayer; private float timeSinceHittingLocalPlayer2; private float timeSinceHittingLocalPlayer3; private float timeSinceNewRandPos; public override void Start() { ((EnemyAI)this).Start(); Debug.Log((object)"로봇 소환"); base.currentBehaviourStateIndex = 0; } public override void OnCollideWithPlayer(Collider other) { if (!(timeSinceHittingLocalPlayer3 < 1f)) { PlayerControllerB val = ((EnemyAI)this).MeetsStandardPlayerCollisionConditions(other, false, false); timeSinceHittingLocalPlayer3 = 0f; } } public virtual void EvtFlush() { Debug.Log((object)"정상작동"); ((EnemyAI)this).SwitchToBehaviourState(0); } public override void Update() { //IL_017e: Unknown result type (might be due to invalid IL or missing references) //IL_0189: Unknown result type (might be due to invalid IL or missing references) //IL_018e: Unknown result type (might be due to invalid IL or missing references) //IL_0193: Unknown result type (might be due to invalid IL or missing references) //IL_0197: Unknown result type (might be due to invalid IL or missing references) //IL_019c: Unknown result type (might be due to invalid IL or missing references) //IL_01a4: Unknown result type (might be due to invalid IL or missing references) //IL_01a9: Unknown result type (might be due to invalid IL or missing references) //IL_01b5: Unknown result type (might be due to invalid IL or missing references) //IL_01ba: Unknown result type (might be due to invalid IL or missing references) ((EnemyAI)this).Update(); laughTimer -= Time.deltaTime; if ((double)laughTimer <= 0.0) { laughTimer = Random.Range(6f, 7f); if (base.enemyType.audioClips.Length != 0) { base.creatureVoice.PlayOneShot(base.enemyType.audioClips[Random.Range(0, base.enemyType.audioClips.Length)]); } } if (!HasValidTarget()) { base.targetPlayer = ((EnemyAI)this).GetClosestPlayer(false, false, false); if (base.debugEnemyAI && (Object)(object)base.targetPlayer != (Object)null) { Debug.Log((object)("Found new target: " + base.targetPlayer.playerUsername)); } } if (!HasValidTarget()) { if (base.debugEnemyAI) { Debug.Log((object)"Failed to find new target"); } } else if (!base.isEnemyDead && !StartOfRound.Instance.allPlayersDead) { timeSinceHittingLocalPlayer += Time.deltaTime; timeSinceNewRandPos += Time.deltaTime; timeSinceHittingLocalPlayer2 += Time.deltaTime; timeSinceHittingLocalPlayer3 += Time.deltaTime; Vector3 val = base.targetPlayer.playerGlobalHead.position - ((Component)this).transform.position; Vector3 normalized = ((Vector3)(ref val)).normalized; Transform transform = ((Component)this).transform; transform.position += normalized * (Time.deltaTime * 2f); if (base.currentBehaviourStateIndex == 1 && !(timeSinceHittingLocalPlayer2 < 0.3f)) { base.creatureSFX.PlayOneShot(base.enemyType.stunSFX); timeSinceHittingLocalPlayer2 = 0f; Debug.Log((object)"소리 정상작동중!"); } } } [ClientRpc] public override void DoAIInterval() { ((EnemyAI)this).DoAIInterval(); switch (base.currentBehaviourStateIndex) { case 0: Debug.Log((object)"소리남"); ((EnemyAI)this).SwitchToBehaviourState(0); ((EnemyAI)this).SwitchToBehaviourClientRpc(0); ((EnemyAI)this).SwitchToBehaviourServerRpc(0); ((EnemyAI)this).SwitchToBehaviourStateOnLocalClient(0); timeSinceHittingLocalPlayer = 0f; break; case 1: if (base.currentBehaviourStateIndex == 1 && !(timeSinceHittingLocalPlayer < 0.1f)) { Debug.Log((object)"소리남2"); ((EnemyAI)this).SwitchToBehaviourState(1); ((EnemyAI)this).SwitchToBehaviourClientRpc(1); ((EnemyAI)this).SwitchToBehaviourServerRpc(1); ((EnemyAI)this).SwitchToBehaviourStateOnLocalClient(1); base.currentBehaviourStateIndex = 0; } break; case 2: break; } } private bool HasValidTarget() { return (Object)(object)base.targetPlayer != (Object)null && base.targetPlayer.isInsideFactory && !base.targetPlayer.isPlayerDead; } } }