Please disclose if your mod was created primarily 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 BETA LC VEGA v5.0.0
BepInEx/plugins/LC-VEGA.dll
Decompiled 3 hours ago
The result has been truncated due to the large size, download it to view full contents!
using System; using System.Collections; using System.Collections.Generic; using System.Diagnostics; using System.IO; using System.Linq; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.Versioning; using System.Security; using System.Security.Permissions; using BepInEx; using BepInEx.Bootstrap; using BepInEx.Configuration; using BepInEx.Logging; using GameNetcodeStuff; using HarmonyLib; using LC_VEGA.Patches; using LethalCompanyInputUtils.Api; using LethalConfig; using LethalConfig.ConfigItems; using LobbyCompatibility.Enums; using LobbyCompatibility.Features; using Microsoft.CodeAnalysis; using SpeechRecognitionAPI; using TMPro; using Unity.Netcode; using UnityEngine; using UnityEngine.InputSystem; using UnityEngine.UI; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)] [assembly: TargetFramework(".NETStandard,Version=v2.1", FrameworkDisplayName = ".NET Standard 2.1")] [assembly: AssemblyCompany("LC-VEGA")] [assembly: AssemblyConfiguration("Debug")] [assembly: AssemblyFileVersion("1.0.0.0")] [assembly: AssemblyInformationalVersion("1.0.0+9ecd33c31e6dee6a1deebccd1875565f84f80e0f")] [assembly: AssemblyProduct("LC-VEGA")] [assembly: AssemblyTitle("LC-VEGA")] [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 LC_VEGA { public static class CoroutineManager { internal class CoroutineManagerBehaviour : MonoBehaviour { } private static MonoBehaviour _instance; private static MonoBehaviour instance { get { //IL_0016: Unknown result type (might be due to invalid IL or missing references) if ((Object)(object)_instance == (Object)null) { _instance = (MonoBehaviour)(object)new GameObject("CoroutineManager").AddComponent<CoroutineManagerBehaviour>(); } return _instance; } } public static Coroutine StartCoroutine(IEnumerator routine) { return instance.StartCoroutine(routine); } } public enum VocalLevels { None, Low, Medium, High } public enum DisplayModes { Default, Compact, OneLine, CompactOneLine } public enum Layouts { Custom, TopLeft, TopRight, TopCentered, AboveHotbar, BottomCentered } public class LanguageHelper { internal static readonly Dictionary<Languages, Dictionary<string, string>> Commands = new Dictionary<Languages, Dictionary<string, string>> { [(Languages)0] = new Dictionary<string, string> { ["startListening"] = "activate", ["stopListening"] = "deactivate", ["moonInfo"] = "info about", ["creatureInfo"] = "info about", ["activateScanner"] = "activate scanner/activate advanced scanner/turn on scanner/turn on advanced scanner/scan/enable scanner/enable advanced scanner", ["deactivateScanner"] = "disable scanner/disable advanced scanner/turn off scanner/turn off advanced scanner/disable scan", ["openDoor"] = "open secure door/open door/open the door/open the secure door", ["closeDoor"] = "close secure door/close door/close the door/close the secure door", ["openAllDoors"] = "open all secure doors/open all doors", ["closeAllDoors"] = "close all secure doors/close all doors", ["disableTurret"] = "disable turret/disable the turret", ["disableAllTurrets"] = "disable all turrets", ["disableMine"] = "disable the mine/disable mine/disable the landmine/disable landmine", ["disableAllMines"] = "disable all mines/disable all landmines", ["disableTrap"] = "disable the trap/disable trap/disable the spike trap/disable spike trap", ["disableAllTraps"] = "disable all traps/disable all spike traps", ["teleporter"] = "teleport/activate teleporter/tp/activate tp", ["mapSwitch"] = "switch to me/switch radar/switch radar to me/focus/focus on me", ["crewStatus"] = "crew status/team status/crew info/team info/crew report/team report", ["shipCrew"] = "crew in ship/people in ship/get crew in ship/get people in ship/how many people are in the ship/is anyone in the ship/is anybody in the ship", ["scrap"] = "scrap left/items left/scan for scrap/scan for items", ["radarBooster"] = "ping", ["radarFlash"] = "flash", ["signalTranslator"] = "transmit/send", ["time"] = "what's the current time of day/current time of day/time of day/current time/time/what time is it", ["openShip"] = "open ship doors/open the ship's doors/open hangar doors", ["closeShip"] = "close ship doors/close the ship's doors/close hangar doors", ["lightsOn"] = "lights on/turn the lights on", ["lightsOff"] = "lights out/lights off/turn the lights off", ["magnetOn"] = "activate magnet/enable magnet/turn magnet on", ["magnetOff"] = "deactivate magnet/disable magnet/turn magnet off", ["weatherInfo"] = "info about", ["stopTalking"] = "shut up/stop/stop talking", ["gratitude"] = "thank you/thanks" }, [(Languages)1] = new Dictionary<string, string> { ["startListening"] = "activate", ["stopListening"] = "desactivate", ["moonInfo"] = "info sobre/informacion sobre", ["creatureInfo"] = "info sobre/informacion sobre", ["activateScanner"] = "activa el escaner/activa el escaner avanzado/enciende el escaner/enciende el escaner avanzado/escanea", ["deactivateScanner"] = "desactiva el escaner/desactiva el escaner avanzado/apaga el escaner/apaga el escaner avanzado", ["openDoor"] = "abre la puerta", ["closeDoor"] = "cierra la puerta", ["openAllDoors"] = "abre todas las puertas", ["closeAllDoors"] = "cierra todas las puertas", ["disableTurret"] = "desactiva la torreta/apaga la torreta", ["disableAllTurrets"] = "desactiva todas las torretas/apaga todas las torretas", ["disableMine"] = "desactiva la mina/apaga la mina", ["disableAllMines"] = "desactiva todas las minas/apaga todas las minas", ["disableTrap"] = "desactiva la trampa/apaga la trampa", ["disableAllTraps"] = "desactiva todas las trampas/apaga todas las trampas", ["teleporter"] = "teletransportame/activa el teletransportador/tp/activa el tp", ["mapSwitch"] = "centrate en mi/cambia el radar", ["crewStatus"] = "estado del equipo/estado actual", ["shipCrew"] = "quien esta en la nave/hay alguien en la nave", ["scrap"] = "cuantos objetos quedan/cuanta chatarra queda/haz un recuento", ["radarBooster"] = "ping", ["radarFlash"] = "flash", ["signalTranslator"] = "transmite/envia/escribe", ["time"] = "que hora es", ["openShip"] = "abre las puertas de la nave/abre la nave", ["closeShip"] = "cierra las puertas de la nave/cierra la nave", ["lightsOn"] = "enciende la luz/enciende las luces", ["lightsOff"] = "apaga la luz/apaga las luces", ["magnetOn"] = "enciende el iman/activa el iman", ["magnetOff"] = "apaga el iman/desactiva el iman", ["weatherInfo"] = "info sobre/informacion sobre", ["stopTalking"] = "callate/para de hablar/deja de hablar", ["gratitude"] = "gracias" } }; internal static readonly Dictionary<Languages, string[]> Weathers = new Dictionary<Languages, string[]> { [(Languages)0] = new string[5] { "Foggy", "Rainy", "Stormy", "Flooded", "Eclipsed" }, [(Languages)1] = new string[5] { "la niebla", "la lluvia", "las tormentas", "las inundaciones", "los eclipses" } }; internal static readonly Dictionary<Languages, string> Messages = new Dictionary<Languages, string> { [(Languages)0] = "YES, NO, OKAY, HELP, THANKS, ITEMS, MAIN, FIRE, GIANT, GIANTS, DOG, DOGS, WORM, WORMS, BABOONS, HAWKS, DANGER, GIRL, GHOST, BRACKEN, BUTLER, BUTLERS, BUG, BUGS, YIPPEE, SNARE, FLEA, COIL, JESTER, SLIME, THUMPER, MIMIC, MIMICS, MASKED, SPIDER, SNAKES, OLD BIRD, LOST, INSIDE, TRAPPED, LEAVE, GOLD, APPARATUS", [(Languages)1] = "SI, NO, OKAY, AYUDA, GRACIAS, OBJETOS, ENTRADA, SALIDA, GIGANTE, GIGANTES, PERRO, PERROS, GUSANO, GUSANOS, BABUINO, BABUINOS, PELIGRO, NIÑA, FANTASMA, BRACKEN, ASESINO, BICHO, BICHOS, YIPPEE, PULGA, COIL, JESTER, SLIME, THUMPER, CLON, CLONES, MASCARA, ARAÑA, SERPIENTE, SERPIENTES, ROBOT, DENTRO, ATRAPADO, VETE, ORO, GENERADOR" }; internal static readonly Dictionary<Languages, string[]> VanillaEntityNames = new Dictionary<Languages, string[]> { [(Languages)0] = new string[62] { "Baboon Hawks", "Baboons", "Hawks", "Bunker Spiders", "Spiders", "Hoarding Bugs", "Loot Bugs", "Yippee Bugs", "Barbers", "Brackens", "Butlers", "Coil Heads", "Coils", "Forest Keepers", "Giants", "Eyeless Dogs", "Dogs", "Earth Leviathans", "Leviathans", "Worms", "Jesters", "Roaming Locusts", "Locusts", "Manticoils", "Nutcrackers", "Old Birds", "Mechs", "Circuit Bees", "Red Bees", "Bees", "Hygroderes", "Slimes", "Blobs", "Tulip Snakes", "Tulips", "Snakes", "Snare Fleas", "Fleas", "Centipedes", "Spore Lizards", "Spore Doggies", "Lizards", "Thumpers", "Crawlers", "Halves", "Vain Shrouds", "Shrouds", "Kidnapper Foxes", "Foxes", "Maneaters", "Babies", "Giant Sapsuckers", "Sapsuckers", "Kiwis", "Birds", "Backwater Gunkfish", "Stingrays", "Gunkfish", "Feiopars", "Panthers", "Cadavers", "Cadaver Growths" }, [(Languages)1] = new string[54] { "Los Babuinos", "Las Arañas", "Las Hoarding Bugs", "Las Loot Bugs", "Las Yippee Bugs", "Los Barberos", "Los Brackens", "Los Mayordomos", "Los Coil Heads", "Los Guardianes del bosque", "Los Gigantes", "Los Perros sin ojos", "Los Perros", "Los Leviatanes terrestres", "Los Leviatanes", "Los Gusanos", "Los Jesters", "Las Langostas errantes", "Las Langostas", "Los Manticoils", "Los Cascanueces", "Los Pajaros viejos", "Los Viejos pajaros", "Los Mechas", "Las Abejas rojas", "Las Abejas", "Los Hygroderes", "Los Slimes", "Los Blobs", "Las Serpientes", "Las Serpientes de flor", "Las Pulgas", "Los Ciempies", "Los Lagartos", "Los Lagartos de esporas", "Los Thumpers", "Los Vain Shrouds", "Los Shrouds", "Los Zorros secuestradores", "Los Zorros", "Los Maneaters", "Los Bebes", "Los Sapsuckers gigantes", "Los Sapsuckers", "Los Kiwis", "Los Pajaros", "Los Pajaros gigantes", "Los Peces de aguas estancadas", "Los Gunkfish", "Las Mantarrayas", "Los Feiopars", "Las Panteras", "Los Cadavers", "Los Cadaver Growths" } }; internal static string GetEntityAudioClipName(string entityName, Languages language) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0003: Unknown result type (might be due to invalid IL or missing references) //IL_0004: Unknown result type (might be due to invalid IL or missing references) //IL_0005: Unknown result type (might be due to invalid IL or missing references) //IL_000a: Unknown result type (might be due to invalid IL or missing references) //IL_000c: Invalid comparison between Unknown and I4 string result; if ((int)language != 0) { if ((int)language == 1) { if (1 == 0) { } switch (entityName) { case "Los Babuinos": result = "BaboonHawk"; break; case "Las Arañas": result = "BunkerSpider"; break; case "Las Hoarding Bugs": case "Las Loot Bugs": case "Las Yippee Bugs": result = "YippeeBug"; break; case "Los Barberos": result = "Barber"; break; case "Los Brackens": result = "Bracken"; break; case "Los Mayordomos": result = "Butler"; break; case "Los Coil Heads": result = "Coil-Head"; break; case "Los Gigantes": case "Los Guardianes del bosque": result = "ForestKeeper"; break; case "Los Perros": case "Los Perros sin ojos": result = "EyelessDog"; break; case "Los Leviatanes terrestres": case "Los Leviatanes": case "Los Gusanos": result = "Sandworm"; break; case "Los Jesters": result = "Jester"; break; case "Las Langostas errantes": case "Las Langostas": result = "Locusts"; break; case "Los Manticoils": result = "Manticoil"; break; case "Los Cascanueces": result = "Nutcracker"; break; case "Los Pajaros viejos": case "Los Viejos pajaros": case "Los Mechas": result = "OldBird"; break; case "Las Abejas rojas": case "Las Abejas": result = "RedBees"; break; case "Los Hygroderes": case "Los Blobs": case "Los Slimes": result = "Slime"; break; case "Las Serpientes de flor": case "Las Serpientes": result = "Snakes"; break; case "Las Pulgas": case "Los Ciempies": result = "SnareFlea"; break; case "Los Lagartos de esporas": case "Los Lagartos": result = "SporeLizard"; break; case "Los Thumpers": result = "Thumper"; break; case "Los Vain Shrouds": case "Los Shrouds": result = "VainShroud"; break; case "Los Zorros secuestradores": case "Los Zorros": result = "KidnapperFox"; break; case "Los Maneaters": case "Los Bebes": result = "Maneater"; break; case "Los Sapsuckers gigantes": case "Los Sapsuckers": case "Los Kiwis": case "Los Pajaros": case "Los Pajaros gigantes": result = "Sapsucker"; break; case "Los Peces de aguas estancadas": case "Los Gunkfish": case "Las Mantarrayas": result = "Gunkfish"; break; case "Los Feiopars": case "Las Panteras": result = "Feiopar"; break; case "Los Cadavers": case "Los Cadaver Growths": result = "Cadaver"; break; default: result = entityName; break; } if (1 == 0) { } return result; } return entityName; } if (1 == 0) { } switch (entityName) { case "Baboon Hawks": case "Baboons": case "Hawks": result = "BaboonHawk"; break; case "Bunker Spiders": case "Spiders": result = "BunkerSpider"; break; case "Hoarding Bugs": case "Loot Bugs": case "Yippee Bugs": result = "YippeeBug"; break; case "Barbers": result = "Barber"; break; case "Brackens": result = "Bracken"; break; case "Butlers": result = "Butler"; break; case "Coil Heads": case "Coils": result = "Coil-Head"; break; case "Forest Keepers": case "Giants": result = "ForestKeeper"; break; case "Eyeless Dogs": case "Dogs": result = "EyelessDog"; break; case "Earth Leviathans": case "Leviathans": case "Worms": result = "Sandworm"; break; case "Jesters": result = "Jester"; break; case "Roaming Locusts": result = "Locusts"; break; case "Manticoils": result = "Manticoil"; break; case "Nutcrackers": result = "Nutcracker"; break; case "Old Birds": case "Mechs": result = "OldBird"; break; case "Circuit Bees": case "Red Bees": case "Bees": result = "RedBees"; break; case "Hygroderes": case "Blobs": case "Slimes": result = "Slime"; break; case "Tulip Snakes": case "Tulips": result = "Snakes"; break; case "Snare Fleas": case "Fleas": case "Centipedes": result = "SnareFlea"; break; case "Spore Lizards": case "Spore Doggies": case "Lizards": result = "SporeLizard"; break; case "Thumpers": case "Crawlers": case "Halves": result = "Thumper"; break; case "Vain Shrouds": case "Shrouds": result = "VainShroud"; break; case "Kidnapper Foxes": case "Foxes": result = "KidnapperFox"; break; case "Maneaters": case "Babies": result = "Maneater"; break; case "Giant Sapsuckers": case "Sapsuckers": case "Kiwis": case "Birds": result = "Sapsucker"; break; case "Backwater Gunkfish": case "Stingrays": result = "Gunkfish"; break; case "Feiopars": case "Panthers": result = "Feiopar"; break; case "Cadavers": case "Cadaver Growths": result = "Cadaver"; break; default: result = entityName; break; } if (1 == 0) { } return result; } } internal class ModChecker { public static bool hasEladsHUD; public static bool CheckForMod(string modGUID) { Dictionary<string, PluginInfo> pluginInfos = Chainloader.PluginInfos; foreach (PluginInfo value in pluginInfos.Values) { if (value.Metadata.GUID.Equals(modGUID)) { Plugin.LogToConsole("Found mod: " + value.Metadata.Name); return true; } } return false; } [MethodImpl(MethodImplOptions.NoInlining | MethodImplOptions.NoOptimization)] public static void RegisterPlugin(string modGUID, string modVersion) { PluginHelper.RegisterPlugin(modGUID, Version.Parse(modVersion), (CompatibilityLevel)0, (VersionStrictness)0); } } internal class PlayerInput : LcInputActions { [InputAction(/*Could not decode attribute arguments.*/)] public InputAction Activation { get; set; } } [BepInPlugin("JS03.LC-VEGA", "LC-VEGA", "5.0.0")] [BepInDependency(/*Could not decode attribute arguments.*/)] [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 { private const string modGUID = "JS03.LC-VEGA"; private const string modName = "LC-VEGA"; private const string modVersion = "5.0.0"; internal static AssetBundle assetBundle; internal static PlayerInput PlayerInputInstance; public static ConfigEntry<Languages> voLanguage; public static ConfigEntry<Languages> commandLanguage; public static ConfigEntry<float> globalConfidence; public static ConfigEntry<float> gratitudeConfidence; public static ConfigEntry<float> stopConfidence; public static ConfigEntry<float> infoConfidence; public static ConfigEntry<float> manualActivationConfidence; public static ConfigEntry<float> secureDoorsConfidence; public static ConfigEntry<float> turretsConfidence; public static ConfigEntry<float> landminesConfidence; public static ConfigEntry<float> trapsConfidence; public static ConfigEntry<float> signalsConfidence; public static ConfigEntry<float> teleportConfidence; public static ConfigEntry<float> shipConfidence; public static ConfigEntry<float> miscConfidence; public static ConfigEntry<float> crewStatusConfidence; public static ConfigEntry<float> crewInShipConfidence; public static ConfigEntry<float> scrapLeftConfidence; public static ConfigEntry<VocalLevels> vocalLevel; public static ConfigEntry<bool> playIntro; public static ConfigEntry<bool> remoteEntityID; public static ConfigEntry<bool> giveWeatherInfo; public static ConfigEntry<bool> giveApparatusWarnings; public static ConfigEntry<string> messages; public static ConfigEntry<string> playerNameColors; public static ConfigEntry<bool> sendRadarSwitchChatMessage; public static ConfigEntry<bool> sendSignalTranslatorChatMessage; public static ConfigEntry<bool> sendTeleporterChatMessage; public static ConfigEntry<float> volume; public static ConfigEntry<bool> ignoreMasterVolume; public static ConfigEntry<DisplayModes> infoDisplayMode; public static ConfigEntry<float> scannerRange; public static ConfigEntry<bool> enableAdvancedScannerAuto; public static ConfigEntry<bool> detectMasked; public static ConfigEntry<float> scale; public static ConfigEntry<float> horizontalPosition; public static ConfigEntry<float> verticalPosition; public static ConfigEntry<float> horizontalGap; public static ConfigEntry<float> verticalGap; public static ConfigEntry<float> entitiesTextLength; public static ConfigEntry<float> itemsTextLength; public static ConfigEntry<float> entitiesTilt; public static ConfigEntry<float> itemsTilt; public static ConfigEntry<TextAlignmentOptions> entitiesAlignment; public static ConfigEntry<TextAlignmentOptions> itemsAlignment; public static ConfigEntry<string> clearTextColor; public static ConfigEntry<string> entitiesNearbyTextColor; public static ConfigEntry<string> itemsNearbyTextColor; public static ConfigEntry<string> dataUnavailableTextColor; public static ConfigEntry<bool> useManualListening; public static ConfigEntry<bool> enableManualListeningAuto; public static ConfigEntry<bool> patchReadInput; public static ConfigEntry<string> name; public static ConfigEntry<bool> enhancedTeleportCommands; public static ConfigEntry<bool> enhancedHazardDisabling; public static ConfigEntry<bool> registerActivation; public static ConfigEntry<string> startListeningCommands; public static ConfigEntry<string> stopListeningCommands; public static ConfigEntry<bool> registerMoonsInfo; public static ConfigEntry<string> moonsInfoCommands; public static ConfigEntry<bool> registerCreatureInfo; public static ConfigEntry<string> creatureInfoCommands; public static ConfigEntry<bool> registerAdvancedScanner; public static ConfigEntry<string> activateAdvancedScannerCommands; public static ConfigEntry<string> deactivateAdvancedScannerCommands; public static ConfigEntry<bool> registerInteractSecureDoor; public static ConfigEntry<string> openSecureDoorCommands; public static ConfigEntry<string> closeSecureDoorCommands; public static ConfigEntry<bool> registerInteractAllSecureDoors; public static ConfigEntry<string> openAllSecureDoorsCommands; public static ConfigEntry<string> closeAllSecureDoorsCommands; public static ConfigEntry<bool> registerDisableTurret; public static ConfigEntry<string> disableTurretCommands; public static ConfigEntry<bool> registerDisableAllTurrets; public static ConfigEntry<string> disableAllTurretsCommands; public static ConfigEntry<bool> registerDisableMine; public static ConfigEntry<string> disableMineCommands; public static ConfigEntry<bool> registerDisableAllMines; public static ConfigEntry<string> disableAllMinesCommands; public static ConfigEntry<bool> registerDisableSpikeTrap; public static ConfigEntry<string> disableSpikeTrapCommands; public static ConfigEntry<bool> registerDisableAllSpikeTraps; public static ConfigEntry<string> disableAllSpikeTrapsCommands; public static ConfigEntry<bool> registerTeleporter; public static ConfigEntry<string> teleporterCommands; public static ConfigEntry<bool> registerRadarSwitch; public static ConfigEntry<string> radarSwitchCommands; public static ConfigEntry<bool> registerCrewStatus; public static ConfigEntry<string> crewStatusCommands; public static ConfigEntry<bool> registerCrewInShip; public static ConfigEntry<string> crewInShipCommands; public static ConfigEntry<bool> registerScrapLeft; public static ConfigEntry<string> scrapLeftCommands; public static ConfigEntry<bool> registerRadarBoosters; public static ConfigEntry<string> radarPingCommands; public static ConfigEntry<string> radarFlashCommands; public static ConfigEntry<bool> registerSignalTranslator; public static ConfigEntry<string> transmitCommands; public static ConfigEntry<bool> registerTime; public static ConfigEntry<string> timeCommands; public static ConfigEntry<bool> registerInteractShipDoors; public static ConfigEntry<string> openShipDoorsCommands; public static ConfigEntry<string> closeShipDoorsCommands; public static ConfigEntry<bool> registerInteractShipLights; public static ConfigEntry<string> lightsOnCommands; public static ConfigEntry<string> lightsOffCommands; public static ConfigEntry<bool> registerInteractShipMagnet; public static ConfigEntry<string> magnetOnCommands; public static ConfigEntry<string> magnetOffCommands; public static ConfigEntry<bool> registerWeatherInfo; public static ConfigEntry<string> weatherInfoCommands; public static ConfigEntry<bool> registerStop; public static ConfigEntry<string> stopCommands; public static ConfigEntry<bool> registerThanks; public static ConfigEntry<string> gratitudeCommands; private readonly Harmony harmony = new Harmony("JS03.LC-VEGA"); public static Plugin Instance; internal static ManualLogSource mls; private void Awake() { if ((Object)(object)Instance == (Object)null) { Instance = this; } mls = Logger.CreateLogSource("JS03.LC-VEGA"); mls.LogInfo((object)"The installation of VEGA has begun"); PlayerInputInstance = new PlayerInput(); GenerateConfigValues(); LoadAssets(); CheckInstalledMods(); ManageSaveValues(); VEGA.Initialize(); PatchStuff(); } internal void LoadAssets() { //IL_0037: Unknown result type (might be due to invalid IL or missing references) mls.LogInfo((object)"Loading assets"); string location = ((BaseUnityPlugin)Instance).Info.Location; location = location.TrimEnd("LC-VEGA.dll".ToCharArray()); assetBundle = AssetBundle.LoadFromFile(((int)voLanguage.Value == 0) ? (location + "vega_en") : (location + "vega_es")); if ((Object)(object)assetBundle != (Object)null) { VEGA.audioClips = new List<AudioClip>(); VEGA.audioClips = assetBundle.LoadAllAssets<AudioClip>().ToList(); mls.LogInfo((object)"Assets loaded successfully"); } else { mls.LogWarning((object)"Unable to load assets"); } } internal void PatchStuff() { mls.LogInfo((object)"Patching things"); harmony.PatchAll(typeof(Plugin)); harmony.PatchAll(typeof(StartOfRoundPatch)); harmony.PatchAll(typeof(TerminalPatch)); harmony.PatchAll(typeof(TimeOfDayPatch)); harmony.PatchAll(typeof(HUDManagerPatch)); harmony.PatchAll(typeof(ApparatusPatch)); harmony.PatchAll(typeof(GeneralPatches)); if (patchReadInput.Value) { harmony.PatchAll(typeof(ReadInputPatch)); } } internal void CheckInstalledMods() { mls.LogInfo((object)"Looking for compatible mods..."); if (ModChecker.CheckForMod("BMX.LobbyCompatibility")) { ModChecker.RegisterPlugin("JS03.LC-VEGA", "5.0.0"); } ModChecker.hasEladsHUD = ModChecker.CheckForMod("me.eladnlg.customhud"); } internal void ManageSaveValues() { mls.LogDebug((object)("Looking for: " + Application.persistentDataPath + SaveManager.fileName)); SaveManager.playedIntro = false; SaveManager.firstTimeDiversity = true; SaveManager.hadDiversity = false; if (File.Exists(Application.persistentDataPath + SaveManager.fileName)) { mls.LogDebug((object)"File found. Reading values..."); SaveManager.playedIntro = SaveManager.GetValueFromIndex(0); mls.LogDebug((object)("Has played the intro? -> " + SaveManager.playedIntro)); SaveManager.firstTimeDiversity = SaveManager.GetValueFromIndex(1); mls.LogDebug((object)("First time using Diversity? -> " + SaveManager.firstTimeDiversity)); SaveManager.hadDiversity = SaveManager.GetValueFromIndex(2); mls.LogDebug((object)("Had Diversity installed? -> " + SaveManager.hadDiversity)); if (!SaveManager.firstTimeDiversity && !SaveManager.hadDiversity) { SaveManager.firstTimeDiversity = true; } } else { mls.LogDebug((object)"File not found. Creating it now!"); SaveManager.SaveToFile(); } } internal void GenerateConfigValues() { //IL_00e7: Unknown result type (might be due to invalid IL or missing references) //IL_00f1: Expected O, but got Unknown //IL_0118: Unknown result type (might be due to invalid IL or missing references) //IL_0122: Expected O, but got Unknown //IL_0149: Unknown result type (might be due to invalid IL or missing references) //IL_0153: Expected O, but got Unknown //IL_017a: Unknown result type (might be due to invalid IL or missing references) //IL_0184: Expected O, but got Unknown //IL_019f: Unknown result type (might be due to invalid IL or missing references) //IL_01bd: Unknown result type (might be due to invalid IL or missing references) //IL_01c7: Expected O, but got Unknown //IL_01f6: Unknown result type (might be due to invalid IL or missing references) //IL_0200: Expected O, but got Unknown //IL_020b: Unknown result type (might be due to invalid IL or missing references) //IL_0215: Expected O, but got Unknown //IL_0244: Unknown result type (might be due to invalid IL or missing references) //IL_024e: Expected O, but got Unknown //IL_0259: Unknown result type (might be due to invalid IL or missing references) //IL_0263: Expected O, but got Unknown //IL_0292: Unknown result type (might be due to invalid IL or missing references) //IL_029c: Expected O, but got Unknown //IL_02a7: Unknown result type (might be due to invalid IL or missing references) //IL_02b1: Expected O, but got Unknown //IL_02e0: Unknown result type (might be due to invalid IL or missing references) //IL_02ea: Expected O, but got Unknown //IL_02f5: Unknown result type (might be due to invalid IL or missing references) //IL_02ff: Expected O, but got Unknown //IL_032e: Unknown result type (might be due to invalid IL or missing references) //IL_0338: Expected O, but got Unknown //IL_0343: Unknown result type (might be due to invalid IL or missing references) //IL_034d: Expected O, but got Unknown //IL_037c: Unknown result type (might be due to invalid IL or missing references) //IL_0386: Expected O, but got Unknown //IL_0391: Unknown result type (might be due to invalid IL or missing references) //IL_039b: Expected O, but got Unknown //IL_03ca: Unknown result type (might be due to invalid IL or missing references) //IL_03d4: Expected O, but got Unknown //IL_03df: Unknown result type (might be due to invalid IL or missing references) //IL_03e9: Expected O, but got Unknown //IL_0418: Unknown result type (might be due to invalid IL or missing references) //IL_0422: Expected O, but got Unknown //IL_042d: Unknown result type (might be due to invalid IL or missing references) //IL_0437: Expected O, but got Unknown //IL_0466: Unknown result type (might be due to invalid IL or missing references) //IL_0470: Expected O, but got Unknown //IL_047b: Unknown result type (might be due to invalid IL or missing references) //IL_0485: Expected O, but got Unknown //IL_04b4: Unknown result type (might be due to invalid IL or missing references) //IL_04be: Expected O, but got Unknown //IL_04c9: Unknown result type (might be due to invalid IL or missing references) //IL_04d3: Expected O, but got Unknown //IL_0502: Unknown result type (might be due to invalid IL or missing references) //IL_050c: Expected O, but got Unknown //IL_0517: Unknown result type (might be due to invalid IL or missing references) //IL_0521: Expected O, but got Unknown //IL_0550: Unknown result type (might be due to invalid IL or missing references) //IL_055a: Expected O, but got Unknown //IL_0565: Unknown result type (might be due to invalid IL or missing references) //IL_056f: Expected O, but got Unknown //IL_059e: Unknown result type (might be due to invalid IL or missing references) //IL_05a8: Expected O, but got Unknown //IL_05b3: Unknown result type (might be due to invalid IL or missing references) //IL_05bd: Expected O, but got Unknown //IL_05ec: Unknown result type (might be due to invalid IL or missing references) //IL_05f6: Expected O, but got Unknown //IL_0601: Unknown result type (might be due to invalid IL or missing references) //IL_060b: Expected O, but got Unknown //IL_063a: Unknown result type (might be due to invalid IL or missing references) //IL_0644: Expected O, but got Unknown //IL_064f: Unknown result type (might be due to invalid IL or missing references) //IL_0659: Expected O, but got Unknown //IL_0688: Unknown result type (might be due to invalid IL or missing references) //IL_0692: Expected O, but got Unknown //IL_069d: Unknown result type (might be due to invalid IL or missing references) //IL_06a7: Expected O, but got Unknown //IL_06d6: Unknown result type (might be due to invalid IL or missing references) //IL_06e0: Expected O, but got Unknown //IL_0715: Unknown result type (might be due to invalid IL or missing references) //IL_071f: Expected O, but got Unknown //IL_0770: Unknown result type (might be due to invalid IL or missing references) //IL_077a: Expected O, but got Unknown //IL_07a1: Unknown result type (might be due to invalid IL or missing references) //IL_07ab: Expected O, but got Unknown //IL_07fc: Unknown result type (might be due to invalid IL or missing references) //IL_0806: Expected O, but got Unknown //IL_0835: Unknown result type (might be due to invalid IL or missing references) //IL_083f: Expected O, but got Unknown //IL_0874: Unknown result type (might be due to invalid IL or missing references) //IL_087e: Expected O, but got Unknown //IL_08cf: Unknown result type (might be due to invalid IL or missing references) //IL_08d9: Expected O, but got Unknown //IL_0900: Unknown result type (might be due to invalid IL or missing references) //IL_090a: Expected O, but got Unknown //IL_09ba: Unknown result type (might be due to invalid IL or missing references) //IL_09c4: Expected O, but got Unknown //IL_0a19: Unknown result type (might be due to invalid IL or missing references) //IL_0a23: Expected O, but got Unknown //IL_0a78: Unknown result type (might be due to invalid IL or missing references) //IL_0a82: Expected O, but got Unknown //IL_0ad7: Unknown result type (might be due to invalid IL or missing references) //IL_0ae1: Expected O, but got Unknown //IL_0b36: Unknown result type (might be due to invalid IL or missing references) //IL_0b40: Expected O, but got Unknown //IL_0b95: Unknown result type (might be due to invalid IL or missing references) //IL_0b9f: Expected O, but got Unknown //IL_0bf4: Unknown result type (might be due to invalid IL or missing references) //IL_0bfe: Expected O, but got Unknown //IL_0d11: Unknown result type (might be due to invalid IL or missing references) //IL_0d1b: Expected O, but got Unknown //IL_0d70: Unknown result type (might be due to invalid IL or missing references) //IL_0d7a: Expected O, but got Unknown //IL_0dcf: Unknown result type (might be due to invalid IL or missing references) //IL_0dd9: Expected O, but got Unknown //IL_0e2e: Unknown result type (might be due to invalid IL or missing references) //IL_0e38: Expected O, but got Unknown //IL_0e8d: Unknown result type (might be due to invalid IL or missing references) //IL_0e97: Expected O, but got Unknown //IL_0eec: Unknown result type (might be due to invalid IL or missing references) //IL_0ef6: Expected O, but got Unknown //IL_0f1d: Unknown result type (might be due to invalid IL or missing references) //IL_0f27: Expected O, but got Unknown //IL_0f4e: Unknown result type (might be due to invalid IL or missing references) //IL_0f58: Expected O, but got Unknown //IL_0f7f: Unknown result type (might be due to invalid IL or missing references) //IL_0f89: Expected O, but got Unknown //IL_0fb0: Unknown result type (might be due to invalid IL or missing references) //IL_0fba: Expected O, but got Unknown //IL_0fe4: Unknown result type (might be due to invalid IL or missing references) //IL_0fee: Expected O, but got Unknown //IL_1015: Unknown result type (might be due to invalid IL or missing references) //IL_101f: Expected O, but got Unknown //IL_1046: Unknown result type (might be due to invalid IL or missing references) //IL_1050: Expected O, but got Unknown //IL_1076: Unknown result type (might be due to invalid IL or missing references) //IL_1080: Expected O, but got Unknown //IL_109b: Unknown result type (might be due to invalid IL or missing references) //IL_10c3: Unknown result type (might be due to invalid IL or missing references) //IL_10cd: Expected O, but got Unknown //IL_10e8: Unknown result type (might be due to invalid IL or missing references) //IL_1110: Unknown result type (might be due to invalid IL or missing references) //IL_111a: Expected O, but got Unknown //IL_1140: Unknown result type (might be due to invalid IL or missing references) //IL_114a: Expected O, but got Unknown //IL_1165: Unknown result type (might be due to invalid IL or missing references) //IL_118d: Unknown result type (might be due to invalid IL or missing references) //IL_1197: Expected O, but got Unknown //IL_11bd: Unknown result type (might be due to invalid IL or missing references) //IL_11c7: Expected O, but got Unknown //IL_11e2: Unknown result type (might be due to invalid IL or missing references) //IL_120a: Unknown result type (might be due to invalid IL or missing references) //IL_1214: Expected O, but got Unknown //IL_123a: Unknown result type (might be due to invalid IL or missing references) //IL_1244: Expected O, but got Unknown //IL_125f: Unknown result type (might be due to invalid IL or missing references) //IL_1287: Unknown result type (might be due to invalid IL or missing references) //IL_1291: Expected O, but got Unknown //IL_12ac: Unknown result type (might be due to invalid IL or missing references) //IL_12d4: Unknown result type (might be due to invalid IL or missing references) //IL_12de: Expected O, but got Unknown //IL_1304: Unknown result type (might be due to invalid IL or missing references) //IL_130e: Expected O, but got Unknown //IL_1329: Unknown result type (might be due to invalid IL or missing references) //IL_1351: Unknown result type (might be due to invalid IL or missing references) //IL_135b: Expected O, but got Unknown //IL_1376: Unknown result type (might be due to invalid IL or missing references) //IL_139e: Unknown result type (might be due to invalid IL or missing references) //IL_13a8: Expected O, but got Unknown //IL_13ce: Unknown result type (might be due to invalid IL or missing references) //IL_13d8: Expected O, but got Unknown //IL_13f3: Unknown result type (might be due to invalid IL or missing references) //IL_141b: Unknown result type (might be due to invalid IL or missing references) //IL_1425: Expected O, but got Unknown //IL_1440: Unknown result type (might be due to invalid IL or missing references) //IL_1468: Unknown result type (might be due to invalid IL or missing references) //IL_1472: Expected O, but got Unknown //IL_1498: Unknown result type (might be due to invalid IL or missing references) //IL_14a2: Expected O, but got Unknown //IL_14bd: Unknown result type (might be due to invalid IL or missing references) //IL_14e5: Unknown result type (might be due to invalid IL or missing references) //IL_14ef: Expected O, but got Unknown //IL_1515: Unknown result type (might be due to invalid IL or missing references) //IL_151f: Expected O, but got Unknown //IL_153a: Unknown result type (might be due to invalid IL or missing references) //IL_1562: Unknown result type (might be due to invalid IL or missing references) //IL_156c: Expected O, but got Unknown //IL_1592: Unknown result type (might be due to invalid IL or missing references) //IL_159c: Expected O, but got Unknown //IL_15b7: Unknown result type (might be due to invalid IL or missing references) //IL_15df: Unknown result type (might be due to invalid IL or missing references) //IL_15e9: Expected O, but got Unknown //IL_160f: Unknown result type (might be due to invalid IL or missing references) //IL_1619: Expected O, but got Unknown //IL_1634: Unknown result type (might be due to invalid IL or missing references) //IL_165c: Unknown result type (might be due to invalid IL or missing references) //IL_1666: Expected O, but got Unknown //IL_168c: Unknown result type (might be due to invalid IL or missing references) //IL_1696: Expected O, but got Unknown //IL_16b1: Unknown result type (might be due to invalid IL or missing references) //IL_16d9: Unknown result type (might be due to invalid IL or missing references) //IL_16e3: Expected O, but got Unknown //IL_1709: Unknown result type (might be due to invalid IL or missing references) //IL_1713: Expected O, but got Unknown //IL_172e: Unknown result type (might be due to invalid IL or missing references) //IL_1756: Unknown result type (might be due to invalid IL or missing references) //IL_1760: Expected O, but got Unknown //IL_1786: Unknown result type (might be due to invalid IL or missing references) //IL_1790: Expected O, but got Unknown //IL_17ab: Unknown result type (might be due to invalid IL or missing references) //IL_17d3: Unknown result type (might be due to invalid IL or missing references) //IL_17dd: Expected O, but got Unknown //IL_1803: Unknown result type (might be due to invalid IL or missing references) //IL_180d: Expected O, but got Unknown //IL_1828: Unknown result type (might be due to invalid IL or missing references) //IL_1850: Unknown result type (might be due to invalid IL or missing references) //IL_185a: Expected O, but got Unknown //IL_1880: Unknown result type (might be due to invalid IL or missing references) //IL_188a: Expected O, but got Unknown //IL_18a5: Unknown result type (might be due to invalid IL or missing references) //IL_18cd: Unknown result type (might be due to invalid IL or missing references) //IL_18d7: Expected O, but got Unknown //IL_18fd: Unknown result type (might be due to invalid IL or missing references) //IL_1907: Expected O, but got Unknown //IL_1922: Unknown result type (might be due to invalid IL or missing references) //IL_194a: Unknown result type (might be due to invalid IL or missing references) //IL_1954: Expected O, but got Unknown //IL_197a: Unknown result type (might be due to invalid IL or missing references) //IL_1984: Expected O, but got Unknown //IL_199f: Unknown result type (might be due to invalid IL or missing references) //IL_19c7: Unknown result type (might be due to invalid IL or missing references) //IL_19d1: Expected O, but got Unknown //IL_19f7: Unknown result type (might be due to invalid IL or missing references) //IL_1a01: Expected O, but got Unknown //IL_1a1c: Unknown result type (might be due to invalid IL or missing references) //IL_1a44: Unknown result type (might be due to invalid IL or missing references) //IL_1a4e: Expected O, but got Unknown //IL_1a69: Unknown result type (might be due to invalid IL or missing references) //IL_1a91: Unknown result type (might be due to invalid IL or missing references) //IL_1a9b: Expected O, but got Unknown //IL_1ac1: Unknown result type (might be due to invalid IL or missing references) //IL_1acb: Expected O, but got Unknown //IL_1ae6: Unknown result type (might be due to invalid IL or missing references) //IL_1b0e: Unknown result type (might be due to invalid IL or missing references) //IL_1b18: Expected O, but got Unknown //IL_1b3e: Unknown result type (might be due to invalid IL or missing references) //IL_1b48: Expected O, but got Unknown //IL_1b63: Unknown result type (might be due to invalid IL or missing references) //IL_1b8b: Unknown result type (might be due to invalid IL or missing references) //IL_1b95: Expected O, but got Unknown //IL_1bbb: Unknown result type (might be due to invalid IL or missing references) //IL_1bc5: Expected O, but got Unknown //IL_1be0: Unknown result type (might be due to invalid IL or missing references) //IL_1c08: Unknown result type (might be due to invalid IL or missing references) //IL_1c12: Expected O, but got Unknown //IL_1c2d: Unknown result type (might be due to invalid IL or missing references) //IL_1c55: Unknown result type (might be due to invalid IL or missing references) //IL_1c5f: Expected O, but got Unknown //IL_1c85: Unknown result type (might be due to invalid IL or missing references) //IL_1c8f: Expected O, but got Unknown //IL_1caa: Unknown result type (might be due to invalid IL or missing references) //IL_1cd2: Unknown result type (might be due to invalid IL or missing references) //IL_1cdc: Expected O, but got Unknown //IL_1cf7: Unknown result type (might be due to invalid IL or missing references) //IL_1d1f: Unknown result type (might be due to invalid IL or missing references) //IL_1d29: Expected O, but got Unknown //IL_1d4f: Unknown result type (might be due to invalid IL or missing references) //IL_1d59: Expected O, but got Unknown //IL_1d74: Unknown result type (might be due to invalid IL or missing references) //IL_1d9c: Unknown result type (might be due to invalid IL or missing references) //IL_1da6: Expected O, but got Unknown //IL_1dc1: Unknown result type (might be due to invalid IL or missing references) //IL_1de9: Unknown result type (might be due to invalid IL or missing references) //IL_1df3: Expected O, but got Unknown //IL_1e19: Unknown result type (might be due to invalid IL or missing references) //IL_1e23: Expected O, but got Unknown //IL_1e3e: Unknown result type (might be due to invalid IL or missing references) //IL_1e66: Unknown result type (might be due to invalid IL or missing references) //IL_1e70: Expected O, but got Unknown //IL_1e96: Unknown result type (might be due to invalid IL or missing references) //IL_1ea0: Expected O, but got Unknown //IL_1ebb: Unknown result type (might be due to invalid IL or missing references) //IL_1ee3: Unknown result type (might be due to invalid IL or missing references) //IL_1eed: Expected O, but got Unknown //IL_1f13: Unknown result type (might be due to invalid IL or missing references) //IL_1f1d: Expected O, but got Unknown //IL_1f38: Unknown result type (might be due to invalid IL or missing references) //IL_1f60: Unknown result type (might be due to invalid IL or missing references) //IL_1f6a: Expected O, but got Unknown voLanguage = ((BaseUnityPlugin)this).Config.Bind<Languages>("Language", "Voice lines", (Languages)0, "Changes the language in which VEGA speaks."); voLanguage.SettingChanged += delegate { LoadAssets(); }; LethalConfigManager.AddConfigItem((BaseConfigItem)(object)new EnumDropDownConfigItem<Languages>(voLanguage, false)); commandLanguage = ((BaseUnityPlugin)this).Config.Bind<Languages>("Language", "Voice commands", (Languages)0, "Changes the voice commands to the language you choose.\n\nWARNING: This will erase all your custom commands and replace them with the defaults for the chosen language. If you have any custom commands and would like to keep them, DO NOT touch this!!!\n\nRequires a restart."); commandLanguage.SettingChanged += delegate { //IL_000b: Unknown result type (might be due to invalid IL or missing references) //IL_002c: Unknown result type (might be due to invalid IL or missing references) Plugin.language.Value = commandLanguage.Value; UpdateVoiceCommands(); messages.Value = LanguageHelper.Messages[commandLanguage.Value]; }; LethalConfigManager.AddConfigItem((BaseConfigItem)(object)new EnumDropDownConfigItem<Languages>(commandLanguage)); vocalLevel = ((BaseUnityPlugin)this).Config.Bind<VocalLevels>("Dialogue & Interactions", "Vocal Level", VocalLevels.High, "Changes how often VEGA speaks and the length of his answers. Interactions that have their own toggle will not be affected by this.\nHigh: The default value. Will speak on every interaction. Recommended for inexperienced players.\nMedium: Gives you useful info, doesn't speak on every interaction. Recommended for experienced players.\nLow: Speaks as often as the Medium option, but gives you shorter answers. Recommended for players who already have experience with VEGA.\nNone: Will only speak when asked to."); LethalConfigManager.AddConfigItem((BaseConfigItem)(object)new EnumDropDownConfigItem<VocalLevels>(vocalLevel, false)); playIntro = ((BaseUnityPlugin)this).Config.Bind<bool>("Dialogue & Interactions", "Play intro", true, "If set to true, VEGA will give you its introduction speech the first time you use the mod."); LethalConfigManager.AddConfigItem((BaseConfigItem)new BoolCheckBoxConfigItem(playIntro, false)); remoteEntityID = ((BaseUnityPlugin)this).Config.Bind<bool>("Dialogue & Interactions", "Remote Entity Identification", true, "If set to true, VEGA will give you the name of every new entity your crew scans."); LethalConfigManager.AddConfigItem((BaseConfigItem)new BoolCheckBoxConfigItem(remoteEntityID, false)); giveApparatusWarnings = ((BaseUnityPlugin)this).Config.Bind<bool>("Dialogue & Interactions", "Give Apparatus warnings", true, "If set to true, VEGA will give you brief and informative warnings when the Apparatus is pulled."); LethalConfigManager.AddConfigItem((BaseConfigItem)new BoolCheckBoxConfigItem(giveApparatusWarnings, false)); giveWeatherInfo = ((BaseUnityPlugin)this).Config.Bind<bool>("Dialogue & Interactions", "Give weather info", true, "If set to true, VEGA will give you information on a moon's current weather upon landing if you have little to no experience."); LethalConfigManager.AddConfigItem((BaseConfigItem)new BoolCheckBoxConfigItem(giveWeatherInfo, false)); messages = ((BaseUnityPlugin)this).Config.Bind<string>("Dialogue & Interactions", "Signal Translator messages", LanguageHelper.Messages[commandLanguage.Value], "The messages VEGA can transmit using the Signal Translator.\nEach message must be separated by a comma and a white space, like so -> 'Message, Another message'\nApplies after a game restart."); LethalConfigManager.AddConfigItem((BaseConfigItem)new TextInputFieldConfigItem(messages)); globalConfidence = ((BaseUnityPlugin)this).Config.Bind<float>("Accuracy thresholds", "Global", 0.5f, new ConfigDescription("Determines how difficult it is for VEGA to recognize all voice commands. Higher values means he needs to be more confident, lower values will activate more often, but will cause more false positives.\n\nIf you'd like to change the threshold for a specific command or set of commands, simply change their values to something higher than 0.\n\nThis setting can be changed mid-game.", (AcceptableValueBase)(object)new AcceptableValueRange<float>(0f, 1f), Array.Empty<object>())); LethalConfigManager.AddConfigItem((BaseConfigItem)new FloatSliderConfigItem(globalConfidence, false)); gratitudeConfidence = ((BaseUnityPlugin)this).Config.Bind<float>("Accuracy thresholds", "Gratitude", 0f, new ConfigDescription("Determines how difficult it is for VEGA to recognize the 'Thank you' voice commands. Higher values means he needs to be more confident, lower values will activate more often, but will cause more false positives.\nCan be changed mid-game.", (AcceptableValueBase)(object)new AcceptableValueRange<float>(0f, 1f), Array.Empty<object>())); LethalConfigManager.AddConfigItem((BaseConfigItem)new FloatSliderConfigItem(gratitudeConfidence, false)); stopConfidence = ((BaseUnityPlugin)this).Config.Bind<float>("Accuracy thresholds", "Stop talking", 0f, new ConfigDescription("Determines how difficult it is for VEGA to recognize the 'Stop talking' voice commands. Higher values means he needs to be more confident, lower values will activate more often, but will cause more false positives.\nCan be changed mid-game.", (AcceptableValueBase)(object)new AcceptableValueRange<float>(0f, 1f), Array.Empty<object>())); LethalConfigManager.AddConfigItem((BaseConfigItem)new FloatSliderConfigItem(stopConfidence, false)); secureDoorsConfidence = ((BaseUnityPlugin)this).Config.Bind<float>("Accuracy thresholds", "Secure doors", 0f, new ConfigDescription("Determines how difficult it is for VEGA to recognize the voice commands used to interact with secure doors. Higher values means he needs to be more confident, lower values will activate more often, but will cause more false positives.\nCan be changed mid-game.", (AcceptableValueBase)(object)new AcceptableValueRange<float>(0f, 1f), Array.Empty<object>())); LethalConfigManager.AddConfigItem((BaseConfigItem)new FloatSliderConfigItem(secureDoorsConfidence, false)); turretsConfidence = ((BaseUnityPlugin)this).Config.Bind<float>("Accuracy thresholds", "Turrets", 0f, new ConfigDescription("Determines how difficult it is for VEGA to recognize voice commands used to disable turrets. Higher values means he needs to be more confident, lower values will activate more often, but will cause more false positives.\nCan be changed mid-game.", (AcceptableValueBase)(object)new AcceptableValueRange<float>(0f, 1f), Array.Empty<object>())); LethalConfigManager.AddConfigItem((BaseConfigItem)new FloatSliderConfigItem(turretsConfidence, false)); landminesConfidence = ((BaseUnityPlugin)this).Config.Bind<float>("Accuracy thresholds", "Landmines", 0f, new ConfigDescription("Determines how difficult it is for VEGA to recognize voice commands used to disable landmines. Higher values means he needs to be more confident, lower values will activate more often, but will cause more false positives.\nCan be changed mid-game.", (AcceptableValueBase)(object)new AcceptableValueRange<float>(0f, 1f), Array.Empty<object>())); LethalConfigManager.AddConfigItem((BaseConfigItem)new FloatSliderConfigItem(landminesConfidence, false)); trapsConfidence = ((BaseUnityPlugin)this).Config.Bind<float>("Accuracy thresholds", "Spike traps", 0f, new ConfigDescription("Determines how difficult it is for VEGA to recognize voice commands used to disable spike traps. Higher values means he needs to be more confident, lower values will activate more often, but will cause more false positives.\nCan be changed mid-game.", (AcceptableValueBase)(object)new AcceptableValueRange<float>(0f, 1f), Array.Empty<object>())); LethalConfigManager.AddConfigItem((BaseConfigItem)new FloatSliderConfigItem(trapsConfidence, false)); signalsConfidence = ((BaseUnityPlugin)this).Config.Bind<float>("Accuracy thresholds", "Signal translator", 0f, new ConfigDescription("Determines how difficult it is for VEGA to recognize the voice commands related to the Signal Translator. Higher values means he needs to be more confident, lower values will activate more often, but will cause more false positives.\nCan be changed mid-game.", (AcceptableValueBase)(object)new AcceptableValueRange<float>(0f, 1f), Array.Empty<object>())); LethalConfigManager.AddConfigItem((BaseConfigItem)new FloatSliderConfigItem(signalsConfidence, false)); teleportConfidence = ((BaseUnityPlugin)this).Config.Bind<float>("Accuracy thresholds", "Teleport", 0f, new ConfigDescription("Determines how difficult it is for VEGA to recognize the 'Teleport' and 'Radar Switch' voice commands. Higher values means he needs to be more confident, lower values will activate more often, but will cause more false positives.\nCan be changed mid-game.", (AcceptableValueBase)(object)new AcceptableValueRange<float>(0f, 1f), Array.Empty<object>())); LethalConfigManager.AddConfigItem((BaseConfigItem)new FloatSliderConfigItem(teleportConfidence, false)); shipConfidence = ((BaseUnityPlugin)this).Config.Bind<float>("Accuracy thresholds", "Ship", 0f, new ConfigDescription("Determines how difficult it is for VEGA to recognize voice commands related to the ship's lights and door. Higher values means he needs to be more confident, lower values will activate more often, but will cause more false positives.\nCan be changed mid-game.", (AcceptableValueBase)(object)new AcceptableValueRange<float>(0f, 1f), Array.Empty<object>())); LethalConfigManager.AddConfigItem((BaseConfigItem)new FloatSliderConfigItem(shipConfidence, false)); miscConfidence = ((BaseUnityPlugin)this).Config.Bind<float>("Accuracy thresholds", "Miscellaneous", 0f, new ConfigDescription("Determines how difficult it is for VEGA to recognize voice commands related to the Advanced Scanner and Radar Boosters. Higher values means he needs to be more confident, lower values will activate more often, but will cause more false positives.\nCan be changed mid-game.", (AcceptableValueBase)(object)new AcceptableValueRange<float>(0f, 1f), Array.Empty<object>())); LethalConfigManager.AddConfigItem((BaseConfigItem)new FloatSliderConfigItem(miscConfidence, false)); crewStatusConfidence = ((BaseUnityPlugin)this).Config.Bind<float>("Accuracy thresholds", "Crew Status", 0f, new ConfigDescription("Determines how difficult it is for VEGA to recognize the 'Crew status' voice commands. Higher values means he needs to be more confident, lower values will activate more often, but will cause more false positives.\nCan be changed mid-game.", (AcceptableValueBase)(object)new AcceptableValueRange<float>(0f, 1f), Array.Empty<object>())); LethalConfigManager.AddConfigItem((BaseConfigItem)new FloatSliderConfigItem(crewStatusConfidence, false)); crewInShipConfidence = ((BaseUnityPlugin)this).Config.Bind<float>("Accuracy thresholds", "Crew in ship", 0f, new ConfigDescription("Determines how difficult it is for VEGA to recognize the 'Crew in ship' voice commands. Higher values means he needs to be more confident, lower values will activate more often, but will cause more false positives.\nCan be changed mid-game.", (AcceptableValueBase)(object)new AcceptableValueRange<float>(0f, 1f), Array.Empty<object>())); LethalConfigManager.AddConfigItem((BaseConfigItem)new FloatSliderConfigItem(crewInShipConfidence, false)); scrapLeftConfidence = ((BaseUnityPlugin)this).Config.Bind<float>("Accuracy thresholds", "Scrap / items left", 0f, new ConfigDescription("Determines how difficult it is for VEGA to recognize the 'Scrap / items left' voice commands. Higher values means he needs to be more confident, lower values will activate more often, but will cause more false positives.\nCan be changed mid-game.", (AcceptableValueBase)(object)new AcceptableValueRange<float>(0f, 1f), Array.Empty<object>())); LethalConfigManager.AddConfigItem((BaseConfigItem)new FloatSliderConfigItem(scrapLeftConfidence, false)); infoConfidence = ((BaseUnityPlugin)this).Config.Bind<float>("Accuracy thresholds", "Info", 0f, new ConfigDescription("Determines how difficult it is for VEGA to recognize voice commands related to information about Entities, Moons, Weather phenomena and the current Time of day. Higher values means he needs to be more confident, lower values will activate more often, but will cause more false positives.\nCan be changed mid-game.", (AcceptableValueBase)(object)new AcceptableValueRange<float>(0f, 1f), Array.Empty<object>())); LethalConfigManager.AddConfigItem((BaseConfigItem)new FloatSliderConfigItem(infoConfidence, false)); manualActivationConfidence = ((BaseUnityPlugin)this).Config.Bind<float>("Accuracy thresholds", "Manual Activation", 0f, new ConfigDescription("Determines how difficult it is for VEGA to recognize the 'Manual Activation' voice commands. Higher values means he needs to be more confident, lower values will activate more often, but will cause more false positives.\nCan be changed mid-game.", (AcceptableValueBase)(object)new AcceptableValueRange<float>(0f, 1f), Array.Empty<object>())); LethalConfigManager.AddConfigItem((BaseConfigItem)new FloatSliderConfigItem(manualActivationConfidence, false)); volume = ((BaseUnityPlugin)this).Config.Bind<float>("Sound Settings", "Volume", 1f, new ConfigDescription("Changes how loud VEGA is.", (AcceptableValueBase)(object)new AcceptableValueRange<float>(0f, 1f), Array.Empty<object>())); volume.SettingChanged += delegate { if ((Object)(object)VEGA.audioSource != (Object)null) { VEGA.audioSource.volume = volume.Value; } if ((Object)(object)VEGA.sfxAudioSource != (Object)null) { VEGA.sfxAudioSource.volume = volume.Value; } }; LethalConfigManager.AddConfigItem((BaseConfigItem)new FloatSliderConfigItem(volume, false)); ignoreMasterVolume = ((BaseUnityPlugin)this).Config.Bind<bool>("Sound Settings", "Ignore Master Volume setting", false, "If set to true, VEGA will ignore the game's master volume setting and always play at the same volume level.\nThis setting only applies before joining a game."); ignoreMasterVolume.SettingChanged += delegate { if ((Object)(object)VEGA.audioSource != (Object)null) { VEGA.audioSource.ignoreListenerVolume = ignoreMasterVolume.Value; } if ((Object)(object)VEGA.sfxAudioSource != (Object)null) { VEGA.sfxAudioSource.ignoreListenerVolume = ignoreMasterVolume.Value; } }; LethalConfigManager.AddConfigItem((BaseConfigItem)new BoolCheckBoxConfigItem(ignoreMasterVolume, false)); useManualListening = ((BaseUnityPlugin)this).Config.Bind<bool>("Manual Listening", "Enabled", false, "Manual Listening determines if VEGA should only be able to hear you when you ask him to."); LethalConfigManager.AddConfigItem((BaseConfigItem)new BoolCheckBoxConfigItem(useManualListening, false)); enableManualListeningAuto = ((BaseUnityPlugin)this).Config.Bind<bool>("Manual Listening", "Enable VEGA listening automatically", false, "Makes VEGA listen automatically when joining a game. Only works if Manual Listening is set to true."); enableManualListeningAuto.SettingChanged += delegate { if (!VEGA.listening) { VEGA.PlaySFX("Activate"); } else { VEGA.PlaySFX("Deactivate"); } VEGA.listening = enableManualListeningAuto.Value; }; LethalConfigManager.AddConfigItem((BaseConfigItem)new BoolCheckBoxConfigItem(enableManualListeningAuto, false)); scannerRange = ((BaseUnityPlugin)this).Config.Bind<float>("Advanced Scanner", "Range", 29f, new ConfigDescription("Changes how far the Advanced Scanner can reach (in meters).", (AcceptableValueBase)(object)new AcceptableValueRange<float>(1f, 29f), Array.Empty<object>())); scannerRange.SettingChanged += delegate { VEGA.scannerRange = scannerRange.Value; }; LethalConfigManager.AddConfigItem((BaseConfigItem)new FloatSliderConfigItem(scannerRange, false)); enableAdvancedScannerAuto = ((BaseUnityPlugin)this).Config.Bind<bool>("Advanced Scanner", "Enable the Advanced Scanner automatically", false, "Enables VEGA's Advanced Scanner automatically when joining a game. Useful if you always want to have it on and don't want to repeat the voice command often."); enableAdvancedScannerAuto.SettingChanged += delegate { VEGA.advancedScannerActive = enableAdvancedScannerAuto.Value; if (!VEGA.advancedScannerActive) { if ((Object)(object)HUDManagerPatch.entities != (Object)null) { ((TMP_Text)HUDManagerPatch.entities.GetComponent<TextMeshProUGUI>()).SetText("", true); } if ((Object)(object)HUDManagerPatch.items != (Object)null) { ((TMP_Text)HUDManagerPatch.items.GetComponent<TextMeshProUGUI>()).SetText("", true); } } }; LethalConfigManager.AddConfigItem((BaseConfigItem)new BoolCheckBoxConfigItem(enableAdvancedScannerAuto, false)); detectMasked = ((BaseUnityPlugin)this).Config.Bind<bool>("Advanced Scanner", "Detect Masked employees", false, "Determines if the Advanced Scanner should be able to count Masked employees as entities."); LethalConfigManager.AddConfigItem((BaseConfigItem)new BoolCheckBoxConfigItem(detectMasked, false)); infoDisplayMode = ((BaseUnityPlugin)this).Config.Bind<DisplayModes>("Advanced Scanner", "Info display mode", DisplayModes.Default, "Changes how the Advanced Scanner displays information."); infoDisplayMode.SettingChanged += delegate { VEGA.UpdateScannerDisplayMode(); }; LethalConfigManager.AddConfigItem((BaseConfigItem)(object)new EnumDropDownConfigItem<DisplayModes>(infoDisplayMode, false)); scale = ((BaseUnityPlugin)this).Config.Bind<float>("Advanced Scanner", "Scale", 1f, "The size of the Advanced Scanner on the screen."); scale.SettingChanged += delegate { HUDManagerPatch.UpdateScannerPosAndScale(); }; LethalConfigManager.AddConfigItem((BaseConfigItem)new FloatInputFieldConfigItem(scale, false)); horizontalPosition = ((BaseUnityPlugin)this).Config.Bind<float>("Advanced Scanner", "Horizontal position", 45f, "The horizontal position of the Advanced Scanner on the screen."); horizontalPosition.SettingChanged += delegate { HUDManagerPatch.UpdateScannerPosAndScale(); }; LethalConfigManager.AddConfigItem((BaseConfigItem)new FloatInputFieldConfigItem(horizontalPosition, false)); verticalPosition = ((BaseUnityPlugin)this).Config.Bind<float>("Advanced Scanner", "Vertical position", 180f, "The vertical position of the Advanced Scanner on the screen."); verticalPosition.SettingChanged += delegate { HUDManagerPatch.UpdateScannerPosAndScale(); }; LethalConfigManager.AddConfigItem((BaseConfigItem)new FloatInputFieldConfigItem(verticalPosition, false)); horizontalGap = ((BaseUnityPlugin)this).Config.Bind<float>("Advanced Scanner", "Horizontal gap", 0f, "The horizontal gap between the nearby Entities and Items on the screen."); horizontalGap.SettingChanged += delegate { HUDManagerPatch.UpdateScannerPosAndScale(); }; LethalConfigManager.AddConfigItem((BaseConfigItem)new FloatInputFieldConfigItem(horizontalGap, false)); verticalGap = ((BaseUnityPlugin)this).Config.Bind<float>("Advanced Scanner", "Vertical gap", 50f, "The vertical gap between the nearby Entities and Items on the screen."); verticalGap.SettingChanged += delegate { HUDManagerPatch.UpdateScannerPosAndScale(); }; LethalConfigManager.AddConfigItem((BaseConfigItem)new FloatInputFieldConfigItem(verticalGap, false)); entitiesTextLength = ((BaseUnityPlugin)this).Config.Bind<float>("Advanced Scanner", "Entities text length", 200f, "Determines how much text fits in a single line in the Entities section of the scanner."); entitiesTextLength.SettingChanged += delegate { //IL_0049: 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) float num4 = (ModChecker.hasEladsHUD ? (entitiesTextLength.Value + 100f) : entitiesTextLength.Value); if ((Object)(object)HUDManagerPatch.entities != (Object)null) { HUDManagerPatch.entities.GetComponent<RectTransform>().sizeDelta = new Vector2(num4, HUDManagerPatch.entities.GetComponent<RectTransform>().sizeDelta.y); } }; LethalConfigManager.AddConfigItem((BaseConfigItem)new FloatInputFieldConfigItem(entitiesTextLength, false)); itemsTextLength = ((BaseUnityPlugin)this).Config.Bind<float>("Advanced Scanner", "Items text length", 200f, "Determines how much text fits in a single line in the Items section of the scanner."); itemsTextLength.SettingChanged += delegate { //IL_0049: 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) float num3 = (ModChecker.hasEladsHUD ? (itemsTextLength.Value + 100f) : itemsTextLength.Value); if ((Object)(object)HUDManagerPatch.items != (Object)null) { HUDManagerPatch.items.GetComponent<RectTransform>().sizeDelta = new Vector2(num3, HUDManagerPatch.items.GetComponent<RectTransform>().sizeDelta.y); } }; LethalConfigManager.AddConfigItem((BaseConfigItem)new FloatInputFieldConfigItem(itemsTextLength, false)); entitiesAlignment = ((BaseUnityPlugin)this).Config.Bind<TextAlignmentOptions>("Advanced Scanner", "Entities text alignment", (TextAlignmentOptions)513, "The alignment of the Entities section of the scanner."); entitiesAlignment.SettingChanged += delegate { //IL_001a: Unknown result type (might be due to invalid IL or missing references) if ((Object)(object)VEGA.entitiesTextComponent != (Object)null) { ((TMP_Text)VEGA.entitiesTextComponent).alignment = entitiesAlignment.Value; } }; LethalConfigManager.AddConfigItem((BaseConfigItem)(object)new EnumDropDownConfigItem<TextAlignmentOptions>(entitiesAlignment, false)); itemsAlignment = ((BaseUnityPlugin)this).Config.Bind<TextAlignmentOptions>("Advanced Scanner", "Items text alignment", (TextAlignmentOptions)513, "The alignment of the Advanced Scanner on the screen."); itemsAlignment.SettingChanged += delegate { //IL_001a: Unknown result type (might be due to invalid IL or missing references) if ((Object)(object)VEGA.itemsTextComponent != (Object)null) { ((TMP_Text)VEGA.itemsTextComponent).alignment = itemsAlignment.Value; } }; LethalConfigManager.AddConfigItem((BaseConfigItem)(object)new EnumDropDownConfigItem<TextAlignmentOptions>(itemsAlignment, false)); entitiesTilt = ((BaseUnityPlugin)this).Config.Bind<float>("Advanced Scanner", "Entities tilt", 22f, "The inclination of the Entities component on the screen."); entitiesTilt.SettingChanged += delegate { //IL_0042: 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_0059: Unknown result type (might be due to invalid IL or missing references) if ((Object)(object)VEGA.entitiesTextComponent != (Object)null) { RectTransform component2 = ((Component)VEGA.entitiesTextComponent).GetComponent<RectTransform>(); float num2 = (ModChecker.hasEladsHUD ? (entitiesTilt.Value - 17f) : entitiesTilt.Value); ((Transform)component2).localRotation = Quaternion.Euler(((Transform)component2).localRotation.x, 0f - num2, ((Transform)component2).localRotation.z); } }; LethalConfigManager.AddConfigItem((BaseConfigItem)new FloatInputFieldConfigItem(entitiesTilt, false)); itemsTilt = ((BaseUnityPlugin)this).Config.Bind<float>("Advanced Scanner", "Items tilt", 22f, "The inclination of the Items component on the screen."); itemsTilt.SettingChanged += delegate { //IL_0042: 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_0059: Unknown result type (might be due to invalid IL or missing references) if ((Object)(object)VEGA.itemsTextComponent != (Object)null) { RectTransform component = ((Component)VEGA.itemsTextComponent).GetComponent<RectTransform>(); float num = (ModChecker.hasEladsHUD ? (itemsTilt.Value - 17f) : itemsTilt.Value); ((Transform)component).localRotation = Quaternion.Euler(((Transform)component).localRotation.x, 0f - num, ((Transform)component).localRotation.z); } }; LethalConfigManager.AddConfigItem((BaseConfigItem)new FloatInputFieldConfigItem(itemsTilt, false)); clearTextColor = ((BaseUnityPlugin)this).Config.Bind<string>("Advanced Scanner", "Clear color", "#0000ff", "Changes the color of the text under both sections of the scanner when no entities or items are within its range."); clearTextColor.SettingChanged += delegate { VEGA.UpdateScannerColors(); }; LethalConfigManager.AddConfigItem((BaseConfigItem)new HexColorInputFieldConfigItem(clearTextColor, false)); entitiesNearbyTextColor = ((BaseUnityPlugin)this).Config.Bind<string>("Advanced Scanner", "Entities nearby color", "#ff0000", "Changes the color of the text under the Entities section of the scanner when entities are within the scanner's range."); entitiesNearbyTextColor.SettingChanged += delegate { VEGA.UpdateScannerColors(); }; LethalConfigManager.AddConfigItem((BaseConfigItem)new HexColorInputFieldConfigItem(entitiesNearbyTextColor, false)); itemsNearbyTextColor = ((BaseUnityPlugin)this).Config.Bind<string>("Advanced Scanner", "Items nearby color", "#008000", "Changes the color of the text under the Items section of the scanner when items are within the scanner's range."); itemsNearbyTextColor.SettingChanged += delegate { VEGA.UpdateScannerColors(); }; LethalConfigManager.AddConfigItem((BaseConfigItem)new HexColorInputFieldConfigItem(itemsNearbyTextColor, false)); playerNameColors = ((BaseUnityPlugin)this).Config.Bind<string>("Text Chat", "Player name colors", "", "Allows you to change the color of people's usernames in VEGA's chat messages using hex codes. The format is:\n'username: hex code, otherusername: hex code'"); playerNameColors.SettingChanged += delegate { VEGA.SetNameColors(); VEGA.AddNameColors(); }; LethalConfigManager.AddConfigItem((BaseConfigItem)new TextInputFieldConfigItem(playerNameColors, false)); sendRadarSwitchChatMessage = ((BaseUnityPlugin)this).Config.Bind<bool>("Text Chat", "Send Radar Switch chat message", true, "If set to true, VEGA will send a message in the text chat that lets everyone know you used the Radar Switch command."); LethalConfigManager.AddConfigItem((BaseConfigItem)new BoolCheckBoxConfigItem(sendRadarSwitchChatMessage, false)); sendSignalTranslatorChatMessage = ((BaseUnityPlugin)this).Config.Bind<bool>("Text Chat", "Send Signal Translator chat message", true, "If set to true, VEGA will send a message in the text chat that lets everyone know you used VEGA to transmit a signal."); LethalConfigManager.AddConfigItem((BaseConfigItem)new BoolCheckBoxConfigItem(sendSignalTranslatorChatMessage, false)); sendTeleporterChatMessage = ((BaseUnityPlugin)this).Config.Bind<bool>("Text Chat", "Send Teleporter chat message", true, "If set to true, VEGA will send a message in the text chat that lets everyone know you asked VEGA to activate the teleporter."); LethalConfigManager.AddConfigItem((BaseConfigItem)new BoolCheckBoxConfigItem(sendTeleporterChatMessage, false)); patchReadInput = ((BaseUnityPlugin)this).Config.Bind<bool>("Patches", "Patch ReadInput", true, "Enables / disables the code that checks for player input and allows you to make VEGA listen / stop listening by pressing a key."); LethalConfigManager.AddConfigItem((BaseConfigItem)new BoolCheckBoxConfigItem(patchReadInput, false)); name = ((BaseUnityPlugin)this).Config.Bind<string>("Voice Commands", "Name", "VEGA", "The name you'd like to address the mod by for voice commands (VEGA by default). This name will be added at the beginning of every command, except for the gratitude commands, where it will be added at the end of the command instead.\n\nYou can also leave it empty if you'd like to not use a name at all."); LethalConfigManager.AddConfigItem((BaseConfigItem)new TextInputFieldConfigItem(name)); enhancedTeleportCommands = ((BaseUnityPlugin)this).Config.Bind<bool>("Voice Commands", "Enhanced Teleport commands", true, "Makes VEGA perform the radar switch before activating the teleporter."); LethalConfigManager.AddConfigItem((BaseConfigItem)new BoolCheckBoxConfigItem(enhancedTeleportCommands, false)); enhancedHazardDisabling = ((BaseUnityPlugin)this).Config.Bind<bool>("Voice Commands", "Enhanced Hazard Disabling commands", true, "Makes VEGA disable all visible turrets / landmines / spike traps when using their respective commands."); LethalConfigManager.AddConfigItem((BaseConfigItem)new BoolCheckBoxConfigItem(enhancedHazardDisabling, false)); registerActivation = ((BaseUnityPlugin)this).Config.Bind<bool>("Voice Commands", "Register Manual Listening commands", true, "Disable this if you don't want these voice commands to be registered. Will apply after restarting the game."); LethalConfigManager.AddConfigItem((BaseConfigItem)new BoolCheckBoxConfigItem(registerActivation)); startListeningCommands = ((BaseUnityPlugin)this).Config.Bind<string>("Voice Commands", "Start listening commands", LanguageHelper.Commands[commandLanguage.Value]["startListening"], "The voice commands that you want to get registered and picked up by VEGA. Make sure to separate different commands with a '/'."); LethalConfigManager.AddConfigItem((BaseConfigItem)new TextInputFieldConfigItem(startListeningCommands)); stopListeningCommands = ((BaseUnityPlugin)this).Config.Bind<string>("Voice Commands", "Stop listening commands", LanguageHelper.Commands[commandLanguage.Value]["stopListening"], "The voice commands that you want to get registered and picked up by VEGA. Make sure to separate different commands with a '/'."); LethalConfigManager.AddConfigItem((BaseConfigItem)new TextInputFieldConfigItem(stopListeningCommands)); registerMoonsInfo = ((BaseUnityPlugin)this).Config.Bind<bool>("Voice Commands", "Register Moon info commands", true, "Disable this if you don't want these voice commands to be registered. Will apply after restarting the game."); LethalConfigManager.AddConfigItem((BaseConfigItem)new BoolCheckBoxConfigItem(registerMoonsInfo)); moonsInfoCommands = ((BaseUnityPlugin)this).Config.Bind<string>("Voice Commands", "Moon info commands", LanguageHelper.Commands[commandLanguage.Value]["moonInfo"], "The voice commands that you want to get registered and picked up by VEGA. Make sure to separate different commands with a '/'.\nIMPORTANT: Moon info commands will always have the moon's name at the end!"); LethalConfigManager.AddConfigItem((BaseConfigItem)new TextInputFieldConfigItem(moonsInfoCommands)); registerCreatureInfo = ((BaseUnityPlugin)this).Config.Bind<bool>("Voice Commands", "Register Creature info commands", true, "Disable this if you don't want these voice commands to be registered. Will apply after restarting the game."); LethalConfigManager.AddConfigItem((BaseConfigItem)new BoolCheckBoxConfigItem(registerCreatureInfo)); creatureInfoCommands = ((BaseUnityPlugin)this).Config.Bind<string>("Voice Commands", "Creature info commands", LanguageHelper.Commands[commandLanguage.Value]["creatureInfo"], "The voice commands that you want to get registered and picked up by VEGA. Make sure to separate different commands with a '/'.\nIMPORTANT: Creature info commands will always have the creature's name at the end! The list of usable names is available in the Thunderstore page."); LethalConfigManager.AddConfigItem((BaseConfigItem)new TextInputFieldConfigItem(creatureInfoCommands)); registerAdvancedScanner = ((BaseUnityPlugin)this).Config.Bind<bool>("Voice Commands", "Register Advanced Scanner commands", true, "Disable this if you don't want these voice commands to be registered. Will apply after restarting the game."); LethalConfigManager.AddConfigItem((BaseConfigItem)new BoolCheckBoxConfigItem(registerAdvancedScanner)); activateAdvancedScannerCommands = ((BaseUnityPlugin)this).Config.Bind<string>("Voice Commands", "Activate Advanced Scanner commands", LanguageHelper.Commands[commandLanguage.Value]["activateScanner"], "The voice commands that you want to get registered and picked up by VEGA. Make sure to separate different commands with a '/'."); LethalConfigManager.AddConfigItem((BaseConfigItem)new TextInputFieldConfigItem(activateAdvancedScannerCommands)); deactivateAdvancedScannerCommands = ((BaseUnityPlugin)this).Config.Bind<string>("Voice Commands", "Deactivate Advanced Scanner commands", LanguageHelper.Commands[commandLanguage.Value]["deactivateScanner"], "The voice commands that you want to get registered and picked up by VEGA. Make sure to separate different commands with a '/'."); LethalConfigManager.AddConfigItem((BaseConfigItem)new TextInputFieldConfigItem(deactivateAdvancedScannerCommands)); registerInteractSecureDoor = ((BaseUnityPlugin)this).Config.Bind<bool>("Voice Commands", "Register Open / Close Secure Door commands", true, "Disable this if you don't want these voice commands to be registered. Will apply after restarting the game."); LethalConfigManager.AddConfigItem((BaseConfigItem)new BoolCheckBoxConfigItem(registerInteractSecureDoor)); openSecureDoorCommands = ((BaseUnityPlugin)this).Config.Bind<string>("Voice Commands", "Open secure door commands", LanguageHelper.Commands[commandLanguage.Value]["openDoor"], "The voice commands that you want to get registered and picked up by VEGA. Make sure to separate different commands with a '/'."); LethalConfigManager.AddConfigItem((BaseConfigItem)new TextInputFieldConfigItem(openSecureDoorCommands)); closeSecureDoorCommands = ((BaseUnityPlugin)this).Config.Bind<string>("Voice Commands", "Close secure door commands", LanguageHelper.Commands[commandLanguage.Value]["closeDoor"], "The voice commands that you want to get registered and picked up by VEGA. Make sure to separate different commands with a '/'."); LethalConfigManager.AddConfigItem((BaseConfigItem)new TextInputFieldConfigItem(closeSecureDoorCommands)); registerInteractAllSecureDoors = ((BaseUnityPlugin)this).Config.Bind<bool>("Voice Commands", "Register Open / Close All Secure Doors command", true, "Disable this if you don't want this voice command to be registered. Will apply after restarting the game."); LethalConfigManager.AddConfigItem((BaseConfigItem)new BoolCheckBoxConfigItem(registerInteractAllSecureDoors)); openAllSecureDoorsCommands = ((BaseUnityPlugin)this).Config.Bind<string>("Voice Commands", "Open all secure door commands", LanguageHelper.Commands[commandLanguage.Value]["openAllDoors"], "The voice commands that you want to get registered and picked up by VEGA. Make sure to separate different commands with a '/'."); LethalConfigManager.AddConfigItem((BaseConfigItem)new TextInputFieldConfigItem(openAllSecureDoorsCommands)); closeAllSecureDoorsCommands = ((BaseUnityPlugin)this).Config.Bind<string>("Voice Commands", "Close all secure door commands", LanguageHelper.Commands[commandLanguage.Value]["closeAllDoors"], "The voice commands that you want to get registered and picked up by VEGA. Make sure to separate different commands with a '/'."); LethalConfigManager.AddConfigItem((BaseConfigItem)new TextInputFieldConfigItem(closeAllSecureDoorsCommands)); registerDisableTurret = ((BaseUnityPlugin)this).Config.Bind<bool>("Voice Commands", "Register Disable Turret command", true, "Disable this if you don't want this voice command to be registered. Will apply after restarting the game."); LethalConfigManager.AddConfigItem((BaseConfigItem)new BoolCheckBoxConfigItem(registerDisableTurret)); disableTurretCommands = ((BaseUnityPlugin)this).Config.Bind<string>("Voice Commands", "Disable turret commands", LanguageHelper.Commands[commandLanguage.Value]["disableTurret"], "The voice commands that you want to get registered and picked up by VEGA. Make sure to separate different commands with a '/'."); LethalConfigManager.AddConfigItem((BaseConfigItem)new TextInputFieldConfigItem(disableTurretCommands)); registerDisableAllTurrets = ((BaseUnityPlugin)this).Config.Bind<bool>("Voice Commands", "Register Disable All Turrets command", true, "Disable this if you don't want this voice command to be registered. Will apply after restarting the game."); LethalConfigManager.AddConfigItem((BaseConfigItem)new BoolCheckBoxConfigItem(registerDisableAllTurrets)); disableAllTurretsCommands = ((BaseUnityPlugin)this).Config.Bind<string>("Voice Commands", "Disable all turrets commands", LanguageHelper.Commands[commandLanguage.Value]["disableAllTurrets"], "The voice commands that you want to get registered and picked up by VEGA. Make sure to separate different commands with a '/'."); LethalConfigManager.AddConfigItem((BaseConfigItem)new TextInputFieldConfigItem(disableAllTurretsCommands)); registerDisableMine = ((BaseUnityPlugin)this).Config.Bind<bool>("Voice Commands", "Register Disable Mine command", true, "Disable this if you don't want this voice command to be registered. Will apply after restarting the game."); LethalConfigManager.AddConfigItem((BaseConfigItem)new BoolCheckBoxConfigItem(registerDisableMine)); disableMineCommands = ((BaseUnityPlugin)this).Config.Bind<string>("Voice Commands", "Disable landmine commands", LanguageHelper.Commands[commandLanguage.Value]["disableMine"], "The voice commands that you want to get registered and picked up by VEGA. Make sure to separate different commands with a '/'."); LethalConfigManager.AddConfigItem((BaseConfigItem)new TextInputFieldConfigItem(disableMineCommands)); registerDisableAllMines = ((BaseUnityPlugin)this).Config.Bind<bool>("Voice Commands", "Register Disable All Mines command", true, "Disable this if you don't want this voice command to be registered. Will apply after restarting the game."); LethalConfigManager.AddConfigItem((BaseConfigItem)new BoolCheckBoxConfigItem(registerDisableAllMines)); disableAllMinesCommands = ((BaseUnityPlugin)this).Config.Bind<string>("Voice Commands", "Disable all landmines commands", LanguageHelper.Commands[commandLanguage.Value]["disableAllMines"], "The voice commands that you want to get registered and picked up by VEGA. Make sure to separate different commands with a '/'."); LethalConfigManager.AddConfigItem((BaseConfigItem)new TextInputFieldConfigItem(disableAllMinesCommands)); registerDisableSpikeTrap = ((BaseUnityPlugin)this).Config.Bind<bool>("Voice Commands", "Register Disable Spike Trap command", true, "Disable this if you don't want this voice command to be registered. Will apply after restarting the game."); LethalConfigManager.AddConfigItem((BaseConfigItem)new BoolCheckBoxConfigItem(registerDisableSpikeTrap)); disableSpikeTrapCommands = ((BaseUnityPlugin)this).Config.Bind<string>("Voice Commands", "Disable spike trap commands", LanguageHelper.Commands[commandLanguage.Value]["disableTrap"], "The voice commands that you want to get registered and picked up by VEGA. Make sure to separate different commands with a '/'."); LethalConfigManager.AddConfigItem((BaseConfigItem)new TextInputFieldConfigItem(disableSpikeTrapCommands)); registerDisableAllSpikeTraps = ((BaseUnityPlugin)this).Config.Bind<bool>("Voice Commands", "Register Disable All Spike Traps command", true, "Disable this if you don't want this voice command to be registered. Will apply after restarting the game."); LethalConfigManager.AddConfigItem((BaseConfigItem)new BoolCheckBoxConfigItem(registerDisableAllSpikeTraps)); disableAllSpikeTrapsCommands = ((BaseUnityPlugin)this).Config.Bind<string>("Voice Commands", "Disable all spike traps commands", LanguageHelper.Commands[commandLanguage.Value]["disableAllTraps"], "The voice commands that you want to get registered and picked up by VEGA. Make sure to separate different commands with a '/'."); LethalConfigManager.AddConfigItem((BaseConfigItem)new TextInputFieldConfigItem(disableAllSpikeTrapsCommands)); registerTeleporter = ((BaseUnityPlugin)this).Config.Bind<bool>("Voice Commands", "Register Teleporter commands", true, "Disable this if you don't want these voice commands to be registered. Will apply after restarting the game."); LethalConfigManager.AddConfigItem((BaseConfigItem)new BoolCheckBoxConfigItem(registerTeleporter)); teleporterCommands = ((BaseUnityPlugin)this).Config.Bind<string>("Voice Commands", "Teleporter commands", LanguageHelper.Commands[commandLanguage.Value]["teleporter"], "The voice commands that you want to get registered and picked up by VEGA. Make sure to separate different commands with a '/'."); LethalConfigManager.AddConfigItem((BaseConfigItem)new TextInputFieldConfigItem(teleporterCommands)); registerRadarSwitch = ((BaseUnityPlugin)this).Config.Bind<bool>("Voice Commands", "Register Radar Switch commands", true, "Disable this if you don't want these voice commands to be registered. Will apply after restarting the game."); LethalConfigManager.AddConfigItem((BaseConfigItem)new BoolCheckBoxConfigItem(registerRadarSwitch)); radarSwitchCommands = ((BaseUnityPlugin)this).Config.Bind<string>("Voice Commands", "Radar Switch commands", LanguageHelper.Commands[commandLanguage.Value]["mapSwitch"], "The voice commands that you want to get registered and picked up by VEGA. Make sure to separate different commands with a '/'."); LethalConfigManager.AddConfigItem((BaseConfigItem)new TextInputFieldConfigItem(radarSwitchCommands)); registerCrewStatus = ((BaseUnityPlugin)this).Config.Bind<bool>("Voice Commands", "Register Crew Status commands", true, "Disable this if you don't want these voice commands to be registered. Will apply after restarting the game."); LethalConfigManager.AddConfigItem((BaseConfigItem)new BoolCheckBoxConfigItem(registerCrewStatus)); crewStatusCommands = ((BaseUnityPlugin)this).Config.Bind<string>("Voice Commands", "Crew Status commands", LanguageHelper.Commands[commandLanguage.Value]["crewStatus"], "The voice commands that you want to get registered and picked up by VEGA. Make sure to separate different commands with a '/'."); LethalConfigManager.AddConfigItem((BaseConfigItem)new TextInputFieldConfigItem(crewStatusCommands)); registerCrewInShip = ((BaseUnityPlugin)this).Config.Bind<bool>("Voice Commands", "Register Crew in ship commands", true, "Disable this if you don't want these voice commands to be registered. Will apply after restarting the game."); LethalConfigManager.AddConfigItem((BaseConfigItem)new BoolCheckBoxConfigItem(registerCrewInShip)); crewInShipCommands = ((BaseUnityPlugin)this).Config.Bind<string>("Voice Commands", "Crew in ship commands", LanguageHelper.Commands[commandLanguage.Value]["shipCrew"], "The voice commands that you want to get registered and picked up by VEGA. Make sure to separate different commands with a '/'."); LethalConfigManager.AddConfigItem((BaseConfigItem)new TextInputFieldConfigItem(crewInShipCommands)); registerScrapLeft = ((BaseUnityPlugin)this).Config.Bind<bool>("Voice Commands", "Register Scrap / items left commands", true, "Disable this if you don't want these voice commands to be registered. Will apply after restarting the game."); LethalConfigManager.AddConfigItem((BaseConfigItem)new BoolCheckBoxConfigItem(registerScrapLeft)); scrapLeftCommands = ((BaseUnityPlugin)this).Config.Bind<string>("Voice Commands", "Scrap / items left commands", LanguageHelper.Commands[commandLanguage.Value]["scrap"], "The voice commands that you want to get registered and picked up by VEGA. Make sure to separate different commands with a '/'."); LethalConfigManager.AddConfigItem((BaseConfigItem)new TextInputFieldConfigItem(scrapLeftCommands)); registerRadarBoosters = ((BaseUnityPlugin)this).Config.Bind<bool>("Voice Commands", "Register Radar Booster commands", true, "Disable this if you don't want these voice commands to be registered. Will apply after restarting the game."); LethalConfigManager.AddConfigItem((BaseConfigItem)new BoolCheckBoxConfigItem(registerRadarBoosters)); radarPingCommands = ((BaseUnityPlugin)this).Config.Bind<string>("Voice Commands", "Radar Booster ping commands", LanguageHelper.Commands[commandLanguage.Value]["radarBooster"], "The voice commands that you want to get registered and picked up by VEGA. Make sure to separate different commands with a '/'."); LethalConfigManager.AddConfigItem((BaseConfigItem)new TextInputFieldConfigItem(radarPingCommands)); radarFlashCommands = ((BaseUnityPlugin)this).Config.Bind<string>("Voice Commands", "Radar Booster flash commands", LanguageHelper.Commands[commandLanguage.Value]["radarFlash"], "The voice commands that you want to get registered and picked up by VEGA. Make sure to separate different commands with a '/'."); LethalConfigManager.AddConfigItem((BaseConfigItem)new TextInputFieldConfigItem(radarFlashCommands)); registerSignalTranslator = ((BaseUnityPlugin)this).Config.Bind<bool>("Voice Commands", "Register Signal Translator commands", true, "Disable this if you don't want these voice commands to be registered. Will apply after restarting the game."); LethalConfigManager.AddConfigItem((BaseConfigItem)new BoolCheckBoxConfigItem(registerSignalTranslator)); transmitCommands = ((BaseUnityPlugin)this).Config.Bind<string>("Voice Commands", "Transmit / send commands", LanguageHelper.Commands[commandLanguage.Value]["signalTranslator"], "The voice commands that you want to get registered and picked up by VEGA. Make sure to separate different commands with a '/'.\nIMPORTANT: Transmit / send commands will always have the message at the end!"); LethalConfigManager.AddConfigItem((BaseConfigItem)new TextInputFieldConfigItem(transmitCommands)); registerTime = ((BaseUnityPlugin)this).Config.Bind<bool>("Voice Commands", "Register Current time of day commands", true, "Disable this if you don't want these voice commands to be registered. Will apply after restarting the game."); LethalConfigManager.AddConfigItem((BaseConfigItem)new BoolCheckBoxConfigItem(registerTime)); timeCommands = ((BaseUnityPlugin)this).Config.Bind<string>("Voice Commands", "Current time commands", LanguageHelper.Commands[commandLanguage.Value]["time"], "The voice commands that you want to get registered and picked up by VEGA. Make sure to separate different commands with a '/'."); LethalConfigManager.AddConfigItem((BaseConfigItem)new TextInputFieldConfigItem(timeCommands)); registerInteractShipDoors = ((BaseUnityPlugin)this).Config.Bind<bool>("Voice Commands", "Register Ship Door commands", true, "Disable this if you don't want these voice commands to be registered. Will apply after restarting the game."); LethalConfigManager.AddConfigItem((BaseConfigItem)new BoolCheckBoxConfigItem(registerInteractShipDoors)); openShipDoorsCommands = ((BaseUnityPlugin)this).Config.Bind<string>("Voice Commands", "Open ship doors commands", LanguageHelper.Commands[commandLanguage.Value]["openShip"], "The voice commands that you want to get registered and picked up by VEGA. Make sure to separate different commands with a '/'."); LethalConfigManager.AddConfigItem((BaseConfigItem)new TextInputFieldConfigItem(openShipDoorsCommands)); closeShipDoorsCommands = ((BaseUnityPlugin)this).Config.Bind<string>("Voice Commands", "Close ship doors commands", LanguageHelper.Commands[commandLanguage.Value]["closeShip"], "The voice commands that you want to get registered and picked up by VEGA. Make sure to separate different commands with a '/'."); LethalConfigManager.AddConfigItem((BaseConfigItem)new TextInputFieldConfigItem(closeShipDoorsCommands)); registerInteractShipLights = ((BaseUnityPlugin)this).Config.Bind<bool>("Voice Commands", "Register Ship Lights commands", true, "Disable this if you don't want these voice commands to be registered. Will apply after restarting the game."); LethalConfigManager.AddConfigItem((BaseConfigItem)new BoolCheckBoxConfigItem(registerInteractShipLights)); lightsOnCommands = ((BaseUnityPlugin)this).Config.Bind<string>("Voice Commands", "Ship Lights on commands", LanguageHelper.Commands[commandLanguage.Value]["lightsOn"], "The voice commands that you want to get registered and picked up by VEGA. Make sure to separate different commands with a '/'."); LethalConfigManager.AddConfigItem((BaseConfigItem)new TextInputFieldConfigItem(lightsOnCommands)); lightsOffCommands = ((BaseUnityPlugin)this).Config.Bind<string>("Voice Commands", "Ship Lights off commands", LanguageHelper.Commands[commandLanguage.Value]["lightsOff"], "The voice commands that you want to get registered and picked up by VEGA. Make sure to separate different commands with a '/'."); LethalConfigManager.AddConfigItem((BaseConfigItem)new TextInputFieldConfigItem(lightsOffCommands)); registerInteractShipMagnet = ((BaseUnityPlugin)this).Config.Bind<bool>("Voice Commands", "Register Ship Magnet commands", true, "Disable this if you don't want these voice commands to be registered. Will apply after restarting the game."); LethalConfigManager.AddConfigItem((BaseConfigItem)new BoolCheckBoxConfigItem(registerInteractShipMagnet)); magnetOnCommands = ((BaseUnityPlugin)this).Config.Bind<string>("Voice Commands", "Activate Magnet commands", LanguageHelper.Commands[commandLanguage.Value]["magnetOn"], "The voice commands that you want to get registered and picked up by VEGA. Make sure to separate different commands with a '/'."); LethalConfigManager.AddConfigItem((BaseConfigItem)new TextInputFieldConfigItem(magnetOnCommands)); magnetOffCommands = ((BaseUnityPlugin)this).Config.Bind<string>("Voice Commands", "Deactivate Magnet commands", LanguageHelper.Commands[commandLanguage.Value]["magnetOff"], "The voice commands that you want to get registered and picked up by VEGA. Make sure to separate different commands with a '/'."); LethalConfigManager.AddConfigItem((BaseConfigItem)new TextInputFieldConfigItem(magnetOffCommands)); registerWeatherInfo = ((BaseUnityPlugin)this).Config.Bind<bool>("Voice Commands", "Register Weather info commands", true, "Disable this if you don't want these voice commands to be registered. Will apply after restarting the game."); LethalConfigManager.AddConfigItem((BaseConfigItem)new BoolCheckBoxConfigItem(registerWeatherInfo)); weatherInfoCommands = ((BaseUnityPlugin)this).Config.Bind<string>("Voice Commands", "Weather info commands", LanguageHelper.Commands[commandLanguage.Value]["weatherInfo"], "The voice commands that you want to get registered and picked up by VEGA. Make sure to separate different commands with a '/'.\nIMPORTANT: Weather info commands will always have the condition's name and 'weather' at the end!"); LethalConfigManager.AddConfigItem((BaseConfigItem)new TextInputFieldConfigItem(weatherInfoCommands)); registerStop = ((BaseUnityPlugin)this).Config.Bind<bool>("Voice Commands", "Register Stop Talking commands", true, "Disable this if you don't want these voice commands to be registered. Will apply after restarting the game."); LethalConfigManager.AddConfigItem((BaseConfigItem)new BoolCheckBoxConfigItem(registerStop)); stopCommands = ((BaseUnityPlugin)this).Config.Bind<string>("Voice Commands", "Stop talking commands", LanguageHelper.Commands[commandLanguage.Value]["stopTalking"], "The voice commands that you want to get registered and picked up by VEGA. Make sure to separate different commands with a '/'."); LethalConfigManager.AddConfigItem((BaseConfigItem)new TextInputFieldConfigItem(stopCommands)); registerThanks = ((BaseUnityPlugin)this).Config.Bind<bool>("Voice Commands", "Register gratitude commands", true, "Disable this if you don't want these voice commands to be registered. Will apply after restarting the game."); LethalConfigManager.AddConfigItem((BaseConfigItem)new BoolCheckBoxConfigItem(registerThanks)); gratitudeCommands = ((BaseUnityPlugin)this).Config.Bind<string>("Voice Commands", "Gratitude commands", LanguageHelper.Commands[commandLanguage.Value]["gratitude"], "The voice commands that you want to get registered and picked up by VEGA. Make sure to separate different commands with a '/'."); LethalConfigManager.AddConfigItem((BaseConfigItem)new TextInputFieldConfigItem(gratitudeCommands)); } public static void LogToConsole(string message, string logType = "") { switch (logType.ToLower()) { case "warn": mls.LogWarning((object)message); break; case "error": mls.LogError((object)message); break; case "debug": mls.LogDebug((object)message); break; default: mls.LogInfo((object)message); break; } } private void UpdateVoiceCommands() { //IL_0010: Unknown result type (might be due to invalid IL or missing references) //IL_0039: 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_008b: 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_00dd: Unknown result type (might be due to invalid IL or missing references) //IL_0106: Unknown result type (might be due to invalid IL or missing references) //IL_012f: Unknown result type (might be due to invalid IL or missing references) //IL_0158: Unknown result type (might be due to invalid IL or missing references) //IL_0181: Unknown result type (might be due to invalid IL or missing references) //IL_01aa: Unknown result type (might be due to invalid IL or missing references) //IL_01d3: Unknown result type (might be due to invalid IL or mis