Decompiled source of NightmareFreddy v1.1.2
plugins/NightmareFreddy/NightmareFreddy.dll
Decompiled 6 months ago
The result has been truncated due to the large size, download it to view full contents!
using System; using System.Collections; using System.Collections.Generic; using System.Diagnostics; using System.IO; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.Serialization.Formatters.Binary; using System.Runtime.Versioning; using System.Security; using System.Security.Cryptography; using System.Security.Permissions; using BepInEx; using BepInEx.Configuration; using BepInEx.Logging; using GameNetcodeStuff; using HarmonyLib; using LethalBestiary.Modules; using Microsoft.CodeAnalysis; using NightmareFreddy.Configurations; using NightmareFreddy.Freddles; using NightmareFreddy.NetcodePatcher; using NightmareFreddy.Plugin; using Unity.Collections; using Unity.Netcode; using UnityEngine; using UnityEngine.AI; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints)] [assembly: TargetFramework(".NETStandard,Version=v2.1", FrameworkDisplayName = ".NET Standard 2.1")] [assembly: AssemblyCompany("NightmareFreddy")] [assembly: AssemblyConfiguration("Release")] [assembly: AssemblyDescription("Nightmare Freddy from the FNAF franchise")] [assembly: AssemblyFileVersion("1.1.2.0")] [assembly: AssemblyInformationalVersion("1.1.2+d80cf10eaeda19f689e72876d2f6a35f2e1c0fd6")] [assembly: AssemblyProduct("NightmareFreddy")] [assembly: AssemblyTitle("NightmareFreddy")] [assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)] [assembly: AssemblyVersion("1.1.2.0")] [module: UnverifiableCode] [module: RefSafetyRules(11)] [module: NetcodePatchedAssembly] internal class <Module> { static <Module>() { } } namespace Microsoft.CodeAnalysis { [CompilerGenerated] [Microsoft.CodeAnalysis.Embedded] internal sealed class EmbeddedAttribute : Attribute { } } namespace System.Runtime.CompilerServices { [CompilerGenerated] [Microsoft.CodeAnalysis.Embedded] [AttributeUsage(AttributeTargets.Class | AttributeTargets.Property | AttributeTargets.Field | AttributeTargets.Event | AttributeTargets.Parameter | AttributeTargets.ReturnValue | AttributeTargets.GenericParameter, AllowMultiple = false, Inherited = false)] internal sealed class NullableAttribute : Attribute { public readonly byte[] NullableFlags; public NullableAttribute(byte P_0) { NullableFlags = new byte[1] { P_0 }; } public NullableAttribute(byte[] P_0) { NullableFlags = P_0; } } [CompilerGenerated] [Microsoft.CodeAnalysis.Embedded] [AttributeUsage(AttributeTargets.Class | AttributeTargets.Struct | AttributeTargets.Method | AttributeTargets.Interface | AttributeTargets.Delegate, AllowMultiple = false, Inherited = false)] internal sealed class NullableContextAttribute : Attribute { public readonly byte Flag; public NullableContextAttribute(byte P_0) { Flag = P_0; } } [CompilerGenerated] [Microsoft.CodeAnalysis.Embedded] [AttributeUsage(AttributeTargets.Module, AllowMultiple = false, Inherited = false)] internal sealed class RefSafetyRulesAttribute : Attribute { public readonly int Version; public RefSafetyRulesAttribute(int P_0) { Version = P_0; } } } namespace ExampleEnemy { public static class PluginInfo { public const string PLUGIN_GUID = "NightmareFreddy"; public const string PLUGIN_NAME = "NightmareFreddy"; public const string PLUGIN_VERSION = "1.1.2"; } } namespace NightmareFreddy.Plugin { [BepInPlugin("Xilef992.NightmareFreddy", "NightmareFreddy", "1.0.0")] [BepInDependency(/*Could not decode attribute arguments.*/)] public class Plugin : BaseUnityPlugin { public const string ModGUID = "Xilef992.NightmareFreddy"; internal static ManualLogSource Logger; public static AssetBundle ModAssetsFreddles; public static AssetBundle ModAssetsFreddy; private readonly Harmony harmony = new Harmony("NightmareFreddy"); public static Config FreddyConfiguration { get; internal set; } private void Awake() { Logger = ((BaseUnityPlugin)this).Logger; FreddyConfiguration = new Config(((BaseUnityPlugin)this).Config); InitializeNetworkBehaviours(); string path = "freddlesmodassets"; string path2 = "freddymodassets"; ModAssetsFreddles = AssetBundle.LoadFromFile(Path.Combine(Path.GetDirectoryName(((BaseUnityPlugin)this).Info.Location), path)); ModAssetsFreddy = AssetBundle.LoadFromFile(Path.Combine(Path.GetDirectoryName(((BaseUnityPlugin)this).Info.Location), path2)); if ((Object)(object)ModAssetsFreddles == (Object)null) { Debug.Log((object)"Error Loading Asset [ Freddles ]"); return; } if ((Object)(object)ModAssetsFreddy == (Object)null) { Debug.Log((object)"Error Loading Asset [ Freddy Nightmare ]"); return; } EnemyType obj = ModAssetsFreddles.LoadAsset<EnemyType>("FreddlesEnemy"); TerminalNode val = ModAssetsFreddles.LoadAsset<TerminalNode>("FreddlesTN"); TerminalKeyword val2 = ModAssetsFreddles.LoadAsset<TerminalKeyword>("FreddlesTK"); NetworkPrefabs.RegisterNetworkPrefab(obj.enemyPrefab); Enemies.RegisterEnemy(obj, FreddyConfiguration.RARITY_SPAWN.Value, (LevelTypes)(-1), (SpawnType)2, val, val2); EnemyType obj2 = ModAssetsFreddy.LoadAsset<EnemyType>("NightmareFreddy"); TerminalNode val3 = ModAssetsFreddy.LoadAsset<TerminalNode>("FreddyTN"); TerminalKeyword val4 = ModAssetsFreddy.LoadAsset<TerminalKeyword>("FreddyTK"); NetworkPrefabs.RegisterNetworkPrefab(obj2.enemyPrefab); Enemies.RegisterEnemy(obj2, FreddyConfiguration.RARITY_SPAWN.Value, (LevelTypes)(-1), (SpawnType)2, val3, val4); harmony.PatchAll(typeof(ConfigurationsPatch)); Debug.Log((object)"Nightmare Freddy Loaded Successfully!"); Debug.Log((object)" \n %%######%%%% \n ###%%%%#{}{#%%% \n ###%%%%%###%%%% \n %##%%%%%####%%% %##% \n ##%%%%%####%%% %%########% \n #{#%%%%##{#%%% ##%%%%%%%%#{# \n ##%%%%##{#%%%% %##%#{{{{{#%%##% \n %#######% ##%%%%####%%%%%%% %##%{{{{{{{{#%##% \n %###%%%%%%#{#% %%%%%%%%##{}{{#%%%%%%###}}}{{{{{{#%##% \n %##%#{{{{#%%%#{#%%%%%%%%%%%%%%%%##%%%%%%%%{}}}}{{{#%%## \n %%#{}{{{{{##%%%##%%###################%%%%%%#{{{{#%%##% \n %%##}}}{{{{{{%%%######################%%##%%%%%%#%###% \n %%#{}{{{{{#%%%########################%%%%##%%%###% \n %%###{{#%%%%###%%%####################%%###%%%%%%% \n %####%%%%##%%%%%#####{#{{{{{{{{{{{#%########%%%%% \n %%#%%###%%###%%%#######{{##{{{#%%%%%%######%%%%% \n %%%##%%%#%%#%%%%%%%%#{{{{{%%%####%%%%###%%%%%% \n #%#%%%%%%##%%#{##%%%%{{{%%%%%#}{{#%%###%#%%%% \n #%%%%%%%#{%%%%%#{}{#%%{{%%%%#+:={#%%%%%%#%%%% \n ####%%%%##%%%%[::}{#%%#{%%%%%%%%%%%%%%###%%%% \n ####%%%#{%%%%%#%%%%%%#{{%%%%%%%%%%%%###%%%%%%% \n #####%%%%{%%%%%%%%%%##{{{%%%%%%%%#%%%%%%%%%%%%%% \n ######%#####%%%%%%#%####{{#%%#####%%%%%%%%%%%%%%%% \n %%######%%%%#######%%%##{#%#{}}}{}}{###%%%%%%%%%%% \n %%%%###%%%###{{{{{}{{{{#%%%{[}}}}}}}{{{##%%%%%%%%%% \n ########{{{###########{{{{{{{{{{{}}}}{{###%%%%%%%%%% \n ########{{##%%%%%%######{{{{{{{{{{}}{{##%%%%%%^-{%% \n %%%%%%##{{{#%%%%%%%%#####{{{{#{}}[}{{{{{()<^-^=~##% \n %%%%%%#####%%%%%%%%##{########{{}][[=~)~-~~-)(>##% \n %%%][]{{}({{#{{##{{#}]#}))#^-[]-(%>*#<*>>^(%###%% \n ##{[[(]]]^*{(-]#*+#(~}%><%}^{#>[%{]%#[##%%{-{#%% \n #%{{#(][]={#*[%](%#]#%##%%%%%%%%%%%%%%%>(}>##%% \n #%%#%{#}%{%%%%%%%%%%%%%%%%%%%%%%%%%%%({^-]}%%%% \n ##%[}##%%%%%%%%%%%%%%%%%%%%%%%%%%%%]{>:*:)%%%% \n ##]]]+[%%%%%%%%%%%%%%%%%%%%%[%%)(%>=^:~{%%%%% \n ###]<-=+(##{%%}{%#}%%(%%[<%#~(%>-[>:^#%##%%% \n ####(~*:-[}~[%<+#[=}#=)%(:]{~-#[<[#{{##%%%% \n ######(=)]~-%)-[[-+#*~{}<}%###{{###%%%%% \n %###%%%%###%%%%%%%############%%%%%% \n %%%%%%%%%%%%%%%%%%%%%%%%%%%%%{{% \n %%%%%%%%%%%%%%%%%%%%%%%%%%###% \n #%%%%%%%%%%%%%%%%%%%%####{{{}{% \n %%%%%%%%%%%%%%% %%%%%%%#####%% \n %%%%%%%%%%% %%%%%%%%%%% \n %%%%% %%%% \n "); } private static void InitializeNetworkBehaviours() { Type[] types = Assembly.GetExecutingAssembly().GetTypes(); for (int i = 0; i < types.Length; i++) { MethodInfo[] methods = types[i].GetMethods(BindingFlags.Instance | BindingFlags.Static | BindingFlags.NonPublic); foreach (MethodInfo methodInfo in methods) { if (methodInfo.GetCustomAttributes(typeof(RuntimeInitializeOnLoadMethodAttribute), inherit: false).Length != 0) { methodInfo.Invoke(null, null); } } } } } public static class PluginInformation { public const string PLUGIN_GUID = "NightmareFreddy"; public const string PLUGIN_NAME = "NightmareFreddy"; public const string PLUGIN_VERSION = "1.0.0"; } } namespace NightmareFreddy.NightmareFreddy { public class NightmareFreddyAi : EnemyAI { private enum State { Hidden, Spawning, Attacking, Walking, Running, Screaming, WaitingOnCoroutine } [Header("Roar Global Info [ Modifiable ]")] public float radiusRoar = 10f; public float forceRoar = 50f; [Header("Material")] public Material endoSkeleton; public Material exoSkeleton; public Material DistortionMaterial; [Header("Audio")] public AudioSource scream; public AudioSource footstep; public AudioSource spawning; public AudioSource hitting; public AudioClip[] gigles; public BoxCollider EnemyCollider; [Header("Attack")] public Transform attackArea; [Header("Rendering!")] public SkinnedMeshRenderer FreddyRenderer; public MeshRenderer Sphere; public BoxCollider ScanNode; private float timeSinceHittingLocalPlayer; private Coroutine spawningMaterialChanges; private float animationSpeedAttack; private bool wasRunning; private int lastBeforeAttack; [Header("Head rotation stuff")] public Transform freddyStare; public override void Start() { //IL_006d: Unknown result type (might be due to invalid IL or missing references) //IL_007c: Unknown result type (might be due to invalid IL or missing references) //IL_0081: Unknown result type (might be due to invalid IL or missing references) //IL_00ed: Unknown result type (might be due to invalid IL or missing references) //IL_00f2: Unknown result type (might be due to invalid IL or missing references) //IL_0097: Unknown result type (might be due to invalid IL or missing references) //IL_009c: Unknown result type (might be due to invalid IL or missing references) //IL_00a2: Unknown result type (might be due to invalid IL or missing references) //IL_00a8: Unknown result type (might be due to invalid IL or missing references) //IL_00ae: Expected O, but got Unknown //IL_00b4: Unknown result type (might be due to invalid IL or missing references) //IL_00ba: Unknown result type (might be due to invalid IL or missing references) //IL_00c8: Unknown result type (might be due to invalid IL or missing references) //IL_00e0: Unknown result type (might be due to invalid IL or missing references) //IL_00e5: 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) ((EnemyAI)this).Start(); ((Collider)EnemyCollider).enabled = false; endoSkeleton.SetFloat("_Strenght", 0f); endoSkeleton.SetFloat("_Dissolve", 1f); exoSkeleton.SetFloat("_Dissolve", 1f); ((Renderer)Sphere).enabled = false; ((EnemyAI)this).SetDestinationToPosition(((Component)StartOfRound.Instance.shipInnerRoomBounds).transform.position, false); int num = 0; base.destination = Vector3.zero; while (base.destination == Vector3.zero && num < 10) { num++; base.destination = GetRandomPointInCollider(StartOfRound.Instance.shipInnerRoomBounds); _ = base.destination; NavMeshPath val = new NavMeshPath(); NavMesh.CalculatePath(((Component)this).transform.position, base.destination, -1, val); if ((int)val.status == 0) { ((EnemyAI)this).SetDestinationToPosition(base.destination, false); continue; } base.destination = Vector3.zero; break; } ((Collider)ScanNode).enabled = false; ((MonoBehaviour)this).StartCoroutine(TransitionMaterial(manifest: false, 0f)); SwitchToBehaviourStateClientRpc(0); } private void LateUpdate() { //IL_001f: Unknown result type (might be due to invalid IL or missing references) if ((Object)(object)base.targetPlayer != (Object)null) { freddyStare.position = ((Component)base.targetPlayer).transform.position; } } public static Vector3 GetRandomPointInCollider(Collider collider) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0006: Unknown result type (might be due to invalid IL or missing references) //IL_0009: Unknown result type (might be due to invalid IL or missing references) //IL_0015: Unknown result type (might be due to invalid IL or missing references) //IL_0026: Unknown result type (might be due to invalid IL or missing references) //IL_0032: 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) //IL_004f: Unknown result type (might be due to invalid IL or missing references) //IL_005e: Unknown result type (might be due to invalid IL or missing references) //IL_007c: Unknown result type (might be due to invalid IL or missing references) //IL_0074: Unknown result type (might be due to invalid IL or missing references) Bounds bounds = collider.bounds; NavMeshHit val = default(NavMeshHit); if (NavMesh.SamplePosition(new Vector3(Random.Range(((Bounds)(ref bounds)).min.x, ((Bounds)(ref bounds)).max.x), Random.Range(((Bounds)(ref bounds)).min.y, ((Bounds)(ref bounds)).max.y), Random.Range(((Bounds)(ref bounds)).min.z, ((Bounds)(ref bounds)).max.z)), ref val, 5f, -1)) { return ((NavMeshHit)(ref val)).position; } return ((Bounds)(ref bounds)).center; } public override void DoAIInterval() { //IL_0010: Unknown result type (might be due to invalid IL or missing references) //IL_001b: 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_01b3: Unknown result type (might be due to invalid IL or missing references) ((EnemyAI)this).DoAIInterval(); if (Vector3.Distance(((Component)Object.FindObjectOfType<HangarShipDoor>()).transform.position, ((Component)this).transform.position) < 5f) { OpenShipDoorsClientRpc(); } switch (base.currentBehaviourStateIndex) { case 0: Debug.Log((object)GetNumberOfFreddles(onlyArrived: true)); if (GetNumberOfFreddles(onlyArrived: true) >= global::NightmareFreddy.Plugin.Plugin.FreddyConfiguration.NUMBER_FREDDLES_PHASE_2.Value) { spawningMaterialChanges = ((MonoBehaviour)this).StartCoroutine(TransitionMaterial(manifest: true, 10f)); SwitchToBehaviourStateServerRpc(1); PlayEuhEuhClientRpc(); } else if (RandomNumberGenerator.GetInt32(global::NightmareFreddy.Plugin.Plugin.FreddyConfiguration.POURCENTAGE_SPAWN.Value) <= 2) { SpawnNewFreddle(); } break; case 1: if (GetNumberOfFreddles(onlyArrived: true) <= 3 && spawningMaterialChanges == null) { spawningMaterialChanges = ((MonoBehaviour)this).StartCoroutine(TransitionMaterial(manifest: false, 15f)); } if (endoSkeleton.GetFloat("_Strenght") == 5f) { SwitchToBehaviourStateServerRpc(5); } break; case 3: SetTargetPlayerClientRpc(FindPlayerToTarget().actualClientId); CheckIfPlayerHittableServerRpc(); ((EnemyAI)this).SetDestinationToPosition(((Component)base.targetPlayer).transform.position, false); if (RandomNumberGenerator.GetInt32(100) <= 2) { SpawnNewFreddle(); } if (RandomNumberGenerator.GetInt32(125) == 1) { SwitchToBehaviourStateServerRpc(4); PlayEuhEuhClientRpc(); } break; case 4: SetTargetPlayerClientRpc(FindPlayerToTarget().actualClientId); if (RandomNumberGenerator.GetInt32(100) <= 1) { SpawnNewFreddle(); } if (RandomNumberGenerator.GetInt32(100) == 1) { SwitchToBehaviourStateServerRpc(3); PlayEuhEuhClientRpc(); } ((EnemyAI)this).SetDestinationToPosition(((Component)base.targetPlayer).transform.position, false); CheckIfPlayerHittableServerRpc(); break; case 2: case 5: case 6: break; } } [ServerRpc(RequireOwnership = false)] public void SwitchToBehaviourStateServerRpc(int x) { //IL_0024: Unknown result type (might be due to invalid IL or missing references) //IL_002e: Invalid comparison between Unknown and I4 //IL_0099: Unknown result type (might be due to invalid IL or missing references) //IL_00a3: Invalid comparison between Unknown and I4 //IL_005f: Unknown result type (might be due to invalid IL or missing references) //IL_0068: Unknown result type (might be due to invalid IL or missing references) //IL_006d: Unknown result type (might be due to invalid IL or missing references) //IL_0071: Unknown result type (might be due to invalid IL or missing references) //IL_0089: Unknown result type (might be due to invalid IL or missing references) NetworkManager networkManager = ((NetworkBehaviour)this).NetworkManager; if (networkManager != null && networkManager.IsListening) { if ((int)((NetworkBehaviour)this).__rpc_exec_stage != 1 && (networkManager.IsClient || networkManager.IsHost)) { ServerRpcParams val = default(ServerRpcParams); FastBufferWriter val2 = ((NetworkBehaviour)this).__beginSendServerRpc(1772070295u, val, (RpcDelivery)0); BytePacker.WriteValueBitPacked(val2, x); ((NetworkBehaviour)this).__endSendServerRpc(ref val2, 1772070295u, val, (RpcDelivery)0); } if ((int)((NetworkBehaviour)this).__rpc_exec_stage == 1 && (networkManager.IsServer || networkManager.IsHost)) { SwitchToBehaviourStateClientRpc(x); } } } [ClientRpc] public void SwitchToBehaviourStateClientRpc(int x) { //IL_0024: Unknown result type (might be due to invalid IL or missing references) //IL_002e: Invalid comparison between Unknown and I4 //IL_0099: Unknown result type (might be due to invalid IL or missing references) //IL_00a3: Invalid comparison between Unknown and I4 //IL_005f: Unknown result type (might be due to invalid IL or missing references) //IL_0068: Unknown result type (might be due to invalid IL or missing references) //IL_006d: Unknown result type (might be due to invalid IL or missing references) //IL_0071: Unknown result type (might be due to invalid IL or missing references) //IL_0089: Unknown result type (might be due to invalid IL or missing references) NetworkManager networkManager = ((NetworkBehaviour)this).NetworkManager; if (networkManager == null || !networkManager.IsListening) { return; } if ((int)((NetworkBehaviour)this).__rpc_exec_stage != 2 && (networkManager.IsServer || networkManager.IsHost)) { ClientRpcParams val = default(ClientRpcParams); FastBufferWriter val2 = ((NetworkBehaviour)this).__beginSendClientRpc(439919163u, val, (RpcDelivery)0); BytePacker.WriteValueBitPacked(val2, x); ((NetworkBehaviour)this).__endSendClientRpc(ref val2, 439919163u, val, (RpcDelivery)0); } if ((int)((NetworkBehaviour)this).__rpc_exec_stage != 2 || (!networkManager.IsClient && !networkManager.IsHost)) { return; } ((EnemyAI)this).SwitchToBehaviourStateOnLocalClient(x); switch (base.currentBehaviourStateIndex) { case 0: base.agent.speed = 0f; wasRunning = false; break; case 1: base.agent.speed = 0f; ((Collider)ScanNode).enabled = true; ((Collider)EnemyCollider).enabled = true; wasRunning = false; PlayLullabyClientRpc(); break; case 2: ActivateAllFreddlesClientRpc(); if (wasRunning) { base.agent.speed = 5f; } else { base.agent.speed = 0f; } PlayAnimationServerRpc("Attack"); break; case 3: base.agent.speed = 4f; PlayAnimationServerRpc("Walking"); ActivateAllFreddlesClientRpc(); wasRunning = false; lastBeforeAttack = 3; break; case 4: ActivateAllFreddlesClientRpc(); base.agent.speed = 7f; PlayAnimationServerRpc("Running"); wasRunning = true; lastBeforeAttack = 4; break; case 5: ActivateAllFreddlesClientRpc(); base.agent.speed = 0f; PlayAnimationServerRpc("Roar"); PerformRoarClientRpc(); wasRunning = false; break; case 6: break; } } [ClientRpc] private void PlayLullabyClientRpc() { //IL_0024: Unknown result type (might be due to invalid IL or missing references) //IL_002e: Invalid comparison between Unknown and I4 //IL_008c: Unknown result type (might be due to invalid IL or missing references) //IL_0096: Invalid comparison between Unknown and I4 //IL_005f: Unknown result type (might be due to invalid IL or missing references) //IL_0068: Unknown result type (might be due to invalid IL or missing references) //IL_006d: Unknown result type (might be due to invalid IL or missing references) //IL_007c: Unknown result type (might be due to invalid IL or missing references) NetworkManager networkManager = ((NetworkBehaviour)this).NetworkManager; if (networkManager != null && networkManager.IsListening) { if ((int)((NetworkBehaviour)this).__rpc_exec_stage != 2 && (networkManager.IsServer || networkManager.IsHost)) { ClientRpcParams val = default(ClientRpcParams); FastBufferWriter val2 = ((NetworkBehaviour)this).__beginSendClientRpc(1628094442u, val, (RpcDelivery)0); ((NetworkBehaviour)this).__endSendClientRpc(ref val2, 1628094442u, val, (RpcDelivery)0); } if ((int)((NetworkBehaviour)this).__rpc_exec_stage == 2 && (networkManager.IsClient || networkManager.IsHost)) { spawning.Play(); } } } public int GetNumberOfFreddles(bool onlyArrived) { FreddlesAi[] array = Object.FindObjectsOfType<FreddlesAi>(); if (!onlyArrived) { return array.Length; } int num = 0; FreddlesAi[] array2 = array; for (int i = 0; i < array2.Length; i++) { if (array2[i].arrived) { num++; } } return num; } public FreddlesAi[] GetAllFreddles(bool onlyArrived) { FreddlesAi[] array = Object.FindObjectsOfType<FreddlesAi>(); if (!onlyArrived) { return array; } List<FreddlesAi> list = new List<FreddlesAi>(); FreddlesAi[] array2 = array; foreach (FreddlesAi freddlesAi in array2) { if (freddlesAi.arrived) { list.Add(freddlesAi); } } return list.ToArray(); } public void SpawnNewFreddle() { //IL_006e: Unknown result type (might be due to invalid IL or missing references) //IL_0073: Unknown result type (might be due to invalid IL or missing references) //IL_007f: Unknown result type (might be due to invalid IL or missing references) //IL_0085: Unknown result type (might be due to invalid IL or missing references) //IL_0086: Unknown result type (might be due to invalid IL or missing references) //IL_00ab: Unknown result type (might be due to invalid IL or missing references) List<SpawnableEnemyWithRarity> list = new List<SpawnableEnemyWithRarity>(); list.AddRange(RoundManager.Instance.currentLevel.Enemies); list.AddRange(RoundManager.Instance.currentLevel.OutsideEnemies); SpawnableEnemyWithRarity val = list.Find((SpawnableEnemyWithRarity x) => x.enemyType.enemyName.Equals("Freddles")); RoundManager.Instance.SpawnEnemyGameObject(RoundManager.Instance.GetRandomNavMeshPositionInRadius(StartOfRound.Instance.shipBounds.ClosestPointOnBounds(((Component)this).transform.position), 30f, default(NavMeshHit)), 0f, RoundManager.Instance.currentLevel.OutsideEnemies.IndexOf(val), val.enemyType); Debug.Log((object)"Finished spawning enemy!"); } private PlayerControllerB FindPlayerToTarget() { //IL_000f: Unknown result type (might be due to invalid IL or missing references) //IL_0014: Unknown result type (might be due to invalid IL or missing references) //IL_0033: Unknown result type (might be due to invalid IL or missing references) //IL_0038: Unknown result type (might be due to invalid IL or missing references) //IL_006f: Unknown result type (might be due to invalid IL or missing references) //IL_0074: Unknown result type (might be due to invalid IL or missing references) //IL_007a: Unknown result type (might be due to invalid IL or missing references) //IL_007b: Unknown result type (might be due to invalid IL or missing references) Vector3 position = ((Component)StartOfRound.Instance.shipBounds).transform.position; PlayerControllerB result = RoundManager.Instance.playersManager.allPlayerScripts[0]; float num = 0f; Vector3 position2 = ((Component)this).transform.position; PlayerControllerB[] allPlayerScripts = RoundManager.Instance.playersManager.allPlayerScripts; foreach (PlayerControllerB val in allPlayerScripts) { if (val.isPlayerControlled && !val.isPlayerDead && Vector3.Distance(((Component)val).transform.position, position2) + Vector3.Distance(position2, position) > num) { result = ((Component)val).GetComponent<PlayerControllerB>(); } } return result; } [ClientRpc] private void PerformRoarClientRpc() { //IL_0024: Unknown result type (might be due to invalid IL or missing references) //IL_002e: Invalid comparison between Unknown and I4 //IL_008c: Unknown result type (might be due to invalid IL or missing references) //IL_0096: Invalid comparison between Unknown and I4 //IL_005f: Unknown result type (might be due to invalid IL or missing references) //IL_0068: Unknown result type (might be due to invalid IL or missing references) //IL_006d: Unknown result type (might be due to invalid IL or missing references) //IL_007c: Unknown result type (might be due to invalid IL or missing references) //IL_00e9: 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) NetworkManager networkManager = ((NetworkBehaviour)this).NetworkManager; if (networkManager == null || !networkManager.IsListening) { return; } if ((int)((NetworkBehaviour)this).__rpc_exec_stage != 2 && (networkManager.IsServer || networkManager.IsHost)) { ClientRpcParams val = default(ClientRpcParams); FastBufferWriter val2 = ((NetworkBehaviour)this).__beginSendClientRpc(108499369u, val, (RpcDelivery)0); ((NetworkBehaviour)this).__endSendClientRpc(ref val2, 108499369u, val, (RpcDelivery)0); } if ((int)((NetworkBehaviour)this).__rpc_exec_stage != 2 || (!networkManager.IsClient && !networkManager.IsHost)) { return; } PlayerControllerB[] allPlayerScripts = RoundManager.Instance.playersManager.allPlayerScripts; foreach (PlayerControllerB val3 in allPlayerScripts) { if (val3.isPlayerControlled && !val3.isPlayerDead && Vector3.Distance(((Component)this).transform.position, ((Component)val3).transform.position) < radiusRoar) { PushingPlayer(val3); } } } public void PushingPlayer(PlayerControllerB player) { //IL_0009: Unknown result type (might be due to invalid IL or missing references) //IL_000f: Unknown result type (might be due to invalid IL or missing references) //IL_001b: Unknown result type (might be due to invalid IL or missing references) //IL_0026: Unknown result type (might be due to invalid IL or missing references) //IL_002b: Unknown result type (might be due to invalid IL or missing references) //IL_0030: Unknown result type (might be due to invalid IL or missing references) //IL_0038: Unknown result type (might be due to invalid IL or missing references) //IL_004f: Unknown result type (might be due to invalid IL or missing references) //IL_0050: Unknown result type (might be due to invalid IL or missing references) //IL_005b: Unknown result type (might be due to invalid IL or missing references) //IL_0060: Unknown result type (might be due to invalid IL or missing references) //IL_0063: Unknown result type (might be due to invalid IL or missing references) //IL_0068: 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_006e: Unknown result type (might be due to invalid IL or missing references) //IL_0075: Unknown result type (might be due to invalid IL or missing references) //IL_007a: Unknown result type (might be due to invalid IL or missing references) //IL_0085: Unknown result type (might be due to invalid IL or missing references) //IL_008f: Unknown result type (might be due to invalid IL or missing references) //IL_0094: Unknown result type (might be due to invalid IL or missing references) //IL_0099: Unknown result type (might be due to invalid IL or missing references) player.DamagePlayer(5, true, true, (CauseOfDeath)0, 0, false, default(Vector3)); Vector3 val = ((Component)player).transform.position - ((Component)this).transform.position; val.y = Mathf.Max(0f, val.y); ((Vector3)(ref val)).Normalize(); Vector3 val2 = -val * forceRoar; player.externalForces += val2; player.externalForces += Vector3.up * forceRoar / 2f; } private IEnumerator EnableKninematicPlayer(int i, Rigidbody rb) { yield return (object)new WaitForSeconds(3f); rb.isKinematic = true; } private IEnumerator TransitionMaterial(bool manifest, float time) { float elapsedTime = 0f; float startValue = endoSkeleton.GetFloat("_Dissolve"); float targetValue = (manifest ? 2f : 0f); yield return null; while (elapsedTime < time) { float x = Mathf.Lerp(startValue, targetValue, elapsedTime / time); ModifyMaterialClientRpc(x); elapsedTime += Time.unscaledDeltaTime; yield return null; } ModifyMaterialClientRpc(targetValue); } [ClientRpc] public void ModifyMaterialClientRpc(float x) { //IL_0024: Unknown result type (might be due to invalid IL or missing references) //IL_002e: Invalid comparison between Unknown and I4 //IL_00a7: Unknown result type (might be due to invalid IL or missing references) //IL_00b1: Invalid comparison between Unknown and I4 //IL_005f: Unknown result type (might be due to invalid IL or missing references) //IL_0068: Unknown result type (might be due to invalid IL or missing references) //IL_006d: Unknown result type (might be due to invalid IL or missing references) //IL_007d: Unknown result type (might be due to invalid IL or missing references) //IL_0083: Unknown result type (might be due to invalid IL or missing references) //IL_0097: Unknown result type (might be due to invalid IL or missing references) NetworkManager networkManager = ((NetworkBehaviour)this).NetworkManager; if (networkManager == null || !networkManager.IsListening) { return; } if ((int)((NetworkBehaviour)this).__rpc_exec_stage != 2 && (networkManager.IsServer || networkManager.IsHost)) { ClientRpcParams val = default(ClientRpcParams); FastBufferWriter val2 = ((NetworkBehaviour)this).__beginSendClientRpc(2019128939u, val, (RpcDelivery)0); ((FastBufferWriter)(ref val2)).WriteValueSafe<float>(ref x, default(ForPrimitives)); ((NetworkBehaviour)this).__endSendClientRpc(ref val2, 2019128939u, val, (RpcDelivery)0); } if ((int)((NetworkBehaviour)this).__rpc_exec_stage != 2 || (!networkManager.IsClient && !networkManager.IsHost)) { return; } if (x < 1.01f && x >= 0f) { endoSkeleton.SetFloat("_Dissolve", 1f - x); endoSkeleton.SetFloat("_Strenght", 0f); ((Renderer)FreddyRenderer).enabled = true; if (x == 0f) { ((Renderer)FreddyRenderer).enabled = false; } else { ((Renderer)FreddyRenderer).enabled = true; } } if (x > 1f && x <= 2f) { float num = x - 1f; exoSkeleton.SetFloat("_Dissolve", 1f - num); if (x == 2f) { endoSkeleton.SetFloat("_Strenght", 5f); } } } [ServerRpc(RequireOwnership = false)] public void CheckIfPlayerHittableServerRpc() { //IL_0024: Unknown result type (might be due to invalid IL or missing references) //IL_002e: Invalid comparison between Unknown and I4 //IL_008c: Unknown result type (might be due to invalid IL or missing references) //IL_0096: Invalid comparison between Unknown and I4 //IL_005f: Unknown result type (might be due to invalid IL or missing references) //IL_0068: Unknown result type (might be due to invalid IL or missing references) //IL_006d: Unknown result type (might be due to invalid IL or missing references) //IL_007c: Unknown result type (might be due to invalid IL or missing references) NetworkManager networkManager = ((NetworkBehaviour)this).NetworkManager; if (networkManager != null && networkManager.IsListening) { if ((int)((NetworkBehaviour)this).__rpc_exec_stage != 1 && (networkManager.IsClient || networkManager.IsHost)) { ServerRpcParams val = default(ServerRpcParams); FastBufferWriter val2 = ((NetworkBehaviour)this).__beginSendServerRpc(151065608u, val, (RpcDelivery)0); ((NetworkBehaviour)this).__endSendServerRpc(ref val2, 151065608u, val, (RpcDelivery)0); } if ((int)((NetworkBehaviour)this).__rpc_exec_stage == 1 && (networkManager.IsServer || networkManager.IsHost)) { CheckIfPlayerHittableClientRpc(); } } } [ClientRpc] public void CheckIfPlayerHittableClientRpc() { //IL_0024: Unknown result type (might be due to invalid IL or missing references) //IL_002e: Invalid comparison between Unknown and I4 //IL_008c: Unknown result type (might be due to invalid IL or missing references) //IL_0096: Invalid comparison between Unknown and I4 //IL_005f: Unknown result type (might be due to invalid IL or missing references) //IL_0068: Unknown result type (might be due to invalid IL or missing references) //IL_006d: Unknown result type (might be due to invalid IL or missing references) //IL_007c: Unknown result type (might be due to invalid IL or missing references) //IL_00c3: Unknown result type (might be due to invalid IL or missing references) //IL_00ce: Unknown result type (might be due to invalid IL or missing references) //IL_00d3: Unknown result type (might be due to invalid IL or missing references) NetworkManager networkManager = ((NetworkBehaviour)this).NetworkManager; if (networkManager == null || !networkManager.IsListening) { return; } if ((int)((NetworkBehaviour)this).__rpc_exec_stage != 2 && (networkManager.IsServer || networkManager.IsHost)) { ClientRpcParams val = default(ClientRpcParams); FastBufferWriter val2 = ((NetworkBehaviour)this).__beginSendClientRpc(3398053304u, val, (RpcDelivery)0); ((NetworkBehaviour)this).__endSendClientRpc(ref val2, 3398053304u, val, (RpcDelivery)0); } if ((int)((NetworkBehaviour)this).__rpc_exec_stage != 2 || (!networkManager.IsClient && !networkManager.IsHost)) { return; } int num = 8; Collider[] array = Physics.OverlapBox(attackArea.position, attackArea.localScale, Quaternion.identity, num); if (array.Length == 0) { return; } Collider[] array2 = array; foreach (Collider val3 in array2) { if ((Object)(object)((EnemyAI)this).MeetsStandardPlayerCollisionConditions(val3, false, false) != (Object)null) { SwitchToBehaviourStateServerRpc(2); } } } public void SwingAttack() { SwingAttackHitServerRpc(switchState: true); } [ServerRpc(RequireOwnership = false)] public void SwingAttackHitServerRpc(bool switchState) { //IL_0024: Unknown result type (might be due to invalid IL or missing references) //IL_002e: Invalid comparison between Unknown and I4 //IL_00a7: Unknown result type (might be due to invalid IL or missing references) //IL_00b1: Invalid comparison between Unknown and I4 //IL_005f: Unknown result type (might be due to invalid IL or missing references) //IL_0068: Unknown result type (might be due to invalid IL or missing references) //IL_006d: Unknown result type (might be due to invalid IL or missing references) //IL_007d: Unknown result type (might be due to invalid IL or missing references) //IL_0083: Unknown result type (might be due to invalid IL or missing references) //IL_0097: Unknown result type (might be due to invalid IL or missing references) NetworkManager networkManager = ((NetworkBehaviour)this).NetworkManager; if (networkManager != null && networkManager.IsListening) { if ((int)((NetworkBehaviour)this).__rpc_exec_stage != 1 && (networkManager.IsClient || networkManager.IsHost)) { ServerRpcParams val = default(ServerRpcParams); FastBufferWriter val2 = ((NetworkBehaviour)this).__beginSendServerRpc(3288863240u, val, (RpcDelivery)0); ((FastBufferWriter)(ref val2)).WriteValueSafe<bool>(ref switchState, default(ForPrimitives)); ((NetworkBehaviour)this).__endSendServerRpc(ref val2, 3288863240u, val, (RpcDelivery)0); } if ((int)((NetworkBehaviour)this).__rpc_exec_stage == 1 && (networkManager.IsServer || networkManager.IsHost)) { SwingAttackHitClientRpc(switchState); } } } [ClientRpc] public void SwingAttackHitClientRpc(bool switchState) { //IL_0024: Unknown result type (might be due to invalid IL or missing references) //IL_002e: Invalid comparison between Unknown and I4 //IL_00a7: Unknown result type (might be due to invalid IL or missing references) //IL_00b1: Invalid comparison between Unknown and I4 //IL_005f: Unknown result type (might be due to invalid IL or missing references) //IL_0068: Unknown result type (might be due to invalid IL or missing references) //IL_006d: Unknown result type (might be due to invalid IL or missing references) //IL_007d: Unknown result type (might be due to invalid IL or missing references) //IL_0083: Unknown result type (might be due to invalid IL or missing references) //IL_0097: Unknown result type (might be due to invalid IL or missing references) //IL_00e9: 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_014d: Unknown result type (might be due to invalid IL or missing references) //IL_0153: Unknown result type (might be due to invalid IL or missing references) NetworkManager networkManager = ((NetworkBehaviour)this).NetworkManager; if (networkManager == null || !networkManager.IsListening) { return; } if ((int)((NetworkBehaviour)this).__rpc_exec_stage != 2 && (networkManager.IsServer || networkManager.IsHost)) { ClientRpcParams val = default(ClientRpcParams); FastBufferWriter val2 = ((NetworkBehaviour)this).__beginSendClientRpc(2160548281u, val, (RpcDelivery)0); ((FastBufferWriter)(ref val2)).WriteValueSafe<bool>(ref switchState, default(ForPrimitives)); ((NetworkBehaviour)this).__endSendClientRpc(ref val2, 2160548281u, val, (RpcDelivery)0); } if ((int)((NetworkBehaviour)this).__rpc_exec_stage != 2 || (!networkManager.IsClient && !networkManager.IsHost)) { return; } hitting.Play(); int num = 8; Collider[] array = Physics.OverlapBox(attackArea.position, attackArea.localScale, Quaternion.identity, num); if (array.Length != 0) { Collider[] array2 = array; foreach (Collider val3 in array2) { PlayerControllerB val4 = ((EnemyAI)this).MeetsStandardPlayerCollisionConditions(val3, false, false); if ((Object)(object)val4 != (Object)null && (Object)(object)val4 == (Object)(object)RoundManager.Instance.playersManager.localPlayerController) { val4.DamagePlayer(40, true, true, (CauseOfDeath)0, 0, false, default(Vector3)); PushingPlayer(val4); PlayEuhEuhClientRpc(); break; } } } SwitchToBehaviourStateServerRpc(lastBeforeAttack); } [ClientRpc] public void ActivateAllFreddlesClientRpc() { //IL_0024: Unknown result type (might be due to invalid IL or missing references) //IL_002e: Invalid comparison between Unknown and I4 //IL_008c: Unknown result type (might be due to invalid IL or missing references) //IL_0096: Invalid comparison between Unknown and I4 //IL_005f: Unknown result type (might be due to invalid IL or missing references) //IL_0068: Unknown result type (might be due to invalid IL or missing references) //IL_006d: Unknown result type (might be due to invalid IL or missing references) //IL_007c: Unknown result type (might be due to invalid IL or missing references) NetworkManager networkManager = ((NetworkBehaviour)this).NetworkManager; if (networkManager == null || !networkManager.IsListening) { return; } if ((int)((NetworkBehaviour)this).__rpc_exec_stage != 2 && (networkManager.IsServer || networkManager.IsHost)) { ClientRpcParams val = default(ClientRpcParams); FastBufferWriter val2 = ((NetworkBehaviour)this).__beginSendClientRpc(933376120u, val, (RpcDelivery)0); ((NetworkBehaviour)this).__endSendClientRpc(ref val2, 933376120u, val, (RpcDelivery)0); } if ((int)((NetworkBehaviour)this).__rpc_exec_stage == 2 && (networkManager.IsClient || networkManager.IsHost)) { FreddlesAi[] allFreddles = GetAllFreddles(onlyArrived: false); for (int i = 0; i < allFreddles.Length; i++) { allFreddles[i].ActivateDangerousMod(); } } } [ClientRpc] public void OpenShipDoorsClientRpc() { //IL_0024: Unknown result type (might be due to invalid IL or missing references) //IL_002e: Invalid comparison between Unknown and I4 //IL_008c: Unknown result type (might be due to invalid IL or missing references) //IL_0096: Invalid comparison between Unknown and I4 //IL_005f: Unknown result type (might be due to invalid IL or missing references) //IL_0068: Unknown result type (might be due to invalid IL or missing references) //IL_006d: Unknown result type (might be due to invalid IL or missing references) //IL_007c: Unknown result type (might be due to invalid IL or missing references) NetworkManager networkManager = ((NetworkBehaviour)this).NetworkManager; if (networkManager != null && networkManager.IsListening) { if ((int)((NetworkBehaviour)this).__rpc_exec_stage != 2 && (networkManager.IsServer || networkManager.IsHost)) { ClientRpcParams val = default(ClientRpcParams); FastBufferWriter val2 = ((NetworkBehaviour)this).__beginSendClientRpc(2633927549u, val, (RpcDelivery)0); ((NetworkBehaviour)this).__endSendClientRpc(ref val2, 2633927549u, val, (RpcDelivery)0); } if ((int)((NetworkBehaviour)this).__rpc_exec_stage == 2 && (networkManager.IsClient || networkManager.IsHost)) { Object.FindObjectOfType<HangarShipDoor>().doorPower = 0f; } } } public void PlayFootStepSounds() { footstep.Play(); } [ClientRpc] public void PlayRandomGigglesClientRpc(int x) { //IL_0024: Unknown result type (might be due to invalid IL or missing references) //IL_002e: Invalid comparison between Unknown and I4 //IL_0099: Unknown result type (might be due to invalid IL or missing references) //IL_00a3: Invalid comparison between Unknown and I4 //IL_005f: Unknown result type (might be due to invalid IL or missing references) //IL_0068: Unknown result type (might be due to invalid IL or missing references) //IL_006d: Unknown result type (might be due to invalid IL or missing references) //IL_0071: Unknown result type (might be due to invalid IL or missing references) //IL_0089: Unknown result type (might be due to invalid IL or missing references) NetworkManager networkManager = ((NetworkBehaviour)this).NetworkManager; if (networkManager != null && networkManager.IsListening) { if ((int)((NetworkBehaviour)this).__rpc_exec_stage != 2 && (networkManager.IsServer || networkManager.IsHost)) { ClientRpcParams val = default(ClientRpcParams); FastBufferWriter val2 = ((NetworkBehaviour)this).__beginSendClientRpc(3363642111u, val, (RpcDelivery)0); BytePacker.WriteValueBitPacked(val2, x); ((NetworkBehaviour)this).__endSendClientRpc(ref val2, 3363642111u, val, (RpcDelivery)0); } if ((int)((NetworkBehaviour)this).__rpc_exec_stage == 2 && (networkManager.IsClient || networkManager.IsHost)) { scream.PlayOneShot(gigles[x]); } } } public void AnimationScreamEnd() { ((Renderer)Sphere).enabled = false; SwitchToBehaviourStateServerRpc(3); ActivateAllFreddlesClientRpc(); } public void Logger(string log) { Debug.Log((object)("[NightmareFreddy][Freddy] ~ " + log)); } [ClientRpc] public void PlayEuhEuhClientRpc() { //IL_0024: Unknown result type (might be due to invalid IL or missing references) //IL_002e: Invalid comparison between Unknown and I4 //IL_008c: Unknown result type (might be due to invalid IL or missing references) //IL_0096: Invalid comparison between Unknown and I4 //IL_005f: Unknown result type (might be due to invalid IL or missing references) //IL_0068: Unknown result type (might be due to invalid IL or missing references) //IL_006d: Unknown result type (might be due to invalid IL or missing references) //IL_007c: Unknown result type (might be due to invalid IL or missing references) NetworkManager networkManager = ((NetworkBehaviour)this).NetworkManager; if (networkManager != null && networkManager.IsListening) { if ((int)((NetworkBehaviour)this).__rpc_exec_stage != 2 && (networkManager.IsServer || networkManager.IsHost)) { ClientRpcParams val = default(ClientRpcParams); FastBufferWriter val2 = ((NetworkBehaviour)this).__beginSendClientRpc(1229366648u, val, (RpcDelivery)0); ((NetworkBehaviour)this).__endSendClientRpc(ref val2, 1229366648u, val, (RpcDelivery)0); } if ((int)((NetworkBehaviour)this).__rpc_exec_stage == 2 && (networkManager.IsClient || networkManager.IsHost)) { base.creatureVoice.PlayOneShot(gigles[RandomNumberGenerator.GetInt32(3)]); } } } [ClientRpc] public void ScreamClientRpc() { //IL_0024: Unknown result type (might be due to invalid IL or missing references) //IL_002e: Invalid comparison between Unknown and I4 //IL_008c: Unknown result type (might be due to invalid IL or missing references) //IL_0096: Invalid comparison between Unknown and I4 //IL_005f: Unknown result type (might be due to invalid IL or missing references) //IL_0068: Unknown result type (might be due to invalid IL or missing references) //IL_006d: Unknown result type (might be due to invalid IL or missing references) //IL_007c: Unknown result type (might be due to invalid IL or missing references) NetworkManager networkManager = ((NetworkBehaviour)this).NetworkManager; if (networkManager != null && networkManager.IsListening) { if ((int)((NetworkBehaviour)this).__rpc_exec_stage != 2 && (networkManager.IsServer || networkManager.IsHost)) { ClientRpcParams val = default(ClientRpcParams); FastBufferWriter val2 = ((NetworkBehaviour)this).__beginSendClientRpc(2967553296u, val, (RpcDelivery)0); ((NetworkBehaviour)this).__endSendClientRpc(ref val2, 2967553296u, val, (RpcDelivery)0); } if ((int)((NetworkBehaviour)this).__rpc_exec_stage == 2 && (networkManager.IsClient || networkManager.IsHost)) { scream.Play(); } } } [ServerRpc(RequireOwnership = false)] public void PlayAnimationServerRpc(string x) { //IL_0024: Unknown result type (might be due to invalid IL or missing references) //IL_002e: Invalid comparison between Unknown and I4 //IL_00ca: Unknown result type (might be due to invalid IL or missing references) //IL_00d4: Invalid comparison between Unknown and I4 //IL_005f: Unknown result type (might be due to invalid IL or missing references) //IL_0068: Unknown result type (might be due to invalid IL or missing references) //IL_006d: Unknown result type (might be due to invalid IL or missing references) //IL_0088: Unknown result type (might be due to invalid IL or missing references) //IL_008e: Unknown result type (might be due to invalid IL or missing references) //IL_00ba: Unknown result type (might be due to invalid IL or missing references) NetworkManager networkManager = ((NetworkBehaviour)this).NetworkManager; if (networkManager == null || !networkManager.IsListening) { return; } if ((int)((NetworkBehaviour)this).__rpc_exec_stage != 1 && (networkManager.IsClient || networkManager.IsHost)) { ServerRpcParams val = default(ServerRpcParams); FastBufferWriter val2 = ((NetworkBehaviour)this).__beginSendServerRpc(1904893732u, val, (RpcDelivery)0); bool flag = x != null; ((FastBufferWriter)(ref val2)).WriteValueSafe<bool>(ref flag, default(ForPrimitives)); if (flag) { ((FastBufferWriter)(ref val2)).WriteValueSafe(x, false); } ((NetworkBehaviour)this).__endSendServerRpc(ref val2, 1904893732u, val, (RpcDelivery)0); } if ((int)((NetworkBehaviour)this).__rpc_exec_stage == 1 && (networkManager.IsServer || networkManager.IsHost)) { PlayAnimationClientRpc(x); } } [ClientRpc] public void PlayAnimationClientRpc(string x) { //IL_0024: Unknown result type (might be due to invalid IL or missing references) //IL_002e: Invalid comparison between Unknown and I4 //IL_00ca: Unknown result type (might be due to invalid IL or missing references) //IL_00d4: Invalid comparison between Unknown and I4 //IL_005f: Unknown result type (might be due to invalid IL or missing references) //IL_0068: Unknown result type (might be due to invalid IL or missing references) //IL_006d: Unknown result type (might be due to invalid IL or missing references) //IL_0088: Unknown result type (might be due to invalid IL or missing references) //IL_008e: Unknown result type (might be due to invalid IL or missing references) //IL_00ba: Unknown result type (might be due to invalid IL or missing references) NetworkManager networkManager = ((NetworkBehaviour)this).NetworkManager; if (networkManager == null || !networkManager.IsListening) { return; } if ((int)((NetworkBehaviour)this).__rpc_exec_stage != 2 && (networkManager.IsServer || networkManager.IsHost)) { ClientRpcParams val = default(ClientRpcParams); FastBufferWriter val2 = ((NetworkBehaviour)this).__beginSendClientRpc(3804239045u, val, (RpcDelivery)0); bool flag = x != null; ((FastBufferWriter)(ref val2)).WriteValueSafe<bool>(ref flag, default(ForPrimitives)); if (flag) { ((FastBufferWriter)(ref val2)).WriteValueSafe(x, false); } ((NetworkBehaviour)this).__endSendClientRpc(ref val2, 3804239045u, val, (RpcDelivery)0); } if ((int)((NetworkBehaviour)this).__rpc_exec_stage == 2 && (networkManager.IsClient || networkManager.IsHost)) { base.creatureAnimator.SetTrigger(x); } } public void StartRoar() { ((Renderer)Sphere).enabled = true; ScreamClientRpc(); } [ClientRpc] public void SetTargetPlayerClientRpc(ulong clientId) { //IL_0024: Unknown result type (might be due to invalid IL or missing references) //IL_002e: Invalid comparison between Unknown and I4 //IL_0099: Unknown result type (might be due to invalid IL or missing references) //IL_00a3: Invalid comparison between Unknown and I4 //IL_005f: Unknown result type (might be due to invalid IL or missing references) //IL_0068: Unknown result type (might be due to invalid IL or missing references) //IL_006d: Unknown result type (might be due to invalid IL or missing references) //IL_0071: Unknown result type (might be due to invalid IL or missing references) //IL_0089: Unknown result type (might be due to invalid IL or missing references) NetworkManager networkManager = ((NetworkBehaviour)this).NetworkManager; if (networkManager == null || !networkManager.IsListening) { return; } if ((int)((NetworkBehaviour)this).__rpc_exec_stage != 2 && (networkManager.IsServer || networkManager.IsHost)) { ClientRpcParams val = default(ClientRpcParams); FastBufferWriter val2 = ((NetworkBehaviour)this).__beginSendClientRpc(3678980720u, val, (RpcDelivery)0); BytePacker.WriteValueBitPacked(val2, clientId); ((NetworkBehaviour)this).__endSendClientRpc(ref val2, 3678980720u, val, (RpcDelivery)0); } if ((int)((NetworkBehaviour)this).__rpc_exec_stage != 2 || (!networkManager.IsClient && !networkManager.IsHost)) { return; } PlayerControllerB[] allPlayerScripts = RoundManager.Instance.playersManager.allPlayerScripts; foreach (PlayerControllerB val3 in allPlayerScripts) { if (val3.actualClientId == clientId) { base.targetPlayer = val3; break; } } } public override void OnDestroy() { ((EnemyAI)this).OnDestroy(); endoSkeleton.SetFloat("_Dissolve", 1f); endoSkeleton.SetFloat("_Strenght", 0f); exoSkeleton.SetFloat("_Dissolve", 1f); } protected override void __initializeVariables() { ((EnemyAI)this).__initializeVariables(); } [RuntimeInitializeOnLoadMethod] internal static void InitializeRPCS_NightmareFreddyAi() { //IL_0011: Unknown result type (might be due to invalid IL or missing references) //IL_001b: Expected O, but got Unknown //IL_002c: Unknown result type (might be due to invalid IL or missing references) //IL_0036: Expected O, but got Unknown //IL_0047: Unknown result type (might be due to invalid IL or missing references) //IL_0051: Expected O, but got Unknown //IL_0062: Unknown result type (might be due to invalid IL or missing references) //IL_006c: Expected O, but got Unknown //IL_007d: Unknown result type (might be due to invalid IL or missing references) //IL_0087: Expected O, but got Unknown //IL_0098: Unknown result type (might be due to invalid IL or missing references) //IL_00a2: Expected O, but got Unknown //IL_00b3: Unknown result type (might be due to invalid IL or missing references) //IL_00bd: Expected O, but got Unknown //IL_00ce: Unknown result type (might be due to invalid IL or missing references) //IL_00d8: Expected O, but got Unknown //IL_00e9: Unknown result type (might be due to invalid IL or missing references) //IL_00f3: Expected O, but got Unknown //IL_0104: Unknown result type (might be due to invalid IL or missing references) //IL_010e: Expected O, but got Unknown //IL_011f: Unknown result type (might be due to invalid IL or missing references) //IL_0129: Expected O, but got Unknown //IL_013a: Unknown result type (might be due to invalid IL or missing references) //IL_0144: Expected O, but got Unknown //IL_0155: Unknown result type (might be due to invalid IL or missing references) //IL_015f: Expected O, but got Unknown //IL_0170: Unknown result type (might be due to invalid IL or missing references) //IL_017a: Expected O, but got Unknown //IL_018b: Unknown result type (might be due to invalid IL or missing references) //IL_0195: Expected O, but got Unknown //IL_01a6: Unknown result type (might be due to invalid IL or missing references) //IL_01b0: Expected O, but got Unknown //IL_01c1: Unknown result type (might be due to invalid IL or missing references) //IL_01cb: Expected O, but got Unknown NetworkManager.__rpc_func_table.Add(1772070295u, new RpcReceiveHandler(__rpc_handler_1772070295)); NetworkManager.__rpc_func_table.Add(439919163u, new RpcReceiveHandler(__rpc_handler_439919163)); NetworkManager.__rpc_func_table.Add(1628094442u, new RpcReceiveHandler(__rpc_handler_1628094442)); NetworkManager.__rpc_func_table.Add(108499369u, new RpcReceiveHandler(__rpc_handler_108499369)); NetworkManager.__rpc_func_table.Add(2019128939u, new RpcReceiveHandler(__rpc_handler_2019128939)); NetworkManager.__rpc_func_table.Add(151065608u, new RpcReceiveHandler(__rpc_handler_151065608)); NetworkManager.__rpc_func_table.Add(3398053304u, new RpcReceiveHandler(__rpc_handler_3398053304)); NetworkManager.__rpc_func_table.Add(3288863240u, new RpcReceiveHandler(__rpc_handler_3288863240)); NetworkManager.__rpc_func_table.Add(2160548281u, new RpcReceiveHandler(__rpc_handler_2160548281)); NetworkManager.__rpc_func_table.Add(933376120u, new RpcReceiveHandler(__rpc_handler_933376120)); NetworkManager.__rpc_func_table.Add(2633927549u, new RpcReceiveHandler(__rpc_handler_2633927549)); NetworkManager.__rpc_func_table.Add(3363642111u, new RpcReceiveHandler(__rpc_handler_3363642111)); NetworkManager.__rpc_func_table.Add(1229366648u, new RpcReceiveHandler(__rpc_handler_1229366648)); NetworkManager.__rpc_func_table.Add(2967553296u, new RpcReceiveHandler(__rpc_handler_2967553296)); NetworkManager.__rpc_func_table.Add(1904893732u, new RpcReceiveHandler(__rpc_handler_1904893732)); NetworkManager.__rpc_func_table.Add(3804239045u, new RpcReceiveHandler(__rpc_handler_3804239045)); NetworkManager.__rpc_func_table.Add(3678980720u, new RpcReceiveHandler(__rpc_handler_3678980720)); } private static void __rpc_handler_1772070295(NetworkBehaviour target, FastBufferReader reader, __RpcParams rpcParams) { //IL_0023: 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_0050: Unknown result type (might be due to invalid IL or missing references) NetworkManager networkManager = target.NetworkManager; if (networkManager != null && networkManager.IsListening) { int x = default(int); ByteUnpacker.ReadValueBitPacked(reader, ref x); target.__rpc_exec_stage = (__RpcExecStage)1; ((NightmareFreddyAi)(object)target).SwitchToBehaviourStateServerRpc(x); target.__rpc_exec_stage = (__RpcExecStage)0; } } private static void __rpc_handler_439919163(NetworkBehaviour target, FastBufferReader reader, __RpcParams rpcParams) { //IL_0023: 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_0050: Unknown result type (might be due to invalid IL or missing references) NetworkManager networkManager = target.NetworkManager; if (networkManager != null && networkManager.IsListening) { int x = default(int); ByteUnpacker.ReadValueBitPacked(reader, ref x); target.__rpc_exec_stage = (__RpcExecStage)2; ((NightmareFreddyAi)(object)target).SwitchToBehaviourStateClientRpc(x); target.__rpc_exec_stage = (__RpcExecStage)0; } } private static void __rpc_handler_1628094442(NetworkBehaviour target, FastBufferReader reader, __RpcParams rpcParams) { //IL_0029: Unknown result type (might be due to invalid IL or missing references) //IL_003f: Unknown result type (might be due to invalid IL or missing references) NetworkManager networkManager = target.NetworkManager; if (networkManager != null && networkManager.IsListening) { target.__rpc_exec_stage = (__RpcExecStage)2; ((NightmareFreddyAi)(object)target).PlayLullabyClientRpc(); target.__rpc_exec_stage = (__RpcExecStage)0; } } private static void __rpc_handler_108499369(NetworkBehaviour target, FastBufferReader reader, __RpcParams rpcParams) { //IL_0029: Unknown result type (might be due to invalid IL or missing references) //IL_003f: Unknown result type (might be due to invalid IL or missing references) NetworkManager networkManager = target.NetworkManager; if (networkManager != null && networkManager.IsListening) { target.__rpc_exec_stage = (__RpcExecStage)2; ((NightmareFreddyAi)(object)target).PerformRoarClientRpc(); target.__rpc_exec_stage = (__RpcExecStage)0; } } private static void __rpc_handler_2019128939(NetworkBehaviour target, FastBufferReader reader, __RpcParams rpcParams) { //IL_002f: Unknown result type (might be due to invalid IL or missing references) //IL_0035: Unknown result type (might be due to invalid IL or missing references) //IL_0044: Unknown result type (might be due to invalid IL or missing references) //IL_005e: Unknown result type (might be due to invalid IL or missing references) NetworkManager networkManager = target.NetworkManager; if (networkManager != null && networkManager.IsListening) { float x = default(float); ((FastBufferReader)(ref reader)).ReadValueSafe<float>(ref x, default(ForPrimitives)); target.__rpc_exec_stage = (__RpcExecStage)2; ((NightmareFreddyAi)(object)target).ModifyMaterialClientRpc(x); target.__rpc_exec_stage = (__RpcExecStage)0; } } private static void __rpc_handler_151065608(NetworkBehaviour target, FastBufferReader reader, __RpcParams rpcParams) { //IL_0029: Unknown result type (might be due to invalid IL or missing references) //IL_003f: Unknown result type (might be due to invalid IL or missing references) NetworkManager networkManager = target.NetworkManager; if (networkManager != null && networkManager.IsListening) { target.__rpc_exec_stage = (__RpcExecStage)1; ((NightmareFreddyAi)(object)target).CheckIfPlayerHittableServerRpc(); target.__rpc_exec_stage = (__RpcExecStage)0; } } private static void __rpc_handler_3398053304(NetworkBehaviour target, FastBufferReader reader, __RpcParams rpcParams) { //IL_0029: Unknown result type (might be due to invalid IL or missing references) //IL_003f: Unknown result type (might be due to invalid IL or missing references) NetworkManager networkManager = target.NetworkManager; if (networkManager != null && networkManager.IsListening) { target.__rpc_exec_stage = (__RpcExecStage)2; ((NightmareFreddyAi)(object)target).CheckIfPlayerHittableClientRpc(); target.__rpc_exec_stage = (__RpcExecStage)0; } } private static void __rpc_handler_3288863240(NetworkBehaviour target, FastBufferReader reader, __RpcParams rpcParams) { //IL_002f: Unknown result type (might be due to invalid IL or missing references) //IL_0035: Unknown result type (might be due to invalid IL or missing references) //IL_0044: Unknown result type (might be due to invalid IL or missing references) //IL_005e: Unknown result type (might be due to invalid IL or missing references) NetworkManager networkManager = target.NetworkManager; if (networkManager != null && networkManager.IsListening) { bool switchState = default(bool); ((FastBufferReader)(ref reader)).ReadValueSafe<bool>(ref switchState, default(ForPrimitives)); target.__rpc_exec_stage = (__RpcExecStage)1; ((NightmareFreddyAi)(object)target).SwingAttackHitServerRpc(switchState); target.__rpc_exec_stage = (__RpcExecStage)0; } } private static void __rpc_handler_2160548281(NetworkBehaviour target, FastBufferReader reader, __RpcParams rpcParams) { //IL_002f: Unknown result type (might be due to invalid IL or missing references) //IL_0035: Unknown result type (might be due to invalid IL or missing references) //IL_0044: Unknown result type (might be due to invalid IL or missing references) //IL_005e: Unknown result type (might be due to invalid IL or missing references) NetworkManager networkManager = target.NetworkManager; if (networkManager != null && networkManager.IsListening) { bool switchState = default(bool); ((FastBufferReader)(ref reader)).ReadValueSafe<bool>(ref switchState, default(ForPrimitives)); target.__rpc_exec_stage = (__RpcExecStage)2; ((NightmareFreddyAi)(object)target).SwingAttackHitClientRpc(switchState); target.__rpc_exec_stage = (__RpcExecStage)0; } } private static void __rpc_handler_933376120(NetworkBehaviour target, FastBufferReader reader, __RpcParams rpcParams) { //IL_0029: Unknown result type (might be due to invalid IL or missing references) //IL_003f: Unknown result type (might be due to invalid IL or missing references) NetworkManager networkManager = target.NetworkManager; if (networkManager != null && networkManager.IsListening) { target.__rpc_exec_stage = (__RpcExecStage)2; ((NightmareFreddyAi)(object)target).ActivateAllFreddlesClientRpc(); target.__rpc_exec_stage = (__RpcExecStage)0; } } private static void __rpc_handler_2633927549(NetworkBehaviour target, FastBufferReader reader, __RpcParams rpcParams) { //IL_0029: Unknown result type (might be due to invalid IL or missing references) //IL_003f: Unknown result type (might be due to invalid IL or missing references) NetworkManager networkManager = target.NetworkManager; if (networkManager != null && networkManager.IsListening) { target.__rpc_exec_stage = (__RpcExecStage)2; ((NightmareFreddyAi)(object)target).OpenShipDoorsClientRpc(); target.__rpc_exec_stage = (__RpcExecStage)0; } } private static void __rpc_handler_3363642111(NetworkBehaviour target, FastBufferReader reader, __RpcParams rpcParams) { //IL_0023: 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_0050: Unknown result type (might be due to invalid IL or missing references) NetworkManager networkManager = target.NetworkManager; if (networkManager != null && networkManager.IsListening) { int x = default(int); ByteUnpacker.ReadValueBitPacked(reader, ref x); target.__rpc_exec_stage = (__RpcExecStage)2; ((NightmareFreddyAi)(object)target).PlayRandomGigglesClientRpc(x); target.__rpc_exec_stage = (__RpcExecStage)0; } } private static void __rpc_handler_1229366648(NetworkBehaviour target, FastBufferReader reader, __RpcParams rpcParams) { //IL_0029: Unknown result type (might be due to invalid IL or missing references) //IL_003f: Unknown result type (might be due to invalid IL or missing references) NetworkManager networkManager = target.NetworkManager; if (networkManager != null && networkManager.IsListening) { target.__rpc_exec_stage = (__RpcExecStage)2; ((NightmareFreddyAi)(object)target).PlayEuhEuhClientRpc(); target.__rpc_exec_stage = (__RpcExecStage)0; } } private static void __rpc_handler_2967553296(NetworkBehaviour target, FastBufferReader reader, __RpcParams rpcParams) { //IL_0029: Unknown result type (might be due to invalid IL or missing references) //IL_003f: Unknown result type (might be due to invalid IL or missing references) NetworkManager networkManager = target.NetworkManager; if (networkManager != null && networkManager.IsListening) { target.__rpc_exec_stage = (__RpcExecStage)2; ((NightmareFreddyAi)(object)target).ScreamClientRpc(); target.__rpc_exec_stage = (__RpcExecStage)0; } } private static void __rpc_handler_1904893732(NetworkBehaviour target, FastBufferReader reader, __RpcParams rpcParams) { //IL_002f: Unknown result type (might be due to invalid IL or missing references) //IL_0035: Unknown result type (might be due to invalid IL or missing references) //IL_0061: Unknown result type (might be due to invalid IL or missing references) //IL_007b: Unknown result type (might be due to invalid IL or missing references) NetworkManager networkManager = target.NetworkManager; if (networkManager != null && networkManager.IsListening) { bool flag = default(bool); ((FastBufferReader)(ref reader)).ReadValueSafe<bool>(ref flag, default(ForPrimitives)); string x = null; if (flag) { ((FastBufferReader)(ref reader)).ReadValueSafe(ref x, false); } target.__rpc_exec_stage = (__RpcExecStage)1; ((NightmareFreddyAi)(object)target).PlayAnimationServerRpc(x); target.__rpc_exec_stage = (__RpcExecStage)0; } } private static void __rpc_handler_3804239045(NetworkBehaviour target, FastBufferReader reader, __RpcParams rpcParams) { //IL_002f: Unknown result type (might be due to invalid IL or missing references) //IL_0035: Unknown result type (might be due to invalid IL or missing references) //IL_0061: Unknown result type (might be due to invalid IL or missing references) //IL_007b: Unknown result type (might be due to invalid IL or missing references) NetworkManager networkManager = target.NetworkManager; if (networkManager != null && networkManager.IsListening) { bool flag = default(bool); ((FastBufferReader)(ref reader)).ReadValueSafe<bool>(ref flag, default(ForPrimitives)); string x = null; if (flag) { ((FastBufferReader)(ref reader)).ReadValueSafe(ref x, false); } target.__rpc_exec_stage = (__RpcExecStage)2; ((NightmareFreddyAi)(object)target).PlayAnimationClientRpc(x); target.__rpc_exec_stage = (__RpcExecStage)0; } } private static void __rpc_handler_3678980720(NetworkBehaviour target, FastBufferReader reader, __RpcParams rpcParams) { //IL_0023: 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_0050: Unknown result type (might be due to invalid IL or missing references) NetworkManager networkManager = target.NetworkManager; if (networkManager != null && networkManager.IsListening) { ulong targetPlayerClientRpc = default(ulong); ByteUnpacker.ReadValueBitPacked(reader, ref targetPlayerClientRpc); target.__rpc_exec_stage = (__RpcExecStage)2; ((NightmareFreddyAi)(object)target).SetTargetPlayerClientRpc(targetPlayerClientRpc); target.__rpc_exec_stage = (__RpcExecStage)0; } } protected internal override string __getTypeName() { return "NightmareFreddyAi"; } } } namespace NightmareFreddy.Freddles { public class FreddlesAi : EnemyAI { private enum State { Running, LookedAt, Idle, Burning, Aggressive, TrueBurn, None } [Header("Material Handler!")] public Material endoMaterial; private Material copiedEndoMaterial; public Material coverMaterial; private Material copiedCoverMaterial; public SkinnedMeshRenderer FreddlesRenderer; [Header("Audio")] public AudioClip glitchProj; public AudioClip paranoidStep; [NonSerialized] public Vector3 destination; [NonSerialized] public bool arrived; private bool sittingOrLying; private int burnTick; private int currentBurnProgress; private bool canCollide; public void Awake() { //IL_0015: Unknown result type (might be due to invalid IL or missing references) //IL_001f: Expected O, but got Unknown //IL_0034: Unknown result type (might be due to invalid IL or missing references) //IL_003e: Expected O, but got Unknown if ((Object)(object)endoMaterial != (Object)null) { copiedEndoMaterial = new Material(endoMaterial); } if ((Object)(object)coverMaterial != (Object)null) { copiedCoverMaterial = new Material(coverMaterial); } ((Renderer)FreddlesRenderer).materials = (Material[])(object)new Material[2] { copiedCoverMaterial, copiedEndoMaterial }; } public override void Start() { //IL_0010: Unknown result type (might be due to invalid IL or missing references) //IL_0015: Unknown result type (might be due to invalid IL or missing references) //IL_0071: Unknown result type (might be due to invalid IL or missing references) //IL_0076: Unknown result type (might be due to invalid IL or missing references) //IL_002b: Unknown result type (might be due to invalid IL or missing references) //IL_0030: 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_003c: Unknown result type (might be due to invalid IL or missing references) //IL_0042: Expected O, but got Unknown //IL_0048: Unknown result type (might be due to invalid IL or missing references) //IL_004e: Unknown result type (might be due to invalid IL or missing references) //IL_005c: 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) ((EnemyAI)this).Start(); int num = 0; arrived = false; destination = Vector3.zero; while (destination == Vector3.zero && num < 10) { num++; destination = GetRandomPointInCollider(StartOfRound.Instance.shipInnerRoomBounds); _ = destination; NavMeshPath val = new NavMeshPath(); NavMesh.CalculatePath(((Component)this).transform.position, destination, -1, val); if ((int)val.status != 0) { destination = Vector3.zero; break; } } if (num == 10) { ((MonoBehaviour)this).StartCoroutine(DestroySequence(0)); } if (RandomNumberGenerator.GetInt32(2) == 0) { sittingOrLying = true; } else { sittingOrLying = false; } PlayAnimationClientRpc("Sit", sittingOrLying); SwitchCurrentBehaviourClientRpc(0); burnTick = RandomNumberGenerator.GetInt32(10, 20); currentBurnProgress = 0; ((MonoBehaviour)this).StartCoroutine(DestroySequence(30)); } public static Vector3 GetRandomPointInCollider(Collider collider) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0006: Unknown result type (might be due to invalid IL or missing references) //IL_0009: Unknown result type (might be due to invalid IL or missing references) //IL_0015: Unknown result type (might be due to invalid IL or missing references) //IL_0026: Unknown result type (might be due to invalid IL or missing references) //IL_0032: 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) //IL_004f: Unknown result type (might be due to invalid IL or missing references) //IL_005e: Unknown result type (might be due to invalid IL or missing references) //IL_007c: Unknown result type (might be due to invalid IL or missing references) //IL_0074: Unknown result type (might be due to invalid IL or missing references) Bounds bounds = collider.bounds; NavMeshHit val = default(NavMeshHit); if (NavMesh.SamplePosition(new Vector3(Random.Range(((Bounds)(ref bounds)).min.x, ((Bounds)(ref bounds)).max.x), Random.Range(((Bounds)(ref bounds)).min.y, ((Bounds)(ref bounds)).max.y), Random.Range(((Bounds)(ref bounds)).min.z, ((Bounds)(ref bounds)).max.z)), ref val, 5f, -1)) { return ((NavMeshHit)(ref val)).position; } return ((Bounds)(ref bounds)).center; } public override void DoAIInterval() { //IL_005c: Unknown result type (might be due to invalid IL or missing references) //IL_006e: Unknown result type (might be due to invalid IL or missing references) //IL_0074: Unknown result type (might be due to invalid IL or missing references) //IL_0366: Unknown result type (might be due to invalid IL or missing references) //IL_0350: Unknown result type (might be due to invalid IL or missing references) ((EnemyAI)this).DoAIInterval(); switch (base.currentBehaviourStateIndex) { case 0: base.agent.isStopped = false; if (base.creatureAnimator.GetBool("Idle")) { PlayAnimationClientRpc("Idle", value: false); } ((EnemyAI)this).SetDestinationToPosition(destination, false); if (Vector3.Distance(((Component)this).transform.position, destination) < 1f) { ModifyMaterialClientRpc(0f); SwitchCurrentBehaviourClientRpc(2); } if (CheckIfLookedAt()) { SwitchCurrentBehaviourClientRpc(1); } break; case 1: base.agent.ResetPath(); base.agent.isStopped = true; if (!base.creatureAnimator.GetBool("Idle")) { PlayAnimationClientRpc("Idle", value: true); } if (copiedEndoMaterial.GetFloat("_Dissolve") == 0f) { ModifyMaterialClientRpc(0f); if (((NetworkBehaviour)this).IsHost) { PlayGlitchClientRpc(x: false); } } if (currentBurnProgress > 0) { currentBurnProgress--; ModifyMaterialBasedOnBurnProgress(); } if (CheckIfFlashedAt()) { if (((NetworkBehaviour)this).IsHost) { PlayGlitchClientRpc(x: true); } SwitchCurrentBehaviourClientRpc(5); base.agent.ResetPath(); } if (!CheckIfLookedAt()) { SwitchCurrentBehaviourClientRpc(0); } break; case 2: arrived = true; base.agent.isStopped = true; if (((NetworkBehaviour)this).IsHost && RandomNumberGenerator.GetInt32(100) <= 2) { PlayFootStepNoiseClientRpc(); } if (!base.creatureAnimator.GetBool("Idle")) { PlayAnimationClientRpc("Idle", value: true); } if (((NetworkBehaviour)this).IsHost && RandomNumberGenerator.GetInt32(100) == 0 && !CheckIfLookedAt()) { PlayFootStepNoiseClientRpc(); } if (copiedEndoMaterial.GetFloat("_Dissolve") == 0f) { ModifyMaterialClientRpc(0f); if (((NetworkBehaviour)this).IsHost) { PlayGlitchClientRpc(x: false); } } if (currentBurnProgress > 0) { currentBurnProgress--; ModifyMaterialBasedOnBurnProgress(); } if (CheckIfFlashedAt()) { if (((NetworkBehaviour)this).IsHost) { PlayGlitchClientRpc(x: true); } SwitchCurrentBehaviourClientRpc(3); } break; case 3: base.agent.isStopped = true; if (CheckIfFlashedAt()) { if (!base.creatureAnimator.GetBool("Burning")) { PlayAnimationClientRpc("Burning", value: true); } if (currentBurnProgress < burnTick) { currentBurnProgress++; ModifyMaterialBasedOnBurnProgress(); } else { SwitchCurrentBehaviourClientRpc(6); ((MonoBehaviour)this).StartCoroutine(DestroySequence(3)); } } else if (arrived) { SwitchCurrentBehaviourClientRpc(2); } else { SwitchCurrentBehaviourClientRpc(1); } break; case 4: base.agent.isStopped = false; if (CheckIfFlashedAt()) { if (((NetworkBehaviour)this).IsHost) { PlayGlitchClientRpc(x: true); } PlayAnimationClientRpc("Idle", value: true); SwitchCurrentBehaviourClientRpc(5); base.agent.ResetPath(); break; } if (base.creatureAnimator.GetBool("Idle")) { PlayAnimationClientRpc("Idle", value: false); } ((EnemyAI)this).TargetClosestPlayer(1.5f, false, 70f); if ((Object)(object)base.targetPlayer != (Object)null) { ((EnemyAI)this).SetDestinationToPosition(((Component)base.targetPlayer).transform.position, false); SwingAttackHitClientRpc(); } else { ((EnemyAI)this).SetDestinationToPosition(destination, false); } ModifyMaterialBasedOnBurnProgress(); break; case 5: base.agent.isStopped = true; if (!base.creatureAnimator.GetBool("Burning")) { PlayAnimationClientRpc("Burning", value: true); } if (currentBurnProgress < burnTick) { currentBurnProgress++; ModifyMaterialBasedOnBurnProgress(); } else { SwitchCurrentBehaviourClientRpc(6); ((MonoBehaviour)this).StartCoroutine(DestroySequence(3)); } break; case 6: break; } } public bool CheckIfLookedAt() { //IL_001d: Unknown result type (might be due to invalid IL or missing references) PlayerControllerB[] allPlayerScripts = RoundManager.Instance.playersManager.allPlayerScripts; for (int i = 0; i < allPlayerScripts.Length; i++) { if (allPlayerScripts[i].HasLineOfSightToPosition(((Component)this).transform.position, 45f, 60, -1f)) { return true; } } return false; } public bool CheckIfFlashedAt() { //IL_0022: Unknown result type (might be due to invalid IL or missing references) //IL_0089: Unknown result type (might be due to invalid IL or missing references) //IL_0094: Unknown result type (might be due to invalid IL or missing references) //IL_00ac: Unknown result type (might be due to invalid IL or missing references) PlayerControllerB[] allPlayerScripts = RoundManager.Instance.playersManager.allPlayerScripts; foreach (PlayerControllerB val in allPlayerScripts) { if (!val.HasLineOfSightToPosition(((Component)this).transform.position, 45f, 60, -1f)) { continue; } GrabbableObject[] itemSlots = val.ItemSlots; foreach (GrabbableObject val2 in itemSlots) { if (!((Object)(object)val2 == (Object)null) && !((Object)(object)((Component)val2).gameObject.GetComponent<FlashlightItem>() == (Object)null) && ((GrabbableObject)((Component)val2).gameObject.GetComponent<FlashlightItem>()).isBeingUsed && Vector3.Distance(((Component)val).transform.position, ((Component)this).transform.position) < 6f && val.LineOfSightToPositionAngle(((Component)this).transform.position, 60, -1f) < 20f) { return true; } } } return false; } public void ModifyMaterialBasedOnBurnProgress() { float x = Mathf.Clamp01((float)currentBurnProgress / (float)burnTick); ModifyMaterialClientRpc(x); if (currentBurnProgress == 0) { PlayAnimationClientRpc("Burning", value: false); } } [ClientRpc] public void ModifyMaterialClientRpc(float x) { //IL_0024: Unknown result type (might be due to invalid IL or missing references) //IL_002e: Invalid comparison between Unknown and I4 //IL_00a7: Unknown result type (might be due to invalid IL or missing references) //IL_00b1: Invalid comparison between Unknown and I4 //IL_005f: Unknown result type (might be due to invalid IL or missing references) //IL_0068: Unknown result type (might be due to invalid IL or missing references) //IL_006d: Unknown result type (might be due to invalid IL or missing references) //IL_007d: Unknown result type (might be due to invalid IL or missing references) //IL_0083: Unknown result type (might be due to invalid IL or missing references) //IL_0097: Unknown result type (might be due to invalid IL or missing references) NetworkManager networkManager = ((NetworkBehaviour)this).NetworkManager; if (networkManager != null && networkManager.IsListening) { if ((int)((NetworkBehaviour)this).__rpc_exec_stage != 2 && (networkManager.IsServer || networkManager.IsHost)) { ClientRpcParams val = default(ClientRpcParams); FastBufferWriter val2 = ((NetworkBehaviour)this).__beginSendClientRpc(487965023u, val, (RpcDelivery)0); ((FastBufferWriter)(ref val2)).WriteValueSafe<float>(ref x, default(ForPrimitives)); ((NetworkBehaviour)this).__endSendClientRpc(ref val2, 487965023u, val, (RpcDelivery)0); } if ((int)((NetworkBehaviour)this).__rpc_exec_stage == 2 && (networkManager.IsClient || networkManager.IsHost) && x < 1.01f && x >= 0f) { copiedEndoMaterial.SetFloat("_Dissolve", x); copiedCoverMaterial.SetFloat("Vector1_FEFF47F1", x); } } } [ClientRpc] public void SwitchCurrentBehaviourClientRpc(int x) { //IL_0024: Unknown result type (might be due to invalid IL or missing references) //IL_002e: Invalid comparison between Unknown and I4 //IL_0099: Unknown result type (might be due to invalid IL or missing references) //IL_00a3: Invalid comparison between Unknown and I4 //IL_005f: Unknown result type (might be due to invalid IL or missing references) //IL_0068: Unknown result type (might be due to invalid IL or missing references) //IL_006d: Unknown result type (might be due to invalid IL or missing references) //IL_0071: Unknown result type (might be due to invalid IL or missing references) //IL_0089: Unknown result type (might be due to invalid IL or missing references) NetworkManager networkManager = ((NetworkBehaviour)this).NetworkManager; if (networkManager != null && networkManager.IsListening) { if ((int)((NetworkBehaviour)this).__rpc_exec_stage != 2 && (networkManager.IsServer || networkManager.IsHost)) { ClientRpcParams val = default(ClientRpcParams); FastBufferWriter val2 = ((NetworkBehaviour)this).__beginSendClientRpc(949847044u, val, (RpcDelivery)0); BytePacker.WriteValueBitPacked(val2, x); ((NetworkBehaviour)this).__endSendClientRpc(ref val2, 949847044u, val, (RpcDelivery)0); } if ((int)((NetworkBehaviour)this).__rpc_exec_stage == 2 && (networkManager.IsClient || networkManager.IsHost)) { base.currentBehaviourStateIndex = x; } } } public void PlayFootStep() { base.creatureSFX.Play(); } [ClientRpc] public void PlayFootStepNoiseClientRpc() { //IL_0024: Unknown result type (might be due to invalid IL or missing references) //IL_002e: Invalid comparison between Unknown and I4 //IL_008c: Unknown result type (might be due to invalid IL or missing references) //IL_0096: Invalid comparison between Unknown and I4 //IL_005f: Unknown result type (might be due to invalid IL or missing references) //IL_0068: Unknown result type (might be due to invalid IL or missing references) //IL_006d: Unknown result type (might be due to invalid IL or missing references) //IL_007c: Unknown result type (might be due to invalid IL or missing references) NetworkManager networkManager = ((NetworkBehaviour)this).NetworkManager; if (networkManager != null && networkManager.IsListening) { if ((int)((NetworkBehaviour)this).__rpc_exec_stage != 2 && (networkManager.IsServer || networkManager.IsHost)) { ClientRpcParams val = default(ClientRpcParams); FastBufferWriter val2 = ((NetworkBehaviour)this).__beginSendClientRpc(513768869u, val, (RpcDelivery)0); ((NetworkBehaviour)this).__endSendClientRpc(ref val2, 513768869u, val, (RpcDelivery)0); } if ((int)((NetworkBehaviour)this).__rpc_exec_stage == 2 && (networkManager.IsClient || networkManager.IsHost)) { base.creatureSFX.PlayOneShot(paranoidStep); } } } [ClientRpc] public void PlayGlitchClientRpc(bool x) { //IL_0024: Unknown result type (might be due to invalid IL or missing references) //IL_002e: Invalid comparison between Unknown and I4 //IL_00a7: Unknown result type (might be due to invalid IL or missing references) //IL_00b1: Invalid comparison between Unknown and I4 //IL_005f: Unknown result type (might be due to invalid IL or missing references) //IL_0068: Unknown result type (might be due to invalid IL or missing references) //IL_006d: Unknown result type (might be due to invalid IL or missing references) //IL_007d: Unknown result type (might be due to invalid IL or missing references) //IL_0083: Unknown result type (might be due to invalid IL or missing references) //IL_0097: Unknown result type (might be due to invalid IL or missing references) NetworkManager networkManager = ((NetworkBehaviour)this).NetworkManager; if (networkManager == null || !networkManager.IsListening) { return; } if ((int)((NetworkBehaviour)this).__rpc_exec_stage != 2 && (networkManager.IsServer || networkManager.IsHost)) { ClientRpcParams val = default(ClientRpcParams); FastBufferWriter val2 = ((NetworkBehaviour)this).__beginSendClientRpc(520196285u, val, (RpcDelivery)0); ((FastBufferWriter)(ref val2)).WriteValueSafe<bool>(ref x, default(ForPrimitives)); ((NetworkBehaviour)this).__endSendClientRpc(ref val2, 520196285u, val, (RpcDelivery)0); } if ((int)((NetworkBehaviour)this).__rpc_exec_stage != 2 || (!networkManager.IsClient && !networkManager.IsHost)) { return; } if (x) { if (!base.creatureVoice.isPlaying) { base.creatureVoice.Play(); } } else { base.creatureVoice.Stop(); } } private IEnumerator DestroySequence(int x) { yield return (object)new WaitForSeconds((float)x); if (base.currentBehaviourStateIndex != 2) { ((EnemyAI)this).KillEnemyClientRpc(true); } } public void ActivateDangerousMod() { SwitchCurrentBehaviourClientRpc(4); canCollide = true; ((MonoBehaviour)this).StopCoroutine(DestroySequence(30)); } [ClientRpc] public void SwingAttackHitClientRpc() { //IL_0024: Unknown result type (might be due to invalid IL or missing references) //IL_002e: Invalid comparison between Unknown and I4 //IL_008c: Unknown result type (might be due to invalid IL or missing references) //IL_0096: Invalid comparison between Unknown and I4 //IL_005f: Unknown result type (might be due to invalid IL or missing references) //IL_0068: Unknown result type (might be due to invalid IL or missing references) //IL_006d: Unknown result type (might be due to invalid IL or missing references) //IL_007c: Unknown result type (might be due to invalid IL or missing references) //IL_00d0: Unknown result type (might be due to invalid IL or missing references) //IL_00d6: Unknown result type (might be due to invalid IL or missing references) //IL_00db: Unknown result type (might be due to invalid IL or missing references) //IL_0126: 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) NetworkManager networkManager = ((NetworkBehaviour)this).NetworkManager; if (networkManager == null || !networkManager.IsListening) { return; } if ((int)((NetworkBehaviour)this).__rpc_exec_stage != 2 && (networkManager.IsServer || networkManager.IsHost)) { ClientRpcParams val = default(ClientRpcParams); FastBufferWriter val2 = ((NetworkBehaviour)this).__beginSendClientRpc(2306784073u, val, (RpcDelivery)0); ((NetworkBehaviour)this).__endSendClientRpc(ref val2, 2306784073u, val, (RpcDelivery)0); } if ((int)((NetworkBehaviour)this).__rpc_exec_stage != 2 || (!networkManager.IsClient && !networkManager.IsHost) || !canCollide) { return; } int num = 8; Transform transform = ((Component)this).transform; Collider[] array = Physics.OverlapBox(transform.position, transform.localScale, Quaternion.identity, num); if (array.Length == 0) { return; } Collider[] array2 = array; foreach (Collider val3 in array2) { PlayerControllerB val4 = ((EnemyAI)this).MeetsStandardPlayerCollisionConditions(val3, false, false); if ((Object)(object)val4 != (Object)null) { val4.DamagePlayer(global::NightmareFreddy.Plugin.Plugin.FreddyConfiguration.DAMAGE_FREDDLES.Value, true, true, (CauseOfDeath)0, 0, false, default(Vector3)); PlayAnimationClientRpc("Idle", value: true); SwitchCurrentBehaviourClientRpc(5); } } } public override void HitEnemy(int force = 1, PlayerControllerB? playerWhoHit = null, bool playHitSFX = false, int hitID = -1) { ((EnemyAI)this).HitEnemy(force, playerWhoHit, playHitSFX, hitID); if (!base.isEnemyDead) { base.enemyHP -= force; if (((NetworkBehaviour)this).IsOwner && base.enemyHP <= 0 && !base.isEnemyDead) { SwitchCurrentBehaviourClientRpc(5); } } } [ClientRpc] public void PlayAnimationClientRpc(string name, bool value) { //IL_0024: Unknown result type (might be due to invalid IL or missing references) //IL_002e: Invalid comparison between Unknown and I4 //IL_00e5: Unknown result type (might be due to invalid IL or missing references) //IL_00ef: Invalid comparison between Unknown and I4 //IL_005f: Unknown result type (might be due to invalid IL or missing references) //IL_0068: Unknown result type (might be due to invalid IL or missing references) //IL_006d: Unknown result type (might be due to invalid IL or missing references) //IL_0088: Unknown result type (might be due to invalid IL or missing references) //IL_008e: Unknown result type (might be due to invalid IL or missing references) //IL_00bb: Unknown result type (might be due to invalid IL or missing references) //IL_00c1: 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) NetworkManager networkManager = ((NetworkBehaviour)this).NetworkManager; if (networkManager == null || !networkManager.IsListening) { return; } if ((int)((NetworkBehaviour)this).__rpc_exec_stage != 2 && (networkManager.IsServer || networkManager.IsHost)) { ClientRpcParams val = default(ClientRpcParams); FastBufferWriter val2 = ((NetworkBehaviour)this).__beginSendClientRpc(78470382u, val, (RpcDelivery)0); bool flag = name != null; ((FastBufferWriter)(ref val2)).WriteValueSafe<bool>(ref flag, default(ForPrimitives)); if (flag) { ((FastBufferWriter)(ref val2)).WriteValueSafe(name, false); } ((FastBufferWriter)(ref val2)).WriteValueSafe<bool>(ref value, default(ForPrimitives)); ((NetworkBehaviour)this).__endSendClientRpc(ref val2, 78470382u, val, (RpcDelivery)0); } if ((int)((NetworkBehaviour)this).__rpc_exec_stage == 2 && (networkManager.IsClient || networkManager.IsHost)) { base.creatureAnimator.SetBool(name, value); } } protected override void __initializeVariables() { ((EnemyAI)this).__initializeVariables(); } [RuntimeInitializeOnLoadMethod] internal static void InitializeRPCS_FreddlesAi() { //IL_0011: Unknown result type (might be due to invalid IL or missing references) //IL_001b: Expected O, but got Unknown //IL_002c: Unknown result type (might be due to invalid IL or missing references) //IL_0036: Expected O, but got Unknown //IL_0047: Unknown result type (might be due to invalid IL or missing references) //IL_0051: Expected O, but got Unknown //IL_0062: Unknown result type (might be due to invalid IL or missing references) //IL_006c: Expected O, but got Unknown //IL_007d: Unknown result type (might be due to invalid IL or missing references) //IL_0087: Expected O, but got Unknown //IL_0098: Unknown result type (might be due to invalid IL or missing references) //IL_00a2: Expected O, but got Unknown NetworkManager.__rpc_func_table.Add(487965023u, new RpcReceiveHandler(__rpc_handler_487965023)); NetworkManager.__rpc_func_table.Add(949847044u, new RpcReceiveHandler(__rpc_handler_949847044)); NetworkManager.__rpc_func_table.Add(513768869u, new RpcReceiveHandler(__rpc_handler_513768869)); NetworkManager.__rpc_func_table.Add(520196285u, new RpcReceiveHandler(__rpc_handler_520196285)); NetworkManager.__rpc_func_table.Add(2306784073u, new RpcReceiveHandler(__rpc_handler_2306784073)); NetworkManager.__rpc_func_table.Add(78470382u, new RpcReceiveHandler(__rpc_handler_78470382)); } private static void __rpc_handler_487965023(NetworkBehaviour target, FastBufferReader reader, __RpcParams rpcParams) { //IL_002f: Unknown result type (might be due to invalid IL or missing references) //IL_0035: Unknown result type (might be due to invalid IL or missing references) //IL_0044: Unknown result type (might be due to invalid IL or missing references) //IL_005e: Unknown result type (might be due to invalid IL or missing references) NetworkManager networkManager = target.NetworkManager; if (networkManager != null && networkManager.IsListening) { float x = default(float); ((FastBufferReader)(ref reader)).ReadValueSafe<float>(ref x, default(ForPrimitives)); target.__rpc_exec_stage = (__RpcExecStage)2; ((FreddlesAi)(object)target).ModifyMaterialClientRpc(x); target.__rpc_exec_stage = (__RpcExecStage)0; } } private static void __rpc_handler_949847044(NetworkBehaviour target, FastBufferReader reader, __RpcParams rpcParams) { //IL_0023: 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_0050: Unknown result type (might be due to invalid IL or missing references) NetworkManager networkManager = target.NetworkManager; if (networkManager != null && networkManager.IsListening) { int x = default(int); ByteUnpacker.ReadValueBitPacked(reader, ref x); target.__rpc_exec_stage = (__RpcExecStage)2; ((FreddlesAi)(object)target).SwitchCurrentBehaviourClientRpc(x); target.__rpc_exec_stage = (__RpcExecStage)0; } } private static void __rpc_handler_513768869(NetworkBehaviour target, FastBufferReader reader, __RpcParams rpcParams) { //IL_0029: Unknown result type (might be due to invalid IL or missing references) //IL_003f: Unknown result type (might be due to invalid IL or missing references) NetworkManager networkManager = target.NetworkManager; if (networkManager != null && networkManager.IsListening) { target.__rpc_exec_stage = (__RpcExecStage)2; ((FreddlesAi)(object)target).PlayFootStepNoiseClientRpc(); target.__rpc_exec_stage = (__RpcExecStage)0; } } private static void __rpc_handler_520196285(NetworkBehaviour target, FastBufferReader reader, __RpcParams rpcParams) { //IL_002f: Unknown result type (might be due to invalid IL or missing references) //IL_0035: Unknown result type (might be due to invalid IL or missing references) //IL_0044: Unknown result type (might be due to invalid IL or missing references) //IL_005e: Unknown result type (might be due to invalid IL or missing references) NetworkManager networkManager = target.NetworkManager; if (networkManager != null && networkManager.IsListening) { bool x = default(bool); ((FastBufferReader)(ref reader)).ReadValueSafe<bool>(ref x, default(ForPrimitives)); target.__rpc_exec_stage = (__RpcExecStage)2; ((FreddlesAi)(object)target).PlayGlitchClientRpc(x); target.__rpc_exec_stage = (__RpcExecStage)0; } } private static void __rpc_handler_2306784073(NetworkBehaviour target, FastBufferReader reader, __RpcParams rpcParams) { //IL_0029: Unknown result type (might be due to invalid IL or missing references) //IL_003f: Unknown result type (might be due to invalid IL or missing references) NetworkManager networkManager = target.NetworkManager; if (networkManager != null && networkManager.IsListening) { target.__rpc_exec_stage = (__RpcExecStage)2; ((FreddlesAi)(object)target).SwingAttackHitClientRpc(); target.__rpc_exec_stage = (__RpcExecStage)0; } } private static void __rpc_handler_78470382(NetworkBehaviour target, FastBufferReader reader, __RpcParams rpcParams) { //IL_002f: Unknown result type (might be due to invalid IL or missing references) //IL_0035: Unknown result type (might be due to invalid IL or missing references) //IL_0067: Unknown result type (might be due to invalid IL or missing references) //IL_006d: Unknown result type (might be due to invalid IL or missing references) //IL_007c: Unknown result type (might be due to invalid IL or missing references) //IL_009a: Unknown result type (might be due to invalid IL or missing references) NetworkManager networkManager = target.NetworkManager; if (networkManager != null && networkManager.IsListening) { bool flag = default(bool); ((FastBufferReader)(ref reader)).ReadValueSafe<bool>(ref flag, default(ForPrimitives)); string name = null; if (flag) { ((FastBufferReader)(ref reader)).ReadValueSafe(ref name, false); } bool value = default(bool); ((FastBufferReader)(ref reader)).ReadValueSafe<bool>(ref value, default(ForPrimitives)); target.__rpc_exec_stage = (__RpcExecStage)2; ((FreddlesAi)(object)target).PlayAnimationClientRpc(name, value); target.__rpc_exec_stage = (__RpcExecStage)0; } } protected internal override string __getTypeName() { return "FreddlesAi"; } } } namespace NightmareFreddy.Configurations { public class Config : SyncedInstance<Config> { public