Please disclose if any significant portion of your mod was created using AI tools by adding the 'AI Generated' category. Failing to do so may result in the mod being removed from Thunderstore.
Decompiled source of CodeRebirth v1.6.3
plugins/CodeRebirth/CodeRebirth.dll
Decompiled 4 days ago
The result has been truncated due to the large size, download it to view full contents!
using System; using System.CodeDom.Compiler; using System.Collections; using System.Collections.Generic; using System.Diagnostics; using System.Diagnostics.CodeAnalysis; using System.Globalization; using System.Linq; using System.Reflection; using System.Reflection.Emit; using System.Runtime.CompilerServices; using System.Runtime.Versioning; using System.Security; using System.Security.Permissions; using System.Text; using BepInEx; using BepInEx.Bootstrap; using BepInEx.Configuration; using BepInEx.Logging; using CSync.Lib; using CodeRebirth.NetcodePatcher; using CodeRebirth.src.Content.DevTools; using CodeRebirth.src.Content.Enemies; using CodeRebirth.src.Content.Items; using CodeRebirth.src.Content.Maps; using CodeRebirth.src.Content.Moons; using CodeRebirth.src.Content.Unlockables; using CodeRebirth.src.Content.Weapons; using CodeRebirth.src.MiscScripts; using CodeRebirth.src.MiscScripts.CustomPasses; using CodeRebirth.src.ModCompats; using CodeRebirth.src.Patches; using CodeRebirth.src.Util; using CodeRebirth.src.Util.Timer; using CullFactory.Behaviours.API; using Dawn; using Dawn.Internal; using Dawn.Utils; using DigitalRuby.ThunderAndLightning; using DunGen; using Dusk; using GameNetcodeStuff; using HarmonyLib; using IL; using IL.GameNetcodeStuff; using Imperium; using LethalCompanyInputUtils.Api; using LethalMoonUnlocks; using Microsoft.CodeAnalysis; using Mono.Cecil.Cil; using MonoMod.Cil; using MonoMod.RuntimeDetour; using MoreCompany.Cosmetics; using MoreCounterplay; using MoreShipUpgrades.UpgradeComponents.OneTimeUpgrades.Store; using MoreShipUpgrades.UpgradeComponents.TierUpgrades.AttributeUpgrades; using On; using On.GameNetcodeStuff; using On.Unity.AI.Navigation; using OpenBodyCams; using TMPro; using TooManyEmotes.Patches; using Unity.AI.Navigation; using Unity.Netcode; using Unity.Netcode.Components; using UnityEngine; using UnityEngine.AI; using UnityEngine.Events; using UnityEngine.Experimental.Rendering; using UnityEngine.InputSystem; using UnityEngine.InputSystem.Controls; using UnityEngine.InputSystem.Utilities; using UnityEngine.ProBuilder; using UnityEngine.Rendering; using UnityEngine.Rendering.HighDefinition; using UnityEngine.Rendering.RendererUtils; using UnityEngine.SceneManagement; using UnityEngine.Serialization; using UnityEngine.UI; using UnityEngine.VFX; using UnityEngine.Video; using WeatherRegistry; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints)] [assembly: IgnoresAccessChecksTo("AmazingAssets.TerrainToMesh")] [assembly: IgnoresAccessChecksTo("Assembly-CSharp-firstpass")] [assembly: IgnoresAccessChecksTo("Assembly-CSharp")] [assembly: IgnoresAccessChecksTo("BaronDrakula.MoreCounterplay")] [assembly: IgnoresAccessChecksTo("ClientNetworkTransform")] [assembly: IgnoresAccessChecksTo("com.github.teamxiaolan.dawnlib")] [assembly: IgnoresAccessChecksTo("com.github.teamxiaolan.dawnlib.dusk")] [assembly: IgnoresAccessChecksTo("com.olegknyazev.softmask")] [assembly: IgnoresAccessChecksTo("DissonanceVoip")] [assembly: IgnoresAccessChecksTo("DunGen")] [assembly: IgnoresAccessChecksTo("DunGen.Integration.ASPP")] [assembly: IgnoresAccessChecksTo("DunGen.Integration.UnityNav")] [assembly: IgnoresAccessChecksTo("EasyTextEffects")] [assembly: IgnoresAccessChecksTo("Facepunch Transport for Netcode for GameObjects")] [assembly: IgnoresAccessChecksTo("Facepunch.Steamworks.Win64")] [assembly: IgnoresAccessChecksTo("giosuel.Imperium")] [assembly: IgnoresAccessChecksTo("MoreShipUpgrades")] [assembly: IgnoresAccessChecksTo("TooManyEmotes")] [assembly: IgnoresAccessChecksTo("Unity.AI.Navigation")] [assembly: IgnoresAccessChecksTo("Unity.Animation.Rigging")] [assembly: IgnoresAccessChecksTo("Unity.Animation.Rigging.DocCodeExamples")] [assembly: IgnoresAccessChecksTo("Unity.Burst")] [assembly: IgnoresAccessChecksTo("Unity.Burst.Unsafe")] [assembly: IgnoresAccessChecksTo("Unity.Collections")] [assembly: IgnoresAccessChecksTo("Unity.Collections.LowLevel.ILSupport")] [assembly: IgnoresAccessChecksTo("Unity.InputSystem")] [assembly: IgnoresAccessChecksTo("Unity.InputSystem.ForUI")] [assembly: IgnoresAccessChecksTo("Unity.Jobs")] [assembly: IgnoresAccessChecksTo("Unity.Mathematics")] [assembly: IgnoresAccessChecksTo("Unity.Multiplayer.Tools.Common")] [assembly: IgnoresAccessChecksTo("Unity.Multiplayer.Tools.MetricTypes")] [assembly: IgnoresAccessChecksTo("Unity.Multiplayer.Tools.NetStats")] [assembly: IgnoresAccessChecksTo("Unity.Multiplayer.Tools.NetStatsMonitor.Component")] [assembly: IgnoresAccessChecksTo("Unity.Multiplayer.Tools.NetStatsMonitor.Configuration")] [assembly: IgnoresAccessChecksTo("Unity.Multiplayer.Tools.NetStatsMonitor.Implementation")] [assembly: IgnoresAccessChecksTo("Unity.Multiplayer.Tools.NetStatsReporting")] [assembly: IgnoresAccessChecksTo("Unity.Multiplayer.Tools.NetworkProfiler.Runtime")] [assembly: IgnoresAccessChecksTo("Unity.Multiplayer.Tools.NetworkSolutionInterface")] [assembly: IgnoresAccessChecksTo("Unity.Netcode.Components")] [assembly: IgnoresAccessChecksTo("Unity.Netcode.Runtime")] [assembly: IgnoresAccessChecksTo("Unity.Networking.Transport")] [assembly: IgnoresAccessChecksTo("Unity.ProBuilder.Csg")] [assembly: IgnoresAccessChecksTo("Unity.ProBuilder")] [assembly: IgnoresAccessChecksTo("Unity.ProBuilder.KdTree")] [assembly: IgnoresAccessChecksTo("Unity.ProBuilder.Poly2Tri")] [assembly: IgnoresAccessChecksTo("Unity.ProBuilder.Stl")] [assembly: IgnoresAccessChecksTo("Unity.Profiling.Core")] [assembly: IgnoresAccessChecksTo("Unity.RenderPipelines.Core.Runtime")] [assembly: IgnoresAccessChecksTo("Unity.RenderPipelines.Core.ShaderLibrary")] [assembly: IgnoresAccessChecksTo("Unity.RenderPipelines.HighDefinition.Config.Runtime")] [assembly: IgnoresAccessChecksTo("Unity.RenderPipelines.HighDefinition.Runtime")] [assembly: IgnoresAccessChecksTo("Unity.RenderPipelines.ShaderGraph.ShaderGraphLibrary")] [assembly: IgnoresAccessChecksTo("Unity.Services.Authentication")] [assembly: IgnoresAccessChecksTo("Unity.Services.Core.Analytics")] [assembly: IgnoresAccessChecksTo("Unity.Services.Core.Components")] [assembly: IgnoresAccessChecksTo("Unity.Services.Core.Configuration")] [assembly: IgnoresAccessChecksTo("Unity.Services.Core.Device")] [assembly: IgnoresAccessChecksTo("Unity.Services.Core")] [assembly: IgnoresAccessChecksTo("Unity.Services.Core.Environments")] [assembly: IgnoresAccessChecksTo("Unity.Services.Core.Environments.Internal")] [assembly: IgnoresAccessChecksTo("Unity.Services.Core.Internal")] [assembly: IgnoresAccessChecksTo("Unity.Services.Core.Networking")] [assembly: IgnoresAccessChecksTo("Unity.Services.Core.Registration")] [assembly: IgnoresAccessChecksTo("Unity.Services.Core.Scheduler")] [assembly: IgnoresAccessChecksTo("Unity.Services.Core.Telemetry")] [assembly: IgnoresAccessChecksTo("Unity.Services.Core.Threading")] [assembly: IgnoresAccessChecksTo("Unity.Services.QoS")] [assembly: IgnoresAccessChecksTo("Unity.Services.Relay")] [assembly: IgnoresAccessChecksTo("Unity.TextMeshPro")] [assembly: IgnoresAccessChecksTo("Unity.Timeline")] [assembly: IgnoresAccessChecksTo("Unity.VisualEffectGraph.Runtime")] [assembly: IgnoresAccessChecksTo("Unity.XR.CoreUtils")] [assembly: IgnoresAccessChecksTo("Unity.XR.Management")] [assembly: IgnoresAccessChecksTo("Unity.XR.OpenXR")] [assembly: IgnoresAccessChecksTo("Unity.XR.OpenXR.Features.ConformanceAutomation")] [assembly: IgnoresAccessChecksTo("Unity.XR.OpenXR.Features.MetaQuestSupport")] [assembly: IgnoresAccessChecksTo("Unity.XR.OpenXR.Features.MockRuntime")] [assembly: IgnoresAccessChecksTo("Unity.XR.OpenXR.Features.OculusQuestSupport")] [assembly: IgnoresAccessChecksTo("Unity.XR.OpenXR.Features.RuntimeDebugger")] [assembly: IgnoresAccessChecksTo("UnityEngine.ARModule")] [assembly: IgnoresAccessChecksTo("UnityEngine.NVIDIAModule")] [assembly: IgnoresAccessChecksTo("UnityEngine.SpatialTracking")] [assembly: IgnoresAccessChecksTo("UnityEngine.UI")] [assembly: IgnoresAccessChecksTo("UnityEngine.XR.LegacyInputHelpers")] [assembly: IgnoresAccessChecksTo("WeatherRegistry")] [assembly: TargetFramework(".NETStandard,Version=v2.1", FrameworkDisplayName = ".NET Standard 2.1")] [assembly: AssemblyCompany("CodeRebirth")] [assembly: AssemblyConfiguration("Release")] [assembly: AssemblyDescription("Content mod that adds Custom Weathers, Items, Enemies and more.")] [assembly: AssemblyFileVersion("1.6.3.0")] [assembly: AssemblyInformationalVersion("1.6.3+be29dd7df1b5687fd3315557c6cb507e81ac4680")] [assembly: AssemblyProduct("CodeRebirth")] [assembly: AssemblyTitle("CodeRebirth")] [assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)] [assembly: AssemblyVersion("1.6.3.0")] [module: UnverifiableCode] [module: RefSafetyRules(11)] [module: NetcodePatchedAssembly] 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; } } } public class MonarchBeamController : MonoBehaviour { public Transform _raycastDirectionBeamTransform; public Transform _startBeamTransform; public AudioClip _beamSound; public VisualEffect? _monarchParticle; [SerializeField] private SkinnedMeshRenderer _wingMesh; [SerializeField] private Transform _endBeamTransform; public void OnValidate() { if (!((Object)(object)_monarchParticle == (Object)null)) { _monarchParticle.SetSkinnedMeshRenderer("wingMesh", _wingMesh); } } public void Start() { if (!((Object)(object)_monarchParticle == (Object)null)) { _monarchParticle.SetSkinnedMeshRenderer("wingMesh", _wingMesh); } } public void SetBeamPosition(Vector3 position) { //IL_0006: Unknown result type (might be due to invalid IL or missing references) _endBeamTransform.position = position; } } public class SeeThroughCustomPass : CustomPass { [CompilerGenerated] private sealed class <RegisterMaterialForInspector>d__11 : IEnumerable<Material>, IEnumerable, IEnumerator<Material>, IEnumerator, IDisposable { private int <>1__state; private Material <>2__current; private int <>l__initialThreadId; public SeeThroughCustomPass <>4__this; Material IEnumerator<Material>.Current { [DebuggerHidden] get { return <>2__current; } } object IEnumerator.Current { [DebuggerHidden] get { return <>2__current; } } [DebuggerHidden] public <RegisterMaterialForInspector>d__11(int <>1__state) { this.<>1__state = <>1__state; <>l__initialThreadId = Environment.CurrentManagedThreadId; } [DebuggerHidden] void IDisposable.Dispose() { <>1__state = -2; } private bool MoveNext() { int num = <>1__state; SeeThroughCustomPass seeThroughCustomPass = <>4__this; switch (num) { default: return false; case 0: <>1__state = -1; <>2__current = seeThroughCustomPass.seeThroughMaterial; <>1__state = 1; return true; case 1: <>1__state = -1; return false; } } bool IEnumerator.MoveNext() { //ILSpy generated this explicit interface implementation from .override directive in MoveNext return this.MoveNext(); } [DebuggerHidden] void IEnumerator.Reset() { throw new NotSupportedException(); } [DebuggerHidden] IEnumerator<Material> IEnumerable<Material>.GetEnumerator() { <RegisterMaterialForInspector>d__11 result; if (<>1__state == -2 && <>l__initialThreadId == Environment.CurrentManagedThreadId) { <>1__state = 0; result = this; } else { result = new <RegisterMaterialForInspector>d__11(0) { <>4__this = <>4__this }; } return result; } [DebuggerHidden] IEnumerator IEnumerable.GetEnumerator() { return ((IEnumerable<Material>)this).GetEnumerator(); } } [SerializeField] public Material seeThroughMaterial = new Material(CodeRebirthUtils.Instance.WireframeMaterial); public LayerMask seeThroughLayer; public float maxVisibilityDistance = 20f; [SerializeField] private readonly Shader stencilShader = CodeRebirthUtils.Instance.SeeThroughShader; private Material? stencilMaterial; private ShaderTagId[] shaderTags = Array.Empty<ShaderTagId>(); public override bool executeInSceneView => true; public void ConfigureMaterial(Color edgeColor, Color fillColor, float thickness) { //IL_000b: Unknown result type (might be due to invalid IL or missing references) //IL_001c: Unknown result type (might be due to invalid IL or missing references) seeThroughMaterial.SetColor("_EdgeColor", edgeColor); seeThroughMaterial.SetColor("_MainColor", fillColor); seeThroughMaterial.SetFloat("_WireframeVal", thickness); } public override void Setup(ScriptableRenderContext renderContext, CommandBuffer cmd) { //IL_001f: Unknown result type (might be due to invalid IL or missing references) //IL_0024: 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_0035: Unknown result type (might be due to invalid IL or missing references) //IL_0041: Unknown result type (might be due to invalid IL or missing references) //IL_0046: Unknown result type (might be due to invalid IL or missing references) //IL_0052: Unknown result type (might be due to invalid IL or missing references) //IL_0057: Unknown result type (might be due to invalid IL or missing references) stencilMaterial = CoreUtils.CreateEngineMaterial(stencilShader); shaderTags = (ShaderTagId[])(object)new ShaderTagId[4] { new ShaderTagId("Forward"), new ShaderTagId("ForwardOnly"), new ShaderTagId("SRPDefaultUnlit"), new ShaderTagId("FirstPass") }; } public override void Execute(CustomPassContext ctx) { //IL_0052: Unknown result type (might be due to invalid IL or missing references) //IL_0053: Unknown result type (might be due to invalid IL or missing references) //IL_0058: Unknown result type (might be due to invalid IL or missing references) //IL_0066: 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_006c: 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_0095: 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) //IL_00b7: Unknown result type (might be due to invalid IL or missing references) //IL_00b8: Unknown result type (might be due to invalid IL or missing references) //IL_00bd: 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) if ((Object)(object)stencilMaterial == (Object)null) { stencilMaterial = CoreUtils.CreateEngineMaterial(stencilShader); } stencilMaterial.SetInt("_StencilWriteMask", 64); seeThroughMaterial.SetFloat("_MaxVisibilityDistance", Mathf.Max(0f, maxVisibilityDistance)); RenderObjects(ctx.renderContext, ctx.cmd, stencilMaterial, 0, (CompareFunction)4, ctx.cullingResults, ctx.hdCamera); StencilState value = default(StencilState); ((StencilState)(ref value))..ctor(true, (byte)64, byte.MaxValue, (CompareFunction)3, (StencilOp)0, (StencilOp)0, (StencilOp)0); RenderObjects(ctx.renderContext, ctx.cmd, seeThroughMaterial, seeThroughMaterial.FindPass("ForwardOnly"), (CompareFunction)7, ctx.cullingResults, ctx.hdCamera, value); } [IteratorStateMachine(typeof(<RegisterMaterialForInspector>d__11))] public override IEnumerable<Material> RegisterMaterialForInspector() { //yield-return decompiler failed: Unexpected instruction in Iterator.Dispose() return new <RegisterMaterialForInspector>d__11(-2) { <>4__this = this }; } private void RenderObjects(ScriptableRenderContext renderContext, CommandBuffer cmd, Material overrideMaterial, int passIndex, CompareFunction depthCompare, CullingResults cullingResult, HDCamera hdCamera, StencilState? overrideStencil = null) { //IL_0008: Unknown result type (might be due to invalid IL or missing references) //IL_0019: Unknown result type (might be due to invalid IL or missing references) //IL_0020: Unknown result type (might be due to invalid IL or missing references) //IL_0025: Unknown result type (might be due to invalid IL or missing references) //IL_002d: 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_006a: Unknown result type (might be due to invalid IL or missing references) //IL_006c: Unknown result type (might be due to invalid IL or missing references) //IL_0076: 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_0082: 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_00c7: 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_0093: Unknown result type (might be due to invalid IL or missing references) //IL_0098: 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_00ac: Unknown result type (might be due to invalid IL or missing references) //IL_00b8: Unknown result type (might be due to invalid IL or missing references) RendererListDesc val = default(RendererListDesc); ((RendererListDesc)(ref val))..ctor(shaderTags, cullingResult, hdCamera.camera); val.rendererConfiguration = (PerObjectData)0; val.renderQueueRange = RenderQueueRange.opaque; val.sortingCriteria = (SortingCriteria)4; val.excludeObjectMotionVectors = false; val.overrideMaterial = overrideMaterial; val.overrideMaterialPassIndex = passIndex; val.layerMask = LayerMask.op_Implicit(seeThroughLayer); RenderStateBlock value = default(RenderStateBlock); ((RenderStateBlock)(ref value))..ctor((RenderStateMask)4); ((RenderStateBlock)(ref value)).depthState = new DepthState(false, depthCompare); val.stateBlock = value; RendererListDesc val2 = val; if (overrideStencil.HasValue) { RenderStateBlock value2 = val2.stateBlock.Value; ((RenderStateBlock)(ref value2)).mask = (RenderStateMask)(((RenderStateBlock)(ref value2)).mask | 8); ((RenderStateBlock)(ref value2)).stencilState = overrideStencil.Value; val2.stateBlock = value2; } CoreUtils.DrawRendererList(renderContext, cmd, ((ScriptableRenderContext)(ref renderContext)).CreateRendererList(val2)); } public override void Cleanup() { } } internal class TIPS : CustomPass { public Mesh? mesh; public float size = 5f; public float rotationSpeed = 5f; public float edgeDetectThreshold = 1f; public int edgeRadius = 2; public Color glowColor = Color.white; public const float kMaxDistance = 1000f; public Material tipsMeshMaterial; public Material fullscreenMaterial; private RTHandle tipsBuffer; private int compositingPass; private int blurPass; private static readonly int _TipsBuffer = Shader.PropertyToID("_TIPSBuffer"); private static readonly int _BypassMeshDepth = Shader.PropertyToID("_BypassMeshDepth"); private static readonly int _EdgeDetectThreshold = Shader.PropertyToID("_EdgeDetectThreshold"); private static readonly int _GlowColor = Shader.PropertyToID("_GlowColor"); private static readonly int _EdgeRadius = Shader.PropertyToID("_EdgeRadius"); private static readonly int _Intensity = Shader.PropertyToID("_Intensity"); public override void Setup(ScriptableRenderContext renderContext, CommandBuffer cmd) { //IL_0011: Unknown result type (might be due to invalid IL or missing references) //IL_0020: 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_0086: Unknown result type (might be due to invalid IL or missing references) //IL_008d: Unknown result type (might be due to invalid IL or missing references) tipsMeshMaterial = Resources.Load<Material>("Shader Graphs_TIPS_Effect"); tipsBuffer = RTHandles.Alloc(Vector2.one, TextureXR.slices, (DepthBits)0, (GraphicsFormat)48, (FilterMode)0, (TextureWrapMode)0, TextureXR.dimension, false, false, true, false, 1, 0f, (MSAASamples)1, false, true, (RenderTextureMemoryless)0, (VRTextureUsage)0, "TIPS Buffer"); if ((Object)(object)fullscreenMaterial != (Object)null) { compositingPass = fullscreenMaterial.FindPass("Compositing"); blurPass = fullscreenMaterial.FindPass("Blur"); } base.targetColorBuffer = (TargetBuffer)1; base.targetDepthBuffer = (TargetBuffer)1; base.clearFlags = (ClearFlag)7; } public override void Execute(CustomPassContext ctx) { //IL_00d1: Unknown result type (might be due to invalid IL or missing references) //IL_00e7: Unknown result type (might be due to invalid IL or missing references) //IL_00f3: Unknown result type (might be due to invalid IL or missing references) //IL_00fd: Unknown result type (might be due to invalid IL or missing references) //IL_0114: Unknown result type (might be due to invalid IL or missing references) //IL_0031: 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_006b: Unknown result type (might be due to invalid IL or missing references) //IL_0070: 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) //IL_0080: 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_00a8: Unknown result type (might be due to invalid IL or missing references) //IL_00b4: Unknown result type (might be due to invalid IL or missing references) //IL_013f: Unknown result type (might be due to invalid IL or missing references) //IL_0154: Unknown result type (might be due to invalid IL or missing references) //IL_0167: Unknown result type (might be due to invalid IL or missing references) //IL_0173: Unknown result type (might be due to invalid IL or missing references) //IL_018e: Unknown result type (might be due to invalid IL or missing references) //IL_0194: Unknown result type (might be due to invalid IL or missing references) //IL_01a3: Unknown result type (might be due to invalid IL or missing references) //IL_01b6: Unknown result type (might be due to invalid IL or missing references) if (!((Object)(object)fullscreenMaterial == (Object)null)) { if ((Object)(object)mesh != (Object)null && (Object)(object)tipsMeshMaterial != (Object)null) { Transform transform = ((Component)ctx.hdCamera.camera).transform; Matrix4x4 val = Matrix4x4.TRS(transform.position, Quaternion.Euler(0f, Time.realtimeSinceStartup * rotationSpeed, Time.realtimeSinceStartup * rotationSpeed * 0.5f), Vector3.one * size); tipsMeshMaterial.SetFloat(_Intensity, 0.2f / size * 1000f); ctx.cmd.DrawMesh(mesh, val, tipsMeshMaterial, 0, tipsMeshMaterial.FindPass("ForwardOnly")); } ctx.propertyBlock.SetFloat(_EdgeDetectThreshold, edgeDetectThreshold); ctx.propertyBlock.SetColor(_GlowColor, glowColor); ctx.propertyBlock.SetFloat(_EdgeRadius, (float)edgeRadius); ctx.propertyBlock.SetFloat(_BypassMeshDepth, ((Object)(object)mesh != (Object)null) ? 0f : size); CoreUtils.SetRenderTarget(ctx.cmd, tipsBuffer, (ClearFlag)1, 0, (CubemapFace)(-1), -1); CommandBuffer cmd = ctx.cmd; Material obj = fullscreenMaterial; int num = compositingPass; CoreUtils.DrawFullScreen(cmd, obj, ctx.propertyBlock, num); ctx.propertyBlock.SetTexture(_TipsBuffer, RTHandle.op_Implicit(tipsBuffer)); CoreUtils.SetRenderTarget(ctx.cmd, ctx.cameraColorBuffer, (ClearFlag)0, 0, (CubemapFace)(-1), -1); CommandBuffer cmd2 = ctx.cmd; Material obj2 = fullscreenMaterial; num = blurPass; CoreUtils.DrawFullScreen(cmd2, obj2, ctx.propertyBlock, num); } } public override void Cleanup() { tipsBuffer.Release(); } } namespace CodeRebirth { public static class MyPluginInfo { public const string PLUGIN_GUID = "CodeRebirth"; public const string PLUGIN_NAME = "CodeRebirth"; public const string PLUGIN_VERSION = "1.6.3"; } [GeneratedCode("DawnLib", "0.2.2")] public static class CodeRebirthEnemyKeys { public static NamespacedKey<DawnEnemyInfo> DebtCollector = NamespacedKey<DawnEnemyInfo>.From("code_rebirth", "debt_collector"); public static NamespacedKey<DawnEnemyInfo> Guardsman = NamespacedKey<DawnEnemyInfo>.From("code_rebirth", "guardsman"); public static NamespacedKey<DawnEnemyInfo> CactusBudling = NamespacedKey<DawnEnemyInfo>.From("code_rebirth", "cactus_budling"); public static NamespacedKey<DawnEnemyInfo> CarnivorousPlant = NamespacedKey<DawnEnemyInfo>.From("code_rebirth", "carnivorous_plant"); public static NamespacedKey<DawnEnemyInfo> DriftwoodMenace = NamespacedKey<DawnEnemyInfo>.From("code_rebirth", "driftwood_menace"); public static NamespacedKey<DawnEnemyInfo> Duck = NamespacedKey<DawnEnemyInfo>.From("code_rebirth", "duck"); public static NamespacedKey<DawnEnemyInfo> Janitor = NamespacedKey<DawnEnemyInfo>.From("code_rebirth", "janitor"); public static NamespacedKey<DawnEnemyInfo> RabbitMagician = NamespacedKey<DawnEnemyInfo>.From("code_rebirth", "rabbit_magician"); public static NamespacedKey<DawnEnemyInfo> LordOfTheManor = NamespacedKey<DawnEnemyInfo>.From("code_rebirth", "lord_of_the_manor"); public static NamespacedKey<DawnEnemyInfo> Mistress = NamespacedKey<DawnEnemyInfo>.From("code_rebirth", "mistress"); public static NamespacedKey<DawnEnemyInfo> CutieFly = NamespacedKey<DawnEnemyInfo>.From("code_rebirth", "cutiefly"); public static NamespacedKey<DawnEnemyInfo> Monarch = NamespacedKey<DawnEnemyInfo>.From("code_rebirth", "monarch"); public static NamespacedKey<DawnEnemyInfo> Nancy = NamespacedKey<DawnEnemyInfo>.From("code_rebirth", "nancy"); public static NamespacedKey<DawnEnemyInfo> PeaceKeeper = NamespacedKey<DawnEnemyInfo>.From("code_rebirth", "peace_keeper"); public static NamespacedKey<DawnEnemyInfo> RedwoodTitan = NamespacedKey<DawnEnemyInfo>.From("code_rebirth", "redwood_titan"); public static NamespacedKey<DawnEnemyInfo> RealEnemySnailCat = NamespacedKey<DawnEnemyInfo>.From("code_rebirth", "real_enemy_snailcat"); public static NamespacedKey<DawnEnemyInfo> Transporter = NamespacedKey<DawnEnemyInfo>.From("code_rebirth", "transporter"); public static NamespacedKey<DawnEnemyInfo> Tornado = NamespacedKey<DawnEnemyInfo>.From("code_rebirth", "tornado"); public static NamespacedKey<DawnEnemyInfo>? GetByReflection(string name) { return (NamespacedKey<DawnEnemyInfo>)(typeof(CodeRebirthEnemyKeys).GetField(name)?.GetValue(null)); } } [GeneratedCode("DawnLib", "0.2.2")] public static class CodeRebirthWeatherKeys { public static NamespacedKey<DawnWeatherEffectInfo> MeteorShower = NamespacedKey<DawnWeatherEffectInfo>.From("code_rebirth", "meteor_shower"); public static NamespacedKey<DawnWeatherEffectInfo> NightShift = NamespacedKey<DawnWeatherEffectInfo>.From("code_rebirth", "night_shift"); public static NamespacedKey<DawnWeatherEffectInfo> Tornado = NamespacedKey<DawnWeatherEffectInfo>.From("code_rebirth", "tornado"); public static NamespacedKey<DawnWeatherEffectInfo>? GetByReflection(string name) { return (NamespacedKey<DawnWeatherEffectInfo>)(typeof(CodeRebirthWeatherKeys).GetField(name)?.GetValue(null)); } } [GeneratedCode("DawnLib", "0.2.2")] public static class CodeRebirthUnlockableItemKeys { public static NamespacedKey<DawnUnlockableItemInfo> ToastyToaster = NamespacedKey<DawnUnlockableItemInfo>.From("code_rebirth", "toasty_toaster"); public static NamespacedKey<DawnUnlockableItemInfo> DenominationAnalyzer = NamespacedKey<DawnUnlockableItemInfo>.From("code_rebirth", "denomination_analyzer"); public static NamespacedKey<DawnUnlockableItemInfo> TrashHoop = NamespacedKey<DawnUnlockableItemInfo>.From("code_rebirth", "trash_hoop"); public static NamespacedKey<DawnUnlockableItemInfo> FancyCoatHanger = NamespacedKey<DawnUnlockableItemInfo>.From("code_rebirth", "fancy_coat_hanger"); public static NamespacedKey<DawnUnlockableItemInfo> TeddyBear = NamespacedKey<DawnUnlockableItemInfo>.From("code_rebirth", "teddy_bear"); public static NamespacedKey<DawnUnlockableItemInfo> CutieflyCase = NamespacedKey<DawnUnlockableItemInfo>.From("code_rebirth", "cutiefly_case"); public static NamespacedKey<DawnUnlockableItemInfo> JimPlaque = NamespacedKey<DawnUnlockableItemInfo>.From("code_rebirth", "jim_plaque"); public static NamespacedKey<DawnUnlockableItemInfo> AIRCONTROL = NamespacedKey<DawnUnlockableItemInfo>.From("code_rebirth", "aircontrol"); public static NamespacedKey<DawnUnlockableItemInfo> BEARTRAP = NamespacedKey<DawnUnlockableItemInfo>.From("code_rebirth", "beartrap"); public static NamespacedKey<DawnUnlockableItemInfo> HERMIT = NamespacedKey<DawnUnlockableItemInfo>.From("code_rebirth", "hermit"); public static NamespacedKey<DawnUnlockableItemInfo> CLEANER = NamespacedKey<DawnUnlockableItemInfo>.From("code_rebirth", "cleaner"); public static NamespacedKey<DawnUnlockableItemInfo> MISSCRUISER = NamespacedKey<DawnUnlockableItemInfo>.From("code_rebirth", "miss_cruiser"); public static NamespacedKey<DawnUnlockableItemInfo> BALD = NamespacedKey<DawnUnlockableItemInfo>.From("code_rebirth", "bald"); public static NamespacedKey<DawnUnlockableItemInfo> PlantPot = NamespacedKey<DawnUnlockableItemInfo>.From("code_rebirth", "plantpot"); public static NamespacedKey<DawnUnlockableItemInfo> LIZZIE = NamespacedKey<DawnUnlockableItemInfo>.From("code_rebirth", "lizzie"); public static NamespacedKey<DawnUnlockableItemInfo> SEAMOne = NamespacedKey<DawnUnlockableItemInfo>.From("code_rebirth", "seamone"); public static NamespacedKey<DawnUnlockableItemInfo> SWRDOne = NamespacedKey<DawnUnlockableItemInfo>.From("code_rebirth", "swrdone"); public static NamespacedKey<DawnUnlockableItemInfo> SHRIMP = NamespacedKey<DawnUnlockableItemInfo>.From("code_rebirth", "shrimp"); public static NamespacedKey<DawnUnlockableItemInfo> DAISY = NamespacedKey<DawnUnlockableItemInfo>.From("code_rebirth", "daisy"); public static NamespacedKey<DawnUnlockableItemInfo> TimmyBass = NamespacedKey<DawnUnlockableItemInfo>.From("code_rebirth", "timmy_bass"); public static NamespacedKey<DawnUnlockableItemInfo>? GetByReflection(string name) { return (NamespacedKey<DawnUnlockableItemInfo>)(typeof(CodeRebirthUnlockableItemKeys).GetField(name)?.GetValue(null)); } } [GeneratedCode("DawnLib", "0.2.2")] public static class CodeRebirthItemKeys { public static NamespacedKey<DawnItemInfo> CharredBaby = NamespacedKey<DawnItemInfo>.From("code_rebirth", "charred_baby"); public static NamespacedKey<DawnItemInfo> CharredFork = NamespacedKey<DawnItemInfo>.From("code_rebirth", "charred_fork"); public static NamespacedKey<DawnItemInfo> SapsuckerOmelette = NamespacedKey<DawnItemInfo>.From("code_rebirth", "sapsucker_omelette"); public static NamespacedKey<DawnItemInfo> CharredSpork = NamespacedKey<DawnItemInfo>.From("code_rebirth", "charred_spork"); public static NamespacedKey<DawnItemInfo> FlattenedBody = NamespacedKey<DawnItemInfo>.From("code_rebirth", "flattened_body"); public static NamespacedKey<DawnItemInfo> SallyCube = NamespacedKey<DawnItemInfo>.From("code_rebirth", "sally_cube"); public static NamespacedKey<DawnItemInfo> BurntFleshArm = NamespacedKey<DawnItemInfo>.From("code_rebirth", "burnt_flesh_arm"); public static NamespacedKey<DawnItemInfo> BurntFleshEye = NamespacedKey<DawnItemInfo>.From("code_rebirth", "burnt_flesh_eye"); public static NamespacedKey<DawnItemInfo> BurntRubble = NamespacedKey<DawnItemInfo>.From("code_rebirth", "burnt_rubble"); public static NamespacedKey<DawnItemInfo> BurntFleshTeeth = NamespacedKey<DawnItemInfo>.From("code_rebirth", "burnt_flesh_teeth"); public static NamespacedKey<DawnItemInfo> BurntFleshTongue = NamespacedKey<DawnItemInfo>.From("code_rebirth", "burnt_flesh_tongue"); public static NamespacedKey<DawnItemInfo> Coin = NamespacedKey<DawnItemInfo>.From("code_rebirth", "coin"); public static NamespacedKey<DawnItemInfo> CrispDollarBill = NamespacedKey<DawnItemInfo>.From("code_rebirth", "crisp_dollar_bill"); public static NamespacedKey<DawnItemInfo> WayfarersWallet = NamespacedKey<DawnItemInfo>.From("code_rebirth", "wayfarers_wallet"); public static NamespacedKey<DawnItemInfo> AlarmClock = NamespacedKey<DawnItemInfo>.From("code_rebirth", "alarm_clock"); public static NamespacedKey<DawnItemInfo> Amber = NamespacedKey<DawnItemInfo>.From("code_rebirth", "amber"); public static NamespacedKey<DawnItemInfo> MusicBox = NamespacedKey<DawnItemInfo>.From("code_rebirth", "music_box"); public static NamespacedKey<DawnItemInfo> BirthdayCard = NamespacedKey<DawnItemInfo>.From("code_rebirth", "birthday_card"); public static NamespacedKey<DawnItemInfo> CreditPadOneZeroZerocc = NamespacedKey<DawnItemInfo>.From("code_rebirth", "credit_pad_onezerozerocc"); public static NamespacedKey<DawnItemInfo> CreditPadFiveZeroZerocc = NamespacedKey<DawnItemInfo>.From("code_rebirth", "credit_pad_fivezerozerocc"); public static NamespacedKey<DawnItemInfo> CreditPadOneZeroZeroZerocc = NamespacedKey<DawnItemInfo>.From("code_rebirth", "credit_pad_onezerozerozerocc"); public static NamespacedKey<DawnItemInfo> RemoteDetonator = NamespacedKey<DawnItemInfo>.From("code_rebirth", "remote_detonator"); public static NamespacedKey<DawnItemInfo> DisposableCamera = NamespacedKey<DawnItemInfo>.From("code_rebirth", "disposable_camera"); public static NamespacedKey<DawnItemInfo> DuckyTube = NamespacedKey<DawnItemInfo>.From("code_rebirth", "ducky_tube"); public static NamespacedKey<DawnItemInfo> EZBakeOven = NamespacedKey<DawnItemInfo>.From("code_rebirth", "ez_bake_oven"); public static NamespacedKey<DawnItemInfo> FogHorn = NamespacedKey<DawnItemInfo>.From("code_rebirth", "foghorn"); public static NamespacedKey<DawnItemInfo> GuardsmanPhone = NamespacedKey<DawnItemInfo>.From("code_rebirth", "guardsman_phone"); public static NamespacedKey<DawnItemInfo> HandDrill = NamespacedKey<DawnItemInfo>.From("code_rebirth", "hand_drill"); public static NamespacedKey<DawnItemInfo> HardHat = NamespacedKey<DawnItemInfo>.From("code_rebirth", "hard_hat"); public static NamespacedKey<DawnItemInfo> InfiniKey = NamespacedKey<DawnItemInfo>.From("code_rebirth", "infinikey"); public static NamespacedKey<DawnItemInfo> LifeformAnalyser = NamespacedKey<DawnItemInfo>.From("code_rebirth", "lifeform_analyser"); public static NamespacedKey<DawnItemInfo> MagicEightBall = NamespacedKey<DawnItemInfo>.From("code_rebirth", "magic_eight_ball"); public static NamespacedKey<DawnItemInfo> Mirror = NamespacedKey<DawnItemInfo>.From("code_rebirth", "mirror"); public static NamespacedKey<DawnItemInfo> MoleDigger = NamespacedKey<DawnItemInfo>.From("code_rebirth", "mole_digger"); public static NamespacedKey<DawnItemInfo> MouseTrap = NamespacedKey<DawnItemInfo>.From("code_rebirth", "mouse_trap"); public static NamespacedKey<DawnItemInfo> NitroglycerinCrate = NamespacedKey<DawnItemInfo>.From("code_rebirth", "nitroglycerin_crate"); public static NamespacedKey<DawnItemInfo> OldBooze = NamespacedKey<DawnItemInfo>.From("code_rebirth", "old_booze"); public static NamespacedKey<DawnItemInfo> OrbitalStrikeCaller = NamespacedKey<DawnItemInfo>.From("code_rebirth", "orbital_strike_caller"); public static NamespacedKey<DawnItemInfo> Oxidizer = NamespacedKey<DawnItemInfo>.From("code_rebirth", "oxidizer"); public static NamespacedKey<DawnItemInfo> PlasticCake = NamespacedKey<DawnItemInfo>.From("code_rebirth", "plastic_cake"); public static NamespacedKey<DawnItemInfo> RailSlugger = NamespacedKey<DawnItemInfo>.From("code_rebirth", "rail_slugger"); public static NamespacedKey<DawnItemInfo> Rocky = NamespacedKey<DawnItemInfo>.From("code_rebirth", "rocky"); public static NamespacedKey<DawnItemInfo> RollingDuck = NamespacedKey<DawnItemInfo>.From("code_rebirth", "rolling_duck"); public static NamespacedKey<DawnItemInfo> Rubberband = NamespacedKey<DawnItemInfo>.From("code_rebirth", "rubber_band"); public static NamespacedKey<DawnItemInfo> RustedPickHead = NamespacedKey<DawnItemInfo>.From("code_rebirth", "rusted_pick_head"); public static NamespacedKey<DawnItemInfo> SawBlade = NamespacedKey<DawnItemInfo>.From("code_rebirth", "saw_blade"); public static NamespacedKey<DawnItemInfo> Scrapapult = NamespacedKey<DawnItemInfo>.From("code_rebirth", "scrapapult"); public static NamespacedKey<DawnItemInfo> ShipUpgradeUnlocker = NamespacedKey<DawnItemInfo>.From("code_rebirth", "ship_upgrade_unlocker"); public static NamespacedKey<DawnItemInfo> Skull = NamespacedKey<DawnItemInfo>.From("code_rebirth", "skull"); public static NamespacedKey<DawnItemInfo> SpudTater = NamespacedKey<DawnItemInfo>.From("code_rebirth", "spud_tater"); public static NamespacedKey<DawnItemInfo> StoptimeWatch = NamespacedKey<DawnItemInfo>.From("code_rebirth", "stoptime_watch"); public static NamespacedKey<DawnItemInfo> TeddyBear = NamespacedKey<DawnItemInfo>.From("code_rebirth", "teddy_bear"); public static NamespacedKey<DawnItemInfo> WalkieYellie = NamespacedKey<DawnItemInfo>.From("code_rebirth", "walkieyellie"); public static NamespacedKey<DawnItemInfo> WalkingCane = NamespacedKey<DawnItemInfo>.From("code_rebirth", "walking_cane"); public static NamespacedKey<DawnItemInfo> WiltedRose = NamespacedKey<DawnItemInfo>.From("code_rebirth", "wilted_rose"); public static NamespacedKey<DawnItemInfo> MelanieDrawing = NamespacedKey<DawnItemInfo>.From("code_rebirth", "melanie_drawing"); public static NamespacedKey<DawnItemInfo> XrayGlasses = NamespacedKey<DawnItemInfo>.From("code_rebirth", "xray_glasses"); public static NamespacedKey<DawnItemInfo> Yoyo = NamespacedKey<DawnItemInfo>.From("code_rebirth", "yoyo"); public static NamespacedKey<DawnItemInfo> BloodyShreddedScraps = NamespacedKey<DawnItemInfo>.From("code_rebirth", "bloody_shredded_scraps"); public static NamespacedKey<DawnItemInfo> JimothyCore = NamespacedKey<DawnItemInfo>.From("code_rebirth", "jimothy_core"); public static NamespacedKey<DawnItemInfo> NormalShreddedScraps = NamespacedKey<DawnItemInfo>.From("code_rebirth", "normal_shredded_scraps"); public static NamespacedKey<DawnItemInfo> DebugStick = NamespacedKey<DawnItemInfo>.From("code_rebirth", "debug_stick"); public static NamespacedKey<DawnItemInfo> StoatGun = NamespacedKey<DawnItemInfo>.From("code_rebirth", "stoat_gun"); public static NamespacedKey<DawnItemInfo> CrispXuBuck = NamespacedKey<DawnItemInfo>.From("code_rebirth", "crisp_xubuck"); public static NamespacedKey<DawnItemInfo> Grape = NamespacedKey<DawnItemInfo>.From("code_rebirth", "grape"); public static NamespacedKey<DawnItemInfo> LemonadePitcher = NamespacedKey<DawnItemInfo>.From("code_rebirth", "lemonade_pitcher"); public static NamespacedKey<DawnItemInfo> PuppeteersNeedle = NamespacedKey<DawnItemInfo>.From("code_rebirth", "puppeteers_needle"); public static NamespacedKey<DawnItemInfo> PuppeteersVoodoo = NamespacedKey<DawnItemInfo>.From("code_rebirth", "puppeteers_voodoo"); public static NamespacedKey<DawnItemInfo> TalkingHead = NamespacedKey<DawnItemInfo>.From("code_rebirth", "talking_head"); public static NamespacedKey<DawnItemInfo> Ceasefire = NamespacedKey<DawnItemInfo>.From("code_rebirth", "ceasefire"); public static NamespacedKey<DawnItemInfo> GiantCallerHorn = NamespacedKey<DawnItemInfo>.From("code_rebirth", "giant_caller_horn"); public static NamespacedKey<DawnItemInfo> FakeSnailCat = NamespacedKey<DawnItemInfo>.From("code_rebirth", "fake_snailcat"); public static NamespacedKey<DawnItemInfo> SnailCat = NamespacedKey<DawnItemInfo>.From("code_rebirth", "snailcat"); public static NamespacedKey<DawnItemInfo> Hoverboard = NamespacedKey<DawnItemInfo>.From("code_rebirth", "hoverboard"); public static NamespacedKey<DawnItemInfo> ByrneJournalOne = NamespacedKey<DawnItemInfo>.From("code_rebirth", "byrne_journal_one"); public static NamespacedKey<DawnItemInfo> ByrneJournalTwo = NamespacedKey<DawnItemInfo>.From("code_rebirth", "byrne_journal_two"); public static NamespacedKey<DawnItemInfo> ByrneJournalThree = NamespacedKey<DawnItemInfo>.From("code_rebirth", "byrne_journal_three"); public static NamespacedKey<DawnItemInfo> ByrneJournalFour = NamespacedKey<DawnItemInfo>.From("code_rebirth", "byrne_journal_four"); public static NamespacedKey<DawnItemInfo> ByrneJournalFive = NamespacedKey<DawnItemInfo>.From("code_rebirth", "byrne_journal_five"); public static NamespacedKey<DawnItemInfo> ByrneJournalSix = NamespacedKey<DawnItemInfo>.From("code_rebirth", "byrne_journal_six"); public static NamespacedKey<DawnItemInfo> DirectorDiaryOne = NamespacedKey<DawnItemInfo>.From("code_rebirth", "director_diary_one"); public static NamespacedKey<DawnItemInfo> DirectorDiaryTwo = NamespacedKey<DawnItemInfo>.From("code_rebirth", "director_diary_two"); public static NamespacedKey<DawnItemInfo> DirectorDiaryThree = NamespacedKey<DawnItemInfo>.From("code_rebirth", "director_diary_three"); public static NamespacedKey<DawnItemInfo> DirectorDiaryFour = NamespacedKey<DawnItemInfo>.From("code_rebirth", "director_diary_four"); public static NamespacedKey<DawnItemInfo> DirectorDiaryFive = NamespacedKey<DawnItemInfo>.From("code_rebirth", "director_diary_five"); public static NamespacedKey<DawnItemInfo> DirectorDiarySix = NamespacedKey<DawnItemInfo>.From("code_rebirth", "director_diary_six"); public static NamespacedKey<DawnItemInfo> DirectorDiarySeven = NamespacedKey<DawnItemInfo>.From("code_rebirth", "director_diary_seven"); public static NamespacedKey<DawnItemInfo> DirectorDiaryEight = NamespacedKey<DawnItemInfo>.From("code_rebirth", "director_diary_eight"); public static NamespacedKey<DawnItemInfo> DirectorDiaryNine = NamespacedKey<DawnItemInfo>.From("code_rebirth", "director_diary_nine"); public static NamespacedKey<DawnItemInfo> DirectorDiaryOneZero = NamespacedKey<DawnItemInfo>.From("code_rebirth", "director_diary_onezero"); public static NamespacedKey<DawnItemInfo> ToDoList = NamespacedKey<DawnItemInfo>.From("code_rebirth", "todo_list"); public static NamespacedKey<DawnItemInfo> CactusBudlingDocument = NamespacedKey<DawnItemInfo>.From("code_rebirth", "cactusbudlingdocument"); public static NamespacedKey<DawnItemInfo> CutieMonarchDocument = NamespacedKey<DawnItemInfo>.From("code_rebirth", "cutiemonarchdocument"); public static NamespacedKey<DawnItemInfo> DriftwoodMenaceDocument = NamespacedKey<DawnItemInfo>.From("code_rebirth", "driftwoodmenacedocument"); public static NamespacedKey<DawnItemInfo> DuckDocument = NamespacedKey<DawnItemInfo>.From("code_rebirth", "duckdocument"); public static NamespacedKey<DawnItemInfo> GuardsmanDocument = NamespacedKey<DawnItemInfo>.From("code_rebirth", "guardsmandocument"); public static NamespacedKey<DawnItemInfo> IntroDocument = NamespacedKey<DawnItemInfo>.From("code_rebirth", "introdocument"); public static NamespacedKey<DawnItemInfo> JanitorDocument = NamespacedKey<DawnItemInfo>.From("code_rebirth", "janitordocument"); public static NamespacedKey<DawnItemInfo> MagicianDocument = NamespacedKey<DawnItemInfo>.From("code_rebirth", "magiciandocument"); public static NamespacedKey<DawnItemInfo> ManorLordDocument = NamespacedKey<DawnItemInfo>.From("code_rebirth", "manorlorddocument"); public static NamespacedKey<DawnItemInfo> MistressDocument = NamespacedKey<DawnItemInfo>.From("code_rebirth", "mistressdocument"); public static NamespacedKey<DawnItemInfo> NancyDocument = NamespacedKey<DawnItemInfo>.From("code_rebirth", "nancydocument"); public static NamespacedKey<DawnItemInfo> PeaceKeeperDocument = NamespacedKey<DawnItemInfo>.From("code_rebirth", "peacekeeperdocument"); public static NamespacedKey<DawnItemInfo> RedwoodDocument = NamespacedKey<DawnItemInfo>.From("code_rebirth", "redwooddocument"); public static NamespacedKey<DawnItemInfo> SnailCatDocument = NamespacedKey<DawnItemInfo>.From("code_rebirth", "snailcatdocument"); public static NamespacedKey<DawnItemInfo> TransporterDocument = NamespacedKey<DawnItemInfo>.From("code_rebirth", "transporterdocument"); public static NamespacedKey<DawnItemInfo> ComfortTape = NamespacedKey<DawnItemInfo>.From("code_rebirth", "comfort_tape"); public static NamespacedKey<DawnItemInfo> OxydeTrainingTape = NamespacedKey<DawnItemInfo>.From("code_rebirth", "oxyde_training_tape"); public static NamespacedKey<DawnItemInfo> HaemoglobinTablet = NamespacedKey<DawnItemInfo>.From("code_rebirth", "haemoglobin_tablet"); public static NamespacedKey<DawnItemInfo> OxydeTablet = NamespacedKey<DawnItemInfo>.From("code_rebirth", "oxyde_tablet"); public static NamespacedKey<DawnItemInfo> Plushie = NamespacedKey<DawnItemInfo>.From("code_rebirth", "plushie"); public static NamespacedKey<DawnItemInfo> ACUnitGalPlushie = NamespacedKey<DawnItemInfo>.From("code_rebirth", "acunit_gal_plushie"); public static NamespacedKey<DawnItemInfo> CactusBudlingPlushie = NamespacedKey<DawnItemInfo>.From("code_rebirth", "cactus_budling_plushie"); public static NamespacedKey<DawnItemInfo> CruiserGalPlushie = NamespacedKey<DawnItemInfo>.From("code_rebirth", "cruiser_gal_plushie"); public static NamespacedKey<DawnItemInfo> DriftwoodMenacePlushie = NamespacedKey<DawnItemInfo>.From("code_rebirth", "driftwood_menace_plushie"); public static NamespacedKey<DawnItemInfo> DuckPlushie = NamespacedKey<DawnItemInfo>.From("code_rebirth", "duck_plushie"); public static NamespacedKey<DawnItemInfo> GuardsmanPlushie = NamespacedKey<DawnItemInfo>.From("code_rebirth", "guardsman_plushie"); public static NamespacedKey<DawnItemInfo> JanitorPlushie = NamespacedKey<DawnItemInfo>.From("code_rebirth", "janitor_plushie"); public static NamespacedKey<DawnItemInfo> ManorLordPlushie = NamespacedKey<DawnItemInfo>.From("code_rebirth", "manorlord_plushie"); public static NamespacedKey<DawnItemInfo> MistressPlushie = NamespacedKey<DawnItemInfo>.From("code_rebirth", "mistress_plushie"); public static NamespacedKey<DawnItemInfo> MonarchPlushie = NamespacedKey<DawnItemInfo>.From("code_rebirth", "monarch_plushie"); public static NamespacedKey<DawnItemInfo> NancyPlushie = NamespacedKey<DawnItemInfo>.From("code_rebirth", "nancy_plushie"); public static NamespacedKey<DawnItemInfo> PeaceKeeperPlushie = NamespacedKey<DawnItemInfo>.From("code_rebirth", "peacekeeper_plushie"); public static NamespacedKey<DawnItemInfo> RabbitMagicianPlushie = NamespacedKey<DawnItemInfo>.From("code_rebirth", "rabbit_magician_plushie"); public static NamespacedKey<DawnItemInfo> RedwoodTitanPlushie = NamespacedKey<DawnItemInfo>.From("code_rebirth", "redwood_titan_plushie"); public static NamespacedKey<DawnItemInfo> SeamineTinkPlushie = NamespacedKey<DawnItemInfo>.From("code_rebirth", "seamine_tink_plushie"); public static NamespacedKey<DawnItemInfo> ShockwaveBotPlushie = NamespacedKey<DawnItemInfo>.From("code_rebirth", "shockwave_bot_plushie"); public static NamespacedKey<DawnItemInfo> SnailCatPlushie = NamespacedKey<DawnItemInfo>.From("code_rebirth", "snail_cat_plushie"); public static NamespacedKey<DawnItemInfo> TerminalBotPlushie = NamespacedKey<DawnItemInfo>.From("code_rebirth", "terminal_bot_plushie"); public static NamespacedKey<DawnItemInfo> TransporterPlushie = NamespacedKey<DawnItemInfo>.From("code_rebirth", "transporter_plushie"); public static NamespacedKey<DawnItemInfo> SnowGlobe = NamespacedKey<DawnItemInfo>.From("code_rebirth", "snow_globe"); public static NamespacedKey<DawnItemInfo> Brrreaker = NamespacedKey<DawnItemInfo>.From("code_rebirth", "brrreaker"); public static NamespacedKey<DawnItemInfo> MarrowSplitter = NamespacedKey<DawnItemInfo>.From("code_rebirth", "marrow_splitter"); public static NamespacedKey<DawnItemInfo> SWATTer = NamespacedKey<DawnItemInfo>.From("code_rebirth", "swatter"); public static NamespacedKey<DawnItemInfo> TomaHop = NamespacedKey<DawnItemInfo>.From("code_rebirth", "toma_hop"); public static NamespacedKey<DawnItemInfo> Turbulence = NamespacedKey<DawnItemInfo>.From("code_rebirth", "turbulence"); public static NamespacedKey<DawnItemInfo> SaltedBeef = NamespacedKey<DawnItemInfo>.From("code_rebirth", "salted_beef"); public static NamespacedKey<DawnItemInfo> KingRigo = NamespacedKey<DawnItemInfo>.From("code_rebirth", "kingrigo"); public static NamespacedKey<DawnItemInfo> MeliciousMel = NamespacedKey<DawnItemInfo>.From("code_rebirth", "melicious_mel"); public static NamespacedKey<DawnItemInfo> Xui = NamespacedKey<DawnItemInfo>.From("code_rebirth", "xui"); public static NamespacedKey<DawnItemInfo> Accordion = NamespacedKey<DawnItemInfo>.From("code_rebirth", "accordion"); public static NamespacedKey<DawnItemInfo> Guitar = NamespacedKey<DawnItemInfo>.From("code_rebirth", "guitar"); public static NamespacedKey<DawnItemInfo> Recorder = NamespacedKey<DawnItemInfo>.From("code_rebirth", "recorder"); public static NamespacedKey<DawnItemInfo> Violin = NamespacedKey<DawnItemInfo>.From("code_rebirth", "violin"); public static NamespacedKey<DawnItemInfo> CruiserGalAssemblyParts = NamespacedKey<DawnItemInfo>.From("code_rebirth", "cruisergal_assembly_parts"); public static NamespacedKey<DawnItemInfo> GoldenTomato = NamespacedKey<DawnItemInfo>.From("code_rebirth", "golden_tomato"); public static NamespacedKey<DawnItemInfo> NormalTomato = NamespacedKey<DawnItemInfo>.From("code_rebirth", "normal_tomato"); public static NamespacedKey<DawnItemInfo> WoodenSeed = NamespacedKey<DawnItemInfo>.From("code_rebirth", "wooden_seed"); public static NamespacedKey<DawnItemInfo> JarofNineNineNine = NamespacedKey<DawnItemInfo>.From("code_rebirth", "jar_of_nineninenine"); public static NamespacedKey<DawnItemInfo> SeamineGalAssemblyParts = NamespacedKey<DawnItemInfo>.From("code_rebirth", "seaminegal_assembly_parts"); public static NamespacedKey<DawnItemInfo> ShockwaveGalAssemblyParts = NamespacedKey<DawnItemInfo>.From("code_rebirth", "shockwavegal_assembly_parts"); public static NamespacedKey<DawnItemInfo> BlueShrimp = NamespacedKey<DawnItemInfo>.From("code_rebirth", "blue_shrimp"); public static NamespacedKey<DawnItemInfo> TerminalGalAssemblyParts = NamespacedKey<DawnItemInfo>.From("code_rebirth", "terminalgal_assembly_parts"); public static NamespacedKey<DawnItemInfo> AmethystCrystal = NamespacedKey<DawnItemInfo>.From("code_rebirth", "amethyst_crystal"); public static NamespacedKey<DawnItemInfo> EmeraldCrystal = NamespacedKey<DawnItemInfo>.From("code_rebirth", "emerald_crystal"); public static NamespacedKey<DawnItemInfo> QuartzCrystal = NamespacedKey<DawnItemInfo>.From("code_rebirth", "quartz_crystal"); public static NamespacedKey<DawnItemInfo> RubyCrystal = NamespacedKey<DawnItemInfo>.From("code_rebirth", "ruby_crystal"); public static NamespacedKey<DawnItemInfo> SapphireCrystal = NamespacedKey<DawnItemInfo>.From("code_rebirth", "sapphire_crystal"); public static NamespacedKey<DawnItemInfo> TopazCrystal = NamespacedKey<DawnItemInfo>.From("code_rebirth", "topaz_crystal"); public static NamespacedKey<DawnItemInfo>? GetByReflection(string name) { return (NamespacedKey<DawnItemInfo>)(typeof(CodeRebirthItemKeys).GetField(name)?.GetValue(null)); } } [GeneratedCode("DawnLib", "0.2.2")] public static class CodeRebirthMapObjectKeys { public static NamespacedKey<DawnMapObjectInfo> MilitaryPlane = NamespacedKey<DawnMapObjectInfo>.From("code_rebirth", "military_plane"); public static NamespacedKey<DawnMapObjectInfo> FlashTurret = NamespacedKey<DawnMapObjectInfo>.From("code_rebirth", "flash_turret"); public static NamespacedKey<DawnMapObjectInfo> FunctionalMicrowave = NamespacedKey<DawnMapObjectInfo>.From("code_rebirth", "functional_microwave"); public static NamespacedKey<DawnMapObjectInfo> LaserTurret = NamespacedKey<DawnMapObjectInfo>.From("code_rebirth", "laser_turret"); public static NamespacedKey<DawnMapObjectInfo> IndustrialFan = NamespacedKey<DawnMapObjectInfo>.From("code_rebirth", "industrial_fan"); public static NamespacedKey<DawnMapObjectInfo> BugZapper = NamespacedKey<DawnMapObjectInfo>.From("code_rebirth", "bug_zapper"); public static NamespacedKey<DawnMapObjectInfo> AirControlUnit = NamespacedKey<DawnMapObjectInfo>.From("code_rebirth", "air_control_unit"); public static NamespacedKey<DawnMapObjectInfo> AutonomousCrane = NamespacedKey<DawnMapObjectInfo>.From("code_rebirth", "autonomous_crane"); public static NamespacedKey<DawnMapObjectInfo> BoomTrap = NamespacedKey<DawnMapObjectInfo>.From("code_rebirth", "boom_trap"); public static NamespacedKey<DawnMapObjectInfo> GrassBearTrap = NamespacedKey<DawnMapObjectInfo>.From("code_rebirth", "grass_bear_trap"); public static NamespacedKey<DawnMapObjectInfo> GravelBearTrap = NamespacedKey<DawnMapObjectInfo>.From("code_rebirth", "gravel_bear_trap"); public static NamespacedKey<DawnMapObjectInfo> SnowBearTrap = NamespacedKey<DawnMapObjectInfo>.From("code_rebirth", "snow_bear_trap"); public static NamespacedKey<DawnMapObjectInfo> Biome = NamespacedKey<DawnMapObjectInfo>.From("code_rebirth", "biome"); public static NamespacedKey<DawnMapObjectInfo> CompactorToby = NamespacedKey<DawnMapObjectInfo>.From("code_rebirth", "compactor_toby"); public static NamespacedKey<DawnMapObjectInfo> OxydeCrashedShip = NamespacedKey<DawnMapObjectInfo>.From("code_rebirth", "oxyde_crashed_ship"); public static NamespacedKey<DawnMapObjectInfo> GunslingerGreg = NamespacedKey<DawnMapObjectInfo>.From("code_rebirth", "gunslinger_greg"); public static NamespacedKey<DawnMapObjectInfo> NormalMetalCrate = NamespacedKey<DawnMapObjectInfo>.From("code_rebirth", "normal_metal_crate"); public static NamespacedKey<DawnMapObjectInfo> MimicMetalCrate = NamespacedKey<DawnMapObjectInfo>.From("code_rebirth", "mimic_metal_crate"); public static NamespacedKey<DawnMapObjectInfo> MimicWoodenCrate = NamespacedKey<DawnMapObjectInfo>.From("code_rebirth", "mimic_wooden_crate"); public static NamespacedKey<DawnMapObjectInfo> NormalWoodenCrate = NamespacedKey<DawnMapObjectInfo>.From("code_rebirth", "normal_wooden_crate"); public static NamespacedKey<DawnMapObjectInfo> Coin = NamespacedKey<DawnMapObjectInfo>.From("code_rebirth", "coin"); public static NamespacedKey<DawnMapObjectInfo> CrispDollarBill = NamespacedKey<DawnMapObjectInfo>.From("code_rebirth", "crisp_dollar_bill"); public static NamespacedKey<DawnMapObjectInfo> Wallet = NamespacedKey<DawnMapObjectInfo>.From("code_rebirth", "wallet"); public static NamespacedKey<DawnMapObjectInfo> CommonVendingMachine = NamespacedKey<DawnMapObjectInfo>.From("code_rebirth", "common_vending_machine"); public static NamespacedKey<DawnMapObjectInfo> LegendaryVendingMachine = NamespacedKey<DawnMapObjectInfo>.From("code_rebirth", "legendary_vending_machine"); public static NamespacedKey<DawnMapObjectInfo> RareVendingMachine = NamespacedKey<DawnMapObjectInfo>.From("code_rebirth", "rare_vending_machine"); public static NamespacedKey<DawnMapObjectInfo> UncommonVendingMachine = NamespacedKey<DawnMapObjectInfo>.From("code_rebirth", "uncommon_vending_machine"); public static NamespacedKey<DawnMapObjectInfo> Merchant = NamespacedKey<DawnMapObjectInfo>.From("code_rebirth", "merchant"); public static NamespacedKey<DawnMapObjectInfo> KamikazeJimothy = NamespacedKey<DawnMapObjectInfo>.From("code_rebirth", "kamikaze_jimothy"); public static NamespacedKey<DawnMapObjectInfo> ShredderSarah = NamespacedKey<DawnMapObjectInfo>.From("code_rebirth", "shredder_sarah"); public static NamespacedKey<DawnMapObjectInfo> EmergingCactusOne = NamespacedKey<DawnMapObjectInfo>.From("code_rebirth", "emerging_cactus_one"); public static NamespacedKey<DawnMapObjectInfo> EmergingCactusTwo = NamespacedKey<DawnMapObjectInfo>.From("code_rebirth", "emerging_cactus_two"); public static NamespacedKey<DawnMapObjectInfo> EmergingCactusThree = NamespacedKey<DawnMapObjectInfo>.From("code_rebirth", "emerging_cactus_three"); public static NamespacedKey<DawnMapObjectInfo> TrashCan = NamespacedKey<DawnMapObjectInfo>.From("code_rebirth", "trash_can"); public static NamespacedKey<DawnMapObjectInfo>? GetByReflection(string name) { return (NamespacedKey<DawnMapObjectInfo>)(typeof(CodeRebirthMapObjectKeys).GetField(name)?.GetValue(null)); } } [GeneratedCode("DawnLib", "0.2.2")] public static class CodeRebirthAchievementKeys { public static NamespacedKey<DuskAchievementDefinition> LunchisServed = NamespacedKey<DuskAchievementDefinition>.From("code_rebirth", "lunch_is_served"); public static NamespacedKey<DuskAchievementDefinition> ShortFuse = NamespacedKey<DuskAchievementDefinition>.From("code_rebirth", "short_fuse"); public static NamespacedKey<DuskAchievementDefinition> Banzai = NamespacedKey<DuskAchievementDefinition>.From("code_rebirth", "banzai"); public static NamespacedKey<DuskAchievementDefinition> GraveyardShift = NamespacedKey<DuskAchievementDefinition>.From("code_rebirth", "graveyard_shift"); public static NamespacedKey<DuskAchievementDefinition> GreatestAsset = NamespacedKey<DuskAchievementDefinition>.From("code_rebirth", "greatest_asset"); public static NamespacedKey<DuskAchievementDefinition> Internship = NamespacedKey<DuskAchievementDefinition>.From("code_rebirth", "internship"); public static NamespacedKey<DuskAchievementDefinition> Crateapult = NamespacedKey<DuskAchievementDefinition>.From("code_rebirth", "crateapult"); public static NamespacedKey<DuskAchievementDefinition> SafeAndSound = NamespacedKey<DuskAchievementDefinition>.From("code_rebirth", "safe_and_sound"); public static NamespacedKey<DuskAchievementDefinition> Capitalism = NamespacedKey<DuskAchievementDefinition>.From("code_rebirth", "capitalism"); public static NamespacedKey<DuskAchievementDefinition> FatWallet = NamespacedKey<DuskAchievementDefinition>.From("code_rebirth", "fat_wallet"); public static NamespacedKey<DuskAchievementDefinition> MaydayMayday = NamespacedKey<DuskAchievementDefinition>.From("code_rebirth", "mayday_mayday"); public static NamespacedKey<DuskAchievementDefinition> OhAPenny = NamespacedKey<DuskAchievementDefinition>.From("code_rebirth", "oh_a_penny"); public static NamespacedKey<DuskAchievementDefinition> OutOfStock = NamespacedKey<DuskAchievementDefinition>.From("code_rebirth", "out_of_stock"); public static NamespacedKey<DuskAchievementDefinition> YouMonster = NamespacedKey<DuskAchievementDefinition>.From("code_rebirth", "you_monster"); public static NamespacedKey<DuskAchievementDefinition> WildWest = NamespacedKey<DuskAchievementDefinition>.From("code_rebirth", "wild_west"); public static NamespacedKey<DuskAchievementDefinition> Bushwacked = NamespacedKey<DuskAchievementDefinition>.From("code_rebirth", "bushwacked"); public static NamespacedKey<DuskAchievementDefinition> TrashTrashTrash = NamespacedKey<DuskAchievementDefinition>.From("code_rebirth", "trash_trash_trash"); public static NamespacedKey<DuskAchievementDefinition> NightofBetrayal = NamespacedKey<DuskAchievementDefinition>.From("code_rebirth", "night_of_betrayal"); public static NamespacedKey<DuskAchievementDefinition> Igotaheadache = NamespacedKey<DuskAchievementDefinition>.From("code_rebirth", "i_got_a_headache"); public static NamespacedKey<DuskAchievementDefinition> PestControl = NamespacedKey<DuskAchievementDefinition>.From("code_rebirth", "pest_control"); public static NamespacedKey<DuskAchievementDefinition> PeaceKept = NamespacedKey<DuskAchievementDefinition>.From("code_rebirth", "peace_kept"); public static NamespacedKey<DuskAchievementDefinition> Timber = NamespacedKey<DuskAchievementDefinition>.From("code_rebirth", "timber"); public static NamespacedKey<DuskAchievementDefinition> CodeRebirthPlatinum = NamespacedKey<DuskAchievementDefinition>.From("code_rebirth", "code_rebirth_platinum"); public static NamespacedKey<DuskAchievementDefinition> MuMiaolan = NamespacedKey<DuskAchievementDefinition>.From("code_rebirth", "mu_miaolan"); public static NamespacedKey<DuskAchievementDefinition> CompanyCertified = NamespacedKey<DuskAchievementDefinition>.From("code_rebirth", "company_certified"); public static NamespacedKey<DuskAchievementDefinition> HappyFamily = NamespacedKey<DuskAchievementDefinition>.From("code_rebirth", "happy_family"); public static NamespacedKey<DuskAchievementDefinition> HoardingBug = NamespacedKey<DuskAchievementDefinition>.From("code_rebirth", "hoarding_bug"); public static NamespacedKey<DuskAchievementDefinition> Scalper = NamespacedKey<DuskAchievementDefinition>.From("code_rebirth", "scalper"); public static NamespacedKey<DuskAchievementDefinition> SomeAssemblyRequired = NamespacedKey<DuskAchievementDefinition>.From("code_rebirth", "some_assembly_required"); public static NamespacedKey<DuskAchievementDefinition> TheUprooted = NamespacedKey<DuskAchievementDefinition>.From("code_rebirth", "the_uprooted"); public static NamespacedKey<DuskAchievementDefinition>? GetByReflection(string name) { return (NamespacedKey<DuskAchievementDefinition>)(typeof(CodeRebirthAchievementKeys).GetField(name)?.GetValue(null)); } } [GeneratedCode("DawnLib", "0.2.2")] public static class CodeRebirthMoonKeys { public static NamespacedKey<DawnMoonInfo> Haemoglobin = NamespacedKey<DawnMoonInfo>.From("code_rebirth", "haemoglobin"); public static NamespacedKey<DawnMoonInfo> Oxyde = NamespacedKey<DawnMoonInfo>.From("code_rebirth", "oxyde"); public static NamespacedKey<DawnMoonInfo>? GetByReflection(string name) { return (NamespacedKey<DawnMoonInfo>)(typeof(CodeRebirthMoonKeys).GetField(name)?.GetValue(null)); } } } namespace CodeRebirth.src { public class CodeRebirthConfig { public ConfigEntry<bool> ConfigOxydeEnabledFromStart { get; private set; } public ConfigEntry<bool> ConfigDisableTrashCans { get; private set; } public ConfigEntry<bool> ConfigRemoveInteriorFog { get; private set; } public ConfigEntry<bool> ConfigDontTargetFarEnemies { get; private set; } public ConfigEntry<bool> ConfigHazardsDeleteBodies { get; private set; } public ConfigEntry<bool> ConfigOnlyOwnerDisablesGal { get; private set; } public ConfigEntry<bool> ConfigFloraEnabled { get; set; } public ConfigEntry<bool> ConfigRedwoodHeartEnabled { get; private set; } public ConfigEntry<bool> ConfigSnowGlobeMusic { get; private set; } public ConfigEntry<float> ConfigRedwoodNormalVolume { get; private set; } public ConfigEntry<float> ConfigRedwoodInShipVolume { get; private set; } public ConfigEntry<float> ConfigRedwoodSpeed { get; private set; } public ConfigEntry<float> ConfigRedwoodShipPadding { get; private set; } public ConfigEntry<float> ConfigRedwoodEyesight { get; private set; } public ConfigEntry<bool> ConfigRedwoodCanEatOldBirds { get; private set; } public ConfigEntry<float> ConfigMeteorShowerTimeToLeave { get; private set; } public ConfigEntry<float> ConfigTornadoInsideBeforeThrow { get; private set; } public ConfigEntry<float> ConfigTornadoPullStrength { get; private set; } public ConfigEntry<float> ConfigTornadoSpeed { get; private set; } public ConfigEntry<float> ConfigMeteorSpeed { get; private set; } public ConfigEntry<int> ConfigMinMeteorSpawnCount { get; private set; } public ConfigEntry<int> ConfigMaxMeteorSpawnCount { get; private set; } public ConfigEntry<float> ConfigTornadoInShipVolume { get; private set; } public ConfigEntry<float> ConfigTornadoDefaultVolume { get; private set; } public ConfigEntry<float> ConfigMeteorShowerMeteoriteSpawnChance { get; private set; } public ConfigEntry<float> ConfigMeteorShowerInShipVolume { get; private set; } public ConfigEntry<bool> ConfigMeteorHitShip { get; private set; } public ConfigEntry<float> ConfigMeteorsDefaultVolume { get; private set; } public ConfigEntry<float> ConfigTerminalScanFrequency { get; private set; } public ConfigEntry<float> ConfigTerminalScanRange { get; private set; } public ConfigEntry<float> ConfigSeamineScanFrequency { get; private set; } public ConfigEntry<float> ConfigSeamineScanRange { get; private set; } public ConfigEntry<bool> ConfigBearTrapsPopTires { get; private set; } public ConfigEntry<bool> ConfigOnlyOwnerSeesScanEffects { get; private set; } public ConfigEntry<int> ConfigSeamineTinkCharges { get; private set; } public ConfigEntry<bool> ConfigOnlyOwnerSeesScanEffectsTerminalGal { get; private set; } public ConfigEntry<float> ConfigTerminalBotFlyingVolume { get; private set; } public ConfigEntry<bool> ConfigCruiserGalAutomatic { get; private set; } public ConfigEntry<bool> ConfigTerminalBotAutomatic { get; private set; } public ConfigEntry<int> ConfigWoodenSeedTreeSpawnChance { get; private set; } public ConfigEntry<bool> ConfigShockwaveBotAutomatic { get; private set; } public ConfigEntry<float> ConfigShockwaveBotPropellerVolume { get; private set; } public ConfigEntry<bool> ConfigShockwaveHoldsFourItems { get; private set; } public ConfigEntry<int> ConfigShockwaveCharges { get; private set; } public ConfigEntry<bool> ConfigAllowPowerLevelChangesFromWeather { get; private set; } public ConfigEntry<bool> ConfigExtendedLogging { get; set; } public ConfigEntry<string> ConfigFloraGrassCurveSpawnWeight { get; set; } public ConfigEntry<string> ConfigFloraDesertCurveSpawnWeight { get; set; } public ConfigEntry<string> ConfigFloraSnowCurveSpawnWeight { get; set; } public ConfigEntry<float> ConfigSeamineTinkRidingBruceVolume { get; private set; } public ConfigEntry<bool> ConfigSeamineTinkAutomatic { get; private set; } public ConfigEntry<float> ConfigMicrowaveVolume { get; private set; } public ConfigEntry<float> ConfigBearTrapVolume { get; private set; } public ConfigEntry<float> ConfigLaserTurretVolume { get; private set; } public ConfigEntry<float> ConfigFlashTurretVolume { get; private set; } public ConfigEntry<float> ConfigBugZapperVolume { get; private set; } public ConfigEntry<float> ConfigACUVolume { get; private set; } public ConfigEntry<float> Config999GalHealCooldown { get; private set; } public ConfigEntry<int> Config999GalHealAmount { get; private set; } public ConfigEntry<float> Config999GalHealSpeed { get; private set; } public ConfigEntry<bool> Config999GalHealOnlyInteractedPlayer { get; private set; } public ConfigEntry<bool> Config999GalReviveNearbyDeadPlayers { get; private set; } public ConfigEntry<int> Config999GalHealTotalAmount { get; private set; } public ConfigEntry<int> Config999GalReviveCharges { get; private set; } public ConfigEntry<bool> Config999GalCompanyMoonRecharge { get; private set; } public ConfigEntry<float> Config999GalFailureChance { get; private set; } public ConfigEntry<bool> Config999GalScaleHealAndReviveWithPlayerCount { get; private set; } public ConfigEntry<float> ConfigAirControlUnitKnockbackPower { get; private set; } public ConfigEntry<int> ConfigAirControlUnitDamage { get; private set; } public ConfigEntry<bool> ConfigCleanUnusedConfigs { get; private set; } public ConfigEntry<bool> ConfigDebugMode { get; private set; } public void InitMainCodeRebirthConfig(ConfigFile configFile) { ConfigExtendedLogging = configFile.Bind<bool>("Debug Options", "Debug Mode | Extended Logging", false, "Whether ExtendedLogging is enabled."); ConfigDebugMode = configFile.Bind<bool>("Debug Options", "Debug Mode | Hazard Spawning Enabled", false, "Whether debug mode is enabled (for hazard spawning stuff)."); ConfigRemoveInteriorFog = configFile.Bind<bool>("Debug Options", "Debug Mode | Remove Interior Fog", false, "Whether zeekerss' horrible interior fog is removed."); ConfigAllowPowerLevelChangesFromWeather = configFile.Bind<bool>("General", "Allow Power Level Changes From Weather", true, "Whether power level changes from CodeRebirth weathers are allowed."); ConfigOnlyOwnerDisablesGal = configFile.Bind<bool>("General", "Gal AI | Owner Power", false, "Whether only the current owner of the gal can disable her."); ConfigDontTargetFarEnemies = configFile.Bind<bool>("General", "Gal AI | Dont Stray Too Far", false, "Whether the Gal AI should stop targetting enemies when she is far from her owner's position."); ConfigHazardsDeleteBodies = configFile.Bind<bool>("General", "Hazards | Delete Bodies", true, "Whether hazards like IndustrialFan and LaserTurret should delete player bodies."); ConfigCleanUnusedConfigs = configFile.Bind<bool>("General", "Clean Unusued Configs", true, "Whether CodeRebirth should delete old confing information that are unused."); ConfigFloraGrassCurveSpawnWeight = configFile.Bind<string>("Flora Options", "Flora | Grass CurveSpawnWeight", "Vanilla - 0.00,30.00 ; 1.00,60.00 | Custom - 0.00,30.00 ; 1.00,60.00 | Oxyde - 0.00,0.00 ; 1.00,0.00", "MoonName - CurveSpawnWeight for Grass flora (moon tags also work)."); ConfigFloraDesertCurveSpawnWeight = configFile.Bind<string>("Flora Options", "Flora | Desert CurveSpawnWeight", "Vanilla - 0.00,30.00 ; 1.00,60.00 | Custom - 0.00,30.00 ; 1.00,60.00 | Oxyde - 0.00,0.00 ; 1.00,0.00", "MoonName - CurveSpawnWeight for Desert flora (moon tags also work)."); ConfigFloraSnowCurveSpawnWeight = configFile.Bind<string>("Flora Options", "Flora | Snow CurveSpawnWeight", "Vanilla - 0.00,30.00 ; 1.00,60.00 | Custom - 0.00,30.00 ; 1.00,60.00 | Oxyde - 0.00,0.00 ; 1.00,0.00", "MoonName - CurveSpawnWeight for Snowy flora (moon tags also work)."); } public void InitCodeRebirthConfig(ConfigFile configFile) { //IL_01b4: Unknown result type (might be due to invalid IL or missing references) //IL_01be: Expected O, but got Unknown //IL_0225: Unknown result type (might be due to invalid IL or missing references) //IL_022f: Expected O, but got Unknown //IL_0497: Unknown result type (might be due to invalid IL or missing references) //IL_04a1: Expected O, but got Unknown //IL_04d0: Unknown result type (might be due to invalid IL or missing references) //IL_04da: Expected O, but got Unknown //IL_0509: Unknown result type (might be due to invalid IL or missing references) //IL_0513: Expected O, but got Unknown //IL_0542: Unknown result type (might be due to invalid IL or missing references) //IL_054c: Expected O, but got Unknown //IL_057b: Unknown result type (might be due to invalid IL or missing references) //IL_0585: Expected O, but got Unknown //IL_05d0: Unknown result type (might be due to invalid IL or missing references) //IL_05da: Expected O, but got Unknown //IL_0609: Unknown result type (might be due to invalid IL or missing references) //IL_0613: Expected O, but got Unknown //IL_0642: Unknown result type (might be due to invalid IL or missing references) //IL_064c: Expected O, but got Unknown //IL_067b: Unknown result type (might be due to invalid IL or missing references) //IL_0685: Expected O, but got Unknown //IL_06d0: Unknown result type (might be due to invalid IL or missing references) //IL_06da: Expected O, but got Unknown //IL_0701: Unknown result type (might be due to invalid IL or missing references) //IL_070b: Expected O, but got Unknown //IL_0732: Unknown result type (might be due to invalid IL or missing references) //IL_073c: Expected O, but got Unknown //IL_076b: Unknown result type (might be due to invalid IL or missing references) //IL_0775: Expected O, but got Unknown //IL_07a4: Unknown result type (might be due to invalid IL or missing references) //IL_07ae: Expected O, but got Unknown //IL_07f9: Unknown result type (might be due to invalid IL or missing references) //IL_0803: Expected O, but got Unknown //IL_0832: Unknown result type (might be due to invalid IL or missing references) //IL_083c: Expected O, but got Unknown //IL_086b: Unknown result type (might be due to invalid IL or missing references) //IL_0875: Expected O, but got Unknown ConfigDisableTrashCans = configFile.Bind<bool>("Janitor Options", "Janitor | Disable Trash Cans", false, "Whether trash cans are disabled (this is only visually, trash cans still exist)."); ConfigMicrowaveVolume = configFile.Bind<float>("FunctionalMicrowave Options", "Functional Microwave | Volume", 1f, "The volume of the Functional Microwave."); ConfigBearTrapsPopTires = configFile.Bind<bool>("BearTrap Options", "Bear Trap | Pop Tires", true, "Whether the bear trap can pop tires."); ConfigBearTrapVolume = configFile.Bind<float>("BearTrap Options", "Bear Trap | Volume", 1f, "The volume of the Bear Trap."); ConfigLaserTurretVolume = configFile.Bind<float>("LaserTurret Options", "Laser Turret | Volume", 1f, "The volume of the Laser Turret."); ConfigFlashTurretVolume = configFile.Bind<float>("FlashTurret Options", "Flash Turret | Volume", 1f, "The volume of the Flash Turret."); ConfigBugZapperVolume = configFile.Bind<float>("BugZapper Options", "Bug Zapper | Volume", 1f, "The volume of the Bug Zapper."); ConfigAirControlUnitDamage = configFile.Bind<int>("AirControlUnit Options", "Air Control Unit | Damage", 15, "Damage that the ACUnit deals to a player on hit"); ConfigAirControlUnitKnockbackPower = configFile.Bind<float>("AirControlUnit Options", "Air Control Unit | Knockback Power", 250f, "The knockback power of the ACUnit."); ConfigACUVolume = configFile.Bind<float>("AirControlUnit Options", "Air Control Unit | Volume", 1f, "The volume of the Air Control Unit."); ConfigCruiserGalAutomatic = configFile.Bind<bool>("Cruiser Gal Options", "Cruiser Gal | Automatic Behaviour", false, "Whether the Cruiser Gal will automatically wake up and choose the nearest player as the owner."); ConfigShockwaveCharges = configFile.Bind<int>("Shockwave Bot Options", "Shockwave Gal | Charges", 10, "How many charges the Shockwave Gal has."); ConfigShockwaveHoldsFourItems = configFile.Bind<bool>("Shockwave Bot Options", "Shockwave Gal | Holds Four Items", false, "Whether the Shockwave Gal holds four items regardless of singleplayer or multiplayer."); ConfigShockwaveBotPropellerVolume = configFile.Bind<float>("Shockwave Bot Options", "Shockwave Gal | Propeller Volume", 0.75f, new ConfigDescription("Volume of the Shockwave Gal's propeller.", (AcceptableValueBase)(object)new AcceptableValueRange<float>(0f, 1f), Array.Empty<object>())); ConfigShockwaveBotAutomatic = configFile.Bind<bool>("Shockwave Bot Options", "Shockwave Gal | Automatic Behaviour", false, "Whether the Shockwave Gal will automatically wake up and choose the nearest player as the owner."); ConfigSeamineTinkCharges = configFile.Bind<int>("Seamine Tink Options", "Seamine Gal | Charges", 3, "How many charges the Seamine Gal has."); ConfigSeamineTinkRidingBruceVolume = configFile.Bind<float>("Seamine Tink Options", "Seamine Gal | Riding Bruce Volume", 0.75f, new ConfigDescription("Volume of the Seamine Gal's Riding Bruce.", (AcceptableValueBase)(object)new AcceptableValueRange<float>(0f, 1f), Array.Empty<object>())); ConfigSeamineTinkAutomatic = configFile.Bind<bool>("Seamine Tink Options", "Seamine Gal | Automatic Behaviour", false, "Whether the Seamine Gal will automatically wake up and choose the nearest player as the owner."); ConfigOnlyOwnerSeesScanEffects = configFile.Bind<bool>("Seamine Tink Options", "Seamine Gal | Only Owner Sees Scan Effects", false, "Whether only the owner of the Seamine Gal can see the scan effects."); ConfigSeamineScanRange = configFile.Bind<float>("Seamine Tink Options", "Seamine Gal | Scan Range", 50f, "Range of the Seamine Gal's scan."); ConfigSeamineScanFrequency = configFile.Bind<float>("Seamine Tink Options", "Seamine Gal | Scan Frequency", 17.5f, "The average Frequency time of the Seamine Gal's scan in seconds."); ConfigTerminalBotAutomatic = configFile.Bind<bool>("Terminal Bot Options", "Terminal Gal | Automatic Behaviour", false, "Whether the Terminal Gal will automatically wake up and choose the nearest player as the owner."); ConfigOnlyOwnerSeesScanEffectsTerminalGal = configFile.Bind<bool>("Terminal Bot Options", "Terminal Gal | Only Owner Sees Scan Effects", false, "Whether only the owner of the Terminal Gal can see the scan effects."); ConfigTerminalScanRange = configFile.Bind<float>("Terminal Bot Options", "Terminal Gal | Scan Range", 50f, "Range of the Terminal Gal's scan."); ConfigTerminalScanFrequency = configFile.Bind<float>("Terminal Bot Options", "Terminal Gal | Scan Frequency", 17.5f, "The average Frequency time of the Terminal Gal's scan in seconds."); ConfigTerminalBotFlyingVolume = configFile.Bind<float>("Terminal Bot Options", "Terminal Gal | Flying Volume", 0.75f, "Volume of the Terminal Gal's Flying animation."); Config999GalHealCooldown = configFile.Bind<float>("SCP 999 Gal Options", "SCP 999 Gal | Heal Cooldown", 10f, "Cooldown between heals by interacting on the gal."); Config999GalHealAmount = configFile.Bind<int>("SCP 999 Gal Options", "SCP 999 Gal | Heal Amount", 100, "Amount healed by interacting on the gal."); Config999GalHealSpeed = configFile.Bind<float>("SCP 999 Gal Options", "SCP 999 Gal | Heal Speed", 10f, "Speed of healing by interacting on the gal (amount of time in seconds it for the gal to finish healing)."); Config999GalHealTotalAmount = configFile.Bind<int>("SCP 999 Gal Options", "SCP 999 Gal | Healing Capacity", 200, "How much healing the SCP 999 Gal has per orbit."); Config999GalReviveCharges = configFile.Bind<int>("SCP 999 Gal Options", "SCP 999 Gal | Revive Charges", 2, "How many revive charges the SCP 999 Gal has per orbit."); Config999GalCompanyMoonRecharge = configFile.Bind<bool>("SCP 999 Gal Options", "SCP 999 Gal | Company Moon Recharge", true, "Whether the SCP 999 Gal recharges once per visiting company moon on last day."); Config999GalFailureChance = configFile.Bind<float>("SCP 999 Gal Options", "SCP 999 Gal | Failure Chance", 15f, "Failure chance of the SCP 999 Gal."); Config999GalHealOnlyInteractedPlayer = configFile.Bind<bool>("SCP 999 Gal Options", "SCP 999 Gal | Heal Only Interacted Player", false, "Whether the gal can heal only the player that interacts with her."); Config999GalReviveNearbyDeadPlayers = configFile.Bind<bool>("SCP 999 Gal Options", "SCP 999 Gal | Revive Nearby Dead Players", true, "Whether the gal can revive nearby dead bodies."); Config999GalScaleHealAndReviveWithPlayerCount = configFile.Bind<bool>("SCP 999 Gal Options", "SCP 999 Gal | Scale Heal and Revive with Player Count", true, "Whether the gal scales the heals and revives with player count."); ConfigTornadoSpeed = configFile.Bind<float>("Tornado Options", "Tornados | Speed", 7f, new ConfigDescription("Speed of tornados.", (AcceptableValueBase)(object)new AcceptableValueRange<float>(0f, 100f), Array.Empty<object>())); ConfigTornadoPullStrength = configFile.Bind<float>("Tornado Options", "Tornados | Pull Strength", 20f, new ConfigDescription("Pull strength of tornados.", (AcceptableValueBase)(object)new AcceptableValueRange<float>(0f, 100f), Array.Empty<object>())); ConfigTornadoInsideBeforeThrow = configFile.Bind<float>("Tornado Options", "Tornados | Inside Before Throw", 10f, new ConfigDescription("Timer of being inside tornado before you get flung the hell out (50 if you never wanna be thrown).", (AcceptableValueBase)(object)new AcceptableValueRange<float>(1f, 50f), Array.Empty<object>())); ConfigTornadoDefaultVolume = configFile.Bind<float>("Tornado Options", "Tornados | Default Volume", 1f, new ConfigDescription("Default volume of tornados.", (AcceptableValueBase)(object)new AcceptableValueRange<float>(0f, 1f), Array.Empty<object>())); ConfigTornadoInShipVolume = configFile.Bind<float>("Tornado Options", "Tornados | Volume in Ship", 1f, new ConfigDescription("Volume of tornados in the ship.", (AcceptableValueBase)(object)new AcceptableValueRange<float>(0f, 1f), Array.Empty<object>())); ConfigRedwoodCanEatOldBirds = configFile.Bind<bool>("Redwood Options", "Redwood | Can Eat Old Birds", true, "Whether redwood can eat old birds."); ConfigRedwoodShipPadding = configFile.Bind<float>("Redwood Options", "Redwood | Ship Padding", 10f, new ConfigDescription("How far away the redwood usually stays from the ship.", (AcceptableValueBase)(object)new AcceptableValueRange<float>(0f, 999f), Array.Empty<object>())); ConfigRedwoodSpeed = configFile.Bind<float>("Redwood Options", "Redwood | Speed", 5f, new ConfigDescription("Redwood speed.", (AcceptableValueBase)(object)new AcceptableValueRange<float>(0f, 999f), Array.Empty<object>())); ConfigRedwoodEyesight = configFile.Bind<float>("Redwood Options", "Redwood | Eyesight", 40f, new ConfigDescription("Redwood eyesight.", (AcceptableValueBase)(object)new AcceptableValueRange<float>(0f, 999f), Array.Empty<object>())); ConfigRedwoodNormalVolume = configFile.Bind<float>("Redwood Options", "Redwood | Normal Volume", 1f, new ConfigDescription("Redwood Normal volume.", (AcceptableValueBase)(object)new AcceptableValueRange<float>(0f, 1f), Array.Empty<object>())); ConfigRedwoodHeartEnabled = configFile.Bind<bool>("Redwood Options", "Redwood | Heart Enabled", true, "Whether redwood heart is enabled."); ConfigRedwoodInShipVolume = configFile.Bind<float>("Redwood Options", "Redwood | In Ship Volume", 0.75f, new ConfigDescription("Redwood in ship volume.", (AcceptableValueBase)(object)new AcceptableValueRange<float>(0f, 1f), Array.Empty<object>())); ConfigMaxMeteorSpawnCount = configFile.Bind<int>("MeteorShower Options", "Meteors | Max Spawn Count", 3, new ConfigDescription("Maximum number of meteors to spawn at once every spawn cycle.", (AcceptableValueBase)(object)new AcceptableValueRange<int>(0, 999), Array.Empty<object>())); ConfigMinMeteorSpawnCount = configFile.Bind<int>("MeteorShower Options", "Meteors | Min Spawn Count", 1, new ConfigDescription("Minimum number of meteors to spawn at once every spawn cycle.", (AcceptableValueBase)(object)new AcceptableValueRange<int>(0, 999), Array.Empty<object>())); ConfigMeteorSpeed = configFile.Bind<float>("MeteorShower Options", "Meteors | Speed", 50f, new ConfigDescription("Speed of meteors.", (AcceptableValueBase)(object)new AcceptableValueRange<float>(0f, 1000f), Array.Empty<object>())); ConfigMeteorShowerTimeToLeave = configFile.Bind<float>("MeteorShower Options", "MeteorShower | Time To Leave", 0.85f, new ConfigDescription("Normalised time it takes for the meteor shower to leave the moon, 1 being at 12PM~.", (AcceptableValueBase)(object)new AcceptableValueRange<float>(0f, 1f), Array.Empty<object>())); ConfigMeteorHitShip = configFile.Bind<bool>("MeteorShower Options", "MeteorShower | Meteor Strikes Ship", false, "Allows striking the ship with a meteor."); ConfigMeteorShowerMeteoriteSpawnChance = configFile.Bind<float>("MeteorShower Options", "MeteorShower | Meteorite Spawn Chance", 2.5f, new ConfigDescription("Chance of spawning a meteorite when a meteor is spawned (0 to 100 decimals included).", (AcceptableValueBase)(object)new AcceptableValueRange<float>(0f, 100f), Array.Empty<object>())); ConfigMeteorsDefaultVolume = configFile.Bind<float>("MeteorShower Options", "Meteors | Default Volume", 0.4f, new ConfigDescription("Default Volume of Meteors (between 0 and 1).", (AcceptableValueBase)(object)new AcceptableValueRange<float>(0f, 1f), Array.Empty<object>())); ConfigMeteorShowerInShipVolume = configFile.Bind<float>("MeteorShower Options", "MeteorShower | Meteor Volume", 0.3f, new ConfigDescription("Multiplier of the meteors volume for when the player is in the ship and the ship door is closed.", (AcceptableValueBase)(object)new AcceptableValueRange<float>(0f, 1f), Array.Empty<object>())); ConfigSnowGlobeMusic = configFile.Bind<bool>("SnowGlobe Options", "Snow Globe | Music", true, "Enables/Disables the music in the snow globe."); } } public class IngameKeybinds : LcInputActions { [InputAction("<Keyboard>/r", Name = "PullChain")] public InputAction PullChain { get; set; } [InputAction("<Keyboard>/r", Name = "JumpBoost")] public InputAction JumpBoost { get; set; } [InputAction("<Keyboard>/r", Name = "PumpSlugger")] public InputAction PumpSlugger { get; set; } [InputAction("<Keyboard>/r", Name = "ExhaustFuel")] public InputAction ExhaustFuel { get; set; } [InputAction("<Keyboard>/w", Name = "HoverForward")] public InputAction HoverForward { get; set; } [InputAction("<Keyboard>/shift", Name = "SprintForward")] public InputAction SprintForward { get; set; } [InputAction("<Keyboard>/a", Name = "HoverLeft")] public InputAction HoverLeft { get; set; } [InputAction("<Keyboard>/s", Name = "HoverBackward")] public InputAction HoverBackward { get; set; } [InputAction("<Keyboard>/d", Name = "HoverRight")] public InputAction HoverRight { get; set; } [InputAction("<Keyboard>/space", Name = "HoverUp")] public InputAction HoverUp { get; set; } [InputAction("<Keyboard>/c", Name = "DropHoverboard")] public InputAction DropHoverboard { get; set; } [InputAction("<Keyboard>/f", Name = "SwitchMode")] public InputAction SwitchMode { get; set; } [InputAction(/*Could not decode attribute arguments.*/)] public InputAction MouseDelta { get; set; } [InputAction(/*Could not decode attribute arguments.*/)] public InputAction MarrowHealPlayer { get; set; } } [BepInPlugin("CodeRebirth", "CodeRebirth", "1.6.3")] [BepInDependency(/*Could not decode attribute arguments.*/)] [BepInDependency(/*Could not decode attribute arguments.*/)] [BepInDependency(/*Could not decode attribute arguments.*/)] [BepInDependency(/*Could not decode attribute arguments.*/)] public class Plugin : BaseUnityPlugin { internal class MainAssets : AssetBundleLoader<MainAssets> { [LoadFromBundle("CodeRebirthUtils.prefab")] public GameObject UtilsPrefab { get; private set; } [LoadFromBundle("EmptyNetworkObject.prefab")] public GameObject EmptyNetworkObject { get; private set; } public MainAssets(AssetBundle bundle) : base(bundle) { } } internal static ManualLogSource Logger = null; internal static readonly Harmony _harmony = new Harmony("CodeRebirth"); internal static IngameKeybinds InputActionsInstance = null; internal const ulong GLITCH_STEAM_ID = 9uL; internal const int BURN_HIT_ID = 745737; public static ConfigFile configFile { get; private set; } = null; public static CodeRebirthConfig ModConfig { get; private set; } = null; public static DuskMod Mod { get; private set; } = null; public static PersistentDataContainer PersistentDataContainer { get; private set; } = null; internal static MainAssets Assets { get; private set; } = null; private void Awake() { Logger = ((BaseUnityPlugin)this).Logger; PersistentDataContainer = BepInPluginExtensions.GetPersistentDataContainer((BaseUnityPlugin)(object)this); ((DataContainer)PersistentDataContainer).Set<string>(NamespacedKey.From("code_rebirth", "last_version"), "1.6.3"); configFile = ((BaseUnityPlugin)this).Config; ModConfig = new CodeRebirthConfig { ConfigExtendedLogging = configFile.Bind<bool>("Debug Options", "Debug Mode | Extended Logging", false, "Whether ExtendedLogging is enabled.") }; _harmony.PatchAll(typeof(PlayerControllerBPatch)); _harmony.PatchAll(typeof(EnemyAIPatch)); _harmony.PatchAll(typeof(ShovelPatch)); _harmony.PatchAll(typeof(DoorLockPatch)); _harmony.PatchAll(typeof(KeyItemPatch)); _harmony.PatchAll(typeof(RoundManagerPatch)); _harmony.PatchAll(typeof(StartOfRoundPatch)); _harmony.PatchAll(typeof(NetworkBehaviourPatch)); _harmony.PatchAll(typeof(HDAdditionalLightDataPatch)); ItemDropshipPatch.Init(); KnifeItemPatch.Init(); PlayerControllerBPatch.Init(); EnemyAIPatch.Init(); ShovelPatch.Init(); DoorLockPatch.Init(); SpikeTrapPatch.Init(); EnemyAICollisionDetectPatch.Init(); LandminePatch.Init(); ShotgunItemPatch.Init(); TurretPatch.Init(); SoccerBallPropPatch.Init(); VehicleControllerPatch.Init(); MerchantTipPad.Init(); StoatGun.Init(); CommitKeyToSave.Init(); HauntedTeddyBear.Init(); BearTrapWheelProxy.Init(); InputActionsInstance = new IngameKeybinds(); ModConfig.InitMainCodeRebirthConfig(configFile); AssetBundle val = AssetBundleUtils.LoadBundle(Assembly.GetExecutingAssembly(), "coderebirthasset"); Assets = new MainAssets(val); Mod = DuskMod.RegisterMod((BaseUnityPlugin)(object)this, val); Mod.RegisterContentHandlers(); ModConfig.InitCodeRebirthConfig(configFile); Logger.LogInfo((object)"Registering CodeRebirth content."); if (OpenBodyCamCompatibilityChecker.Enabled) { OpenBodyCamCompatibilityChecker.Init(); } if (ModConfig.ConfigCleanUnusedConfigs.Value) { Logger.LogInfo((object)"Cleaning config"); ConfigFileExtensions.ClearUnusedEntries(((BaseUnityPlugin)this).Config); } ((BaseUnityPlugin)this).Config.Save(); Logger.LogInfo((object)"Plugin CodeRebirth is loaded!"); } internal static void ExtendedLogging(object text) { if (ModConfig.ConfigExtendedLogging.Value) { Logger.LogInfo(text); } } } } namespace CodeRebirth.src.Util { public enum CodeRebirthStatusEffects { None, Water, Fire, Smoke } public class CodeRebirthPlayerManager : NetworkSingleton<CodeRebirthPlayerManager> { private bool previousDoorClosed; public static List<InteractTrigger> triggersTampered = new List<InteractTrigger>(); internal static Dictionary<PlayerControllerB, CRPlayerData> dataForPlayer = new Dictionary<PlayerControllerB, CRPlayerData>(); public static event EventHandler<bool>? OnDoorStateChange; public void Awake() { if ((Object)(object)StartOfRound.Instance != (Object)null) { previousDoorClosed = StartOfRound.Instance.hangarDoorsClosed; } } public void Update() { if ((Object)(object)StartOfRound.Instance == (Object)null) { return; } if (previousDoorClosed != StartOfRound.Instance.hangarDoorsClosed) { Plugin.ExtendedLogging("Door opened/closed!!"); CodeRebirthPlayerManager.OnDoorStateChange?.Invoke(null, StartOfRound.Instance.hangarDoorsClosed); } previousDoorClosed = StartOfRound.Instance.hangarDoorsClosed; if (SlowDownEffect.isSlowDownEffectActive) { if (Object.op_Implicit((Object)(object)GameNetworkManager.Instance.localPlayerController.hoveringOverTrigger) && (Object)(object)GameNetworkManager.Instance.localPlayerController.currentTriggerInAnimationWith != (Object)null && !triggersTampered.Contains(GameNetworkManager.Instance.localPlayerController.currentTriggerInAnimationWith)) { InteractTrigger currentTriggerInAnimationWith = GameNetworkManager.Instance.localPlayerController.currentTriggerInAnimationWith; currentTriggerInAnimationWith.timeToHold /= 5f; triggersTampered.Add(GameNetworkManager.Instance.localPlayerController.currentTriggerInAnimationWith); } } else { if (triggersTampered.Count <= 0) { return; } foreach (InteractTrigger item in triggersTampered) { item.timeToHold *= 5f; } triggersTampered.Clear(); } } public static void RevivePlayer(PlayerControllerB player, Vector3 position) { //IL_0032: Unknown result type (might be due to invalid IL or missing references) //IL_0020: Unknown result type (might be due to invalid IL or missing references) if (player.isPlayerDead) { if (((NetworkBehaviour)NetworkSingleton<CodeRebirthPlayerManager>.Instance).IsHost) { NetworkSingleton<CodeRebirthPlayerManager>.Instance.RevivePlayerClientRPC(PlayerControllerReference.op_Implicit(player), position); } else { NetworkSingleton<CodeRebirthPlayerManager>.Instance.RevivePlayerServerRPC(PlayerControllerReference.op_Implicit(player), position); } } } [ServerRpc(RequireOwnership = false)] private void RevivePlayerServerRPC(PlayerControllerReference playerRef, Vector3 position) { //IL_0024: Unknown result type (might be due to invalid IL or missing references) //IL_002e: Invalid comparison between Unknown and I4 //IL_00e4: Unknown result type (might be due to invalid IL or missing references) //IL_00ee: 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_0119: Unknown result type (might be due to invalid IL or missing references) //IL_0120: Unknown result type (might be due to invalid IL or missing references) //IL_00d4: 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) //IL_00b2: 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(479954577u, val, (RpcDelivery)0); bool flag = playerRef != null; ((FastBufferWriter)(ref val2)).WriteValueSafe<bool>(ref flag, default(ForPrimitives)); if (flag) { ((FastBufferWriter)(ref val2)).WriteValueSafe<PlayerControllerReference>(ref playerRef, default(ForNetworkSerializable)); } ((FastBufferWriter)(ref val2)).WriteValueSafe(ref position); ((NetworkBehaviour)this).__endSendServerRpc(ref val2, 479954577u, val, (RpcDelivery)0); } if ((int)((NetworkBehaviour)this).__rpc_exec_stage == 1 && (networkManager.IsServer || networkManager.IsHost)) { ((NetworkBehaviour)this).__rpc_exec_stage = (__RpcExecStage)0; RevivePlayerClientRPC(playerRef, position); } } [ClientRpc] private void RevivePlayerClientRPC(PlayerControllerReference playerRef, Vector3 position) { //IL_0024: Unknown result type (might be due to invalid IL or missing references) //IL_002e: Invalid comparison between Unknown and I4 //IL_00e4: Unknown result type (might be due to invalid IL or missing references) //IL_00ee: 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_0119: Unknown result type (might be due to invalid IL or missing references) //IL_00d4: 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) //IL_00b2: Unknown result type (might be due to invalid IL or missing references) //IL_01d5: Unknown result type (might be due to invalid IL or missing references) //IL_02fd: Unknown result type (might be due to invalid IL or missing references) //IL_0302: 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.IsServer || networkManager.IsHost)) { ClientRpcParams val = default(ClientRpcParams); FastBufferWriter val2 = ((NetworkBehaviour)this).__beginSendClientRpc(3421960823u, val, (RpcDelivery)0); bool flag = playerRef != null; ((FastBufferWriter)(ref val2)).WriteValueSafe<bool>(ref flag, default(ForPrimitives)); if (flag) { ((FastBufferWriter)(ref val2)).WriteValueSafe<PlayerControllerReference>(ref playerRef, default(ForNetworkSerializable)); } ((FastBufferWriter)(ref val2)).WriteValueSafe(ref position); ((NetworkBehaviour)this).__endSendClientRpc(ref val2, 3421960823u, val, (RpcDelivery)0); } if ((int)((NetworkBehaviour)this).__rpc_exec_stage != 1 || (!networkManager.IsClient && !networkManager.IsHost)) { return; } ((NetworkBehaviour)this).__rpc_exec_stage = (__RpcExecStage)0; PlayerControllerB val3 = PlayerControllerReference.op_Implicit(playerRef); val3.isInsideFactory = false; val3.isInElevator = true; val3.isInHangarShipRoom = true; val3.ResetPlayerBloodObjects(val3.isPlayerDead); val3.health = 5; val3.isClimbingLadder = false; val3.clampLooking = false; val3.inVehicleAnimation = false; val3.disableMoveInput = false; val3.disableLookInput = false; val3.disableInteract = false; val3.ResetZAndXRotation(); ((Collider)val3.thisController).enabled = true; if (val3.isPlayerDead) { ((Collider)val3.thisController).enabled = true; val3.isPlayerDead = false; val3.isPlayerControlled = true; val3.health = 5; val3.hasBeenCriticallyInjured = false; val3.criticallyInjured = false; val3.playerBodyAnimator.SetBool("Limp", false); val3.TeleportPlayer(position, false, 0f, false, true); val3.parentedToElevatorLastFrame = false; val3.overrideGameOverSpectatePivot = null; StartOfRound.Instance.SetPlayerObjectExtrapolate(false); val3.setPositionOfDeadPlayer = false; val3.DisablePlayerModel(((Component)val3).gameObject, true, true); ((Behaviour)val3.helmetLight).enabled = false; val3.Crouch(false); Animator playerBodyAnimator = val3.playerBodyAnimator; if (playerBodyAnimator != null) { playerBodyAnimator.SetBool("Limp", false); } val3.bleedingHeavily = false; if ((Object)(object)val3.deadBody != (Object)null) { ((Behaviour)val3.deadBody).enabled = false; ((Component)val3.deadBody).gameObject.SetActive(false); } val3.bleedingHeavily = true; val3.deadBody = null; val3.activatingItem = false; val3.twoHanded = false; val3.inShockingMinigame = false; val3.inSpecialInteractAnimation = false; val3.freeRotationInInteractAnimation = false; val3.disableSyncInAnimation = false; val3.inAnimationWithEnemy = null; val3.holdingWalkieTalkie = false; val3.speakingToWalkieTalkie = false; val3.isSinking = false; val3.isUnderwater = false; val3.sinkingValue = 0f; val3.statusEffectAudio.Stop(); val3.DisableJetpackControlsLocally(); val3.mapRadarDotAnimator.SetBool("dead", false); val3.hasBegunSpectating = false; val3.externalForceAutoFade = Vector3.zero; val3.hinderedMultiplier = 1f; val3.isMovementHindered = 0; val3.sourcesCausingSinking = 0; val3.reverbPreset = StartOfRound.Instance.shipReverb; SoundManager.Instance.earsRingingTimer = 0f; val3.voiceMuffledByEnemy = false; SoundManager.Instance.playerVoicePitchTargets[Array.IndexOf(StartOfRound.Instance.allPlayerScripts, val3)] = 1f; SoundManager.Instance.SetPlayerPitch(1f, Array.IndexOf(StartOfRound.Instance.allPlayerScripts, val3)); if ((Object)(object)val3.currentVoiceChatIngameSettings == (Object)null) { StartOfRound.Instance.RefreshPlayerVoicePlaybackObjects(); } if ((Object)(object)val3.currentVoiceChatIngameSettings != (Object)null) { if ((Object)(object)val3.currentVoiceChatIngameSettings.voiceAudio == (Object)null) { val3.currentVoiceChatIngameSettings.InitializeComponents(); } if ((Object)(object)val3.currentVoiceChatIngameSettings.voiceAudio == (Object)null) { return; } ((Component)val3.currentVoiceChatIngameSett
plugins/CodeRebirth/com.local.Rodriguez.DuskReplacementEntities.CodeRebirth.dll
Decompiled 4 days agousing System; using System.Collections.Generic; using System.Diagnostics; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.Versioning; using System.Security; using System.Security.Permissions; using CodeRebirth.src.Content.Enemies; using CodeRebirth.src.Content.Maps; using CodeRebirth.src.Content.Unlockables; using Dawn.Utils; using Microsoft.CodeAnalysis; using UnityEngine; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints)] [assembly: IgnoresAccessChecksTo("AmazingAssets.TerrainToMesh")] [assembly: IgnoresAccessChecksTo("Assembly-CSharp-firstpass")] [assembly: IgnoresAccessChecksTo("Assembly-CSharp")] [assembly: IgnoresAccessChecksTo("ClientNetworkTransform")] [assembly: IgnoresAccessChecksTo("CodeRebirth")] [assembly: IgnoresAccessChecksTo("com.olegknyazev.softmask")] [assembly: IgnoresAccessChecksTo("DissonanceVoip")] [assembly: IgnoresAccessChecksTo("DunGen")] [assembly: IgnoresAccessChecksTo("DunGen.Integration.ASPP")] [assembly: IgnoresAccessChecksTo("DunGen.Integration.UnityNav")] [assembly: IgnoresAccessChecksTo("EasyTextEffects")] [assembly: IgnoresAccessChecksTo("Facepunch Transport for Netcode for GameObjects")] [assembly: IgnoresAccessChecksTo("Facepunch.Steamworks.Win64")] [assembly: IgnoresAccessChecksTo("Unity.AI.Navigation")] [assembly: IgnoresAccessChecksTo("Unity.Animation.Rigging")] [assembly: IgnoresAccessChecksTo("Unity.Animation.Rigging.DocCodeExamples")] [assembly: IgnoresAccessChecksTo("Unity.Burst")] [assembly: IgnoresAccessChecksTo("Unity.Burst.Unsafe")] [assembly: IgnoresAccessChecksTo("Unity.Collections")] [assembly: IgnoresAccessChecksTo("Unity.Collections.LowLevel.ILSupport")] [assembly: IgnoresAccessChecksTo("Unity.InputSystem")] [assembly: IgnoresAccessChecksTo("Unity.InputSystem.ForUI")] [assembly: IgnoresAccessChecksTo("Unity.Jobs")] [assembly: IgnoresAccessChecksTo("Unity.Mathematics")] [assembly: IgnoresAccessChecksTo("Unity.Multiplayer.Tools.Common")] [assembly: IgnoresAccessChecksTo("Unity.Multiplayer.Tools.MetricTypes")] [assembly: IgnoresAccessChecksTo("Unity.Multiplayer.Tools.NetStats")] [assembly: IgnoresAccessChecksTo("Unity.Multiplayer.Tools.NetStatsMonitor.Component")] [assembly: IgnoresAccessChecksTo("Unity.Multiplayer.Tools.NetStatsMonitor.Configuration")] [assembly: IgnoresAccessChecksTo("Unity.Multiplayer.Tools.NetStatsMonitor.Implementation")] [assembly: IgnoresAccessChecksTo("Unity.Multiplayer.Tools.NetStatsReporting")] [assembly: IgnoresAccessChecksTo("Unity.Multiplayer.Tools.NetworkProfiler.Runtime")] [assembly: IgnoresAccessChecksTo("Unity.Multiplayer.Tools.NetworkSolutionInterface")] [assembly: IgnoresAccessChecksTo("Unity.Netcode.Components")] [assembly: IgnoresAccessChecksTo("Unity.Netcode.Runtime")] [assembly: IgnoresAccessChecksTo("Unity.Networking.Transport")] [assembly: IgnoresAccessChecksTo("Unity.ProBuilder.Csg")] [assembly: IgnoresAccessChecksTo("Unity.ProBuilder")] [assembly: IgnoresAccessChecksTo("Unity.ProBuilder.KdTree")] [assembly: IgnoresAccessChecksTo("Unity.ProBuilder.Poly2Tri")] [assembly: IgnoresAccessChecksTo("Unity.ProBuilder.Stl")] [assembly: IgnoresAccessChecksTo("Unity.Profiling.Core")] [assembly: IgnoresAccessChecksTo("Unity.RenderPipelines.Core.Runtime")] [assembly: IgnoresAccessChecksTo("Unity.RenderPipelines.Core.ShaderLibrary")] [assembly: IgnoresAccessChecksTo("Unity.RenderPipelines.HighDefinition.Config.Runtime")] [assembly: IgnoresAccessChecksTo("Unity.RenderPipelines.HighDefinition.Runtime")] [assembly: IgnoresAccessChecksTo("Unity.RenderPipelines.ShaderGraph.ShaderGraphLibrary")] [assembly: IgnoresAccessChecksTo("Unity.Services.Authentication")] [assembly: IgnoresAccessChecksTo("Unity.Services.Core.Analytics")] [assembly: IgnoresAccessChecksTo("Unity.Services.Core.Components")] [assembly: IgnoresAccessChecksTo("Unity.Services.Core.Configuration")] [assembly: IgnoresAccessChecksTo("Unity.Services.Core.Device")] [assembly: IgnoresAccessChecksTo("Unity.Services.Core")] [assembly: IgnoresAccessChecksTo("Unity.Services.Core.Environments")] [assembly: IgnoresAccessChecksTo("Unity.Services.Core.Environments.Internal")] [assembly: IgnoresAccessChecksTo("Unity.Services.Core.Internal")] [assembly: IgnoresAccessChecksTo("Unity.Services.Core.Networking")] [assembly: IgnoresAccessChecksTo("Unity.Services.Core.Registration")] [assembly: IgnoresAccessChecksTo("Unity.Services.Core.Scheduler")] [assembly: IgnoresAccessChecksTo("Unity.Services.Core.Telemetry")] [assembly: IgnoresAccessChecksTo("Unity.Services.Core.Threading")] [assembly: IgnoresAccessChecksTo("Unity.Services.QoS")] [assembly: IgnoresAccessChecksTo("Unity.Services.Relay")] [assembly: IgnoresAccessChecksTo("Unity.TextMeshPro")] [assembly: IgnoresAccessChecksTo("Unity.Timeline")] [assembly: IgnoresAccessChecksTo("Unity.VisualEffectGraph.Runtime")] [assembly: IgnoresAccessChecksTo("Unity.XR.CoreUtils")] [assembly: IgnoresAccessChecksTo("Unity.XR.Management")] [assembly: IgnoresAccessChecksTo("Unity.XR.OpenXR")] [assembly: IgnoresAccessChecksTo("Unity.XR.OpenXR.Features.ConformanceAutomation")] [assembly: IgnoresAccessChecksTo("Unity.XR.OpenXR.Features.MetaQuestSupport")] [assembly: IgnoresAccessChecksTo("Unity.XR.OpenXR.Features.MockRuntime")] [assembly: IgnoresAccessChecksTo("Unity.XR.OpenXR.Features.OculusQuestSupport")] [assembly: IgnoresAccessChecksTo("Unity.XR.OpenXR.Features.RuntimeDebugger")] [assembly: IgnoresAccessChecksTo("UnityEngine.ARModule")] [assembly: IgnoresAccessChecksTo("UnityEngine.NVIDIAModule")] [assembly: IgnoresAccessChecksTo("UnityEngine.SpatialTracking")] [assembly: IgnoresAccessChecksTo("UnityEngine.UI")] [assembly: IgnoresAccessChecksTo("UnityEngine.XR.LegacyInputHelpers")] [assembly: TargetFramework(".NETStandard,Version=v2.1", FrameworkDisplayName = ".NET Standard 2.1")] [assembly: AssemblyCompany("com.local.Rodriguez.DuskReplacementEntities.CodeRebirth")] [assembly: AssemblyConfiguration("Release")] [assembly: AssemblyDescription("Dusk per-assembly replacements")] [assembly: AssemblyFileVersion("1.0.0.0")] [assembly: AssemblyInformationalVersion("1.0.0+4335125338477925dbeeb21fe0ad8c2e9a4148b9")] [assembly: AssemblyProduct("com.local.Rodriguez.DuskReplacementEntities.CodeRebirth")] [assembly: AssemblyTitle("com.local.Rodriguez.DuskReplacementEntities.CodeRebirth")] [assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)] [assembly: AssemblyVersion("1.0.0.0")] [module: UnverifiableCode] [module: RefSafetyRules(11)] namespace Microsoft.CodeAnalysis { [CompilerGenerated] [Microsoft.CodeAnalysis.Embedded] internal sealed class EmbeddedAttribute : Attribute { } } namespace System.Runtime.CompilerServices { [CompilerGenerated] [Microsoft.CodeAnalysis.Embedded] [AttributeUsage(AttributeTargets.Class | AttributeTargets.Property | AttributeTargets.Field | AttributeTargets.Event | AttributeTargets.Parameter | AttributeTargets.ReturnValue | AttributeTargets.GenericParameter, AllowMultiple = false, Inherited = false)] internal sealed class NullableAttribute : Attribute { public readonly byte[] NullableFlags; public NullableAttribute(byte P_0) { NullableFlags = new byte[1] { P_0 }; } public NullableAttribute(byte[] P_0) { NullableFlags = P_0; } } [CompilerGenerated] [Microsoft.CodeAnalysis.Embedded] [AttributeUsage(AttributeTargets.Class | AttributeTargets.Struct | AttributeTargets.Method | AttributeTargets.Interface | AttributeTargets.Delegate, AllowMultiple = false, Inherited = false)] internal sealed class NullableContextAttribute : Attribute { public readonly byte Flag; public NullableContextAttribute(byte P_0) { Flag = P_0; } } [CompilerGenerated] [Microsoft.CodeAnalysis.Embedded] [AttributeUsage(AttributeTargets.Module, AllowMultiple = false, Inherited = false)] internal sealed class RefSafetyRulesAttribute : Attribute { public readonly int Version; public RefSafetyRulesAttribute(int P_0) { Version = P_0; } } } namespace DuskReplacementEntities { public static class MyPluginInfo { public const string PLUGIN_GUID = "com.local.Rodriguez.DuskReplacementEntities.CodeRebirth"; public const string PLUGIN_NAME = "com.local.Rodriguez.DuskReplacementEntities.CodeRebirth"; public const string PLUGIN_VERSION = "1.0.0"; } } namespace Dusk { [CreateAssetMenu(fileName = "New Enemy Replacement Definition", menuName = "Entity Replacements/Enemy Replacements/CodeRebirth.src.Content.Enemies.CactusBudling")] public class DuskEntityReplacementDefinition_CodeRebirth_src_Content_Enemies_CactusBudling : DuskEnemyReplacementDefinition<CactusBudling> { [Space(10f)] public AudioClipsWithTime _idleAudioClips = new AudioClipsWithTime(); public AudioClip? spawnSound; public AudioClip? dieSFX; public AudioClip? potential_rollingSource; public AudioClip? potentialCreatureVoice; public AudioClip? potentialCreatureSFX; protected override void ApplyTyped(CactusBudling CactusBudling) { CactusBudling componentInChildren = ((Component)CactusBudling).gameObject.GetComponentInChildren<CactusBudling>(); if (_idleAudioClips.audioClips.Length != 0) { ((CodeRebirthEnemyAI)componentInChildren)._idleAudioClips = _idleAudioClips; } if ((Object)(object)componentInChildren._rollingSource.clip != (Object)null && (Object)(object)potential_rollingSource != (Object)null) { componentInChildren._rollingSource.clip = potential_rollingSource; } if ((Object)(object)((EnemyAI)componentInChildren).creatureVoice.clip != (Object)null && (Object)(object)potentialCreatureVoice != (Object)null) { ((EnemyAI)componentInChildren).creatureVoice.clip = potentialCreatureVoice; } if ((Object)(object)((EnemyAI)componentInChildren).creatureSFX.clip != (Object)null && (Object)(object)potentialCreatureSFX != (Object)null) { ((EnemyAI)componentInChildren).creatureSFX.clip = potentialCreatureSFX; } if ((Object)(object)spawnSound != (Object)null) { ((CodeRebirthEnemyAI)componentInChildren).spawnSound = spawnSound; } if ((Object)(object)dieSFX != (Object)null) { ((EnemyAI)componentInChildren).dieSFX = dieSFX; } } } [CreateAssetMenu(fileName = "New Enemy Replacement Definition", menuName = "Entity Replacements/Enemy Replacements/CodeRebirth.src.Content.Enemies.CutieFlyAI")] public class DuskEntityReplacementDefinition_CodeRebirth_src_Content_Enemies_CutieFlyAI : DuskEnemyReplacementDefinition<CutieFlyAI> { [Space(10f)] public AudioClipsWithTime _idleAudioClips = new AudioClipsWithTime(); public AudioClip? spawnSound; public AudioClip? dieSFX; public AudioClip? potentialCreatureVoice; public AudioClip? potentialCreatureSFX; protected override void ApplyTyped(CutieFlyAI CutieFlyAI) { CutieFlyAI componentInChildren = ((Component)CutieFlyAI).gameObject.GetComponentInChildren<CutieFlyAI>(); if (_idleAudioClips.audioClips.Length != 0) { ((CodeRebirthEnemyAI)componentInChildren)._idleAudioClips = _idleAudioClips; } if ((Object)(object)((EnemyAI)componentInChildren).creatureVoice.clip != (Object)null && (Object)(object)potentialCreatureVoice != (Object)null) { ((EnemyAI)componentInChildren).creatureVoice.clip = potentialCreatureVoice; } if ((Object)(object)((EnemyAI)componentInChildren).creatureSFX.clip != (Object)null && (Object)(object)potentialCreatureSFX != (Object)null) { ((EnemyAI)componentInChildren).creatureSFX.clip = potentialCreatureSFX; } if ((Object)(object)spawnSound != (Object)null) { ((CodeRebirthEnemyAI)componentInChildren).spawnSound = spawnSound; } if ((Object)(object)dieSFX != (Object)null) { ((EnemyAI)componentInChildren).dieSFX = dieSFX; } } } [CreateAssetMenu(fileName = "New Enemy Replacement Definition", menuName = "Entity Replacements/Enemy Replacements/CodeRebirth.src.Content.Enemies.DriftwoodMenaceAI")] public class DuskEntityReplacementDefinition_CodeRebirth_src_Content_Enemies_DriftwoodMenaceAI : DuskEnemyReplacementDefinition<DriftwoodMenaceAI> { [Space(10f)] public AudioClipsWithTime _idleAudioClips = new AudioClipsWithTime(); public AudioClip? screamSound; public AudioClip? spawnSound; public AudioClip? dieSFX; public AudioClip? potentialCreatureVoice; public AudioClip? potentialCreatureSFX; protected override void ApplyTyped(DriftwoodMenaceAI DriftwoodMenaceAI) { DriftwoodMenaceAI componentInChildren = ((Component)DriftwoodMenaceAI).gameObject.GetComponentInChildren<DriftwoodMenaceAI>(); if (_idleAudioClips.audioClips.Length != 0) { ((CodeRebirthEnemyAI)componentInChildren)._idleAudioClips = _idleAudioClips; } if ((Object)(object)((EnemyAI)componentInChildren).creatureVoice.clip != (Object)null && (Object)(object)potentialCreatureVoice != (Object)null) { ((EnemyAI)componentInChildren).creatureVoice.clip = potentialCreatureVoice; } if ((Object)(object)((EnemyAI)componentInChildren).creatureSFX.clip != (Object)null && (Object)(object)potentialCreatureSFX != (Object)null) { ((EnemyAI)componentInChildren).creatureSFX.clip = potentialCreatureSFX; } if ((Object)(object)screamSound != (Object)null) { componentInChildren.screamSound = screamSound; } if ((Object)(object)spawnSound != (Object)null) { ((CodeRebirthEnemyAI)componentInChildren).spawnSound = spawnSound; } if ((Object)(object)dieSFX != (Object)null) { ((EnemyAI)componentInChildren).dieSFX = dieSFX; } } } [CreateAssetMenu(fileName = "New Enemy Replacement Definition", menuName = "Entity Replacements/Enemy Replacements/CodeRebirth.src.Content.Enemies.Duck")] public class DuskEntityReplacementDefinition_CodeRebirth_src_Content_Enemies_Duck : DuskEnemyReplacementDefinition<Duck> { [Space(10f)] public AudioClipsWithTime _idleAudioClips = new AudioClipsWithTime(); public AudioClip? questGiveClip; public AudioClip? questSucceedClip; public AudioClip? questFailClip; public AudioClip? questGiveAgainClip; public AudioClip? questAfterFailClip; public AudioClip? spawnSound; public AudioClip? dieSFX; public AudioClip? potentialCreatureUltraVoice; public AudioClip? potentialCreatureVoice; public AudioClip? potentialCreatureSFX; protected override void ApplyTyped(Duck Duck) { Duck componentInChildren = ((Component)Duck).gameObject.GetComponentInChildren<Duck>(); if (_idleAudioClips.audioClips.Length != 0) { ((CodeRebirthEnemyAI)componentInChildren)._idleAudioClips = _idleAudioClips; } if ((Object)(object)((QuestMasterAI)componentInChildren).creatureUltraVoice.clip != (Object)null && (Object)(object)potentialCreatureUltraVoice != (Object)null) { ((QuestMasterAI)componentInChildren).creatureUltraVoice.clip = potentialCreatureUltraVoice; } if ((Object)(object)((EnemyAI)componentInChildren).creatureVoice.clip != (Object)null && (Object)(object)potentialCreatureVoice != (Object)null) { ((EnemyAI)componentInChildren).creatureVoice.clip = potentialCreatureVoice; } if ((Object)(object)((EnemyAI)componentInChildren).creatureSFX.clip != (Object)null && (Object)(object)potentialCreatureSFX != (Object)null) { ((EnemyAI)componentInChildren).creatureSFX.clip = potentialCreatureSFX; } if ((Object)(object)questGiveClip != (Object)null) { ((QuestMasterAI)componentInChildren).questGiveClip = questGiveClip; } if ((Object)(object)questSucceedClip != (Object)null) { ((QuestMasterAI)componentInChildren).questSucceedClip = questSucceedClip; } if ((Object)(object)questFailClip != (Object)null) { ((QuestMasterAI)componentInChildren).questFailClip = questFailClip; } if ((Object)(object)questGiveAgainClip != (Object)null) { ((QuestMasterAI)componentInChildren).questGiveAgainClip = questGiveAgainClip; } if ((Object)(object)questAfterFailClip != (Object)null) { ((QuestMasterAI)componentInChildren).questAfterFailClip = questAfterFailClip; } if ((Object)(object)spawnSound != (Object)null) { ((CodeRebirthEnemyAI)componentInChildren).spawnSound = spawnSound; } if ((Object)(object)dieSFX != (Object)null) { ((EnemyAI)componentInChildren).dieSFX = dieSFX; } } } [CreateAssetMenu(fileName = "New Enemy Replacement Definition", menuName = "Entity Replacements/Enemy Replacements/CodeRebirth.src.Content.Enemies.Guardsman")] public class DuskEntityReplacementDefinition_CodeRebirth_src_Content_Enemies_Guardsman : DuskEnemyReplacementDefinition<Guardsman> { [Space(10f)] public AudioClipsWithTime _idleAudioClips = new AudioClipsWithTime(); public AudioClip? _slamAudioClip; public AudioClip? _ripApartAudioClip; public AudioClip? spawnSound; public AudioClip? dieSFX; public AudioClip[] _enemySpottedAudioClips = Array.Empty<AudioClip>(); public AudioClip? potentialCreatureVoice; public AudioClip? potentialCreatureSFX; public ParticleSystem? _dustParticleSystem; protected override void ApplyTyped(Guardsman Guardsman) { Guardsman componentInChildren = ((Component)Guardsman).gameObject.GetComponentInChildren<Guardsman>(); if (_idleAudioClips.audioClips.Length != 0) { ((CodeRebirthEnemyAI)componentInChildren)._idleAudioClips = _idleAudioClips; } if (_enemySpottedAudioClips.Length != 0) { componentInChildren._enemySpottedAudioClips = _enemySpottedAudioClips; } if ((Object)(object)((EnemyAI)componentInChildren).creatureVoice.clip != (Object)null && (Object)(object)potentialCreatureVoice != (Object)null) { ((EnemyAI)componentInChildren).creatureVoice.clip = potentialCreatureVoice; } if ((Object)(object)((EnemyAI)componentInChildren).creatureSFX.clip != (Object)null && (Object)(object)potentialCreatureSFX != (Object)null) { ((EnemyAI)componentInChildren).creatureSFX.clip = potentialCreatureSFX; } if ((Object)(object)_slamAudioClip != (Object)null) { componentInChildren._slamAudioClip = _slamAudioClip; } if ((Object)(object)_ripApartAudioClip != (Object)null) { componentInChildren._ripApartAudioClip = _ripApartAudioClip; } if ((Object)(object)spawnSound != (Object)null) { ((CodeRebirthEnemyAI)componentInChildren).spawnSound = spawnSound; } if ((Object)(object)dieSFX != (Object)null) { ((EnemyAI)componentInChildren).dieSFX = dieSFX; } if ((Object)(object)_dustParticleSystem != (Object)null) { ParticleSystem dustParticleSystem = _dustParticleSystem; ParticleSystem dustParticleSystem2 = componentInChildren._dustParticleSystem; if ((Object)(object)dustParticleSystem != (Object)null && (Object)(object)dustParticleSystem2 != (Object)null) { GameObject val = Object.Instantiate<GameObject>(((Component)dustParticleSystem).gameObject, ((Component)dustParticleSystem2).transform.parent); ((Object)val).name = ((Object)((Component)dustParticleSystem2).gameObject).name; Object.Destroy((Object)(object)((Component)dustParticleSystem2).gameObject); componentInChildren._dustParticleSystem = _dustParticleSystem; } } } } [CreateAssetMenu(fileName = "New Enemy Replacement Definition", menuName = "Entity Replacements/Enemy Replacements/CodeRebirth.src.Content.Enemies.Janitor")] public class DuskEntityReplacementDefinition_CodeRebirth_src_Content_Enemies_Janitor : DuskEnemyReplacementDefinition<Janitor> { [Space(10f)] public AudioClipsWithTime _idleAudioClips = new AudioClipsWithTime(); public AudioClip? spawnSound; public AudioClip? dieSFX; public AudioClip[] deathSounds = Array.Empty<AudioClip>(); public AudioClip[] postDeathSounds = Array.Empty<AudioClip>(); public AudioClip[] detectItemDroppedSounds = Array.Empty<AudioClip>(); public AudioClip[] grabPlayerSounds = Array.Empty<AudioClip>(); public AudioClip[] throwPlayerSounds = Array.Empty<AudioClip>(); public AudioClip? potentialCreatureVoice; public AudioClip? potentialCreatureSFX; protected override void ApplyTyped(Janitor Janitor) { Janitor componentInChildren = ((Component)Janitor).gameObject.GetComponentInChildren<Janitor>(); if (_idleAudioClips.audioClips.Length != 0) { ((CodeRebirthEnemyAI)componentInChildren)._idleAudioClips = _idleAudioClips; } if (deathSounds.Length != 0) { componentInChildren.deathSounds = deathSounds; } if (postDeathSounds.Length != 0) { componentInChildren.postDeathSounds = postDeathSounds; } if (detectItemDroppedSounds.Length != 0) { componentInChildren.detectItemDroppedSounds = detectItemDroppedSounds; } if (grabPlayerSounds.Length != 0) { componentInChildren.grabPlayerSounds = grabPlayerSounds; } if (throwPlayerSounds.Length != 0) { componentInChildren.throwPlayerSounds = throwPlayerSounds; } if ((Object)(object)((EnemyAI)componentInChildren).creatureVoice.clip != (Object)null && (Object)(object)potentialCreatureVoice != (Object)null) { ((EnemyAI)componentInChildren).creatureVoice.clip = potentialCreatureVoice; } if ((Object)(object)((EnemyAI)componentInChildren).creatureSFX.clip != (Object)null && (Object)(object)potentialCreatureSFX != (Object)null) { ((EnemyAI)componentInChildren).creatureSFX.clip = potentialCreatureSFX; } if ((Object)(object)spawnSound != (Object)null) { ((CodeRebirthEnemyAI)componentInChildren).spawnSound = spawnSound; } if ((Object)(object)dieSFX != (Object)null) { ((EnemyAI)componentInChildren).dieSFX = dieSFX; } } } [CreateAssetMenu(fileName = "New Enemy Replacement Definition", menuName = "Entity Replacements/Enemy Replacements/CodeRebirth.src.Content.Enemies.Mistress")] public class DuskEntityReplacementDefinition_CodeRebirth_src_Content_Enemies_Mistress : DuskEnemyReplacementDefinition<Mistress> { [Space(10f)] public AudioClipsWithTime _idleAudioClips = new AudioClipsWithTime(); public AudioClip? LoseSightSound; public AudioClip? spawnSound; public AudioClip? dieSFX; public AudioClip[] AttackSounds = Array.Empty<AudioClip>(); public AudioClip? potentialCreatureVoice; public AudioClip? potentialCreatureSFX; protected override void ApplyTyped(Mistress Mistress) { Mistress componentInChildren = ((Component)Mistress).gameObject.GetComponentInChildren<Mistress>(); if (_idleAudioClips.audioClips.Length != 0) { ((CodeRebirthEnemyAI)componentInChildren)._idleAudioClips = _idleAudioClips; } if (AttackSounds.Length != 0) { componentInChildren.AttackSounds = AttackSounds; } if ((Object)(object)((EnemyAI)componentInChildren).creatureVoice.clip != (Object)null && (Object)(object)potentialCreatureVoice != (Object)null) { ((EnemyAI)componentInChildren).creatureVoice.clip = potentialCreatureVoice; } if ((Object)(object)((EnemyAI)componentInChildren).creatureSFX.clip != (Object)null && (Object)(object)potentialCreatureSFX != (Object)null) { ((EnemyAI)componentInChildren).creatureSFX.clip = potentialCreatureSFX; } if ((Object)(object)LoseSightSound != (Object)null) { componentInChildren.LoseSightSound = LoseSightSound; } if ((Object)(object)spawnSound != (Object)null) { ((CodeRebirthEnemyAI)componentInChildren).spawnSound = spawnSound; } if ((Object)(object)dieSFX != (Object)null) { ((EnemyAI)componentInChildren).dieSFX = dieSFX; } } } [CreateAssetMenu(fileName = "New Enemy Replacement Definition", menuName = "Entity Replacements/Enemy Replacements/CodeRebirth.src.Content.Enemies.Monarch")] public class DuskEntityReplacementDefinition_CodeRebirth_src_Content_Enemies_Monarch : DuskEnemyReplacementDefinition<Monarch> { [Space(10f)] public AudioClipsWithTime _idleAudioClips = new AudioClipsWithTime(); public AudioClip? spawnSound; public AudioClip? dieSFX; public AudioClip[] _biteSounds = Array.Empty<AudioClip>(); public AudioClip? potentialUltraCreatureVoice; public AudioClip? potentialCreatureVoice; public AudioClip? potentialCreatureSFX; protected override void ApplyTyped(Monarch Monarch) { Monarch componentInChildren = ((Component)Monarch).gameObject.GetComponentInChildren<Monarch>(); if (_idleAudioClips.audioClips.Length != 0) { ((CodeRebirthEnemyAI)componentInChildren)._idleAudioClips = _idleAudioClips; } if (_biteSounds.Length != 0) { componentInChildren._biteSounds = _biteSounds; } if ((Object)(object)componentInChildren.UltraCreatureVoice.clip != (Object)null && (Object)(object)potentialUltraCreatureVoice != (Object)null) { componentInChildren.UltraCreatureVoice.clip = potentialUltraCreatureVoice; } if ((Object)(object)((EnemyAI)componentInChildren).creatureVoice.clip != (Object)null && (Object)(object)potentialCreatureVoice != (Object)null) { ((EnemyAI)componentInChildren).creatureVoice.clip = potentialCreatureVoice; } if ((Object)(object)((EnemyAI)componentInChildren).creatureSFX.clip != (Object)null && (Object)(object)potentialCreatureSFX != (Object)null) { ((EnemyAI)componentInChildren).creatureSFX.clip = potentialCreatureSFX; } if ((Object)(object)spawnSound != (Object)null) { ((CodeRebirthEnemyAI)componentInChildren).spawnSound = spawnSound; } if ((Object)(object)dieSFX != (Object)null) { ((EnemyAI)componentInChildren).dieSFX = dieSFX; } } } [CreateAssetMenu(fileName = "New Enemy Replacement Definition", menuName = "Entity Replacements/Enemy Replacements/CodeRebirth.src.Content.Enemies.Nancy")] public class DuskEntityReplacementDefinition_CodeRebirth_src_Content_Enemies_Nancy : DuskEnemyReplacementDefinition<Nancy> { [Space(10f)] public AudioClipsWithTime _idleAudioClips = new AudioClipsWithTime(); public AudioClip? spawnSound; public AudioClip? dieSFX; public AudioClip[] _detectInjuredPlayerVoicelines = Array.Empty<AudioClip>(); public AudioClip[] _specialDetectInjuredPlayerVoicelines = Array.Empty<AudioClip>(); public AudioClip[] _healFailVoicelines = Array.Empty<AudioClip>(); public AudioClip? potential_rollingSource; public AudioClip? potential_healDuringSource; public AudioClip? potentialCreatureVoice; public AudioClip? potentialCreatureSFX; protected override void ApplyTyped(Nancy Nancy) { Nancy componentInChildren = ((Component)Nancy).gameObject.GetComponentInChildren<Nancy>(); if (_idleAudioClips.audioClips.Length != 0) { ((CodeRebirthEnemyAI)componentInChildren)._idleAudioClips = _idleAudioClips; } if (_detectInjuredPlayerVoicelines.Length != 0) { componentInChildren._detectInjuredPlayerVoicelines = _detectInjuredPlayerVoicelines; } if (_specialDetectInjuredPlayerVoicelines.Length != 0) { componentInChildren._specialDetectInjuredPlayerVoicelines = _specialDetectInjuredPlayerVoicelines; } if (_healFailVoicelines.Length != 0) { componentInChildren._healFailVoicelines = _healFailVoicelines; } if ((Object)(object)componentInChildren._rollingSource.clip != (Object)null && (Object)(object)potential_rollingSource != (Object)null) { componentInChildren._rollingSource.clip = potential_rollingSource; } if ((Object)(object)componentInChildren._healDuringSource.clip != (Object)null && (Object)(object)potential_healDuringSource != (Object)null) { componentInChildren._healDuringSource.clip = potential_healDuringSource; } if ((Object)(object)((EnemyAI)componentInChildren).creatureVoice.clip != (Object)null && (Object)(object)potentialCreatureVoice != (Object)null) { ((EnemyAI)componentInChildren).creatureVoice.clip = potentialCreatureVoice; } if ((Object)(object)((EnemyAI)componentInChildren).creatureSFX.clip != (Object)null && (Object)(object)potentialCreatureSFX != (Object)null) { ((EnemyAI)componentInChildren).creatureSFX.clip = potentialCreatureSFX; } if ((Object)(object)spawnSound != (Object)null) { ((CodeRebirthEnemyAI)componentInChildren).spawnSound = spawnSound; } if ((Object)(object)dieSFX != (Object)null) { ((EnemyAI)componentInChildren).dieSFX = dieSFX; } } } [CreateAssetMenu(fileName = "New Enemy Replacement Definition", menuName = "Entity Replacements/Enemy Replacements/CodeRebirth.src.Content.Enemies.PeaceKeeper")] public class DuskEntityReplacementDefinition_CodeRebirth_src_Content_Enemies_PeaceKeeper : DuskEnemyReplacementDefinition<PeaceKeeper> { [Space(10f)] public AudioClipsWithTime _idleAudioClips = new AudioClipsWithTime(); public AudioClip? _revUpSound; public AudioClip? _revDownSound; public AudioClip? _bitchSlapSound; public AudioClip? _bitchSlapStartSound; public AudioClip? spawnSound; public AudioClip? dieSFX; public AudioClip? potential_treadsSource; public AudioClip? potential_aggroSFX; public AudioClip? potentialCreatureVoice; public AudioClip? potentialCreatureSFX; protected override void ApplyTyped(PeaceKeeper PeaceKeeper) { PeaceKeeper componentInChildren = ((Component)PeaceKeeper).gameObject.GetComponentInChildren<PeaceKeeper>(); if (_idleAudioClips.audioClips.Length != 0) { ((CodeRebirthEnemyAI)componentInChildren)._idleAudioClips = _idleAudioClips; } if ((Object)(object)componentInChildren._treadsSource.clip != (Object)null && (Object)(object)potential_treadsSource != (Object)null) { componentInChildren._treadsSource.clip = potential_treadsSource; } if ((Object)(object)componentInChildren._aggroSFX.clip != (Object)null && (Object)(object)potential_aggroSFX != (Object)null) { componentInChildren._aggroSFX.clip = potential_aggroSFX; } if ((Object)(object)((EnemyAI)componentInChildren).creatureVoice.clip != (Object)null && (Object)(object)potentialCreatureVoice != (Object)null) { ((EnemyAI)componentInChildren).creatureVoice.clip = potentialCreatureVoice; } if ((Object)(object)((EnemyAI)componentInChildren).creatureSFX.clip != (Object)null && (Object)(object)potentialCreatureSFX != (Object)null) { ((EnemyAI)componentInChildren).creatureSFX.clip = potentialCreatureSFX; } if ((Object)(object)_revUpSound != (Object)null) { componentInChildren._revUpSound = _revUpSound; } if ((Object)(object)_revDownSound != (Object)null) { componentInChildren._revDownSound = _revDownSound; } if ((Object)(object)_bitchSlapSound != (Object)null) { componentInChildren._bitchSlapSound = _bitchSlapSound; } if ((Object)(object)_bitchSlapStartSound != (Object)null) { componentInChildren._bitchSlapStartSound = _bitchSlapStartSound; } if ((Object)(object)spawnSound != (Object)null) { ((CodeRebirthEnemyAI)componentInChildren).spawnSound = spawnSound; } if ((Object)(object)dieSFX != (Object)null) { ((EnemyAI)componentInChildren).dieSFX = dieSFX; } } } [CreateAssetMenu(fileName = "New Enemy Replacement Definition", menuName = "Entity Replacements/Enemy Replacements/CodeRebirth.src.Content.Enemies.Puppeteer")] public class DuskEntityReplacementDefinition_CodeRebirth_src_Content_Enemies_Puppeteer : DuskEnemyReplacementDefinition<Puppeteer> { [Space(10f)] public AudioClipsWithTime _idleAudioClips = new AudioClipsWithTime(); public AudioClip? grabPlayerSound; public AudioClip? makePuppetSound; public AudioClip? stabSound; public AudioClip? swipeSound; public AudioClip? maskDefensiveSound; public AudioClip? spawnSound; public AudioClip? dieSFX; public AudioClip[] normalFootstepSounds = Array.Empty<AudioClip>(); public AudioClip[] combatFootstepSounds = Array.Empty<AudioClip>(); public AudioClip[] reflectSounds = Array.Empty<AudioClip>(); public AudioClip? potentialCreatureVoice; public AudioClip? potentialCreatureSFX; protected override void ApplyTyped(Puppeteer Puppeteer) { Puppeteer componentInChildren = ((Component)Puppeteer).gameObject.GetComponentInChildren<Puppeteer>(); if (_idleAudioClips.audioClips.Length != 0) { ((CodeRebirthEnemyAI)componentInChildren)._idleAudioClips = _idleAudioClips; } if (normalFootstepSounds.Length != 0) { componentInChildren.normalFootstepSounds = normalFootstepSounds; } if (combatFootstepSounds.Length != 0) { componentInChildren.combatFootstepSounds = combatFootstepSounds; } if (reflectSounds.Length != 0) { componentInChildren.reflectSounds = reflectSounds; } if ((Object)(object)((EnemyAI)componentInChildren).creatureVoice.clip != (Object)null && (Object)(object)potentialCreatureVoice != (Object)null) { ((EnemyAI)componentInChildren).creatureVoice.clip = potentialCreatureVoice; } if ((Object)(object)((EnemyAI)componentInChildren).creatureSFX.clip != (Object)null && (Object)(object)potentialCreatureSFX != (Object)null) { ((EnemyAI)componentInChildren).creatureSFX.clip = potentialCreatureSFX; } if ((Object)(object)grabPlayerSound != (Object)null) { componentInChildren.grabPlayerSound = grabPlayerSound; } if ((Object)(object)makePuppetSound != (Object)null) { componentInChildren.makePuppetSound = makePuppetSound; } if ((Object)(object)stabSound != (Object)null) { componentInChildren.stabSound = stabSound; } if ((Object)(object)swipeSound != (Object)null) { componentInChildren.swipeSound = swipeSound; } if ((Object)(object)maskDefensiveSound != (Object)null) { componentInChildren.maskDefensiveSound = maskDefensiveSound; } if ((Object)(object)spawnSound != (Object)null) { ((CodeRebirthEnemyAI)componentInChildren).spawnSound = spawnSound; } if ((Object)(object)dieSFX != (Object)null) { ((EnemyAI)componentInChildren).dieSFX = dieSFX; } } } [CreateAssetMenu(fileName = "New Enemy Replacement Definition", menuName = "Entity Replacements/Enemy Replacements/CodeRebirth.src.Content.Enemies.RabbitMagician")] public class DuskEntityReplacementDefinition_CodeRebirth_src_Content_Enemies_RabbitMagician : DuskEnemyReplacementDefinition<RabbitMagician> { [Space(10f)] public AudioClipsWithTime _idleAudioClips = new AudioClipsWithTime(); public AudioClip? _spottedFromGroundAudioClip; public AudioClip? _spottedFromBackAudioClip; public AudioClip? spawnSound; public AudioClip? dieSFX; public AudioClip[] _fallingAudioClips = Array.Empty<AudioClip>(); public AudioClip? potentialCreatureVoice; public AudioClip? potentialCreatureSFX; public ParticleSystem? _confettiParticles; protected override void ApplyTyped(RabbitMagician RabbitMagician) { RabbitMagician componentInChildren = ((Component)RabbitMagician).gameObject.GetComponentInChildren<RabbitMagician>(); if (_idleAudioClips.audioClips.Length != 0) { ((CodeRebirthEnemyAI)componentInChildren)._idleAudioClips = _idleAudioClips; } if (_fallingAudioClips.Length != 0) { componentInChildren._fallingAudioClips = _fallingAudioClips; } if ((Object)(object)((EnemyAI)componentInChildren).creatureVoice.clip != (Object)null && (Object)(object)potentialCreatureVoice != (Object)null) { ((EnemyAI)componentInChildren).creatureVoice.clip = potentialCreatureVoice; } if ((Object)(object)((EnemyAI)componentInChildren).creatureSFX.clip != (Object)null && (Object)(object)potentialCreatureSFX != (Object)null) { ((EnemyAI)componentInChildren).creatureSFX.clip = potentialCreatureSFX; } if ((Object)(object)_spottedFromGroundAudioClip != (Object)null) { componentInChildren._spottedFromGroundAudioClip = _spottedFromGroundAudioClip; } if ((Object)(object)_spottedFromBackAudioClip != (Object)null) { componentInChildren._spottedFromBackAudioClip = _spottedFromBackAudioClip; } if ((Object)(object)spawnSound != (Object)null) { ((CodeRebirthEnemyAI)componentInChildren).spawnSound = spawnSound; } if ((Object)(object)dieSFX != (Object)null) { ((EnemyAI)componentInChildren).dieSFX = dieSFX; } if ((Object)(object)_confettiParticles != (Object)null) { ParticleSystem confettiParticles = _confettiParticles; ParticleSystem confettiParticles2 = componentInChildren._confettiParticles; if ((Object)(object)confettiParticles != (Object)null && (Object)(object)confettiParticles2 != (Object)null) { GameObject val = Object.Instantiate<GameObject>(((Component)confettiParticles).gameObject, ((Component)confettiParticles2).transform.parent); ((Object)val).name = ((Object)((Component)confettiParticles2).gameObject).name; Object.Destroy((Object)(object)((Component)confettiParticles2).gameObject); componentInChildren._confettiParticles = _confettiParticles; } } } } [CreateAssetMenu(fileName = "New Enemy Replacement Definition", menuName = "Entity Replacements/Enemy Replacements/CodeRebirth.src.Content.Enemies.RedwoodTitanAI")] public class DuskEntityReplacementDefinition_CodeRebirth_src_Content_Enemies_RedwoodTitanAI : DuskEnemyReplacementDefinition<RedwoodTitanAI> { [Space(10f)] public AudioClipsWithTime _idleAudioClips = new AudioClipsWithTime(); public AudioClip? eatenSound; public AudioClip? roarSound; public AudioClip? crunchySquishSound; public AudioClip? spawnSound; public AudioClip? dieSFX; public AudioClip? potentialCreatureSFXFar; public AudioClip? potentialCreatureVoice; public AudioClip? potentialCreatureSFX; public ParticleSystem? DustParticlesLeft; public ParticleSystem? DustParticlesRight; public ParticleSystem? ForestKeeperParticles; public ParticleSystem? DriftwoodGiantParticles; public ParticleSystem? OldBirdParticles; public ParticleSystem? DeathParticles; protected override void ApplyTyped(RedwoodTitanAI RedwoodTitanAI) { RedwoodTitanAI componentInChildren = ((Component)RedwoodTitanAI).gameObject.GetComponentInChildren<RedwoodTitanAI>(); if (_idleAudioClips.audioClips.Length != 0) { ((CodeRebirthEnemyAI)componentInChildren)._idleAudioClips = _idleAudioClips; } if ((Object)(object)componentInChildren.creatureSFXFar.clip != (Object)null && (Object)(object)potentialCreatureSFXFar != (Object)null) { componentInChildren.creatureSFXFar.clip = potentialCreatureSFXFar; } if ((Object)(object)((EnemyAI)componentInChildren).creatureVoice.clip != (Object)null && (Object)(object)potentialCreatureVoice != (Object)null) { ((EnemyAI)componentInChildren).creatureVoice.clip = potentialCreatureVoice; } if ((Object)(object)((EnemyAI)componentInChildren).creatureSFX.clip != (Object)null && (Object)(object)potentialCreatureSFX != (Object)null) { ((EnemyAI)componentInChildren).creatureSFX.clip = potentialCreatureSFX; } if ((Object)(object)eatenSound != (Object)null) { componentInChildren.eatenSound = eatenSound; } if ((Object)(object)roarSound != (Object)null) { componentInChildren.roarSound = roarSound; } if ((Object)(object)crunchySquishSound != (Object)null) { componentInChildren.crunchySquishSound = crunchySquishSound; } if ((Object)(object)spawnSound != (Object)null) { ((CodeRebirthEnemyAI)componentInChildren).spawnSound = spawnSound; } if ((Object)(object)dieSFX != (Object)null) { ((EnemyAI)componentInChildren).dieSFX = dieSFX; } if ((Object)(object)DustParticlesLeft != (Object)null) { ParticleSystem dustParticlesLeft = DustParticlesLeft; ParticleSystem dustParticlesLeft2 = componentInChildren.DustParticlesLeft; if ((Object)(object)dustParticlesLeft != (Object)null && (Object)(object)dustParticlesLeft2 != (Object)null) { GameObject val = Object.Instantiate<GameObject>(((Component)dustParticlesLeft).gameObject, ((Component)dustParticlesLeft2).transform.parent); ((Object)val).name = ((Object)((Component)dustParticlesLeft2).gameObject).name; Object.Destroy((Object)(object)((Component)dustParticlesLeft2).gameObject); componentInChildren.DustParticlesLeft = DustParticlesLeft; } } if ((Object)(object)DustParticlesRight != (Object)null) { ParticleSystem dustParticlesRight = DustParticlesRight; ParticleSystem dustParticlesRight2 = componentInChildren.DustParticlesRight; if ((Object)(object)dustParticlesRight != (Object)null && (Object)(object)dustParticlesRight2 != (Object)null) { GameObject val2 = Object.Instantiate<GameObject>(((Component)dustParticlesRight).gameObject, ((Component)dustParticlesRight2).transform.parent); ((Object)val2).name = ((Object)((Component)dustParticlesRight2).gameObject).name; Object.Destroy((Object)(object)((Component)dustParticlesRight2).gameObject); componentInChildren.DustParticlesRight = DustParticlesRight; } } if ((Object)(object)ForestKeeperParticles != (Object)null) { ParticleSystem forestKeeperParticles = ForestKeeperParticles; ParticleSystem forestKeeperParticles2 = componentInChildren.ForestKeeperParticles; if ((Object)(object)forestKeeperParticles != (Object)null && (Object)(object)forestKeeperParticles2 != (Object)null) { GameObject val3 = Object.Instantiate<GameObject>(((Component)forestKeeperParticles).gameObject, ((Component)forestKeeperParticles2).transform.parent); ((Object)val3).name = ((Object)((Component)forestKeeperParticles2).gameObject).name; Object.Destroy((Object)(object)((Component)forestKeeperParticles2).gameObject); componentInChildren.ForestKeeperParticles = ForestKeeperParticles; } } if ((Object)(object)DriftwoodGiantParticles != (Object)null) { ParticleSystem driftwoodGiantParticles = DriftwoodGiantParticles; ParticleSystem driftwoodGiantParticles2 = componentInChildren.DriftwoodGiantParticles; if ((Object)(object)driftwoodGiantParticles != (Object)null && (Object)(object)driftwoodGiantParticles2 != (Object)null) { GameObject val4 = Object.Instantiate<GameObject>(((Component)driftwoodGiantParticles).gameObject, ((Component)driftwoodGiantParticles2).transform.parent); ((Object)val4).name = ((Object)((Component)driftwoodGiantParticles2).gameObject).name; Object.Destroy((Object)(object)((Component)driftwoodGiantParticles2).gameObject); componentInChildren.DriftwoodGiantParticles = DriftwoodGiantParticles; } } if ((Object)(object)OldBirdParticles != (Object)null) { ParticleSystem oldBirdParticles = OldBirdParticles; ParticleSystem oldBirdParticles2 = componentInChildren.OldBirdParticles; if ((Object)(object)oldBirdParticles != (Object)null && (Object)(object)oldBirdParticles2 != (Object)null) { GameObject val5 = Object.Instantiate<GameObject>(((Component)oldBirdParticles).gameObject, ((Component)oldBirdParticles2).transform.parent); ((Object)val5).name = ((Object)((Component)oldBirdParticles2).gameObject).name; Object.Destroy((Object)(object)((Component)oldBirdParticles2).gameObject); componentInChildren.OldBirdParticles = OldBirdParticles; } } if ((Object)(object)DeathParticles != (Object)null) { ParticleSystem deathParticles = DeathParticles; ParticleSystem deathParticles2 = componentInChildren.DeathParticles; if ((Object)(object)deathParticles != (Object)null && (Object)(object)deathParticles2 != (Object)null) { GameObject val6 = Object.Instantiate<GameObject>(((Component)deathParticles).gameObject, ((Component)deathParticles2).transform.parent); ((Object)val6).name = ((Object)((Component)deathParticles2).gameObject).name; Object.Destroy((Object)(object)((Component)deathParticles2).gameObject); componentInChildren.DeathParticles = DeathParticles; } } } } [CreateAssetMenu(fileName = "New Enemy Replacement Definition", menuName = "Entity Replacements/Enemy Replacements/CodeRebirth.src.Content.Enemies.SnailCatAI")] public class DuskEntityReplacementDefinition_CodeRebirth_src_Content_Enemies_SnailCatAI : DuskEnemyReplacementDefinition<SnailCatAI> { [Space(10f)] public AudioClipsWithTime _idleAudioClips = new AudioClipsWithTime(); public AudioClip? spawnSound; public AudioClip? dieSFX; public AudioClip[] wiwiwiiiSound = Array.Empty<AudioClip>(); public AudioClip? potentialCreatureVoice; public AudioClip? potentialCreatureSFX; protected override void ApplyTyped(SnailCatAI SnailCatAI) { SnailCatAI componentInChildren = ((Component)SnailCatAI).gameObject.GetComponentInChildren<SnailCatAI>(); if (_idleAudioClips.audioClips.Length != 0) { ((CodeRebirthEnemyAI)componentInChildren)._idleAudioClips = _idleAudioClips; } if (wiwiwiiiSound.Length != 0) { componentInChildren.wiwiwiiiSound = wiwiwiiiSound; } if ((Object)(object)((EnemyAI)componentInChildren).creatureVoice.clip != (Object)null && (Object)(object)potentialCreatureVoice != (Object)null) { ((EnemyAI)componentInChildren).creatureVoice.clip = potentialCreatureVoice; } if ((Object)(object)((EnemyAI)componentInChildren).creatureSFX.clip != (Object)null && (Object)(object)potentialCreatureSFX != (Object)null) { ((EnemyAI)componentInChildren).creatureSFX.clip = potentialCreatureSFX; } if ((Object)(object)spawnSound != (Object)null) { ((CodeRebirthEnemyAI)componentInChildren).spawnSound = spawnSound; } if ((Object)(object)dieSFX != (Object)null) { ((EnemyAI)componentInChildren).dieSFX = dieSFX; } } } [CreateAssetMenu(fileName = "New Enemy Replacement Definition", menuName = "Entity Replacements/Enemy Replacements/CodeRebirth.src.Content.Enemies.Transporter")] public class DuskEntityReplacementDefinition_CodeRebirth_src_Content_Enemies_Transporter : DuskEnemyReplacementDefinition<Transporter> { [Space(10f)] public AudioClipsWithTime _idleAudioClips = new AudioClipsWithTime(); public AudioClip? dumpHazardSound; public AudioClip? hitJimothySound; public AudioClip? pickUpHazardSound; public AudioClip? spawnSound; public AudioClip? dieSFX; public AudioClip[] engineAndIdleSounds = Array.Empty<AudioClip>(); public AudioClip? potentialCreatureVoice; public AudioClip? potentialCreatureSFX; protected override void ApplyTyped(Transporter Transporter) { Transporter componentInChildren = ((Component)Transporter).gameObject.GetComponentInChildren<Transporter>(); if (_idleAudioClips.audioClips.Length != 0) { ((CodeRebirthEnemyAI)componentInChildren)._idleAudioClips = _idleAudioClips; } if (engineAndIdleSounds.Length != 0) { componentInChildren.engineAndIdleSounds = engineAndIdleSounds; } if ((Object)(object)((EnemyAI)componentInChildren).creatureVoice.clip != (Object)null && (Object)(object)potentialCreatureVoice != (Object)null) { ((EnemyAI)componentInChildren).creatureVoice.clip = potentialCreatureVoice; } if ((Object)(object)((EnemyAI)componentInChildren).creatureSFX.clip != (Object)null && (Object)(object)potentialCreatureSFX != (Object)null) { ((EnemyAI)componentInChildren).creatureSFX.clip = potentialCreatureSFX; } if ((Object)(object)dumpHazardSound != (Object)null) { componentInChildren.dumpHazardSound = dumpHazardSound; } if ((Object)(object)hitJimothySound != (Object)null) { componentInChildren.hitJimothySound = hitJimothySound; } if ((Object)(object)pickUpHazardSound != (Object)null) { componentInChildren.pickUpHazardSound = pickUpHazardSound; } if ((Object)(object)spawnSound != (Object)null) { ((CodeRebirthEnemyAI)componentInChildren).spawnSound = spawnSound; } if ((Object)(object)dieSFX != (Object)null) { ((EnemyAI)componentInChildren).dieSFX = dieSFX; } } } [CreateAssetMenu(fileName = "New Item Replacement Definition", menuName = "Entity Replacements/Item Replacements/CodeRebirth.src.Content.Maps.Money")] public class DuskEntityReplacementDefinition_CodeRebirth_src_Content_Maps_Money : DuskItemReplacementDefinition<Money> { [Space(10f)] public AudioClip? _collectSound; public AudioClip? potential_moneySource; public ParticleSystem? _moneyParticles; protected override void ApplyTyped(Money Money) { Money componentInChildren = ((Component)Money).gameObject.GetComponentInChildren<Money>(); if ((Object)(object)componentInChildren._moneySource.clip != (Object)null && (Object)(object)potential_moneySource != (Object)null) { componentInChildren._moneySource.clip = potential_moneySource; } if ((Object)(object)_collectSound != (Object)null) { componentInChildren._collectSound = _collectSound; } if ((Object)(object)_moneyParticles != (Object)null) { ParticleSystem moneyParticles = _moneyParticles; ParticleSystem moneyParticles2 = componentInChildren._moneyParticles; if ((Object)(object)moneyParticles != (Object)null && (Object)(object)moneyParticles2 != (Object)null) { GameObject val = Object.Instantiate<GameObject>(((Component)moneyParticles).gameObject, ((Component)moneyParticles2).transform.parent); ((Object)val).name = ((Object)((Component)moneyParticles2).gameObject).name; Object.Destroy((Object)(object)((Component)moneyParticles2).gameObject); componentInChildren._moneyParticles = _moneyParticles; } } } } [CreateAssetMenu(fileName = "New Unlockable Replacement Definition", menuName = "Entity Replacements/Unlockable Replacements/CodeRebirth.src.Content.Unlockables.CruiserGalAI")] public class DuskEntityReplacementDefinition_CodeRebirth_src_Content_Unlockables_CruiserGalAI : DuskUnlockableReplacementDefinition<DuskUnlockable> { [Space(10f)] public AudioClip? LaunchSound; public AudioClip? ChestCollisionToggleSound; public AudioClip? ActivateSound; public AudioClip? GreetOwnerSound; public AudioClip? DeactivateSound; public AudioClip[] RadioSounds = Array.Empty<AudioClip>(); public AudioClip[] StartOrStopFlyingSounds = Array.Empty<AudioClip>(); public AudioClip[] IdleSounds = Array.Empty<AudioClip>(); public AudioClip[] HitSounds = Array.Empty<AudioClip>(); public AudioClip[] FootstepSounds = Array.Empty<AudioClip>(); public AudioClip? potentialRadioAudioSource; public AudioClip? potentialFootstepSource; public AudioClip? potentialGalVoice; public AudioClip? potentialGalSFX; protected override void ApplyTyped(DuskUnlockable CruiserGalAI) { CruiserGalAI componentInChildren = ((Component)CruiserGalAI).gameObject.GetComponentInChildren<CruiserGalAI>(); if (RadioSounds.Length != 0) { componentInChildren.RadioSounds = RadioSounds; } if (StartOrStopFlyingSounds.Length != 0) { componentInChildren.StartOrStopFlyingSounds = StartOrStopFlyingSounds; } if (IdleSounds.Length != 0) { ((GalAI)componentInChildren).IdleSounds = IdleSounds; } if (HitSounds.Length != 0) { ((GalAI)componentInChildren).HitSounds = HitSounds; } if (FootstepSounds.Length != 0) { ((GalAI)componentInChildren).FootstepSounds = FootstepSounds; } if ((Object)(object)componentInChildren.RadioAudioSource.clip != (Object)null && (Object)(object)potentialRadioAudioSource != (Object)null) { componentInChildren.RadioAudioSource.clip = potentialRadioAudioSource; } if ((Object)(object)componentInChildren.FootstepSource.clip != (Object)null && (Object)(object)potentialFootstepSource != (Object)null) { componentInChildren.FootstepSource.clip = potentialFootstepSource; } if ((Object)(object)((GalAI)componentInChildren).GalVoice.clip != (Object)null && (Object)(object)potentialGalVoice != (Object)null) { ((GalAI)componentInChildren).GalVoice.clip = potentialGalVoice; } if ((Object)(object)((GalAI)componentInChildren).GalSFX.clip != (Object)null && (Object)(object)potentialGalSFX != (Object)null) { ((GalAI)componentInChildren).GalSFX.clip = potentialGalSFX; } if ((Object)(object)LaunchSound != (Object)null) { componentInChildren.LaunchSound = LaunchSound; } if ((Object)(object)ChestCollisionToggleSound != (Object)null) { componentInChildren.ChestCollisionToggleSound = ChestCollisionToggleSound; } if ((Object)(object)ActivateSound != (Object)null) { ((GalAI)componentInChildren).ActivateSound = ActivateSound; } if ((Object)(object)GreetOwnerSound != (Object)null) { ((GalAI)componentInChildren).GreetOwnerSound = GreetOwnerSound; } if ((Object)(object)DeactivateSound != (Object)null) { ((GalAI)componentInChildren).DeactivateSound = DeactivateSound; } } } [CreateAssetMenu(fileName = "New Unlockable Replacement Definition", menuName = "Entity Replacements/Unlockable Replacements/CodeRebirth.src.Content.Unlockables.SeamineGalAI")] public class DuskEntityReplacementDefinition_CodeRebirth_src_Content_Unlockables_SeamineGalAI : DuskUnlockableReplacementDefinition<DuskUnlockable> { [Space(10f)] public AudioClip? explosionSound; public AudioClip? hazardPingSound; public AudioClip? rechargeChargesSound; public AudioClip? spotEnemySound; public AudioClip? hugSound; public AudioClip? squeezeFishSound; public AudioClip? ActivateSound; public AudioClip? GreetOwnerSound; public AudioClip? DeactivateSound; public List<AudioClip> bruceSwimmingAudioClips = new List<AudioClip>(); public List<AudioClip> startOrEndRidingBruceAudioClips = new List<AudioClip>(); public AudioClip[] IdleSounds = Array.Empty<AudioClip>(); public AudioClip[] HitSounds = Array.Empty<AudioClip>(); public AudioClip[] FootstepSounds = Array.Empty<AudioClip>(); public AudioClip? potentialRidingBruceSource; public AudioClip? potentialGalVoice; public AudioClip? potentialGalSFX; protected override void ApplyTyped(DuskUnlockable SeamineGalAI) { SeamineGalAI componentInChildren = ((Component)SeamineGalAI).gameObject.GetComponentInChildren<SeamineGalAI>(); if (IdleSounds.Length != 0) { ((GalAI)componentInChildren).IdleSounds = IdleSounds; } if (HitSounds.Length != 0) { ((GalAI)componentInChildren).HitSounds = HitSounds; } if (FootstepSounds.Length != 0) { ((GalAI)componentInChildren).FootstepSounds = FootstepSounds; } if ((Object)(object)componentInChildren.RidingBruceSource.clip != (Object)null && (Object)(object)potentialRidingBruceSource != (Object)null) { componentInChildren.RidingBruceSource.clip = potentialRidingBruceSource; } if ((Object)(object)((GalAI)componentInChildren).GalVoice.clip != (Object)null && (Object)(object)potentialGalVoice != (Object)null) { ((GalAI)componentInChildren).GalVoice.clip = potentialGalVoice; } if ((Object)(object)((GalAI)componentInChildren).GalSFX.clip != (Object)null && (Object)(object)potentialGalSFX != (Object)null) { ((GalAI)componentInChildren).GalSFX.clip = potentialGalSFX; } if (bruceSwimmingAudioClips.Count > 0) { componentInChildren.bruceSwimmingAudioClips = bruceSwimmingAudioClips; } if (startOrEndRidingBruceAudioClips.Count > 0) { componentInChildren.startOrEndRidingBruceAudioClips = startOrEndRidingBruceAudioClips; } if ((Object)(object)explosionSound != (Object)null) { componentInChildren.explosionSound = explosionSound; } if ((Object)(object)hazardPingSound != (Object)null) { componentInChildren.hazardPingSound = hazardPingSound; } if ((Object)(object)rechargeChargesSound != (Object)null) { componentInChildren.rechargeChargesSound = rechargeChargesSound; } if ((Object)(object)spotEnemySound != (Object)null) { componentInChildren.spotEnemySound = spotEnemySound; } if ((Object)(object)hugSound != (Object)null) { componentInChildren.hugSound = hugSound; } if ((Object)(object)squeezeFishSound != (Object)null) { componentInChildren.squeezeFishSound = squeezeFishSound; } if ((Object)(object)ActivateSound != (Object)null) { ((GalAI)componentInChildren).ActivateSound = ActivateSound; } if ((Object)(object)GreetOwnerSound != (Object)null) { ((GalAI)componentInChildren).GreetOwnerSound = GreetOwnerSound; } if ((Object)(object)DeactivateSound != (Object)null) { ((GalAI)componentInChildren).DeactivateSound = DeactivateSound; } } } [CreateAssetMenu(fileName = "New Unlockable Replacement Definition", menuName = "Entity Replacements/Unlockable Replacements/CodeRebirth.src.Content.Unlockables.ShockwaveGalAI")] public class DuskEntityReplacementDefinition_CodeRebirth_src_Content_Unlockables_ShockwaveGalAI : DuskUnlockableReplacementDefinition<DuskUnlockable> { [Space(10f)] public AudioClip? PatSound; public AudioClip? ActivateSound; public AudioClip? GreetOwnerSound; public AudioClip? DeactivateSound; public AudioClip[] TakeDropItemSounds = Array.Empty<AudioClip>(); public AudioClip[] IdleSounds = Array.Empty<AudioClip>(); public AudioClip[] HitSounds = Array.Empty<AudioClip>(); public AudioClip[] FootstepSounds = Array.Empty<AudioClip>(); public AudioClip? potentialFlySource; public AudioClip? potentialGalVoice; public AudioClip? potentialGalSFX; protected override void ApplyTyped(DuskUnlockable ShockwaveGalAI) { ShockwaveGalAI componentInChildren = ((Component)ShockwaveGalAI).gameObject.GetComponentInChildren<ShockwaveGalAI>(); if (TakeDropItemSounds.Length != 0) { componentInChildren.TakeDropItemSounds = TakeDropItemSounds; } if (IdleSounds.Length != 0) { ((GalAI)componentInChildren).IdleSounds = IdleSounds; } if (HitSounds.Length != 0) { ((GalAI)componentInChildren).HitSounds = HitSounds; } if (FootstepSounds.Length != 0) { ((GalAI)componentInChildren).FootstepSounds = FootstepSounds; } if ((Object)(object)componentInChildren.FlySource.clip != (Object)null && (Object)(object)potentialFlySource != (Object)null) { componentInChildren.FlySource.clip = potentialFlySource; } if ((Object)(object)((GalAI)componentInChildren).GalVoice.clip != (Object)null && (Object)(object)potentialGalVoice != (Object)null) { ((GalAI)componentInChildren).GalVoice.clip = potentialGalVoice; } if ((Object)(object)((GalAI)componentInChildren).GalSFX.clip != (Object)null && (Object)(object)potentialGalSFX != (Object)null) { ((GalAI)componentInChildren).GalSFX.clip = potentialGalSFX; } if ((Object)(object)PatSound != (Object)null) { componentInChildren.PatSound = PatSound; } if ((Object)(object)ActivateSound != (Object)null) { ((GalAI)componentInChildren).ActivateSound = ActivateSound; } if ((Object)(object)GreetOwnerSound != (Object)null) { ((GalAI)componentInChildren).GreetOwnerSound = GreetOwnerSound; } if ((Object)(object)DeactivateSound != (Object)null) { ((GalAI)componentInChildren).DeactivateSound = DeactivateSound; } } } [CreateAssetMenu(fileName = "New Unlockable Replacement Definition", menuName = "Entity Replacements/Unlockable Replacements/CodeRebirth.src.Content.Unlockables.TerminalGalAI")] public class DuskEntityReplacementDefinition_CodeRebirth_src_Content_Unlockables_TerminalGalAI : DuskUnlockableReplacementDefinition<DuskUnlockable> { [Space(10f)] public AudioClip? scrapPingSound; public AudioClip? keyboardPressSound; public AudioClip? zapperSound; public AudioClip? keySound; public AudioClip? teleporterSound; public AudioClip? ActivateSound; public AudioClip? GreetOwnerSound; public AudioClip? DeactivateSound; public List<AudioClip> startOrEndFlyingAudioClips = new List<AudioClip>(); public AudioClip[] IdleSounds = Array.Empty<AudioClip>(); public AudioClip[] HitSounds = Array.Empty<AudioClip>(); public AudioClip[] FootstepSounds = Array.Empty<AudioClip>(); public AudioClip? potentialFlyingSource; public AudioClip? potentialFootstepSource; public AudioClip? potentialSpecialSource; public AudioClip? potentialGalVoice; public AudioClip? potentialGalSFX; protected override void ApplyTyped(DuskUnlockable TerminalGalAI) { TerminalGalAI componentInChildren = ((Component)TerminalGalAI).gameObject.GetComponentInChildren<TerminalGalAI>(); if (IdleSounds.Length != 0) { ((GalAI)componentInChildren).IdleSounds = IdleSounds; } if (HitSounds.Length != 0) { ((GalAI)componentInChildren).HitSounds = HitSounds; } if (FootstepSounds.Length != 0) { ((GalAI)componentInChildren).FootstepSounds = FootstepSounds; } if ((Object)(object)componentInChildren.FlyingSource.clip != (Object)null && (Object)(object)potentialFlyingSource != (Object)null) { componentInChildren.FlyingSource.clip = potentialFlyingSource; } if ((Object)(object)componentInChildren.FootstepSource.clip != (Object)null && (Object)(object)potentialFootstepSource != (Object)null) { componentInChildren.FootstepSource.clip = potentialFootstepSource; } if ((Object)(object)componentInChildren.specialSource.clip != (Object)null && (Object)(object)potentialSpecialSource != (Object)null) { componentInChildren.specialSource.clip = potentialSpecialSource; } if ((Object)(object)((GalAI)componentInChildren).GalVoice.clip != (Object)null && (Object)(object)potentialGalVoice != (Object)null) { ((GalAI)componentInChildren).GalVoice.clip = potentialGalVoice; } if ((Object)(object)((GalAI)componentInChildren).GalSFX.clip != (Object)null && (Object)(object)potentialGalSFX != (Object)null) { ((GalAI)componentInChildren).GalSFX.clip = potentialGalSFX; } if (startOrEndFlyingAudioClips.Count > 0) { componentInChildren.startOrEndFlyingAudioClips = startOrEndFlyingAudioClips; } if ((Object)(object)scrapPingSound != (Object)null) { componentInChildren.scrapPingSound = scrapPingSound; } if ((Object)(object)keyboardPressSound != (Object)null) { componentInChildren.keyboardPressSound = keyboardPressSound; } if ((Object)(object)zapperSound != (Object)null) { componentInChildren.zapperSound = zapperSound; } if ((Object)(object)keySound != (Object)null) { componentInChildren.keySound = keySound; } if ((Object)(object)teleporterSound != (Object)null) { componentInChildren.teleporterSound = teleporterSound; } if ((Object)(object)ActivateSound != (Object)null) { ((GalAI)componentInChildren).ActivateSound = ActivateSound; } if ((Object)(object)GreetOwnerSound != (Object)null) { ((GalAI)componentInChildren).GreetOwnerSound = GreetOwnerSound; } if ((Object)(object)DeactivateSound != (Object)null) { ((GalAI)componentInChildren).DeactivateSound = DeactivateSound; } } } } namespace System.Runtime.CompilerServices { [AttributeUsage(AttributeTargets.Assembly, AllowMultiple = true)] internal sealed class IgnoresAccessChecksToAttribute : Attribute { public IgnoresAccessChecksToAttribute(string assemblyName) { } } }