using System; using System.Collections.Generic; using System.Diagnostics; using System.IO; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.Versioning; using System.Security; using System.Security.Permissions; using System.Text.RegularExpressions; using BepInEx; using BepInEx.Configuration; using CSync.Extensions; using CSync.Lib; using Dissonance; using GameNetcodeStuff; using HSRSuitsLite.BodyReplacement; using HarmonyLib; using JigglePhysics; using Microsoft.CodeAnalysis; using ModelReplacement; using ModelReplacement.AvatarBodyUpdater; using MoreSuits; using UnityEngine; using UnityEngine.InputSystem; using UnityEngine.InputSystem.Controls; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints)] [assembly: TargetFramework(".NETStandard,Version=v2.1", FrameworkDisplayName = ".NET Standard 2.1")] [assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)] [assembly: AssemblyVersion("0.0.0.0")] [module: UnverifiableCode] [module: RefSafetyRules(11)] namespace Microsoft.CodeAnalysis { [CompilerGenerated] [Embedded] internal sealed class EmbeddedAttribute : Attribute { } } namespace System.Runtime.CompilerServices { [CompilerGenerated] [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] [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] [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 HSRSuitsLite { public static class LSR_Assets { public static string MainAssetBundleName = "HSRSuitsLite"; public static AssetBundle MainAssetBundle = null; private static string GetAssemblyName() { return Assembly.GetExecutingAssembly().GetName().Name.Replace(" ", "_"); } public static void PopulateAssets() { if ((Object)(object)MainAssetBundle == (Object)null) { using (Stream stream = Assembly.GetExecutingAssembly().GetManifestResourceStream(GetAssemblyName() + "." + MainAssetBundleName)) { MainAssetBundle = AssetBundle.LoadFromStream(stream); } } } } public class LSR_Config : SyncedConfig2 { public static ConfigEntry voiceSensitivity { get; private set; } public static ConfigEntry removePostProcessing { get; private set; } public static ConfigEntry disableHelmet { get; private set; } [field: SyncedEntryField] public static SyncedEntry allowHardcore { get; private set; } [field: SyncedEntryField] public static SyncedEntry NormalTB { get; private set; } [field: SyncedEntryField] public static SyncedEntry HarmonyTB { get; private set; } [field: SyncedEntryField] public static SyncedEntry RemembranceTB { get; private set; } [field: SyncedEntryField] public static SyncedEntry disableIca { get; private set; } public static ConfigEntry developerMode { get; private set; } public LSR_Config(ConfigFile config) : base("Lavender.HSRSuitsLite") { MoreSuitsMod.MaxSuits = SyncedBindingExtensions.BindSyncedEntry(config, "Max suits value override", "Override value", 1000, "The value should be more than 100 for this mod alone\n\nHost side option").Value; voiceSensitivity = config.Bind("Features Setting", "Sensitivity Value", 50f, "NEED TO REJOIN SESSION TO APPLY CHANGE.\n\nChange mic sensitivity value for mouth to open\n\nClient side option"); removePostProcessing = config.Bind("Features Setting", "Remove post processing", true, "NEED TO REJOIN SESSION TO APPLY CHANGE.\n\nRemove post processing on model.\n\nRemove pixelated look on model, make the model more clean and smoother to look at\n\nClient side option"); disableHelmet = config.Bind("Features Setting", "Disable helmet", true, "NEED TO REJOIN SESSION TO APPLY CHANGE.\n\nRemove helmet on player.\n\nRemove all the crack and blur on screen, make the visual clearer\n\nClient side option"); allowHardcore = SyncedBindingExtensions.BindSyncedEntry(config, "Features Setting", "Allow hardcore", false, "NEED TO REJOIN SESSION TO APPLY CHANGE.\n\nApply accurate height when using terminal.\n\nCause model become too tall or too short to use terminal, driving vehicles...\n\nHost side option"); NormalTB = SyncedBindingExtensions.BindSyncedEntry(config, "Model Setting", "Traiblazer - Default", true, "RE-EQUIP SUIT TO SEE CHANGE.\n\nUsing normal Trailblazer model\n\nHost side option"); HarmonyTB = SyncedBindingExtensions.BindSyncedEntry(config, "Model Setting", "Traiblazer - Harmony", false, "RE-EQUIP SUIT TO SEE CHANGE.\n\nUsing Harmony Trailblazer model\n\nHost side option"); RemembranceTB = SyncedBindingExtensions.BindSyncedEntry(config, "Model Setting", "Traiblazer - Remembrance", false, "RE-EQUIP SUIT TO SEE CHANGE.\n\nUsing Remembrance Trailblazer model\n\nHost side option"); disableIca = SyncedBindingExtensions.BindSyncedEntry(config, "Model Setting", "Hyacine - Disable Ica", false, "RE-EQUIP SUIT TO SEE CHANGE.\n\nRemove Ica from Hyacine\n\nHost side option"); developerMode = config.Bind("Developer Mode", "Confirm", false, "Enable developer mode.\n\nThis one is purely for me to check if any features is wrong or off"); ConfigManager.Register((SyncedConfig2)this); } } [BepInPlugin("Lavender.HSRSuitsLite", "HSR Suits Lite", "1.0.0")] [BepInDependency(/*Could not decode attribute arguments.*/)] [BepInDependency(/*Could not decode attribute arguments.*/)] public class LSR_Plugin : BaseUnityPlugin { internal const string LethalStarRailGUID = "Lavender.HSRSuitsLite"; public static LSR_Plugin Instance; public static LSR_Config config; private void Awake() { //IL_02a9: Unknown result type (might be due to invalid IL or missing references) config = new LSR_Config(((BaseUnityPlugin)this).Config); LSR_Assets.PopulateAssets(); Dictionary dictionary = new Dictionary { { "Archer", typeof(ARCHER) }, { "Argenti", typeof(ARGENTI) }, { "Boothill", typeof(BOOTHILL) }, { "Bronya", typeof(BRONYA) }, { "Caelus", typeof(CAELUS) }, { "Cerydra", typeof(CERYDRA) }, { "Cyrene-AntaCollab", typeof(CYRENE_ANTACOLLAB) }, { "Evanescia", typeof(EVANESCIA) }, { "Firefly", typeof(FIREFLY) }, { "Firefly-SpringMissive", typeof(FIREFLY_SPRINGMISSIVE) }, { "Gepard", typeof(GEPARD) }, { "Herta", typeof(HERTA) }, { "Hyacine", typeof(HYACINE) }, { "March7th", typeof(MARCH7TH_DEFAULT) }, { "March7th-Evernight", typeof(MARCH7TH_EVERNIGHT) }, { "Pompom", typeof(POMPOM) }, { "Qingque", typeof(QINGQUE) }, { "Robin-FantaCollab", typeof(ROBIN_FANTACOLLAB) }, { "Sam", typeof(SAM) }, { "Sampo", typeof(SAMPO) }, { "Silverwolf", typeof(SILVERWOLF) }, { "Sparkle", typeof(SPARKLE) }, { "Sparkle-FictitiousGame", typeof(SPARKLE_FICTITIOUSGAME) }, { "Sparxie", typeof(SPARXIE) }, { "Sparxie-CandyCoatedWaves", typeof(SPARXIE_CANDYCOATEDWAVES) }, { "Stelle", typeof(STELLE) }, { "TheHerta", typeof(THEHERTA) }, { "Yaoguang", typeof(YAOGUANG) } }; foreach (KeyValuePair item in dictionary) { ModelReplacementAPI.RegisterSuitModelReplacement(item.Key, item.Value); } new Harmony("LethalStarRail").PatchAll(); ((BaseUnityPlugin)this).Logger.LogInfo((object)string.Format("Plugin {0} is loaded with {1} suits. Thanks for the wait!", "Lavender.HSRSuitsLite", dictionary.Count)); } } public class LSR_Script : MonoBehaviour { protected VoicePlayerState? voice; public PlayerControllerB? player; private LSR_Script? nearbyPlayerScript; private PlayerControllerB? nearbyPlayer; private float trackingDistance = 20f; private SkinnedMeshRenderer? skinnedMeshRenderer; private Transform? target; private string? modelName; private int MemEyesIndex; private int IcaEyesIndex; private int[]? activeBlendshape; private float distanceToPlayer = 30f; private Vector3 rootScale = Vector3.zero; private Vector3 LastPosition = Vector3.zero; public Vector3 modCamPos = Vector3.zero; private bool isModdedCamHeight; public readonly Dictionary blendshapeIndex = new Dictionary(); private Transform? eyeBone; private Vector3 DefaultEye_EulerAngles; public float eyesMaxYaw; public float eyesMaxPitch; public float eyesRotationSpeed; public Transform? headBone; private Vector3 DefaultHead_EulerAngles; public float headMaxYaw; public float headMaxPitch; public float headRotationSpeed; private float headOffsetZ; private Vector3 localForward = new Vector3(0f, 90f, 20f); private bool isNormalTB; private bool isHarmonyTB; private bool isRemembranceTB; private int mouthIndex = -1; private int eyesIndex = -1; private float blendShapeValue; private bool isDeath; private bool isRandomEnable = true; private bool StopSpamLog; private int random; private float interval; private float nearbyPlayerInactiveTime; private bool explodeOnTrigger; private bool instaKill; private float damageRadius = 6f; private int explosionDamage = 90; private int previousHealth; private float healTimer; private bool healBack; public readonly List eyesName = new List { "まばたき", "00_Close01_Eye", "Fac_Eye_Close" }; private readonly List mouthName = new List { "あ", "Mouth_00_A", "Fac_Mth_AaTalk" }; public readonly List faceEmotion = new List { "OnScare", "OnDeath 1", "OnDeath 2" }; private readonly List chaosModel = new List { "Blade_Mortenax", "Blade", "Yingxing", "Aventurine", "Aventurine_WaveFlair", "Acheron", "Nihility", "Seele", "Guinaifen", "Robin", "Robin_FantaCollab", "Robin_Summeretto", "Sunday", "Sunday_FantaCollab", "AstraYao" }; private readonly Dictionary SpecificScaleList = new Dictionary { { "AstraYao", new Vector3(0.97f, 0.97f, 0.97f) }, { "Aventurine_Boss", Vector3.one }, { "Aventurine_Waveflair", Vector3.one }, { "Baiheng", new Vector3(0.94f, 0.94f, 0.94f) }, { "Blackswan", new Vector3(0.97f, 0.97f, 0.97f) }, { "Blade", new Vector3(1.03f, 1.03f, 1.03f) }, { "Caelus", Vector3.one }, { "Castorice", new Vector3(0.94f, 0.94f, 0.94f) }, { "Cerydra", new Vector3(0.78f, 0.78f, 0.78f) }, { "Cipher", new Vector3(0.94f, 0.94f, 0.94f) }, { "Cocolia", new Vector3(0.97f, 0.97f, 0.97f) }, { "Cyrene", new Vector3(0.94f, 0.94f, 0.94f) }, { "Cyrene_NPC", new Vector3(0.78f, 0.78f, 0.78f) }, { "DanHeng-PT", new Vector3(1.03f, 1.03f, 1.03f) }, { "Evanescia", new Vector3(0.94f, 0.94f, 0.94f) }, { "Flame_Reaver", new Vector3(1.03f, 1.03f, 1.03f) }, { "Fugue", new Vector3(0.94f, 0.94f, 0.94f) }, { "Fuxuan", new Vector3(0.77f, 0.77f, 0.77f) }, { "Hook", new Vector3(0.6f, 0.7f, 0.6f) }, { "Hysilens", new Vector3(0.94f, 0.94f, 0.94f) }, { "Jade", new Vector3(0.97f, 0.97f, 0.97f) }, { "Pearl", new Vector3(0.94f, 0.94f, 0.94f) }, { "Pela", new Vector3(0.78f, 0.78f, 0.78f) }, { "Phainon", new Vector3(1.03f, 1.03f, 1.03f) }, { "Phantylia", new Vector3(0.97f, 0.97f, 0.97f) }, { "Pompom", new Vector3(0.53f, 0.53f, 0.53f) }, { "Robin", new Vector3(0.94f, 0.94f, 0.94f) }, { "Robin_FantaCollab", new Vector3(0.94f, 0.94f, 0.94f) }, { "Seele", new Vector3(0.94f, 0.94f, 0.94f) }, { "Silverwolf", new Vector3(0.78f, 0.78f, 0.78f) }, { "Silverwolf_LV999", new Vector3(0.78f, 0.78f, 0.78f) }, { "Siobhan", new Vector3(0.94f, 0.94f, 0.94f) }, { "Sparkle", new Vector3(0.78f, 0.78f, 0.78f) }, { "Sparxie", new Vector3(0.78f, 0.78f, 0.78f) }, { "Sparxie_CandyCoatedWaves", new Vector3(0.78f, 0.78f, 0.78f) }, { "Sunday", Vector3.one }, { "Sunday_FantaCollab", Vector3.one }, { "Stelle", Vector3.one }, { "TheHerta", new Vector3(0.94f, 0.94f, 0.94f) }, { "Tingyun", new Vector3(0.94f, 0.94f, 0.94f) }, { "Tribios", new Vector3(0.97f, 0.97f, 0.97f) }, { "Topaz", new Vector3(0.94f, 0.94f, 0.94f) }, { "Yaoguang", new Vector3(0.94f, 0.94f, 0.94f) }, { "Yingxing", new Vector3(1.03f, 1.03f, 1.03f) }, { "Yukong", new Vector3(0.97f, 0.97f, 0.97f) } }; private float Sensitivity => LSR_Config.voiceSensitivity.Value; public bool IsAllowHardcore => LSR_Config.allowHardcore.Value; private bool RemovePostProcessing => LSR_Config.removePostProcessing.Value; public bool IsHelmetDisable => LSR_Config.disableHelmet.Value; private bool IsDeveloperMode() { //IL_0012: Unknown result type (might be due to invalid IL or missing references) //IL_0021: Unknown result type (might be due to invalid IL or missing references) //IL_002b: Expected O, but got Unknown //IL_002b: Expected O, but got Unknown if (LSR_Config.developerMode.Value) { return (Object)player == (Object)StartOfRound.Instance.localPlayerController; } return false; } private float Map(float value, float min1, float max1, float min2, float max2) { return (value - min1) / (max1 - min1) * (max2 - min2) + min2; } private float NormalizeAngle(float angle) { angle %= 360f; if (angle > 180f) { angle -= 360f; } return angle; } public void Model_Init(OffsetBuilder offsetBuilder, float _eyeMaxYaw = 10f, float _eyeMaxPitch = 10f, float _eyeRotSpeed = 10f, float _headMaxYaw = 40f, float _headMaxPitch = 15f, float _headRotSpeed = 5f, float _headOffset = 1.5f) { //IL_0006: Unknown result type (might be due to invalid IL or missing references) //IL_0011: Expected O, but got Unknown //IL_0097: 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_011c: Unknown result type (might be due to invalid IL or missing references) //IL_012c: Unknown result type (might be due to invalid IL or missing references) //IL_00de: Unknown result type (might be due to invalid IL or missing references) //IL_013d: Unknown result type (might be due to invalid IL or missing references) //IL_014c: Unknown result type (might be due to invalid IL or missing references) //IL_0151: Unknown result type (might be due to invalid IL or missing references) //IL_010a: Unknown result type (might be due to invalid IL or missing references) //IL_00fc: Unknown result type (might be due to invalid IL or missing references) //IL_019c: Unknown result type (might be due to invalid IL or missing references) //IL_01ab: Unknown result type (might be due to invalid IL or missing references) //IL_0211: Unknown result type (might be due to invalid IL or missing references) //IL_0216: Unknown result type (might be due to invalid IL or missing references) //IL_0222: Unknown result type (might be due to invalid IL or missing references) //IL_0231: Unknown result type (might be due to invalid IL or missing references) //IL_0236: Unknown result type (might be due to invalid IL or missing references) //IL_0244: Unknown result type (might be due to invalid IL or missing references) //IL_0249: Unknown result type (might be due to invalid IL or missing references) //IL_0255: Unknown result type (might be due to invalid IL or missing references) //IL_0264: Unknown result type (might be due to invalid IL or missing references) //IL_0269: Unknown result type (might be due to invalid IL or missing references) //IL_01fb: Unknown result type (might be due to invalid IL or missing references) if (!((Object)player != (Object)null)) { return; } eyesMaxYaw = _eyeMaxYaw; eyesMaxPitch = _eyeMaxPitch; eyesRotationSpeed = _eyeRotSpeed; headMaxYaw = _headMaxYaw; headMaxPitch = _headMaxPitch; headRotationSpeed = _headRotSpeed; headOffsetZ = _headOffset; if ((Object)(object)offsetBuilder != (Object)null) { modelName = ((Object)offsetBuilder).name; Match match = new Regex("^(\\w+)[_-].*").Match(((Object)offsetBuilder).name); VoiceRecognize(); if (SpecificScaleList.ContainsKey(((Object)offsetBuilder).name)) { ((Component)player).gameObject.transform.localScale = SpecificScaleList[((Object)offsetBuilder).name]; } else if (match.Success) { string value = match.Groups[1].Value; ((Component)player).gameObject.transform.localScale = (SpecificScaleList.ContainsKey(value) ? SpecificScaleList[value] : offsetBuilder.rootScale); } else { ((Component)player).gameObject.transform.localScale = offsetBuilder.rootScale; } rootScale = ((Component)player).gameObject.transform.localScale; if (rootScale.x > 1f || rootScale.y > 1f || rootScale.z > 1f) { isModdedCamHeight = true; ((Component)player).gameObject.transform.localScale = Vector3.one; modCamPos = ((rootScale.x > 1.2f || rootScale.y > 1.2f || rootScale.z > 1.2f) ? new Vector3(0f, 0.9f, 0f) : new Vector3(0f, 0.2f, 0f)); rootScale = ((Component)player).gameObject.transform.localScale; } else { isModdedCamHeight = false; modCamPos = Vector3.zero; rootScale = ((Component)player).gameObject.transform.localScale; } } } private void Accessories(string _modelName) { //IL_03d1: Unknown result type (might be due to invalid IL or missing references) //IL_03ca: 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_00ec: Unknown result type (might be due to invalid IL or missing references) //IL_0273: Unknown result type (might be due to invalid IL or missing references) //IL_029d: Unknown result type (might be due to invalid IL or missing references) //IL_01c2: Unknown result type (might be due to invalid IL or missing references) //IL_01bb: Unknown result type (might be due to invalid IL or missing references) //IL_0329: Unknown result type (might be due to invalid IL or missing references) //IL_0322: Unknown result type (might be due to invalid IL or missing references) //IL_02d6: Unknown result type (might be due to invalid IL or missing references) //IL_02cf: Unknown result type (might be due to invalid IL or missing references) //IL_012c: Unknown result type (might be due to invalid IL or missing references) //IL_0125: Unknown result type (might be due to invalid IL or missing references) //IL_01fb: Unknown result type (might be due to invalid IL or missing references) //IL_01f4: Unknown result type (might be due to invalid IL or missing references) //IL_035e: Unknown result type (might be due to invalid IL or missing references) //IL_0357: Unknown result type (might be due to invalid IL or missing references) //IL_0225: Unknown result type (might be due to invalid IL or missing references) //IL_0165: Unknown result type (might be due to invalid IL or missing references) //IL_015e: Unknown result type (might be due to invalid IL or missing references) //IL_0393: Unknown result type (might be due to invalid IL or missing references) //IL_038c: Unknown result type (might be due to invalid IL or missing references) if ((Object)(object)skinnedMeshRenderer == (Object)null) { return; } switch ((_modelName == "Caelus" || _modelName == "Stelle") ? "Trailblazer" : _modelName) { case "AstraYao": HUDManager.Instance.DisplayTip("Model Info:", "A model I added for funsie, don't mind me :3\nHave fun employee", false, true, "LC_Tip1"); break; case "Trailblazer": if (LSR_Config.NormalTB.Value || LSR_Config.HarmonyTB.Value || SyncedEntry.op_Implicit(LSR_Config.RemembranceTB)) { if (LSR_Config.NormalTB.Value) { isNormalTB = true; isHarmonyTB = false; isRemembranceTB = false; ((Component)GetBoneMap(skinnedMeshRenderer.bones)["Clockie_Root_M"]).transform.localScale = (isNormalTB ? Vector3.zero : Vector3.one); ((Component)GetBoneMap(skinnedMeshRenderer.bones)["Weapon_JNT"]).transform.localScale = (isNormalTB ? Vector3.zero : Vector3.one); ((Component)GetBoneMap(skinnedMeshRenderer.bones)["Mem_Hips"]).transform.localScale = (isNormalTB ? Vector3.zero : Vector3.one); } if (LSR_Config.HarmonyTB.Value) { isNormalTB = false; isHarmonyTB = true; isRemembranceTB = false; ((Component)GetBoneMap(skinnedMeshRenderer.bones)["Clockie_Root_M"]).transform.localScale = (isHarmonyTB ? Vector3.one : Vector3.zero); ((Component)GetBoneMap(skinnedMeshRenderer.bones)["Weapon_JNT"]).transform.localScale = (isHarmonyTB ? Vector3.one : Vector3.zero); ((Component)GetBoneMap(skinnedMeshRenderer.bones)["Mem_Hips"]).transform.localScale = Vector3.zero; } if (LSR_Config.RemembranceTB.Value) { isNormalTB = false; isHarmonyTB = false; isRemembranceTB = true; ((Component)GetBoneMap(skinnedMeshRenderer.bones)["Clockie_Root_M"]).transform.localScale = Vector3.zero; ((Component)GetBoneMap(skinnedMeshRenderer.bones)["Weapon_JNT"]).transform.localScale = Vector3.zero; ((Component)GetBoneMap(skinnedMeshRenderer.bones)["Mem_Hips"]).transform.localScale = (isRemembranceTB ? Vector3.one : Vector3.zero); } } else { isNormalTB = false; isHarmonyTB = false; isRemembranceTB = false; int num = Random.Range(0, 3); ((Component)GetBoneMap(skinnedMeshRenderer.bones)["Clockie_Root_M"]).transform.localScale = ((num == 1) ? Vector3.one : Vector3.zero); ((Component)GetBoneMap(skinnedMeshRenderer.bones)["Weapon_JNT"]).transform.localScale = ((num == 1) ? Vector3.one : Vector3.zero); ((Component)GetBoneMap(skinnedMeshRenderer.bones)["Mem_Hips"]).transform.localScale = ((num == 2) ? Vector3.one : Vector3.zero); } break; case "Hyacine": ((Component)GetBoneMap(skinnedMeshRenderer.bones)["Ica_Disable"]).transform.localScale = (LSR_Config.disableIca.Value ? Vector3.zero : Vector3.one); break; } } private void CheckScaling() { //IL_000c: Unknown result type (might be due to invalid IL or missing references) //IL_0011: Unknown result type (might be due to invalid IL or missing references) //IL_001e: Unknown result type (might be due to invalid IL or missing references) //IL_0029: Unknown result type (might be due to invalid IL or missing references) //IL_0038: Unknown result type (might be due to invalid IL or missing references) //IL_0100: Unknown result type (might be due to invalid IL or missing references) //IL_0105: Unknown result type (might be due to invalid IL or missing references) //IL_007f: Unknown result type (might be due to invalid IL or missing references) //IL_0085: Unknown result type (might be due to invalid IL or missing references) //IL_004a: Unknown result type (might be due to invalid IL or missing references) //IL_005a: Unknown result type (might be due to invalid IL or missing references) //IL_0112: Unknown result type (might be due to invalid IL or missing references) //IL_011d: Unknown result type (might be due to invalid IL or missing references) //IL_012c: Unknown result type (might be due to invalid IL or missing references) //IL_009a: Unknown result type (might be due to invalid IL or missing references) //IL_00a9: Unknown result type (might be due to invalid IL or missing references) //IL_00b3: Expected O, but got Unknown //IL_00b3: Expected O, but got Unknown //IL_0170: Unknown result type (might be due to invalid IL or missing references) //IL_0176: Unknown result type (might be due to invalid IL or missing references) //IL_013e: Unknown result type (might be due to invalid IL or missing references) //IL_014e: Unknown result type (might be due to invalid IL or missing references) //IL_00c9: Unknown result type (might be due to invalid IL or missing references) //IL_00cf: 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_0188: Unknown result type (might be due to invalid IL or missing references) //IL_0197: Unknown result type (might be due to invalid IL or missing references) //IL_01a1: Expected O, but got Unknown //IL_01a1: Expected O, but got Unknown //IL_01b4: Unknown result type (might be due to invalid IL or missing references) //IL_01ba: Unknown result type (might be due to invalid IL or missing references) //IL_01bf: Unknown result type (might be due to invalid IL or missing references) if (IsAllowHardcore) { if (rootScale != Vector3.zero && rootScale != ((Component)player).gameObject.transform.localScale) { ((Component)player).gameObject.transform.localScale = rootScale; } if (isModdedCamHeight && ((Component)player.gameplayCamera).transform.localPosition != modCamPos && (Object)player == (Object)StartOfRound.Instance.localPlayerController) { Transform transform = ((Component)player.gameplayCamera).transform; transform.localPosition += modCamPos; } } else if (!player.inTerminalMenu && !player.inVehicleAnimation) { if (rootScale != Vector3.zero && rootScale != ((Component)player).gameObject.transform.localScale) { ((Component)player).gameObject.transform.localScale = rootScale; } if (isModdedCamHeight && ((Component)player.gameplayCamera).transform.localPosition != modCamPos && (Object)player == (Object)StartOfRound.Instance.localPlayerController) { Transform transform2 = ((Component)player.gameplayCamera).transform; transform2.localPosition += modCamPos; } } } private void Model_Processing(GameObject gameObject) { if ((Object)(object)skinnedMeshRenderer == (Object)null) { return; } if (((Object)gameObject.transform).name.Contains("ViewModel") || ((Object)gameObject.transform).name.Contains("Shadow")) { Transform val = gameObject.transform.Find("Body (Outline)"); if ((Object)(object)val != (Object)null) { Object.Destroy((Object)(object)((Component)val).gameObject); return; } } if (!RemovePostProcessing) { return; } Material[] sharedMaterials = ((Renderer)skinnedMeshRenderer).sharedMaterials; foreach (Material val2 in sharedMaterials) { if (val2.renderQueue < 3000) { val2.renderQueue = 2900; } } } public Dictionary GetBoneMap(Transform[] OriginalBone) { Dictionary dictionary = new Dictionary(); foreach (Transform val in OriginalBone) { if ((Object)(object)val != (Object)null && !dictionary.ContainsKey(((Object)val).name)) { dictionary.Add(((Object)val).name, val); } } return dictionary; } private void VoiceRecognize() { //IL_0006: Unknown result type (might be due to invalid IL or missing references) //IL_0011: Expected O, but got Unknown //IL_003c: Unknown result type (might be due to invalid IL or missing references) //IL_004b: Unknown result type (might be due to invalid IL or missing references) //IL_0055: Expected O, but got Unknown //IL_0055: Expected O, but got Unknown if (!((Object)player == (Object)null)) { StartOfRound.Instance.RefreshPlayerVoicePlaybackObjects(); voice = player.voicePlayerState; if (voice == null && (Object)player == (Object)StartOfRound.Instance.localPlayerController) { string localPlayerName = StartOfRound.Instance.voiceChatModule.LocalPlayerName; voice = StartOfRound.Instance.voiceChatModule.FindPlayer(localPlayerName); } } } private void InitiateMouthMovement() { //IL_0006: Unknown result type (might be due to invalid IL or missing references) //IL_0011: Expected O, but got Unknown if ((Object)player == (Object)null || (Object)(object)StartOfRound.Instance.voiceChatModule == (Object)null) { return; } if (voice == null) { VoiceRecognize(); return; } float num = Mathf.Clamp(Map(voice.Amplitude * Sensitivity, 0f, 0.2f, 0f, 50f), 0f, 50f); float num2 = ((voice.IsSpeaking && !player.isPlayerDead) ? num : 0f); if (mouthIndex != -1) { ((Component)this).gameObject.GetComponentInChildren().SetBlendShapeWeight(mouthIndex, num2); } } private void GetBlendshapeData() { if ((Object)(object)skinnedMeshRenderer == (Object)null) { return; } List list = new List { eyesIndex }; if (modelName == "Caelus" || modelName == "Stelle") { list.Add(MemEyesIndex); } else if (modelName == "Blade" || modelName == "Yingxing") { int blendShapeIndex = skinnedMeshRenderer.sharedMesh.GetBlendShapeIndex("Blink"); if (blendShapeIndex != -1) { list.Add(blendShapeIndex); } } else if (modelName == "Hyacine") { list.Add(IcaEyesIndex); } activeBlendshape = list.ToArray(); } private void InitiateBlinking() { if (activeBlendshape == null) { GetBlendshapeData(); } if ((Object)(object)skinnedMeshRenderer == (Object)null) { return; } interval += Time.deltaTime; if (isRandomEnable) { random = Random.Range(0, 5); isRandomEnable = false; } if (Mathf.FloorToInt(interval) == random && interval % 1f < 0.3f) { blendShapeValue += Time.deltaTime * 5000f; float num = Mathf.Clamp(blendShapeValue, 0f, 100f); for (int i = 0; i < activeBlendshape.Length; i++) { skinnedMeshRenderer.SetBlendShapeWeight(activeBlendshape[i], num); } } else { for (int j = 0; j < activeBlendshape.Length; j++) { skinnedMeshRenderer.SetBlendShapeWeight(activeBlendshape[j], 0f); } } if (interval > 5f) { interval = 0f; blendShapeValue = 0f; isRandomEnable = true; } } private void GetNearbyPlayers() { //IL_0006: Unknown result type (might be due to invalid IL or missing references) //IL_0011: Expected O, but got Unknown //IL_00a8: Unknown result type (might be due to invalid IL or missing references) //IL_00b3: Expected O, but got Unknown //IL_003b: Unknown result type (might be due to invalid IL or missing references) //IL_0045: Unknown result type (might be due to invalid IL or missing references) //IL_0050: Unknown result type (might be due to invalid IL or missing references) //IL_005a: Unknown result type (might be due to invalid IL or missing references) //IL_0074: Unknown result type (might be due to invalid IL or missing references) //IL_007f: Expected O, but got Unknown if ((Object)player == (Object)null) { return; } PlayerControllerB[] allPlayerScripts = StartOfRound.Instance.allPlayerScripts; foreach (PlayerControllerB val in allPlayerScripts) { if (val.playerClientId != player.playerClientId) { float num = Vector3.Distance(((Component)val).transform.position, ((Component)player).transform.position); if ((num < trackingDistance && (Object)nearbyPlayer == (Object)null) || num < distanceToPlayer) { nearbyPlayer = val; distanceToPlayer = num; } } } if ((Object)nearbyPlayer != (Object)null) { ProcessNearbyPlayer(nearbyPlayer); } } private void ProcessNearbyPlayer(PlayerControllerB _nearbyPlayer) { //IL_0006: Unknown result type (might be due to invalid IL or missing references) //IL_0011: Expected O, but got Unknown //IL_0014: Unknown result type (might be due to invalid IL or missing references) //IL_001f: Expected O, but got Unknown //IL_0142: Unknown result type (might be due to invalid IL or missing references) //IL_0147: Unknown result type (might be due to invalid IL or missing references) //IL_0155: Unknown result type (might be due to invalid IL or missing references) //IL_015f: Unknown result type (might be due to invalid IL or missing references) //IL_0164: Unknown result type (might be due to invalid IL or missing references) //IL_01ce: Unknown result type (might be due to invalid IL or missing references) //IL_01d9: Unknown result type (might be due to invalid IL or missing references) //IL_0199: Unknown result type (might be due to invalid IL or missing references) //IL_019f: Unknown result type (might be due to invalid IL or missing references) //IL_01a9: Unknown result type (might be due to invalid IL or missing references) //IL_0236: Unknown result type (might be due to invalid IL or missing references) //IL_0240: Unknown result type (might be due to invalid IL or missing references) //IL_0245: Unknown result type (might be due to invalid IL or missing references) //IL_020c: Unknown result type (might be due to invalid IL or missing references) //IL_0217: Unknown result type (might be due to invalid IL or missing references) //IL_030e: Unknown result type (might be due to invalid IL or missing references) //IL_0315: Unknown result type (might be due to invalid IL or missing references) //IL_031b: Unknown result type (might be due to invalid IL or missing references) //IL_028e: Unknown result type (might be due to invalid IL or missing references) //IL_0299: Unknown result type (might be due to invalid IL or missing references) //IL_0348: Unknown result type (might be due to invalid IL or missing references) //IL_034f: Unknown result type (might be due to invalid IL or missing references) //IL_0355: Unknown result type (might be due to invalid IL or missing references) //IL_02cf: Unknown result type (might be due to invalid IL or missing references) //IL_02da: Unknown result type (might be due to invalid IL or missing references) if ((Object)player == (Object)null || (Object)_nearbyPlayer == (Object)null) { return; } nearbyPlayerScript = null; LSR_Script[] array = Object.FindObjectsOfType(); foreach (LSR_Script lSR_Script in array) { if (((Object)((Component)lSR_Script).gameObject).name.Contains(_nearbyPlayer.playerUsername)) { nearbyPlayerScript = lSR_Script; break; } } if ((Object)(object)target == (Object)null || ((Object)(object)target != (Object)null && (Object)(object)nearbyPlayerScript != (Object)null) || ((Object)(object)target != (Object)null && (Object)(object)nearbyPlayerScript == (Object)null)) { target = null; if ((Object)(object)nearbyPlayerScript != (Object)null && (Object)(object)nearbyPlayerScript.headBone != (Object)null) { target = nearbyPlayerScript.headBone; } else { Transform[] bodyParts = _nearbyPlayer.bodyParts; foreach (Transform val in bodyParts) { if (((Object)val).name == "spine.004") { target = val; break; } } } } if ((Object)(object)target == (Object)null) { if (IsDeveloperMode()) { Debug.LogWarning((object)"No target to track, returning..."); } return; } if (LastPosition == Vector3.zero) { LastPosition = ((Component)_nearbyPlayer).transform.position; } bool active = !player.performingEmote && !player.isSprinting; if (_nearbyPlayer.isCrouching || _nearbyPlayer.performingEmote || LastPosition != ((Component)_nearbyPlayer).transform.position) { if ((Object)(object)eyeBone != (Object)null) { TargetTracking(eyeBone, DefaultEye_EulerAngles, target.position, eyesMaxYaw, eyesMaxPitch, eyesRotationSpeed, active); } if ((Object)(object)headBone != (Object)null) { TargetTracking(headBone, DefaultHead_EulerAngles, target.position, headMaxYaw, headMaxPitch, headRotationSpeed, active); } LastPosition = ((Component)_nearbyPlayer).transform.position; nearbyPlayerInactiveTime = 0f; return; } nearbyPlayerInactiveTime += Time.deltaTime; if (nearbyPlayerInactiveTime < 5f) { if ((Object)(object)eyeBone != (Object)null) { TargetTracking(eyeBone, DefaultEye_EulerAngles, target.position, eyesMaxYaw, eyesMaxPitch, eyesRotationSpeed, active); } if ((Object)(object)headBone != (Object)null) { TargetTracking(headBone, DefaultHead_EulerAngles, target.position, headMaxYaw, headMaxPitch, headRotationSpeed, active); } } else { if ((Object)(object)eyeBone != (Object)null) { TargetTracking(eyeBone, DefaultEye_EulerAngles); } if ((Object)(object)headBone != (Object)null) { TargetTracking(headBone, DefaultHead_EulerAngles); } } } private void TargetTracking(Transform bone, Vector3 defaultAngle, Vector3 target = default(Vector3), float maxYaw = 0f, float maxPitch = 0f, float rotationSpeed = 5f, bool active = false) { //IL_01f2: Unknown result type (might be due to invalid IL or missing references) //IL_01f7: Unknown result type (might be due to invalid IL or missing references) //IL_01f8: Unknown result type (might be due to invalid IL or missing references) //IL_0205: Unknown result type (might be due to invalid IL or missing references) //IL_0038: Unknown result type (might be due to invalid IL or missing references) //IL_0048: Unknown result type (might be due to invalid IL or missing references) //IL_004d: 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_0062: 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_0071: Unknown result type (might be due to invalid IL or missing references) //IL_0078: 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_0087: Unknown result type (might be due to invalid IL or missing references) //IL_01d2: Unknown result type (might be due to invalid IL or missing references) //IL_01d7: Unknown result type (might be due to invalid IL or missing references) //IL_01d8: Unknown result type (might be due to invalid IL or missing references) //IL_01e5: Unknown result type (might be due to invalid IL or missing references) //IL_0097: Unknown result type (might be due to invalid IL or missing references) //IL_00a7: 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_00b7: Unknown result type (might be due to invalid IL or missing references) //IL_00bc: Unknown result type (might be due to invalid IL or missing references) //IL_00c0: Unknown result type (might be due to invalid IL or missing references) //IL_00c5: Unknown result type (might be due to invalid IL or missing references) //IL_00c7: Unknown result type (might be due to invalid IL or missing references) //IL_00cc: Unknown result type (might be due to invalid IL or missing references) //IL_0112: Unknown result type (might be due to invalid IL or missing references) //IL_0117: 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_011e: Unknown result type (might be due to invalid IL or missing references) //IL_011f: Unknown result type (might be due to invalid IL or missing references) //IL_0124: Unknown result type (might be due to invalid IL or missing references) //IL_0125: Unknown result type (might be due to invalid IL or missing references) //IL_012b: Unknown result type (might be due to invalid IL or missing references) //IL_0130: Unknown result type (might be due to invalid IL or missing references) //IL_0135: Unknown result type (might be due to invalid IL or missing references) //IL_013d: Unknown result type (might be due to invalid IL or missing references) //IL_0142: Unknown result type (might be due to invalid IL or missing references) //IL_0147: Unknown result type (might be due to invalid IL or missing references) //IL_0149: Unknown result type (might be due to invalid IL or missing references) //IL_014e: Unknown result type (might be due to invalid IL or missing references) //IL_0152: Unknown result type (might be due to invalid IL or missing references) //IL_0157: Unknown result type (might be due to invalid IL or missing references) //IL_015c: Unknown result type (might be due to invalid IL or missing references) //IL_018b: Unknown result type (might be due to invalid IL or missing references) //IL_01ab: Unknown result type (might be due to invalid IL or missing references) //IL_01ad: Unknown result type (might be due to invalid IL or missing references) //IL_01b2: Unknown result type (might be due to invalid IL or missing references) //IL_01b6: Unknown result type (might be due to invalid IL or missing references) //IL_01bb: Unknown result type (might be due to invalid IL or missing references) //IL_01c5: Unknown result type (might be due to invalid IL or missing references) //IL_00ef: Unknown result type (might be due to invalid IL or missing references) //IL_0104: Unknown result type (might be due to invalid IL or missing references) //IL_0109: Unknown result type (might be due to invalid IL or missing references) //IL_010e: Unknown result type (might be due to invalid IL or missing references) if ((Object)(object)bone == (Object)null) { if (IsDeveloperMode() && !StopSpamLog) { Debug.LogError((object)"Cannot find bone rig, skipping looking at function"); StopSpamLog = true; } } else if (active) { Vector3 val = Vector3.Normalize(target + new Vector3(0f, 0.2f, 0f) - ((Component)player).transform.position); if (Vector3.Dot(((Component)player).transform.forward, val) > 0f) { Vector3 val2 = target + new Vector3(0f, 0.2f, 0f) - bone.position; Vector3 normalized = ((Vector3)(ref val2)).normalized; Vector3 val3 = localForward; string name = ((Object)bone).name; if (!(name == "EyeLook")) { if (name == "HeadRotate") { val3 = localForward - new Vector3(0f, 0f, headOffsetZ); } } else { val3 = localForward; } Quaternion val4 = Quaternion.FromToRotation(bone.rotation * val3, normalized) * bone.rotation; Quaternion val5 = Quaternion.Inverse(bone.parent.rotation) * val4; Vector3 eulerAngles = ((Quaternion)(ref val5)).eulerAngles; eulerAngles.x = Mathf.Clamp(NormalizeAngle(eulerAngles.x), 0f - maxPitch, maxPitch); eulerAngles.y = 0f; eulerAngles.z = Mathf.Clamp(NormalizeAngle(eulerAngles.z), 0f - maxYaw, maxYaw); Quaternion val6 = Quaternion.Euler(eulerAngles); bone.localRotation = Quaternion.Slerp(bone.localRotation, val6, Time.deltaTime * rotationSpeed); } else { bone.localRotation = Quaternion.Slerp(bone.localRotation, Quaternion.Euler(defaultAngle), Time.deltaTime * rotationSpeed); } } else { bone.localRotation = Quaternion.Slerp(bone.localRotation, Quaternion.Euler(defaultAngle), Time.deltaTime * rotationSpeed); } } private void NoPhysicOnSuddenAccelerate(GameObject gameObject, bool value) { if (!((Object)(object)gameObject != (Object)null)) { return; } JiggleRigBuilder[] componentsInChildren = gameObject.GetComponentsInChildren(); foreach (JiggleRigBuilder val in componentsInChildren) { if ((Object)(object)val != (Object)null) { ((Behaviour)val).enabled = value; } } } private void Chaos_Engage(string chaosModelName) { //IL_0099: Unknown result type (might be due to invalid IL or missing references) //IL_00a3: Unknown result type (might be due to invalid IL or missing references) //IL_00d1: Unknown result type (might be due to invalid IL or missing references) //IL_00e0: Unknown result type (might be due to invalid IL or missing references) //IL_00ea: Expected O, but got Unknown //IL_00ea: Expected O, but got Unknown if (!chaosModel.Contains(chaosModelName) || (StartOfRound.Instance.inShipPhase && StartOfRound.Instance.shipIsLeaving && !StartOfRound.Instance.shipHasLanded)) { return; } bool flag = Keyboard.current.ctrlKey.isPressed && Keyboard.current.shiftKey.isPressed && ((ButtonControl)Keyboard.current.spaceKey).wasPressedThisFrame; if (Keyboard.current != null && flag && !explodeOnTrigger) { previousHealth = player.health; Landmine.SpawnExplosion(((Component)player).transform.position, true, (float)(instaKill ? 1 : 0), damageRadius, explosionDamage, 0f, (GameObject)null, false); if ((Object)player == (Object)StartOfRound.Instance.localPlayerController) { HUDManager.Instance.DisplayTip("Message from modder:", "Enjoy my litte gift :3\nFrom Zephy with love", false, false, "LC_Tip1"); } explodeOnTrigger = true; } if (!(explodeOnTrigger & !healBack)) { return; } healTimer += Time.deltaTime; if (!(healTimer > 10f)) { return; } healBack = true; if (player.health != previousHealth) { player.health = previousHealth; HUDManager.Instance.UpdateHealthUI(player.health, false); if (player.health >= 10 && player.criticallyInjured) { player.MakeCriticallyInjured(false); } } healTimer = 0f; } private void ExpressionOnDeath(bool value) { int num = blendshapeIndex[faceEmotion[1]]; int num2 = blendshapeIndex[faceEmotion[2]]; int num3 = (blendshapeIndex.ContainsKey("Blindfold") ? blendshapeIndex["Blindfold"] : (-1)); int num4 = (blendshapeIndex.ContainsKey("Dawnmaker_disable") ? blendshapeIndex["Dawnmaker_disable"] : (-1)); if ((num != -1 && num2 != -1 && num3 == -1) || (num3 != -1 && skinnedMeshRenderer.GetBlendShapeWeight(num3) >= 100f)) { int num5 = ((Random.Range(1, 10) % 2 == 0) ? num : num2); skinnedMeshRenderer.SetBlendShapeWeight(num5, value ? 100f : 0f); } else { int num6; if (num3 != -1 && skinnedMeshRenderer.GetBlendShapeWeight(num3) <= 0f) { num6 = eyesIndex; } else { num6 = ((num != -1) ? num : num2); if (num6 == -1) { num6 = eyesIndex; } } skinnedMeshRenderer.SetBlendShapeWeight(num6, value ? 100f : 0f); } if (num4 != -1) { skinnedMeshRenderer.SetBlendShapeWeight(num4, value ? 0f : 100f); } } private void OnEnable() { //IL_0006: Unknown result type (might be due to invalid IL or missing references) //IL_0011: Expected O, but got Unknown //IL_0019: Unknown result type (might be due to invalid IL or missing references) //IL_0028: Unknown result type (might be due to invalid IL or missing references) //IL_0032: Expected O, but got Unknown //IL_0032: Expected O, but got Unknown //IL_004c: Unknown result type (might be due to invalid IL or missing references) //IL_0051: 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) if (!((Object)player == (Object)null) && (Object)player == (Object)StartOfRound.Instance.localPlayerController && IsHelmetDisable && ((Component)player.localVisor).transform.localScale != Vector3.zero) { ((Component)player.localVisor).transform.localScale = Vector3.zero; } } private void OnDisable() { //IL_0006: Unknown result type (might be due to invalid IL or missing references) //IL_0011: Expected O, but got Unknown //IL_001c: Unknown result type (might be due to invalid IL or missing references) //IL_002b: Unknown result type (might be due to invalid IL or missing references) //IL_0035: Expected O, but got Unknown //IL_0035: Expected O, but got Unknown //IL_0040: Unknown result type (might be due to invalid IL or missing references) //IL_004f: Unknown result type (might be due to invalid IL or missing references) //IL_0054: Unknown result type (might be due to invalid IL or missing references) //IL_008f: Unknown result type (might be due to invalid IL or missing references) //IL_0094: Unknown result type (might be due to invalid IL or missing references) //IL_0066: Unknown result type (might be due to invalid IL or missing references) //IL_0075: Unknown result type (might be due to invalid IL or missing references) //IL_00b0: Unknown result type (might be due to invalid IL or missing references) //IL_00d2: Unknown result type (might be due to invalid IL or missing references) //IL_00e6: Unknown result type (might be due to invalid IL or missing references) //IL_0111: Unknown result type (might be due to invalid IL or missing references) if (!((Object)player == (Object)null) && (Object)player == (Object)StartOfRound.Instance.localPlayerController) { if (((Component)player).gameObject.transform.localScale != Vector3.one) { ((Component)player).gameObject.transform.localScale = Vector3.one; } if (((Component)player.gameplayCamera).transform.localPosition != Vector3.zero) { ((Component)player.gameplayCamera).transform.localPosition = Vector3.zero; } if (IsHelmetDisable && ((Component)player.localVisor).transform.localScale != new Vector3(0.36f, 0.49f, 0.49f)) { ((Component)player.localVisor).transform.localScale = new Vector3(0.36f, 0.49f, 0.49f); } } } private void Start() { //IL_0006: Unknown result type (might be due to invalid IL or missing references) //IL_0011: Expected O, but got Unknown //IL_0202: Unknown result type (might be due to invalid IL or missing references) //IL_0207: Unknown result type (might be due to invalid IL or missing references) //IL_0251: Unknown result type (might be due to invalid IL or missing references) //IL_0256: Unknown result type (might be due to invalid IL or missing references) if ((Object)player == (Object)null) { return; } skinnedMeshRenderer = ((Component)this).gameObject.GetComponentInChildren(); if (skinnedMeshRenderer.sharedMesh.blendShapeCount > 0) { for (int i = 0; i < skinnedMeshRenderer.sharedMesh.blendShapeCount; i++) { blendshapeIndex.Add(skinnedMeshRenderer.sharedMesh.GetBlendShapeName(i), i); } foreach (string item in mouthName) { if (blendshapeIndex.ContainsKey(item)) { mouthIndex = blendshapeIndex[item]; break; } } foreach (string item2 in eyesName) { if (blendshapeIndex.ContainsKey(item2)) { eyesIndex = ((modelName != "Sparxie_CandyCoatedWaves") ? blendshapeIndex[item2] : blendshapeIndex["Eye_00_Sweat02"]); break; } } MemEyesIndex = (blendshapeIndex.ContainsKey("Mem_まばたき") ? blendshapeIndex["Mem_まばたき"] : (-1)); IcaEyesIndex = (blendshapeIndex.ContainsKey("Ica_Blink") ? blendshapeIndex["Ica_Blink"] : (-1)); } if ((GetBoneMap(skinnedMeshRenderer.bones) != null) & (GetBoneMap(player.bodyParts) != null)) { if (GetBoneMap(skinnedMeshRenderer.bones).ContainsKey("EyeLook")) { eyeBone = GetBoneMap(skinnedMeshRenderer.bones)["EyeLook"]; DefaultEye_EulerAngles = eyeBone.localEulerAngles; } if (GetBoneMap(skinnedMeshRenderer.bones).ContainsKey("HeadRotate")) { headBone = GetBoneMap(skinnedMeshRenderer.bones)["HeadRotate"]; DefaultHead_EulerAngles = headBone.localEulerAngles; } else if (IsDeveloperMode()) { if ((Object)(object)eyeBone == (Object)null && (Object)(object)headBone != (Object)null) { HUDManager.Instance.DisplayTip("MODEL WARNING:", "Model is missing eye's control rig", true, false, "LC_Tip1"); Debug.LogError((object)(modelName + " is missing eye's control rig")); } else if ((Object)(object)headBone == (Object)null && (Object)(object)eyeBone != (Object)null) { HUDManager.Instance.DisplayTip("MODEL WARNING:", "Model is missing head's control rig", true, false, "LC_Tip1"); Debug.LogError((object)(modelName + " is missing head's control rig")); } else { HUDManager.Instance.DisplayTip("MODEL WARNING:", "Model is missing both bone control rig", true, false, "LC_Tip1"); Debug.LogError((object)(modelName + " is missing bone control rig")); } } } Model_Processing(((Component)this).gameObject); if (modelName != null) { Accessories(modelName); } } private void Update() { //IL_0006: Unknown result type (might be due to invalid IL or missing references) //IL_0011: Expected O, but got Unknown if ((Object)player == (Object)null || ((Object)((Component)this).gameObject.transform).name.Contains("ViewModel") || ((Object)((Component)this).gameObject.transform).name.Contains("Shadow")) { return; } if (!player.isPlayerDead) { ExpressionOnDeath(value: false); CheckScaling(); GetNearbyPlayers(); if (mouthIndex != -1) { InitiateMouthMovement(); } if (eyesIndex != -1) { InitiateBlinking(); } bool value = !player.isInElevator || StartOfRound.Instance.inShipPhase || StartOfRound.Instance.shipHasLanded || (!StartOfRound.Instance.shipIsLeaving && !player.isInHangarShipRoom); NoPhysicOnSuddenAccelerate(((Component)this).gameObject, value); } else if (!isDeath && player.isPlayerDead) { isDeath = true; ExpressionOnDeath(value: true); } } } public static class MyPluginInfo { public const string PLUGIN_GUID = "HSRSuitsLite"; public const string PLUGIN_NAME = "HSRSuitsLite"; public const string PLUGIN_VERSION = "1.0.0"; } } namespace HSRSuitsLite.Patches { [DefaultExecutionOrder(-1)] internal class ArmOffset : MonoBehaviour { private GameObject? armOffset; internal PlayerControllerB? playerControllerB; internal Vector3 camPos; private void LateUpdate() { //IL_0006: Unknown result type (might be due to invalid IL or missing references) //IL_0011: Expected O, but got Unknown //IL_0062: 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_0078: Unknown result type (might be due to invalid IL or missing references) //IL_007d: Unknown result type (might be due to invalid IL or missing references) //IL_0028: Unknown result type (might be due to invalid IL or missing references) //IL_0032: Expected O, but got Unknown //IL_0175: Unknown result type (might be due to invalid IL or missing references) //IL_017a: Unknown result type (might be due to invalid IL or missing references) //IL_0192: Unknown result type (might be due to invalid IL or missing references) //IL_00b9: Unknown result type (might be due to invalid IL or missing references) //IL_0111: Unknown result type (might be due to invalid IL or missing references) //IL_00cf: Unknown result type (might be due to invalid IL or missing references) //IL_00e5: Unknown result type (might be due to invalid IL or missing references) //IL_00f4: Unknown result type (might be due to invalid IL or missing references) //IL_00f9: Unknown result type (might be due to invalid IL or missing references) //IL_00fe: Unknown result type (might be due to invalid IL or missing references) //IL_0159: Unknown result type (might be due to invalid IL or missing references) //IL_015a: Unknown result type (might be due to invalid IL or missing references) //IL_015f: Unknown result type (might be due to invalid IL or missing references) //IL_0164: Unknown result type (might be due to invalid IL or missing references) //IL_0127: Unknown result type (might be due to invalid IL or missing references) //IL_013d: Unknown result type (might be due to invalid IL or missing references) //IL_014c: Unknown result type (might be due to invalid IL or missing references) //IL_0151: Unknown result type (might be due to invalid IL or missing references) //IL_0156: Unknown result type (might be due to invalid IL or missing references) if ((Object)playerControllerB != (Object)null) { if ((Object)(object)armOffset == (Object)null) { armOffset = new GameObject("LocalArmOffset"); } armOffset.transform.parent = playerControllerB.localArmsTransform.parent; Vector3 val = armOffset.transform.parent.localPosition; if (((Component)playerControllerB.gameplayCamera).transform.localPosition != Vector3.zero && (!playerControllerB.inTerminalMenu || !playerControllerB.inSpecialInteractAnimation)) { val = (Mathf.Approximately(((Component)playerControllerB.gameplayCamera).transform.localPosition.y, 0.9f) ? (val + new Vector3(0f, ((Component)playerControllerB.gameplayCamera).transform.localPosition.y, 0f)) : ((!Mathf.Approximately(((Component)playerControllerB.gameplayCamera).transform.localPosition.y, 0.2f)) ? (val + Vector3.zero) : (val + new Vector3(0f, ((Component)playerControllerB.gameplayCamera).transform.localPosition.y, 0f)))); } if (armOffset.transform.parent.localPosition != val) { armOffset.transform.parent.localPosition = val; } } } } [HarmonyPatch(typeof(StartOfRound))] public class HighModelOffset : MonoBehaviour { private PlayerControllerB? localPlayer; private ArmOffset? modelArmOffset; [HarmonyPatch("Awake")] [HarmonyPostfix] private static void PostFix(ref StartOfRound __instance) { //IL_0002: Unknown result type (might be due to invalid IL or missing references) ((Component)__instance).gameObject.AddComponent(); } private void Start() { if ((Object)(object)modelArmOffset == (Object)null) { modelArmOffset = ((Component)this).gameObject.AddComponent(); } } private void Update() { //IL_0006: Unknown result type (might be due to invalid IL or missing references) //IL_0011: Expected O, but got Unknown if ((Object)localPlayer == (Object)null) { localPlayer = StartOfRound.Instance.localPlayerController; if ((Object)(object)modelArmOffset != (Object)null) { modelArmOffset.playerControllerB = localPlayer; } } } private void OnDisable() { //IL_0006: Unknown result type (might be due to invalid IL or missing references) //IL_0011: Expected O, but got Unknown //IL_0023: Unknown result type (might be due to invalid IL or missing references) if ((Object)localPlayer != (Object)null) { ((Component)localPlayer.gameplayCamera).transform.localPosition = Vector3.zero; } } } public class LSR_HarmonyPatch : HarmonyPatch { [HarmonyPatch(typeof(ModelReplacementAPI), "SetPlayerModelReplacement")] private static class ResetModelScale { private static bool Prefix(PlayerControllerB player) { //IL_000b: Unknown result type (might be due to invalid IL or missing references) //IL_0010: Unknown result type (might be due to invalid IL or missing references) //IL_0032: Unknown result type (might be due to invalid IL or missing references) //IL_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_0027: 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_0062: Unknown result type (might be due to invalid IL or missing references) if (((Component)player.gameplayCamera).transform.localPosition != Vector3.zero) { ((Component)player.gameplayCamera).transform.localPosition = Vector3.zero; } if (((Component)player).gameObject.transform.localScale != Vector3.one) { ((Component)player).gameObject.transform.localScale = Vector3.one; } return true; } } private HarmonyPatch? patches; private readonly Harmony harmony = new Harmony("ZephyModelScripts"); private static bool harmonyPatched; private void Awake() { if (!harmonyPatched) { harmony.PatchAll(typeof(LSR_Script)); harmonyPatched = true; } patches = (HarmonyPatch?)(object)this; } [HarmonyPatch(typeof(Terminal), "BeginUsingTerminal")] [HarmonyPostfix] private static void EnableModelAdjust() { //IL_0023: Unknown result type (might be due to invalid IL or missing references) //IL_0032: Unknown result type (might be due to invalid IL or missing references) //IL_0047: Unknown result type (might be due to invalid IL or missing references) PlayerControllerB localPlayerController = GameNetworkManager.Instance.localPlayerController; LSR_Script lSR_Script = Object.FindObjectOfType(); if ((Object)(object)lSR_Script != (Object)null && !lSR_Script.IsAllowHardcore) { ((Component)localPlayerController).gameObject.transform.localScale = Vector3.one; ((Component)localPlayerController.gameplayCamera).transform.localPosition = Vector3.zero; } } } } namespace HSRSuitsLite.BodyReplacement { public class ACHERON : BodyReplacement_Extent { public ACHERON() : base("Acheron") { } } public class AGLAEA : BodyReplacement_Extent { public AGLAEA() : base("Aglaea") { } } public class AHA_IMPROVTOURTRAILER : BodyReplacement_Extent { public AHA_IMPROVTOURTRAILER() : base("Aha_ImprovTourTrailer") { } } public class ANAXA : BodyReplacement_Extent { public ANAXA() : base("Anaxa") { } } public class ARCHER : BodyReplacement_Extent { public ARCHER() : base("Archer") { } } public class ARGENTI : BodyReplacement_Extent { public ARGENTI() : base("Argenti") { } } public class ARLAN : BodyReplacement_Extent { public ARLAN() : base("Arlan") { } } public class ASHVEIL : BodyReplacement_Extent { public ASHVEIL() : base("Ashveil") { } } public class ASTA : BodyReplacement_Extent { public ASTA() : base("Asta") { } } public class ASTRA_YAO : BodyReplacement_Extent { public ASTRA_YAO() : base("AstraYao") { } } public class AVENTURINE : BodyReplacement_Extent { public AVENTURINE() : base("Aventurine") { } } public class AVENTURINE_BOSS : BodyReplacement_Extent { public AVENTURINE_BOSS() : base("Aventurine_Boss") { } } public class AVENTURINE_WAVEFLAIR : BodyReplacement_Extent { public AVENTURINE_WAVEFLAIR() : base("Aventurine_Waveflair") { } } public class BAIHENG : BodyReplacement_Extent { public BAIHENG() : base("Baiheng") { } } public class BAILU : BodyReplacement_Extent { public BAILU() : base("Bailu") { } } public class BLACKSWAN : BodyReplacement_Extent { public BLACKSWAN() : base("Blackswan") { } } public class BLADE : BodyReplacement_Extent { public BLADE() : base("Blade") { } } public class BLADE_MORTENAX : BodyReplacement_Extent { public BLADE_MORTENAX() : base("Blade_Mortenax") { } } public class BodyReplacement_Extent : BodyReplacementBase { private readonly string modelName; protected virtual float EyeMaxYaw => 10f; protected virtual float EyeMaxPitch => 10f; protected virtual float EyeRotSpeed => 10f; protected virtual float HeadMaxYaw => 40f; protected virtual float HeadMaxPitch => 15f; protected virtual float HeadRotSpeed => 5f; protected virtual float HeadOffset => -1f; public BodyReplacement_Extent(string _modelName) { modelName = _modelName; } protected override GameObject LoadAssetsAndReturnModel() { return LSR_Assets.MainAssetBundle.LoadAsset(modelName); } protected override void AddModelScripts() { LSR_Script lSR_Script = base.replacementModel.gameObject.AddComponent(typeof(LSR_Script)) as LSR_Script; if ((Object)(object)lSR_Script != (Object)null) { lSR_Script.player = ((BodyReplacementBase)this).controller; lSR_Script.Model_Init(((BodyReplacementBase)this).LoadAssetsAndReturnModel().gameObject.GetComponentInChildren(), EyeMaxYaw, EyeMaxPitch, EyeRotSpeed, HeadMaxYaw, HeadMaxPitch, HeadRotSpeed, HeadOffset); } } } public class BOOTHILL : BodyReplacement_Extent { public BOOTHILL() : base("Boothill") { } } public class BRONYA : BodyReplacement_Extent { public BRONYA() : base("Bronya") { } } public class CAELUS : BodyReplacement_Extent { public CAELUS() : base("Caelus") { } } public class CASTORICE : BodyReplacement_Extent { public CASTORICE() : base("Castorice") { } } public class CASTORICE_GOSSAMERFLUTTER : BodyReplacement_Extent { public CASTORICE_GOSSAMERFLUTTER() : base("Castorice-GossamerFlutter") { } } public class CERYDRA : BodyReplacement_Extent { public CERYDRA() : base("Cerydra") { } } public class CIPHER : BodyReplacement_Extent { public CIPHER() : base("Cipher") { } } public class CLARA : BodyReplacement_Extent { public CLARA() : base("Clara") { } } public class COCOLIA : BodyReplacement_Extent { public COCOLIA() : base("Cocolia") { } } public class CYRENE : BodyReplacement_Extent { public CYRENE() : base("Cyrene") { } } public class CYRENE_ANTACOLLAB : BodyReplacement_Extent { public CYRENE_ANTACOLLAB() : base("Cyrene_AntaCollab") { } } public class CYRENE_NPC : BodyReplacement_Extent { public CYRENE_NPC() : base("Cyrene_NPC") { } } public class DANFENG : BodyReplacement_Extent { public DANFENG() : base("DanFeng") { } } public class DANHENG : BodyReplacement_Extent { public DANHENG() : base("DanHeng") { } } public class DANHENG_IL : BodyReplacement_Extent { public DANHENG_IL() : base("DanHeng-IL") { } } public class DANHENG_PT : BodyReplacement_Extent { public DANHENG_PT() : base("DanHeng-PT") { } } public class ELYGUS : BodyReplacement_Extent { public ELYGUS() : base("Elygus") { } } public class EVANESCIA : BodyReplacement_Extent { public EVANESCIA() : base("Evanescia") { } } public class FEIXIAO : BodyReplacement_Extent { public FEIXIAO() : base("Feixiao") { } } public class FIREFLY : BodyReplacement_Extent { public FIREFLY() : base("Firefly") { } } public class FIREFLY_SPRINGMISSIVE : BodyReplacement_Extent { public FIREFLY_SPRINGMISSIVE() : base("Firefly-SpringMissive") { } } public class FLAME_REAVER : BodyReplacement_Extent { public FLAME_REAVER() : base("Flame_Reaver") { } } public class FLAME_REAVER_KHASLANA : BodyReplacement_Extent { public FLAME_REAVER_KHASLANA() : base("Flame_Reaver-Khaslana") { } } public class FUGUE : BodyReplacement_Extent { public FUGUE() : base("Fugue") { } } public class FUXUAN : BodyReplacement_Extent { public FUXUAN() : base("Fuxuan") { } } public class GALLAGHER : BodyReplacement_Extent { public GALLAGHER() : base("Gallagher") { } } public class GEPARD : BodyReplacement_Extent { public GEPARD() : base("Gepard") { } } public class GILGAMESH : BodyReplacement_Extent { public GILGAMESH() : base("Gilgamesh") { } } public class GRAPHIA : BodyReplacement_Extent { public GRAPHIA() : base("Graphia") { } } public class GUINAIFEN : BodyReplacement_Extent { public GUINAIFEN() : base("Guinaifen") { } } public class HANYA : BodyReplacement_Extent { public HANYA() : base("Hanya") { } } public class HERTA : BodyReplacement_Extent { public HERTA() : base("Herta") { } } public class HIMEKO : BodyReplacement_Extent { public HIMEKO() : base("Himeko") { } } public class HIMEKO_NOVA : BodyReplacement_Extent { public HIMEKO_NOVA() : base("Himeko-Nova") { } } public class HOOK : BodyReplacement_Extent { public HOOK() : base("Hook") { } } public class HUOHUO : BodyReplacement_Extent { public HUOHUO() : base("Huohuo") { } } public class HYACINE : BodyReplacement_Extent { public HYACINE() : base("Hyacine") { } } public class HYACINTHIA : BodyReplacement_Extent { public HYACINTHIA() : base("Hyacinthia") { } } public class HYSILENS : BodyReplacement_Extent { public HYSILENS() : base("Hysilens") { } } public class JADE : BodyReplacement_Extent { public JADE() : base("Jade") { } } public class JIAOQIU : BodyReplacement_Extent { public JIAOQIU() : base("Jiaoqiu") { } } public class JINGLIU : BodyReplacement_Extent { public JINGLIU() : base("Jingliu") { } } public class JINGYUAN : BodyReplacement_Extent { public JINGYUAN() : base("JingYuan") { } } public class JINGYUAN_CHAPANDA_COLLAB : BodyReplacement_Extent { public JINGYUAN_CHAPANDA_COLLAB() : base("JingYuan_ChaPanda Collab") { } } public class KAFKA : BodyReplacement_Extent { public KAFKA() : base("Kafka") { } } public class KAKAVASHA : BodyReplacement_Extent { public KAKAVASHA() : base("Kakavasha") { } } public class KUCHIBA : BodyReplacement_Extent { public KUCHIBA() : base("Kuchiba") { } } public class LANCER : BodyReplacement_Extent { public LANCER() : base("Lancer") { } } public class LINGSHA : BodyReplacement_Extent { public LINGSHA() : base("Lingsha") { } } public class LUKA : BodyReplacement_Extent { public LUKA() : base("Luka") { } } public class LUOCHA : BodyReplacement_Extent { public LUOCHA() : base("Luocha") { } } public class LYGUS : BodyReplacement_Extent { public LYGUS() : base("Lygus") { } } public class LYNX : BodyReplacement_Extent { public LYNX() : base("Lynx") { } } public class MARCH7TH_DEFAULT : BodyReplacement_Extent { public MARCH7TH_DEFAULT() : base("March7th-Default") { } } public class MARCH7TH_EVERNIGHT : BodyReplacement_Extent { public MARCH7TH_EVERNIGHT() : base("March7th-Evernight") { } } public class MARCH7TH_NASCENTSPRING : BodyReplacement_Extent { public MARCH7TH_NASCENTSPRING() : base("March7th-NascentSpring") { } } public class MARCH7TH_THEHUNT : BodyReplacement_Extent { public MARCH7TH_THEHUNT() : base("March7th-TheHunt") { } } public class MISHA : BodyReplacement_Extent { public MISHA() : base("Misha") { } } public class MOZE : BodyReplacement_Extent { public MOZE() : base("Moze") { } } public class MRRECA : BodyReplacement_Extent { public MRRECA() : base("MrReca") { } } public class MYDEI : BodyReplacement_Extent { public MYDEI() : base("Mydei") { } } public class NANOOK_IMPROVTOURTRAILER : BodyReplacement_Extent { public NANOOK_IMPROVTOURTRAILER() : base("Nanook_ImprovTourTrailer") { } } public class NATASHA : BodyReplacement_Extent { public NATASHA() : base("Natasha") { } } public class NIHILITY : BodyReplacement_Extent { protected override float HeadOffset => -1f; public NIHILITY() : base("Nihility") { } } public class NIHILUX : BodyReplacement_Extent { public NIHILUX() : base("Nihilux") { } } public class PEARL : BodyReplacement_Extent { public PEARL() : base("Pearl") { } } public class PELA : BodyReplacement_Extent { public PELA() : base("Pela") { } } public class PHAINON : BodyReplacement_Extent { public PHAINON() : base("Phainon") { } } public class PHAINON_GONGCHACOLLAB : BodyReplacement_Extent { public PHAINON_GONGCHACOLLAB() : base("Phainon_GongchaCollab") { } } public class PHAINON_KHASLANA : BodyReplacement_Extent { public PHAINON_KHASLANA() : base("Phainon-Khaslana") { } } public class PHANTYLIA : BodyReplacement_Extent { public PHANTYLIA() : base("Phantylia") { } } public class POMPOM : BodyReplacement_Extent { public POMPOM() : base("Pompom") { } } public class QINGQUE : BodyReplacement_Extent { public QINGQUE() : base("Qingque") { } } public class RAPPA : BodyReplacement_Extent { public RAPPA() : base("Rappa") { } } public class RATIO : BodyReplacement_Extent { public RATIO() : base("Ratio") { } } public class RINTOHSAKA : BodyReplacement_Extent { public RINTOHSAKA() : base("RinTohsaka") { } } public class ROBIN : BodyReplacement_Extent { public ROBIN() : base("Robin") { } } public class ROBIN_FANTACOLLAB : BodyReplacement_Extent { public ROBIN_FANTACOLLAB() : base("Robin_FantaCollab") { } } public class ROBIN_SUMMERETTO : BodyReplacement_Extent { public ROBIN_SUMMERETTO() : base("Robin_Summeretto") { } } public class RUANMEI : BodyReplacement_Extent { public RUANMEI() : base("Ruanmei") { } } public class RUANMEI_PLUMBLOSSOMLETTER : BodyReplacement_Extent { public RUANMEI_PLUMBLOSSOMLETTER() : base("Ruanmei_PlumblossomLetter") { } } public class SABER : BodyReplacement_Extent { public SABER() : base("Saber") { } } public class SAM : BodyReplacement_Extent { public SAM() : base("Sam") { } } public class SAMPO : BodyReplacement_Extent { public SAMPO() : base("Sampo") { } } public class SCREWLLUM : BodyReplacement_Extent { public SCREWLLUM() : base("Screwllum") { } } public class SEELE : BodyReplacement_Extent { public SEELE() : base("Seele") { } } public class SERVAL : BodyReplacement_Extent { public SERVAL() : base("Serval") { } } public class SILVERWOLF : BodyReplacement_Extent { public SILVERWOLF() : base("Silverwolf") { } } public class SILVERWOLF_LV999 : BodyReplacement_Extent { public SILVERWOLF_LV999() : base("Silverwolf_LV999") { } } public class SIOBHAN : BodyReplacement_Extent { public SIOBHAN() : base("Siobhan") { } } public class SPARKLE : BodyReplacement_Extent { public SPARKLE() : base("Sparkle") { } } public class SPARKLE_FICTITIOUSGAME : BodyReplacement_Extent { public SPARKLE_FICTITIOUSGAME() : base("Sparkle-FictitiousGame") { } } public class SPARXIE : BodyReplacement_Extent { public SPARXIE() : base("Sparxie") { } } public class SPARXIE_CANDYCOATEDWAVES : BodyReplacement_Extent { public SPARXIE_CANDYCOATEDWAVES() : base("Sparxie_CandyCoatedWaves") { } } public class STELLE : BodyReplacement_Extent { public STELLE() : base("Stelle") { } } public class SUNDAY : BodyReplacement_Extent { public SUNDAY() : base("Sunday") { } } public class SUNDAY_FANTACOLLAB : BodyReplacement_Extent { public SUNDAY_FANTACOLLAB() : base("Sunday_FantaCollab") { } } public class SUSHANG : BodyReplacement_Extent { public SUSHANG() : base("Sushang") { } } public class SVAROG : BodyReplacement_Extent { public SVAROG() : base("Svarog") { } } public class THEDAHLIA : BodyReplacement_Extent { public THEDAHLIA() : base("TheDahlia") { } } public class THEHERTA : BodyReplacement_Extent { public THEHERTA() : base("TheHerta") { } } public class TINGYUN : BodyReplacement_Extent { public TINGYUN() : base("Tingyun") { } } public class TOPAZ : BodyReplacement_Extent { public TOPAZ() : base("Topaz") { } } public class TRIANNE : BodyReplacement_Extent { public TRIANNE() : base("Trianne") { } } public class TRIBBIE : BodyReplacement_Extent { public TRIBBIE() : base("Tribbie") { } } public class TRIBIOS : BodyReplacement_Extent { public TRIBIOS() : base("Tribios") { } } public class TRINNON : BodyReplacement_Extent { public TRINNON() : base("Trinnon") { } } public class VITA : BodyReplacement_Extent { public VITA() : base("Vita") { } } public class WELT : BodyReplacement_Extent { public WELT() : base("Welt") { } } public class XUEYI : BodyReplacement_Extent { public XUEYI() : base("Xueyi") { } } public class YANQING : BodyReplacement_Extent { public YANQING() : base("Yanqing") { } } public class YAOGUANG : BodyReplacement_Extent { public YAOGUANG() : base("Yaoguang") { } } public class YAOGUANG_CHAPANDACOLLAB : BodyReplacement_Extent { public YAOGUANG_CHAPANDACOLLAB() : base("Yaoguang_ChaPandaCollab") { } } public class YINGXING : BodyReplacement_Extent { public YINGXING() : base("Yingxing") { } } public class YOUNG_HIMEKO : BodyReplacement_Extent { public YOUNG_HIMEKO() : base("Young_Himeko") { } } public class YUKONG : BodyReplacement_Extent { public YUKONG() : base("Yukong") { } } public class YUNLI : BodyReplacement_Extent { public YUNLI() : base("Yunli") { } } }