Please disclose if any significant portion of your mod was created using AI tools by adding the 'AI Generated' category. Failing to do so may result in the mod being removed from Thunderstore.
Decompiled source of TempestRite v1.1.7
TempestRite.dll
Decompiled 11 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.Globalization; using System.IO; using System.IO.Compression; using System.Linq; using System.Reflection; using System.Reflection.Emit; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; using System.Runtime.Serialization; using System.Runtime.Versioning; using System.Security; using System.Security.Permissions; using System.Text; using System.Text.RegularExpressions; using System.Threading; using BepInEx; using BepInEx.Bootstrap; using BepInEx.Configuration; using BepInEx.Logging; using HarmonyLib; using JetBrains.Annotations; using JoksterCube.AbilityKit; using JoksterCube.ChestKit; using JoksterCube.ChestKit.Common; using JoksterCube.ChestKit.Controls; using JoksterCube.ChestKit.Data; using JoksterCube.ChestKit.Ui; using JoksterCube.TempestRite.Common; using JoksterCube.TempestRite.Common.Networking; using JoksterCube.TempestRite.Domain; using JoksterCube.TempestRite.Domain.Networking; using JoksterCube.TempestRite.Patches; using JoksterCube.TempestRite.Settings; using Microsoft.CodeAnalysis; using ServerSync; using Splatform; using TMPro; using UnityEngine; using UnityEngine.Audio; using UnityEngine.EventSystems; using UnityEngine.Events; using UnityEngine.Rendering; using UnityEngine.UI; using Valheim.SettingsGui; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints)] [assembly: AssemblyTitle("TempestRite")] [assembly: AssemblyDescription("Perform rites at the obliterator: sacrifice an item to change the weather, hold the sun, call raids, grow crops faster, receive blessings and more.")] [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("JoksterCube")] [assembly: AssemblyProduct("TempestRite")] [assembly: AssemblyCopyright("Copyright © 2026")] [assembly: AssemblyTrademark("")] [assembly: ComVisible(false)] [assembly: Guid("1e7b1458-bfca-49ce-aca8-9eef270f87e6")] [assembly: AssemblyFileVersion("1.1.7")] [assembly: InternalsVisibleTo("TempestRite.Tests")] [assembly: TargetFramework(".NETFramework,Version=v4.8", FrameworkDisplayName = ".NET Framework 4.8")] [assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)] [assembly: AssemblyVersion("1.1.7.0")] [module: UnverifiableCode] [module: RefSafetyRules(11)] [CompilerGenerated] internal sealed class <>z__ReadOnlyArray<T> : IEnumerable, ICollection, IList, IEnumerable<T>, IReadOnlyCollection<T>, IReadOnlyList<T>, ICollection<T>, IList<T> { int ICollection.Count => _items.Length; bool ICollection.IsSynchronized => false; object ICollection.SyncRoot => this; object IList.this[int index] { get { return _items[index]; } set { throw new NotSupportedException(); } } bool IList.IsFixedSize => true; bool IList.IsReadOnly => true; int IReadOnlyCollection<T>.Count => _items.Length; T IReadOnlyList<T>.this[int index] => _items[index]; int ICollection<T>.Count => _items.Length; bool ICollection<T>.IsReadOnly => true; T IList<T>.this[int index] { get { return _items[index]; } set { throw new NotSupportedException(); } } public <>z__ReadOnlyArray(T[] items) { _items = items; } IEnumerator IEnumerable.GetEnumerator() { return ((IEnumerable)_items).GetEnumerator(); } void ICollection.CopyTo(Array array, int index) { ((ICollection)_items).CopyTo(array, index); } int IList.Add(object value) { throw new NotSupportedException(); } void IList.Clear() { throw new NotSupportedException(); } bool IList.Contains(object value) { return ((IList)_items).Contains(value); } int IList.IndexOf(object value) { return ((IList)_items).IndexOf(value); } void IList.Insert(int index, object value) { throw new NotSupportedException(); } void IList.Remove(object value) { throw new NotSupportedException(); } void IList.RemoveAt(int index) { throw new NotSupportedException(); } IEnumerator<T> IEnumerable<T>.GetEnumerator() { return ((IEnumerable<T>)_items).GetEnumerator(); } void ICollection<T>.Add(T item) { throw new NotSupportedException(); } void ICollection<T>.Clear() { throw new NotSupportedException(); } bool ICollection<T>.Contains(T item) { return ((ICollection<T>)_items).Contains(item); } void ICollection<T>.CopyTo(T[] array, int arrayIndex) { ((ICollection<T>)_items).CopyTo(array, arrayIndex); } bool ICollection<T>.Remove(T item) { throw new NotSupportedException(); } int IList<T>.IndexOf(T item) { return ((IList<T>)_items).IndexOf(item); } void IList<T>.Insert(int index, T item) { throw new NotSupportedException(); } void IList<T>.RemoveAt(int index) { throw new NotSupportedException(); } } [CompilerGenerated] internal sealed class <>z__ReadOnlySingleElementList<T> : IEnumerable, ICollection, IList, IEnumerable<T>, IReadOnlyCollection<T>, IReadOnlyList<T>, ICollection<T>, IList<T> { private sealed class Enumerator : IDisposable, IEnumerator, IEnumerator<T> { object IEnumerator.Current => _item; T IEnumerator<T>.Current => _item; public Enumerator(T item) { _item = item; } bool IEnumerator.MoveNext() { if (!_moveNextCalled) { return _moveNextCalled = true; } return false; } void IEnumerator.Reset() { _moveNextCalled = false; } void IDisposable.Dispose() { } } int ICollection.Count => 1; bool ICollection.IsSynchronized => false; object ICollection.SyncRoot => this; object IList.this[int index] { get { if (index != 0) { throw new IndexOutOfRangeException(); } return _item; } set { throw new NotSupportedException(); } } bool IList.IsFixedSize => true; bool IList.IsReadOnly => true; int IReadOnlyCollection<T>.Count => 1; T IReadOnlyList<T>.this[int index] { get { if (index != 0) { throw new IndexOutOfRangeException(); } return _item; } } int ICollection<T>.Count => 1; bool ICollection<T>.IsReadOnly => true; T IList<T>.this[int index] { get { if (index != 0) { throw new IndexOutOfRangeException(); } return _item; } set { throw new NotSupportedException(); } } public <>z__ReadOnlySingleElementList(T item) { _item = item; } IEnumerator IEnumerable.GetEnumerator() { return new Enumerator(_item); } void ICollection.CopyTo(Array array, int index) { array.SetValue(_item, index); } int IList.Add(object value) { throw new NotSupportedException(); } void IList.Clear() { throw new NotSupportedException(); } bool IList.Contains(object value) { return EqualityComparer<T>.Default.Equals(_item, (T)value); } int IList.IndexOf(object value) { if (!EqualityComparer<T>.Default.Equals(_item, (T)value)) { return -1; } return 0; } void IList.Insert(int index, object value) { throw new NotSupportedException(); } void IList.Remove(object value) { throw new NotSupportedException(); } void IList.RemoveAt(int index) { throw new NotSupportedException(); } IEnumerator<T> IEnumerable<T>.GetEnumerator() { return new Enumerator(_item); } void ICollection<T>.Add(T item) { throw new NotSupportedException(); } void ICollection<T>.Clear() { throw new NotSupportedException(); } bool ICollection<T>.Contains(T item) { return EqualityComparer<T>.Default.Equals(_item, item); } void ICollection<T>.CopyTo(T[] array, int arrayIndex) { array[arrayIndex] = _item; } bool ICollection<T>.Remove(T item) { throw new NotSupportedException(); } int IList<T>.IndexOf(T item) { if (!EqualityComparer<T>.Default.Equals(_item, item)) { return -1; } return 0; } void IList<T>.Insert(int index, T item) { throw new NotSupportedException(); } void IList<T>.RemoveAt(int index) { throw new NotSupportedException(); } } namespace Microsoft.CodeAnalysis { [CompilerGenerated] [Embedded] internal sealed class EmbeddedAttribute : Attribute { } } namespace System.Runtime.CompilerServices { [CompilerGenerated] [Embedded] [AttributeUsage(AttributeTargets.Class | AttributeTargets.Property | AttributeTargets.Field | AttributeTargets.Event | AttributeTargets.Parameter | AttributeTargets.ReturnValue | AttributeTargets.GenericParameter, AllowMultiple = false, Inherited = false)] internal sealed class NullableAttribute : Attribute { public readonly byte[] NullableFlags; public NullableAttribute(byte P_0) { NullableFlags = new byte[1] { P_0 }; } public NullableAttribute(byte[] P_0) { NullableFlags = P_0; } } [CompilerGenerated] [Embedded] [AttributeUsage(AttributeTargets.Class | AttributeTargets.Struct | AttributeTargets.Method | AttributeTargets.Interface | AttributeTargets.Delegate, AllowMultiple = false, Inherited = false)] internal sealed class NullableContextAttribute : Attribute { public readonly byte Flag; public NullableContextAttribute(byte P_0) { Flag = P_0; } } [CompilerGenerated] [Embedded] [AttributeUsage(AttributeTargets.Module, AllowMultiple = false, Inherited = false)] internal sealed class RefSafetyRulesAttribute : Attribute { public readonly int Version; public RefSafetyRulesAttribute(int P_0) { Version = P_0; } } } namespace JoksterCube.TempestRite { [BepInPlugin("JoksterCube.TempestRite", "TempestRite", "1.1.7")] [BepInDependency(/*Could not decode attribute arguments.*/)] [BepInDependency(/*Could not decode attribute arguments.*/)] [BepInDependency(/*Could not decode attribute arguments.*/)] public class Plugin : BaseUnityPlugin { internal static readonly ManualLogSource ModLogger = Logger.CreateLogSource("TempestRite"); internal static string ConnectionError = string.Empty; internal static readonly ConfigSync ServerConfigSync = new ConfigSync("JoksterCube.TempestRite") { DisplayName = "TempestRite", CurrentVersion = "1.1.7", MinimumRequiredVersion = "1.1.7", IsLocked = true }; private readonly string _configFileFullPath = Path.Combine(Paths.ConfigPath, "JoksterCube.TempestRite.cfg"); private const float ConfigCheckInterval = 2f; private FileSystemWatcher? _configWatcher; private DateTime _lastConfigWrite; private long _lastConfigSize = -1L; private float _nextConfigCheck; private readonly Harmony _harmony = new Harmony("JoksterCube.TempestRite"); private static readonly (string name, Action update)[] FrameUpdates = new(string, Action)[33] { ("WeatherState", WeatherState.Update), ("WeatherSync", WeatherSync.Update), ("WeatherStore", WeatherStore.Update), ("Blessings", Blessings.Update), ("PetPouch", PetPouch.Update), ("FortuneLuck", FortuneLuck.Update), ("KinshipRites", KinshipRites.Update), ("RallyHorn", RallyHorn.Update), ("RallyPending", RallyPending.Update), ("DomainAnchors", DomainAnchors.Update), ("CrimsonRaids", CrimsonRaids.Update), ("RagnarokRush", RagnarokRush.Update), ("HoardBaneRush", HoardBaneRush.Update), ("IncursionWatch", IncursionWatch.Update), ("IncursionArena", IncursionArena.Update), ("ObliteratorBastion", ObliteratorBastion.Update), ("HoardBaneArena", HoardBaneArena.Update), ("RagnarokLook", RagnarokLook.Update), ("ArenaRescue", ArenaRescue.Update), ("RiteSpeedup", RiteSpeedup.Update), ("DomainWork", DomainWork.Update), ("ElderSprout", ElderSprout.Update), ("GearWear", GearWear.Update), ("GraveBeacon", GraveBeacon.Update), ("BlessingLights", BlessingLights.Update), ("ItemDraw", ItemDraw.Update), ("TendrilReturn", TendrilReturn.Update), ("HushedToil", HushedToil.Update), ("RiteEffects", RiteEffects.Update), ("DomainVisuals", DomainVisuals.Update), ("LeySurvey", LeySurvey.Update), ("AetherClearing", AetherClearing.Update), ("WeatherStatus", WeatherStatus.Update) }; private void Awake() { PluginConfig.Build(((BaseUnityPlugin)this).Config, ServerConfigSync); if (!Application.isBatchMode) { HornSound.Prepare(); } ChestWrite.Setup("TempestRite", (Container container) => ObliteratorKeys.IsObliteratorHatch(container, out Incinerator _), ObliteratorSwitch.WritableKeys); ChestKitCore.Initialize(ModLogger, _harmony); ControlsMenu.Add("TempestRite_RallyCall", () => Constants.Messages.RallyAcceptName, () => PluginConfig.RallyCallShortcut); ControlsMenu.Add("TempestRite_RallyRefuse", () => Constants.Messages.RallyRefuseName, () => PluginConfig.RallyRefuseShortcut); ControlsMenu.Add("TempestRite_DomainBorder", () => Constants.Messages.DomainBorderName, () => PluginConfig.DomainBorderShortcut); ControlsMenu.Add("TempestRite_MorgenPouch", () => Constants.Messages.MorgenPouchAbility, () => PluginConfig.MorgenPouchShortcut); StatusGroupsLink.Register(); Assembly executingAssembly = Assembly.GetExecutingAssembly(); _harmony.PatchAll(executingAssembly); RememberConfigFile(); SetupWatcher(); } private void Update() { if (Time.unscaledTime >= _nextConfigCheck) { _nextConfigCheck = Time.unscaledTime + 2f; ReloadConfigIfChanged(); } (string, Action)[] frameUpdates = FrameUpdates; for (int i = 0; i < frameUpdates.Length; i++) { var (feature, action) = frameUpdates[i]; if (!JoksterCube.TempestRite.Common.PatchGuard.IsDisabled(feature)) { try { action(); } catch (Exception exception) { JoksterCube.TempestRite.Common.PatchGuard.Fail(feature, exception); } } } } private void OnDestroy() { _harmony.UnpatchSelf(); _configWatcher?.Dispose(); SessionState.Clear(); } private void SetupWatcher() { try { FileSystemWatcher fileSystemWatcher = new FileSystemWatcher(Paths.ConfigPath, "*.cfg") { NotifyFilter = (NotifyFilters.FileName | NotifyFilters.Size | NotifyFilters.LastWrite | NotifyFilters.CreationTime) }; fileSystemWatcher.Changed += OnConfigFolderChanged; fileSystemWatcher.Created += OnConfigFolderChanged; fileSystemWatcher.Renamed += OnConfigFolderChanged; fileSystemWatcher.SynchronizingObject = ThreadingHelper.SynchronizingObject; _configWatcher = fileSystemWatcher; fileSystemWatcher.EnableRaisingEvents = true; } catch (Exception ex) { ModLogger.LogWarning((object)string.Format("Config file watcher unavailable, checking {0} every {1} s instead: {2}", "JoksterCube.TempestRite.cfg", 2f, ex.Message)); } } private void OnConfigFolderChanged(object sender, FileSystemEventArgs e) { ReloadConfigIfChanged(); } private void RememberConfigFile() { try { FileInfo fileInfo = new FileInfo(_configFileFullPath); if (fileInfo.Exists) { _lastConfigWrite = fileInfo.LastWriteTimeUtc; _lastConfigSize = fileInfo.Length; } } catch (IOException) { } } private void ReloadConfigIfChanged() { FileInfo fileInfo; try { fileInfo = new FileInfo(_configFileFullPath); if (!fileInfo.Exists || (fileInfo.LastWriteTimeUtc == _lastConfigWrite && fileInfo.Length == _lastConfigSize)) { return; } } catch (IOException) { return; } _lastConfigWrite = fileInfo.LastWriteTimeUtc; _lastConfigSize = fileInfo.Length; try { ModLogger.LogDebug((object)"ReadConfigValues called"); ((BaseUnityPlugin)this).Config.Reload(); ModLogger.LogInfo((object)"JoksterCube.TempestRite.cfg changed, settings reloaded."); } catch { _lastConfigWrite = default(DateTime); _lastConfigSize = -1L; ModLogger.LogError((object)"There was an issue loading your JoksterCube.TempestRite.cfg"); ModLogger.LogError((object)"Please check your config entries for spelling and format!"); } } } } namespace JoksterCube.TempestRite.Settings { internal sealed class ConfigInfo<T> { internal string Group { get; } internal string Name { get; } internal ConfigDescription Description { get; } internal T DefaultValue { get; } internal bool Synchronized { get; } internal bool IsAdvanced { get; set; } internal List<(string ChangedIn, T Value)> OldDefaultValues { get; } = new List<(string, T)>(); internal ConfigInfo<T> OldDefault(string changedIn, T value) { OldDefaultValues.Add((changedIn, value)); return this; } internal ConfigInfo(string group, string name, string description, T defaultValue, bool synchronized = true) : this(group, name, new ConfigDescription(description, (AcceptableValueBase)null, Array.Empty<object>()), defaultValue, synchronized) { }//IL_000a: Unknown result type (might be due to invalid IL or missing references) //IL_0018: Expected O, but got Unknown internal ConfigInfo(string group, string name, ConfigDescription description, T defaultValue, bool synchronized = true) { Group = group; Name = name; Description = description; DefaultValue = defaultValue; Synchronized = synchronized; } } internal static class ConfigOptions { private static ConfigFile? _configFile; private static ConfigSync? _configSync; private static readonly Dictionary<string, int> NextOrder = new Dictionary<string, int>(); private static Version? _savedBy; internal static void Initialize(ConfigFile config, ConfigSync configSync) { _configFile = config; _configSync = configSync; _savedBy = OldDefaults.SavedBy(config.ConfigFilePath); } internal static void Finish(string modVersion) { if (_configFile != null && !(_savedBy == null) && Version.TryParse(modVersion, out Version result) && !(_savedBy >= result)) { _configFile.Save(); } } internal static ConfigEntry<T> Config<T>(string group, string name, T value, ConfigDescription description, bool synchronizedSetting = true, bool advanced = false) { //IL_008f: Unknown result type (might be due to invalid IL or missing references) //IL_0095: Expected O, but got Unknown int value2; int num = (NextOrder.TryGetValue(group, out value2) ? value2 : 1000); NextOrder[group] = num - 1; ConfigurationManagerAttributes element = new ConfigurationManagerAttributes { Order = num, IsAdvanced = (advanced ? new bool?(true) : ((bool?)null)) }; ConfigDescription val = new ConfigDescription(description.Description + (synchronizedSetting ? " [Synced with Server]" : " [Not Synced with Server]"), description.AcceptableValues, (description.Tags ?? Array.Empty<object>()).Append(element).ToArray()); ConfigEntry<T> val2 = (_configFile ?? throw new InvalidOperationException("ConfigOptions is not initialized.")).Bind<T>(group, name, value, val); (_configSync ?? throw new InvalidOperationException("ConfigOptions is not initialized.")).AddConfigEntry<T>(val2).SynchronizedConfig = synchronizedSetting; return val2; } internal static ConfigEntry<T> Config<T>(string group, string name, T value, string description, bool synchronizedSetting = true) { //IL_000a: Unknown result type (might be due to invalid IL or missing references) //IL_0017: Expected O, but got Unknown return Config(group, name, value, new ConfigDescription(description, (AcceptableValueBase)null, Array.Empty<object>()), synchronizedSetting); } internal static ConfigEntry<T> Config<T>(ConfigInfo<T> configInfo) { ConfigEntry<T> val = Config(configInfo.Group, configInfo.Name, configInfo.DefaultValue, configInfo.Description, configInfo.Synchronized, configInfo.IsAdvanced); foreach (var (changedIn, oldDefault) in configInfo.OldDefaultValues) { if (OldDefaults.Applies(_savedBy, changedIn) && OldDefaults.Same(val.Value, oldDefault)) { val.Value = configInfo.DefaultValue; Plugin.ModLogger.LogInfo((object)$"{configInfo.Group} > {configInfo.Name}: was on the old default, now on the new one ({configInfo.DefaultValue})."); break; } } return val; } } internal sealed class ConfigurationManagerAttributes { public int? Order; public bool? IsAdvanced; public bool? ReadOnly; public bool? Browsable; public string? DispName; public string? Category; } internal static class Constants { internal static class Plugin { internal const string ModName = "TempestRite"; internal const string ModVersion = "1.1.7"; internal const string Author = "JoksterCube"; internal const string ModGUID = "JoksterCube.TempestRite"; internal const string Description = "Perform rites at the obliterator: sacrifice an item to change the weather, hold the sun, call raids, grow crops faster, receive blessings and more."; internal const string Copyright = "Copyright © 2026"; internal const string Guid = "1e7b1458-bfca-49ce-aca8-9eef270f87e6"; internal const string ConfigFileName = "JoksterCube.TempestRite.cfg"; internal const string VersionCheckRpc = "TempestRite_VersionCheck"; } internal static class Rpcs { internal const string Request = "TempestRite_Request"; internal const string StateRequest = "TempestRite_StateRequest"; internal const string State = "TempestRite_State"; internal const string Refused = "TempestRite_Refused"; internal const string Performed = "TempestRite_Performed"; internal const string VeinWear = "TempestRite_VeinWear"; internal const string KinshipShown = "TempestRite_KinshipShown"; internal const string RallyArrived = "TempestRite_RallyArrived"; internal const string RallyPending = "TempestRite_RallyPending"; internal const string RallyDone = "TempestRite_RallyDone"; internal const string CrimsonKill = "TempestRite_CrimsonKill"; internal const string CrimsonKills = "TempestRite_CrimsonKills"; internal const string DomainBroken = "TempestRite_DomainBroken"; internal const string CrimsonEnded = "TempestRite_CrimsonEnded"; internal const string CrimsonWave = "TempestRite_CrimsonWave"; internal const string CrimsonCatchUp = "TempestRite_CrimsonCatchUp"; internal const string TreasureChests = "TempestRite_TreasureChests"; internal const string TreasureChest = "TempestRite_TreasureChest"; internal const string RagnarokAsk = "TempestRite_RagnarokAsk"; internal const string RagnarokAnswer = "TempestRite_RagnarokAnswer"; internal const string RagnarokSpawn = "TempestRite_RagnarokSpawn"; internal const string RagnarokSpawned = "TempestRite_RagnarokSpawned"; internal const string RagnarokDown = "TempestRite_RagnarokDown"; internal const string RagnarokBegun = "TempestRite_RagnarokBegun"; internal const string RagnarokBoss = "TempestRite_RagnarokBoss"; internal const string RagnarokEnded = "TempestRite_RagnarokEnded"; internal const string RagnarokLost = "TempestRite_RagnarokLost"; internal const string HoardBaneChest = "TempestRite_HoardBaneChest"; internal const string HoardBaneSpawn = "TempestRite_HoardBaneSpawn"; internal const string HoardBaneSpawned = "TempestRite_HoardBaneSpawned"; internal const string HoardBaneReinforce = "TempestRite_HoardBaneReinforce"; internal const string HoardBaneReinforced = "TempestRite_HoardBaneReinforced"; internal const string HoardBaneDown = "TempestRite_HoardBaneDown"; internal const string HoardBaneLost = "TempestRite_HoardBaneLost"; internal const string HoardBaneBegun = "TempestRite_HoardBaneBegun"; internal const string HoardBaneNews = "TempestRite_HoardBaneNews"; internal const string HoardBaneUnshield = "TempestRite_HoardBaneUnshield"; internal const string HoardBaneEnded = "TempestRite_HoardBaneEnded"; internal const string HoardBaneReward = "TempestRite_HoardBaneReward"; internal const string HoardBaneChestBack = "TempestRite_HoardBaneChestBack"; internal const string IncursionWatch = "TempestRite_IncursionWatch"; internal const string IncursionPull = "TempestRite_IncursionPull"; internal const string IncursionPending = "TempestRite_IncursionPending"; internal const string ObliteratorRefund = "TempestRite_ObliteratorRefund"; internal const string ObliteratorBurnt = "TempestRite_ObliteratorBurnt"; internal const string WardFlash = "TempestRite_WardFlash"; internal const string SoulTether = "TempestRite_SoulTether"; internal const string SoulTetherDone = "TempestRite_SoulTetherDone"; internal const string ElderSproutPuff = "TempestRite_ElderSproutPuff"; internal const string PlumeLanding = "TempestRite_PlumeLanding"; internal const string SecondKindleBurst = "TempestRite_SecondKindleBurst"; internal const string MorgenPouchPuff = "TempestRite_MorgenPouchPuff"; internal const string MorgenPouchFlight = "TempestRite_MorgenPouchFlight"; } internal static class Messages { internal const string ItemColor = "orange"; internal const string Faint = "#c9c9c9"; private const string Dim = "#9a9a9a"; internal const string LeverBrings = "{0}{1}"; internal const string Explanation = " <color=#c9c9c9>({0})</color>"; internal const string HatchLine = " <color=orange>{0}</color>: {1}{2}"; internal const string ActiveLine = " {0}: {1}"; internal const string ItemAmount = "<color=#f2f2f2>{0}x</color> {1}"; internal const string ItemSeparator = " / "; internal static string ClearName => Text.Get("clear_name"); internal static string ThunderstormName => Text.Get("thunderstorm_name"); internal static string RainName => Text.Get("rain_name"); internal static string MistName => Text.Get("mist_name"); internal static string AuroraName => Text.Get("aurora_name"); internal static string PolarDayName => Text.Get("polar_day_name"); internal static string PolarNightName => Text.Get("polar_night_name"); internal static string FairWindName => Text.Get("fair_wind_name"); internal static string HushFellingName => Text.Get("hush_felling_name"); internal static string DraughtFlushName => Text.Get("draught_flush_name"); internal static string SoulTetherName => Text.Get("soul_tether_name"); internal static string TundraShroudName => Text.Get("tundra_shroud_name"); internal static string GaleBreathName => Text.Get("gale_breath_name"); internal static string NoMistName => Text.Get("no_mist_name"); internal static string SootfallName => Text.Get("sootfall_name"); internal static string CryptDelverName => Text.Get("crypt_delver_name"); internal static string PackwardName => Text.Get("packward_name"); internal static string CarrionName => Text.Get("carrion_name"); internal static string VerdantName => Text.Get("verdant_name"); internal static string CrimsonName => Text.Get("crimson_name"); internal static string SanctuaryName => Text.Get("sanctuary_name"); internal static string RagnarokName => Text.Get("ragnarok_name"); internal static string HoardBaneName => Text.Get("hoard_bane_name"); internal static string LeySurveyName => Text.Get("ley_survey_name"); internal static string ResetName => Text.Get("reset_name"); internal static string SunFallName => Text.Get("sun_fall_name"); internal static string NaturesReboundName => Text.Get("natures_rebound_name"); internal static string GroundingName => Text.Get("grounding_name"); internal static string VatBoilName => Text.Get("vat_boil_name"); internal static string PitchBellowsName => Text.Get("pitch_bellows_name"); internal static string KindredName => Text.Get("kindred_name"); internal static string HarrowSpurName => Text.Get("harrow_spur_name"); internal static string AmberMendName => Text.Get("amber_mend_name"); internal static string AbyssalSurgeName => Text.Get("abyssal_surge_name"); internal static string GlacialSatietyName => Text.Get("glacial_satiety_name"); internal static string VeinShatterName => Text.Get("vein_shatter_name"); internal static string CarapaceTemperName => Text.Get("carapace_temper_name"); internal static string GraveBindName => Text.Get("grave_bind_name"); internal static string FortunesBoonName => Text.Get("fortunes_boon_name"); internal static string LuminaryName => Text.Get("luminary_name"); internal static string SovereignWardName => Text.Get("sovereign_ward_name"); internal static string HearthHaulName => Text.Get("hearth_haul_name"); internal static string AetherClearName => Text.Get("aether_clear_name"); internal static string AbyssalDrawName => Text.Get("abyssal_draw_name"); internal static string UnmakingName => Text.Get("unmaking_name"); internal static string ElderSproutName => Text.Get("elder_sprout_name"); internal static string PlumeWardName => Text.Get("plume_ward_name"); internal static string SentrySightName => Text.Get("sentry_sight_name"); internal static string TaprootSurgeName => Text.Get("taproot_surge_name"); internal static string MantleAnchorName => Text.Get("mantle_anchor_name"); internal static string PrimalHearthName => Text.Get("primal_hearth_name"); internal static string HearthKindleName => Text.Get("hearth_kindle_name"); internal static string ScaldDriftName => Text.Get("scald_drift_name"); internal static string TetherLockName => Text.Get("tether_lock_name"); internal static string StriderGirthName => Text.Get("strider_girth_name"); internal static string SecondKindleName => Text.Get("second_kindle_name"); internal static string MorgenPouchName => Text.Get("morgen_pouch_name"); internal static string TendrilDrawName => Text.Get("tendril_draw_name"); internal static string SkalName => Text.Get("skal_name"); internal static string SkyCallName => Text.Get("sky_call_name"); internal static string AnvilSparkName => Text.Get("anvil_spark_name"); internal static string EldhrimnirName => Text.Get("eldhrimnir_name"); internal static string RallyHornName => Text.Get("rally_horn_name"); internal static string ClearPlain => Text.Get("clear_plain"); internal static string ThunderstormPlain => Text.Get("thunderstorm_plain"); internal static string RainPlain => Text.Get("rain_plain"); internal static string MistPlain => Text.Get("mist_plain"); internal static string AuroraPlain => Text.Get("aurora_plain"); internal static string PolarDayPlain => Text.Get("polar_day_plain"); internal static string PolarNightPlain => Text.Get("polar_night_plain"); internal static string GaleBreathPlain => Text.Get("gale_breath_plain"); internal static string NoMistPlain => Text.Get("no_mist_plain"); internal static string SootfallPlain => Text.Get("sootfall_plain"); internal static string AbyssalSurgePlain => Text.Get("abyssal_surge_plain"); internal static string PackwardPlain => Text.Get("packward_plain"); internal static string CarrionPlain => Text.Get("carrion_plain"); internal static string VerdantPlain => Text.Get("verdant_plain"); internal static string VatBoilPlain => Text.Get("vat_boil_plain"); internal static string PitchBellowsPlain => Text.Get("pitch_bellows_plain"); internal static string KindredPlain => Text.Get("kindred_plain"); internal static string HarrowSpurPlain => Text.Get("harrow_spur_plain"); internal static string AmberMendPlain => Text.Get("amber_mend_plain"); internal static string SovereignWardPlain => Text.Get("sovereign_ward_plain"); internal static string HearthHaulPlain => Text.Get("hearth_haul_plain"); internal static string AetherClearPlain => Text.Get("aether_clear_plain"); internal static string GroundingPlain => Text.Get("grounding_plain"); internal static string CryptDelverPlain => Text.Get("crypt_delver_plain"); internal static string GlacialSatietyPlain => Text.Get("glacial_satiety_plain"); internal static string VeinShatterPlain => Text.Get("vein_shatter_plain"); internal static string CarapaceTemperPlain => Text.Get("carapace_temper_plain"); internal static string GraveBindPlain => Text.Get("grave_bind_plain"); internal static string FortunesBoonPlain => Text.Get("fortunes_boon_plain"); internal static string LuminaryPlain => Text.Get("luminary_plain"); internal static string AbyssalDrawPlain => Text.Get("abyssal_draw_plain"); internal static string FairWindPlain => Text.Get("fair_wind_plain"); internal static string HushFellingPlain => Text.Get("hush_felling_plain"); internal static string DraughtFlushPlain => Text.Get("draught_flush_plain"); internal static string SoulTetherPlain => Text.Get("soul_tether_plain"); internal static string TundraShroudPlain => Text.Get("tundra_shroud_plain"); internal static string SkalPlain => Text.Get("skal_plain"); internal static string SkyCallPlain => Text.Get("sky_call_plain"); internal static string AnvilSparkPlain => Text.Get("anvil_spark_plain"); internal static string EldhrimnirPlain => Text.Get("eldhrimnir_plain"); internal static string RallyHornPlain => Text.Get("rally_horn_plain"); internal static string CrimsonPlain => Text.Get("crimson_plain"); internal static string RagnarokPlain => Text.Get("ragnarok_plain"); internal static string HoardBanePlain => Text.Get("hoard_bane_plain"); internal static string SanctuaryPlain => Text.Get("sanctuary_plain"); internal static string ResetPlain => Text.Get("reset_plain"); internal static string SunFallPlain => Text.Get("sun_fall_plain"); internal static string NaturesReboundPlain => Text.Get("natures_rebound_plain"); internal static string UnmakingPlain => Text.Get("unmaking_plain"); internal static string LeySurveyPlain => Text.Get("ley_survey_plain"); internal static string ElderSproutPlain => Text.Get("elder_sprout_plain"); internal static string PlumeWardPlain => Text.Get("plume_ward_plain"); internal static string SentrySightPlain => Text.Get("sentry_sight_plain"); internal static string TaprootSurgePlain => Text.Get("taproot_surge_plain"); internal static string MantleAnchorPlain => Text.Get("mantle_anchor_plain"); internal static string PrimalHearthPlain => Text.Get("primal_hearth_plain"); internal static string HearthKindlePlain => Text.Get("hearth_kindle_plain"); internal static string ScaldDriftPlain => Text.Get("scald_drift_plain"); internal static string TetherLockPlain => Text.Get("tether_lock_plain"); internal static string StriderGirthPlain => Text.Get("strider_girth_plain"); internal static string SecondKindlePlain => Text.Get("second_kindle_plain"); internal static string MorgenPouchPlain => Text.Get("morgen_pouch_plain"); internal static string TendrilDrawPlain => Text.Get("tendril_draw_plain"); internal static string ClearFlavour => Text.Get("clear_flavour"); internal static string ThunderstormFlavour => Text.Get("thunderstorm_flavour"); internal static string RainFlavour => Text.Get("rain_flavour"); internal static string MistFlavour => Text.Get("mist_flavour"); internal static string AuroraFlavour => Text.Get("aurora_flavour"); internal static string PolarDayFlavour => Text.Get("polar_day_flavour"); internal static string PolarNightFlavour => Text.Get("polar_night_flavour"); internal static string GaleBreathFlavour => Text.Get("gale_breath_flavour"); internal static string NoMistFlavour => Text.Get("no_mist_flavour"); internal static string SootfallFlavour => Text.Get("sootfall_flavour"); internal static string AbyssalSurgeFlavour => Text.Get("abyssal_surge_flavour"); internal static string PackwardFlavour => Text.Get("packward_flavour"); internal static string CarrionFlavour => Text.Get("carrion_flavour"); internal static string VerdantFlavour => Text.Get("verdant_flavour"); internal static string VatBoilFlavour => Text.Get("vat_boil_flavour"); internal static string PitchBellowsFlavour => Text.Get("pitch_bellows_flavour"); internal static string KindredFlavour => Text.Get("kindred_flavour"); internal static string HarrowSpurFlavour => Text.Get("harrow_spur_flavour"); internal static string AmberMendFlavour => Text.Get("amber_mend_flavour"); internal static string SovereignWardFlavour => Text.Get("sovereign_ward_flavour"); internal static string HearthHaulFlavour => Text.Get("hearth_haul_flavour"); internal static string AetherClearFlavour => Text.Get("aether_clear_flavour"); internal static string GroundingFlavour => Text.Get("grounding_flavour"); internal static string CryptDelverFlavour => Text.Get("crypt_delver_flavour"); internal static string GlacialSatietyFlavour => Text.Get("glacial_satiety_flavour"); internal static string VeinShatterFlavour => Text.Get("vein_shatter_flavour"); internal static string CarapaceTemperFlavour => Text.Get("carapace_temper_flavour"); internal static string GraveBindFlavour => Text.Get("grave_bind_flavour"); internal static string FortunesBoonFlavour => Text.Get("fortunes_boon_flavour"); internal static string LuminaryFlavour => Text.Get("luminary_flavour"); internal static string AbyssalDrawFlavour => Text.Get("abyssal_draw_flavour"); internal static string FairWindFlavour => Text.Get("fair_wind_flavour"); internal static string HushFellingFlavour => Text.Get("hush_felling_flavour"); internal static string DraughtFlushFlavour => Text.Get("draught_flush_flavour"); internal static string SoulTetherFlavour => Text.Get("soul_tether_flavour"); internal static string TundraShroudFlavour => Text.Get("tundra_shroud_flavour"); internal static string SkalFlavour => Text.Get("skal_flavour"); internal static string SkyCallFlavour => Text.Get("sky_call_flavour"); internal static string AnvilSparkFlavour => Text.Get("anvil_spark_flavour"); internal static string EldhrimnirFlavour => Text.Get("eldhrimnir_flavour"); internal static string RallyHornFlavour => Text.Get("rally_horn_flavour"); internal static string CrimsonFlavour => Text.Get("crimson_flavour"); internal static string RagnarokFlavour => Text.Get("ragnarok_flavour"); internal static string HoardBaneFlavour => Text.Get("hoard_bane_flavour"); internal static string SanctuaryFlavour => Text.Get("sanctuary_flavour"); internal static string ResetFlavour => Text.Get("reset_flavour"); internal static string SunFallFlavour => Text.Get("sun_fall_flavour"); internal static string NaturesReboundFlavour => Text.Get("natures_rebound_flavour"); internal static string UnmakingFlavour => Text.Get("unmaking_flavour"); internal static string LeySurveyFlavour => Text.Get("ley_survey_flavour"); internal static string ElderSproutFlavour => Text.Get("elder_sprout_flavour"); internal static string PlumeWardFlavour => Text.Get("plume_ward_flavour"); internal static string SentrySightFlavour => Text.Get("sentry_sight_flavour"); internal static string TaprootSurgeFlavour => Text.Get("taproot_surge_flavour"); internal static string MantleAnchorFlavour => Text.Get("mantle_anchor_flavour"); internal static string PrimalHearthFlavour => Text.Get("primal_hearth_flavour"); internal static string HearthKindleFlavour => Text.Get("hearth_kindle_flavour"); internal static string ScaldDriftFlavour => Text.Get("scald_drift_flavour"); internal static string TetherLockFlavour => Text.Get("tether_lock_flavour"); internal static string StriderGirthFlavour => Text.Get("strider_girth_flavour"); internal static string SecondKindleFlavour => Text.Get("second_kindle_flavour"); internal static string MorgenPouchFlavour => Text.Get("morgen_pouch_flavour"); internal static string TendrilDrawFlavour => Text.Get("tendril_draw_flavour"); internal static string GroupAtmospheric => Text.Get("group_atmospheric"); internal static string GroupCelestial => Text.Get("group_celestial"); internal static string GroupBiomeMastery => Text.Get("group_biome_mastery"); internal static string GroupDomain => Text.Get("group_domain"); internal static string GroupReckoning => Text.Get("group_reckoning"); internal static string GroupBlessings => Text.Get("group_blessings"); internal static string GroupKinship => Text.Get("group_kinship"); internal static string GroupWorldRites => Text.Get("group_world_rites"); internal static string RiteByYou => Text.Get("rite_by_you"); internal static string RiteBy => Text.Get("rite_by"); internal static string RitesByYou => Text.Get("rites_by_you"); internal static string RitesBy => Text.Get("rites_by"); internal static string ClearPerformed => Text.Get("clear_performed"); internal static string ThunderstormPerformed => Text.Get("thunderstorm_performed"); internal static string RainPerformed => Text.Get("rain_performed"); internal static string MistPerformed => Text.Get("mist_performed"); internal static string AuroraPerformed => Text.Get("aurora_performed"); internal static string ResetPerformed => Text.Get("reset_performed"); internal static string PolarDayPerformed => Text.Get("polar_day_performed"); internal static string PolarNightPerformed => Text.Get("polar_night_performed"); internal static string GaleBreathPerformed => Text.Get("gale_breath_performed"); internal static string SunFallPerformed => Text.Get("sun_fall_performed"); internal static string NoMistPerformed => Text.Get("no_mist_performed"); internal static string SootfallPerformed => Text.Get("sootfall_performed"); internal static string AbyssalSurgePerformed => Text.Get("abyssal_surge_performed"); internal static string NaturesReboundPerformed => Text.Get("natures_rebound_performed"); internal static string PackwardPerformed => Text.Get("packward_performed"); internal static string CarrionPerformed => Text.Get("carrion_performed"); internal static string VerdantPerformed => Text.Get("verdant_performed"); internal static string VatBoilPerformed => Text.Get("vat_boil_performed"); internal static string PitchBellowsPerformed => Text.Get("pitch_bellows_performed"); internal static string KindredPerformed => Text.Get("kindred_performed"); internal static string HarrowSpurPerformed => Text.Get("harrow_spur_performed"); internal static string AmberMendPerformed => Text.Get("amber_mend_performed"); internal static string SovereignWardPerformed => Text.Get("sovereign_ward_performed"); internal static string HearthHaulPerformed => Text.Get("hearth_haul_performed"); internal static string AetherClearPerformed => Text.Get("aether_clear_performed"); internal static string ElderSproutPerformed => Text.Get("elder_sprout_performed"); internal static string PlumeWardPerformed => Text.Get("plume_ward_performed"); internal static string SentrySightPerformed => Text.Get("sentry_sight_performed"); internal static string TaprootSurgePerformed => Text.Get("taproot_surge_performed"); internal static string MantleAnchorPerformed => Text.Get("mantle_anchor_performed"); internal static string PrimalHearthPerformed => Text.Get("primal_hearth_performed"); internal static string HearthKindlePerformed => Text.Get("hearth_kindle_performed"); internal static string HearthKindleRested => Text.Get("hearth_kindle_rested"); internal static string ScaldDriftPerformed => Text.Get("scald_drift_performed"); internal static string TetherLockPerformed => Text.Get("tether_lock_performed"); internal static string StriderGirthPerformed => Text.Get("strider_girth_performed"); internal static string SecondKindlePerformed => Text.Get("second_kindle_performed"); internal static string MorgenPouchPerformed => Text.Get("morgen_pouch_performed"); internal static string TendrilDrawPerformed => Text.Get("tendril_draw_performed"); internal static string GroundingPerformed => Text.Get("grounding_performed"); internal static string CryptDelverPerformed => Text.Get("crypt_delver_performed"); internal static string GlacialSatietyPerformed => Text.Get("glacial_satiety_performed"); internal static string VeinShatterPerformed => Text.Get("vein_shatter_performed"); internal static string CarapaceTemperPerformed => Text.Get("carapace_temper_performed"); internal static string GraveBindPerformed => Text.Get("grave_bind_performed"); internal static string FortunesBoonPerformed => Text.Get("fortunes_boon_performed"); internal static string LuminaryPerformed => Text.Get("luminary_performed"); internal static string AbyssalDrawPerformed => Text.Get("abyssal_draw_performed"); internal static string FairWindPerformed => Text.Get("fair_wind_performed"); internal static string HushFellingPerformed => Text.Get("hush_felling_performed"); internal static string DraughtFlushPerformed => Text.Get("draught_flush_performed"); internal static string SoulTetherPerformed => Text.Get("soul_tether_performed"); internal static string TundraShroudPerformed => Text.Get("tundra_shroud_performed"); internal static string CrimsonPerformed => Text.Get("crimson_performed"); internal static string RagnarokPerformed => Text.Get("ragnarok_performed"); internal static string HoardBanePerformed => Text.Get("hoard_bane_performed"); internal static string SanctuaryPerformed => Text.Get("sanctuary_performed"); internal static string UnmakingPerformed => Text.Get("unmaking_performed"); internal static string LeySurveyPerformed => Text.Get("ley_survey_performed"); internal static string EndedLeySurvey => Text.Get("ended_ley_survey"); internal static string LeySurveyBlocked => Text.Get("ley_survey_blocked"); internal static string LeySurveyClear => Text.Get("ley_survey_clear"); internal static string LeySurveyHostiles => Text.Get("ley_survey_hostiles"); internal static string LeySurveyWater => Text.Get("ley_survey_water"); internal static string LeySurveyBossFight => Text.Get("ley_survey_boss_fight"); internal static string EndedWeather => Text.Get("ended_weather"); internal static string EndedDaylight => Text.Get("ended_daylight"); internal static string EndedGaleBreath => Text.Get("ended_gale_breath"); internal static string EndedMistlands => Text.Get("ended_mistlands"); internal static string EndedAshlands => Text.Get("ended_ashlands"); internal static string EndedVatBoil => Text.Get("ended_vat_boil"); internal static string EndedPitchBellows => Text.Get("ended_pitch_bellows"); internal static string EndedKindred => Text.Get("ended_kindred"); internal static string EndedHarrowSpur => Text.Get("ended_harrow_spur"); internal static string EndedAmberMend => Text.Get("ended_amber_mend"); internal static string EndedAbyssalSurge => Text.Get("ended_abyssal_surge"); internal static string EndedSovereignWard => Text.Get("ended_sovereign_ward"); internal static string EndedHearthHaul => Text.Get("ended_hearth_haul"); internal static string EndedAetherClear => Text.Get("ended_aether_clear"); internal static string EndedElderSprout => Text.Get("ended_elder_sprout"); internal static string EndedSentrySight => Text.Get("ended_sentry_sight"); internal static string EndedTaprootSurge => Text.Get("ended_taproot_surge"); internal static string EndedMantleAnchor => Text.Get("ended_mantle_anchor"); internal static string EndedPrimalHearth => Text.Get("ended_primal_hearth"); internal static string EndedHearthKindle => Text.Get("ended_hearth_kindle"); internal static string BlessingEnded => Text.Get("blessing_ended"); internal static string BlessingsLostToDeath => Text.Get("blessings_lost_to_death"); internal static string BlessingMissed => Text.Get("blessing_missed"); internal static string GraveBindKept => Text.Get("grave_bind_kept"); internal static string GraveBindReequipped => Text.Get("grave_bind_reequipped"); internal static string GraveBindHover => Text.Get("grave_bind_hover"); internal static string SoulTetherPulled => Text.Get("soul_tether_pulled"); internal static string SoulTetherAllThere => Text.Get("soul_tether_all_there"); internal static string SoulTetherNone => Text.Get("soul_tether_none"); internal static string SkalReceived => Text.Get("skal_received"); internal static string SkyCallRenewed => Text.Get("sky_call_renewed"); internal static string SkyCallReady => Text.Get("sky_call_ready"); internal static string SkyCallNoPower => Text.Get("sky_call_no_power"); internal static string SkyCallWaiting => Text.Get("sky_call_waiting"); internal static string SkyCallEnded => Text.Get("sky_call_ended"); internal static string SkalRestedAlready => Text.Get("skal_rested_already"); internal static string SkalWaiting => Text.Get("skal_waiting"); internal static string SkalEnded => Text.Get("skal_ended"); internal static string AnvilSparkRepaired => Text.Get("anvil_spark_repaired"); internal static string AnvilSparkNothing => Text.Get("anvil_spark_nothing"); internal static string AnvilSparkWaiting => Text.Get("anvil_spark_waiting"); internal static string AnvilSparkEnded => Text.Get("anvil_spark_ended"); internal static string EldhrimnirReceived => Text.Get("eldhrimnir_received"); internal static string EldhrimnirFresh => Text.Get("eldhrimnir_fresh"); internal static string EldhrimnirNoFood => Text.Get("eldhrimnir_no_food"); internal static string EldhrimnirWaiting => Text.Get("eldhrimnir_waiting"); internal static string EldhrimnirEnded => Text.Get("eldhrimnir_ended"); internal static string RallyHornCalled => Text.Get("rally_horn_called"); internal static string RallyHornByYou => Text.Get("rally_horn_by_you"); internal static string RallyHornHere => Text.Get("rally_horn_here"); internal static string RallyHornWaiting => Text.Get("rally_horn_waiting"); internal static string RallyHornEnded => Text.Get("rally_horn_ended"); internal static string RallyCallName => Text.Get("rally_call_name"); internal static string RallyAcceptName => Text.Get("rally_accept_name"); internal static string RallyRefuseName => Text.Get("rally_refuse_name"); internal static string DomainBorderName => Text.Get("domain_border_name"); internal static string ArenaPreviewName => Text.Get("arena_preview_name"); internal static string AbilityOn => Text.Get("ability_on"); internal static string AbilityOff => Text.Get("ability_off"); internal static string RallyCallRefused => Text.Get("rally_call_refused"); internal static string RallyPendingRefused => Text.Get("rally_pending_refused"); internal static string RallyCallAnswered => Text.Get("rally_call_answered"); internal static string RallyCallFaded => Text.Get("rally_call_faded"); internal static string RallyCallInCombat => Text.Get("rally_call_in_combat"); internal static string RallyCallCannot => Text.Get("rally_call_cannot"); internal static string CryptDelverFound => Text.Get("crypt_delver_found"); internal static string CrimsonKillCount => Text.Get("crimson_kill_count"); internal static string CrimsonSurvived => Text.Get("crimson_survived"); internal static string CrimsonSurvivedNoReward => Text.Get("crimson_survived_no_reward"); internal static string CrimsonFailedObliterator => Text.Get("crimson_failed_obliterator"); internal static string CrimsonFailedFallen => Text.Get("crimson_failed_fallen"); internal static string CrimsonFailedEnded => Text.Get("crimson_failed_ended"); internal static string IncursionNoPortal => Text.Get("incursion_no_portal"); internal static string IncursionNoPortalIn => Text.Get("incursion_no_portal_in"); internal static string IncursionHeld => Text.Get("incursion_held"); internal static string IncursionKeptOut => Text.Get("incursion_kept_out"); internal static string DomainCancelled => Text.Get("domain_cancelled"); internal static string DomainBroken => Text.Get("domain_broken"); internal static string IncursionNoBuild => Text.Get("incursion_no_build"); internal static string IncursionOnlySanctuary => Text.Get("incursion_only_sanctuary"); internal static string IncursionOtherObliterator => Text.Get("incursion_other_obliterator"); internal static string SanctuaryOnlyInside => Text.Get("sanctuary_only_inside"); internal static string IncursionBusy => Text.Get("incursion_busy"); internal static string IncursionNoTeleport => Text.Get("incursion_no_teleport"); internal static string IncursionNoTeleportIn => Text.Get("incursion_no_teleport_in"); internal static string IncursionNoDungeon => Text.Get("incursion_no_dungeon"); internal static string IncursionNoSummon => Text.Get("incursion_no_summon"); internal static string IncursionWonFar => Text.Get("incursion_won_far"); internal static string IncursionLostFar => Text.Get("incursion_lost_far"); internal static string IncursionBegunFar => Text.Get("incursion_begun_far"); internal static string IncursionSiteRefused => Text.Get("incursion_site_refused"); internal static string IncursionSiteSpawn => Text.Get("incursion_site_spawn"); internal static string IncursionSiteTrader => Text.Get("incursion_site_trader"); internal static string IncursionSiteAltar => Text.Get("incursion_site_altar"); internal static string IncursionSiteShield => Text.Get("incursion_site_shield"); internal static string IncursionSiteRaid => Text.Get("incursion_site_raid"); internal static string IncursionSiteBoss => Text.Get("incursion_site_boss"); internal static string IncursionSiteDungeon => Text.Get("incursion_site_dungeon"); internal static string IncursionSiteBed => Text.Get("incursion_site_bed"); internal static string IncursionSitePlayerWard => Text.Get("incursion_site_player_ward"); internal static string IncursionRefusedRaid => Text.Get("incursion_refused_raid"); internal static string IncursionRefusedBossFight => Text.Get("incursion_refused_boss_fight"); internal static string IncursionRefusedHostile => Text.Get("incursion_refused_hostile"); internal static string IncursionRefusedWater => Text.Get("incursion_refused_water"); internal static string IncursionRefusedRoom => Text.Get("incursion_refused_room"); internal static string RoomRaiders => Text.Get("room_raiders"); internal static string RoomBosses => Text.Get("room_bosses"); internal static string RoomElites => Text.Get("room_elites"); internal static string LeySurveyCramped => Text.Get("ley_survey_cramped"); internal static string IncursionMovedOut => Text.Get("incursion_moved_out"); internal static string IncursionNoBed => Text.Get("incursion_no_bed"); internal static string IncursionKeysKept => Text.Get("incursion_keys_kept"); internal static string IncursionSiteWard => Text.Get("incursion_site_ward"); internal static string CrimsonPin => Colored("#ff4a3a", Text.Get("crimson_pin")); internal static string RallyHornPin => Colored("#ffd060", Text.Get("rally_horn_pin")); internal static string RagnarokPin => Colored("#ff9a2e", Text.Get("ragnarok_pin")); internal static string RagnarokBegins => Text.Get("ragnarok_begins"); internal static string RagnarokNoBosses => Text.Get("ragnarok_no_bosses"); internal static string RagnarokNoOne => Text.Get("ragnarok_no_one"); internal static string RagnarokTooEarly => Text.Get("ragnarok_too_early"); internal static string RagnarokRises => Text.Get("ragnarok_rises"); internal static string RagnarokFalls => Text.Get("ragnarok_falls"); internal static string RagnarokSurvived => Text.Get("ragnarok_survived"); internal static string RagnarokSurvivedNoReward => Text.Get("ragnarok_survived_no_reward"); internal static string RagnarokFailedObliterator => Text.Get("ragnarok_failed_obliterator"); internal static string RagnarokFailedFallen => Text.Get("ragnarok_failed_fallen"); internal static string RagnarokFailedEnded => Text.Get("ragnarok_failed_ended"); internal static string RagnarokFailedTime => Text.Get("ragnarok_failed_time"); internal static string RagnarokFailedSpawn => Text.Get("ragnarok_failed_spawn"); internal static string HoardBanePin => Colored("#ffc24a", Text.Get("hoard_bane_pin")); internal static string HoardBaneBegins => Text.Get("hoard_bane_begins"); internal static string HoardBaneNoOne => Text.Get("hoard_bane_no_one"); internal static string HoardBaneEliteFalls => Text.Get("hoard_bane_elite_falls"); internal static string HoardBaneShieldBreaks => Text.Get("hoard_bane_shield_breaks"); internal static string HoardBaneBossFalls => Text.Get("hoard_bane_boss_falls"); internal static string HoardBaneBossReturns => Text.Get("hoard_bane_boss_returns"); internal static string HoardBaneRiderLeaps => Text.Get("hoard_bane_rider_leaps"); internal static string HoardBaneEliteWakes => Text.Get("hoard_bane_elite_wakes"); internal static string HoardBaneSurvived => Text.Get("hoard_bane_survived"); internal static string HoardBaneSurvivedNoReward => Text.Get("hoard_bane_survived_no_reward"); internal static string HoardBaneFailedObliterator => Text.Get("hoard_bane_failed_obliterator"); internal static string HoardBaneFailedFallen => Text.Get("hoard_bane_failed_fallen"); internal static string HoardBaneFailedEnded => Text.Get("hoard_bane_failed_ended"); internal static string HoardBaneFailedTime => Text.Get("hoard_bane_failed_time"); internal static string HoardBaneFailedSpawn => Text.Get("hoard_bane_failed_spawn"); internal static string HoardBaneChestReturned => Text.Get("hoard_bane_chest_returned"); internal static string HoardBaneChestBack => Text.Get("hoard_bane_chest_back"); internal static string HoardBaneAnd => Text.Get("hoard_bane_and"); internal static string EndedVerdant => Text.Get("ended_verdant"); internal static string EndedPackward => Text.Get("ended_packward"); internal static string EndedCarrion => Text.Get("ended_carrion"); internal static string RefusedAdminsOnly => Text.Get("refused_admins_only"); internal static string RefusedDisabled => Text.Get("refused_disabled"); internal static string StatusTooltip => Text.Get("status_tooltip"); internal static string StatusTooltipNoBiomes => Text.Get("status_tooltip_no_biomes"); internal static string StatusTooltipPolarDay => Text.Get("status_tooltip_polar_day"); internal static string StatusTooltipPolarNight => Text.Get("status_tooltip_polar_night"); internal static string StatusTooltipFairWind => Text.Get("status_tooltip_fair_wind"); internal static string StatusTooltipHushFelling => Text.Get("status_tooltip_hush_felling"); internal static string StatusTooltipDraughtFlush => Text.Get("status_tooltip_draught_flush"); internal static string StatusTooltipTundraShroud => Text.Get("status_tooltip_tundra_shroud"); internal static string StatusTooltipGaleBreath => Text.Get("status_tooltip_gale_breath"); internal static string StatusTooltipSootfall => Text.Get("status_tooltip_sootfall"); internal static string StatusTooltipNoMist => Text.Get("status_tooltip_no_mist"); internal static string StatusTooltipCryptDelver => Text.Get("status_tooltip_crypt_delver"); internal static string StatusTooltipGlacialSatiety => Text.Get("status_tooltip_glacial_satiety"); internal static string StatusTooltipVeinShatter => Text.Get("status_tooltip_vein_shatter"); internal static string StatusTooltipCarapaceTemper => Text.Get("status_tooltip_carapace_temper"); internal static string TemperedDurability => Text.Get("tempered_durability"); internal static string StatusTooltipGraveBind => Text.Get("status_tooltip_grave_bind"); internal static string StatusTooltipFortunesBoon => Text.Get("status_tooltip_fortunes_boon"); internal static string FortuneForgeLoses => Text.Get("fortune_forge_loses"); internal static string FortuneForgeKeeps => Text.Get("fortune_forge_keeps"); internal static string FortuneSavedItem => Text.Get("fortune_saved_item"); internal static string StatusTooltipVatBoil => Text.Get("status_tooltip_vat_boil"); internal static string StatusTooltipPitchBellows => Text.Get("status_tooltip_pitch_bellows"); internal static string StatusTooltipKindred => Text.Get("status_tooltip_kindred"); internal static string StatusTooltipHarrowSpur => Text.Get("status_tooltip_harrow_spur"); internal static string StatusTooltipSovereignWard => Text.Get("status_tooltip_sovereign_ward"); internal static string StatusTooltipHearthHaul => Text.Get("status_tooltip_hearth_haul"); internal static string StatusTooltipHearthHaulCarry => Text.Get("status_tooltip_hearth_haul_carry"); internal static string StatusTooltipAetherClear => Text.Get("status_tooltip_aether_clear"); internal static string StatusTooltipElderSprout => Text.Get("status_tooltip_elder_sprout"); internal static string StatusTooltipPlumeWard => Text.Get("status_tooltip_plume_ward"); internal static string StatusTooltipSentrySight => Text.Get("status_tooltip_sentry_sight"); internal static string StatusTooltipTaprootSurge => Text.Get("status_tooltip_taproot_surge"); internal static string StatusTooltipMantleAnchor => Text.Get("status_tooltip_mantle_anchor"); internal static string StatusTooltipPrimalHearth => Text.Get("status_tooltip_primal_hearth"); internal static string StatusTooltipHearthKindle => Text.Get("status_tooltip_hearth_kindle"); internal static string StatusTooltipScaldDrift => Text.Get("status_tooltip_scald_drift"); internal static string StatusTooltipTetherLock => Text.Get("status_tooltip_tether_lock"); internal static string StatusTooltipStriderGirth => Text.Get("status_tooltip_strider_girth"); internal static string StatusTooltipSecondKindle => Text.Get("status_tooltip_second_kindle"); internal static string SecondKindleSaved => Text.Get("second_kindle_saved"); internal static string PlumeWardSaved => Text.Get("plume_ward_saved"); internal static string StatusTooltipMorgenPouch => Text.Get("status_tooltip_morgen_pouch"); internal static string StatusTooltipTendrilDraw => Text.Get("status_tooltip_tendril_draw"); internal static string MorgenPouchAbility => Text.Get("morgen_pouch_ability"); internal static string MorgenPouchTake => Text.Get("morgen_pouch_take"); internal static string MorgenPouchRelease => Text.Get("morgen_pouch_release"); internal static string MorgenPouchTaken => Text.Get("morgen_pouch_taken"); internal static string MorgenPouchNothing => Text.Get("morgen_pouch_nothing"); internal static string MorgenPouchNothingRiding => Text.Get("morgen_pouch_nothing_riding"); internal static string MorgenPouchReleased => Text.Get("morgen_pouch_released"); internal static string MorgenPouchEjected => Text.Get("morgen_pouch_ejected"); internal static string MorgenPouchOtherWorld => Text.Get("morgen_pouch_other_world"); internal static string MorgenPouchSummonLost => Text.Get("morgen_pouch_summon_lost"); internal static string MorgenPouchCarrying => Text.Get("morgen_pouch_carrying"); internal static string MorgenPouchHover => Text.Get("morgen_pouch_hover"); internal static string MorgenPouchWait => Text.Get("morgen_pouch_wait"); internal static string StatusTooltipSovereignSanctuary => Text.Get("status_tooltip_sovereign_sanctuary"); internal static string StatusTooltipLuminary => Text.Get("status_tooltip_luminary"); internal static string StatusTooltipAbyssalDraw => Text.Get("status_tooltip_abyssal_draw"); internal static string StatusTooltipAmberMend => Text.Get("status_tooltip_amber_mend"); internal static string StatusTooltipAbyssalSurge => Text.Get("status_tooltip_abyssal_surge"); internal static string StatusTooltipPackward => Text.Get("status_tooltip_packward"); internal static string StatusTooltipCarrion => Text.Get("status_tooltip_carrion"); internal static string StatusTooltipVerdant => Text.Get("status_tooltip_verdant"); internal static string StatusTooltipSkal => Text.Get("status_tooltip_skal"); internal static string StatusTooltipAnvilSpark => Text.Get("status_tooltip_anvil_spark"); internal static string StatusTooltipEldhrimnir => Text.Get("status_tooltip_eldhrimnir"); internal static string StatusTooltipRallyHorn => Text.Get("status_tooltip_rally_horn"); internal static string StatusTooltipRallyCall => Text.Get("status_tooltip_rally_call"); internal static string StatusTooltipArenaPreview => Text.Get("status_tooltip_arena_preview"); internal static string StatusTooltipLeySurvey => Text.Get("status_tooltip_ley_survey"); internal static string StatusTooltipSkyCall => Text.Get("status_tooltip_sky_call"); internal static string StatusTooltipCrimson => Text.Get("status_tooltip_crimson"); internal static string StatusTooltipRagnarok => Text.Get("status_tooltip_ragnarok"); internal static string StatusTooltipHoardBane => Text.Get("status_tooltip_hoard_bane"); internal static string SomeoneName => Text.Get("someone_name"); internal static string TimeSeconds => Text.Get("time_seconds"); internal static string TimeMinutes => Text.Get("time_minutes"); internal static string TimeHours => Text.Get("time_hours"); internal static string TimeHoursMinutes => Text.Get("time_hours_minutes"); internal static string VerdantReadyIn => "\n" + Colored("#c9c9c9", Text.Get("verdant_ready_in")); internal static string VerdantReadySoon => "\n" + Colored("#c9c9c9", Text.Get("verdant_ready_soon")); internal static string AnchorDespawnIn => "\n" + Colored("#c9c9c9", Text.Get("anchor_despawn_in")); internal static string AnchorStaysBase => "\n" + Colored("#c9c9c9", Text.Get("anchor_stays_base")); internal static string AnchorStaysTar => "\n" + Colored("#c9c9c9", Text.Get("anchor_stays_tar")); internal static string StationReadyIn => "\n" + Colored("#c9c9c9", Text.Get("station_ready_in")); internal static string StationReadySoon => "\n" + Colored("#c9c9c9", Text.Get("station_ready_soon")); internal static string KindredGrownIn => "\n" + Colored("#c9c9c9", Text.Get("kindred_grown_in")); internal static string KindredGrownSoon => "\n" + Colored("#c9c9c9", Text.Get("kindred_grown_soon")); internal static string KindredDueIn => "\n" + Colored("#c9c9c9", Text.Get("kindred_due_in")); internal static string KindredDueSoon => "\n" + Colored("#c9c9c9", Text.Get("kindred_due_soon")); internal static string KindredHatchesIn => "\n" + Colored("#c9c9c9", Text.Get("kindred_hatches_in")); internal static string KindredHatchesSoon => "\n" + Colored("#c9c9c9", Text.Get("kindred_hatches_soon")); internal static string HarrowSpurSpawns => "\n" + Colored("#c9c9c9", Text.Get("harrow_spur_spawns")); internal static string WontBurn => Colored("#9fe07a", Text.Get("wont_burn")); internal static string LeverNotAllowed => Colored("#ff7a5c", Text.Get("lever_not_allowed")); internal static string LeverSwitchedOff => Colored("#9a9a9a", Text.Get("lever_switched_off")); internal static string NewRite => Text.Get("new_rite"); internal static string HatchTitle => Colored("#9fd8ff", Text.Get("hatch_title")); internal static string ActiveTitle => Colored("#9fe07a", Text.Get("active_title")); internal static string ActiveTooltip => Text.Get("active_tooltip"); internal static string ActiveLeft => Colored("#c9c9c9", Text.Get("active_left")); internal static string ActivePaused => Colored("#9a9a9a", Text.Get("active_paused")); internal static string ActiveUntimed => Colored("#c9c9c9", Text.Get("active_untimed")); internal static string ActiveDetail => Text.Get("active_detail"); internal static string TooltipDecides => Text.Get("tooltip_decides"); internal static string TooltipOverruled => Colored("#9a9a9a", Text.Get("tooltip_overruled")); internal static string TooltipOverruledShort => Colored("#9a9a9a", Text.Get("tooltip_overruled_short")); internal static string TooltipNeedsMore => Colored("#9a9a9a", Text.Get("tooltip_needs_more")); internal static string TooltipNeedsMoreShort => Colored("#9a9a9a", Text.Get("tooltip_needs_more_short")); internal static string TooltipUnmade => Text.Get("tooltip_unmade"); internal static string TooltipUnmadeNothing => Colored("#9a9a9a", Text.Get("tooltip_unmade_nothing")); internal static string ItemsDifferent => Text.Get("items_different"); internal static string SwitchTooltip => Text.Get("switch_tooltip"); internal static string PageTooltip => Text.Get("page_tooltip"); internal static string SwitchedOn => Text.Get("switched_on"); internal static string SwitchedOff => Text.Get("switched_off"); internal static string PanelHint => Text.Get("panel_hint"); internal static string PanelItemMissing => Text.Get("panel_item_missing"); internal static string PanelItemNeeds => Text.Get("panel_item_needs"); internal static string PanelItemPut => Text.Get("panel_item_put"); internal static string PanelItemIn => Text.Get("panel_item_in"); internal static string PanelItemEnough => Text.Get("panel_item_enough"); internal static string PanelAnyDifferent => Text.Get("panel_any_different"); internal static string PanelItemClash => Text.Get("panel_item_clash"); internal static string PanelItemClashDetail => Text.Get("panel_item_clash_detail"); internal static string PanelClashWarning => Text.Get("panel_clash_warning"); internal static string PanelPrepared => Colored("#e8735f", Text.Get("panel_prepared")); internal static string PanelMoreItems => Text.Get("panel_more_items"); internal static string PanelFewerItems => Text.Get("panel_fewer_items"); internal static string PanelOpenCompendium => Text.Get("panel_open_compendium"); internal static string PanelReady => Colored("#8fe08f", Text.Get("panel_ready")); internal static string PanelMoreToFind => Text.Get("panel_more_to_find"); internal static string PanelServerLacksMod => Text.Get("panel_server_lacks_mod"); internal static string PanelOneMoreToFind => Text.Get("panel_one_more_to_find"); internal static string CloseTooltip => Text.Get("close_tooltip"); } internal static class CompendiumTexts { internal const string Separator = " · "; internal static string Topic => Text.Get("compendium_topic"); internal static string Intro => Text.Get("compendium_intro"); internal static string Rules => Text.Get("compendium_rules"); internal static string AdminsOnly => Colored("#ff7a5c", Text.Get("compendium_admins_only")); internal static string ServerLacksMod => Colored("#ff7a5c", Text.Get("compendium_server_lacks_mod")); internal static string Learning => Text.Get("compendium_learning"); internal static string NoneKnown => Text.Get("compendium_none_known"); internal static string MoreToFind => Text.Get("compendium_more_to_find"); internal static string OneMoreToFind => Text.Get("compendium_one_more_to_find"); internal static string Burn => Text.Get("compendium_burn"); internal static string Lasts => Text.Get("compendium_lasts"); internal static string AtOnce => Text.Get("compendium_at_once"); internal static string RagnarokTime => Text.Get("compendium_ragnarok_time"); internal static string KinshipWait => Text.Get("compendium_kinship_wait"); internal static string SkalTimes => Text.Get("compendium_skal_times"); internal static string GroupAtmospheric => Text.Get("compendium_group_atmospheric"); internal static string GroupCelestial => Text.Get("compendium_group_celestial"); internal static string GroupBiomeMastery => Text.Get("compendium_group_biome_mastery"); internal static string GroupDomain => Text.Get("compendium_group_domain"); internal static string GroupBlessings => Text.Get("compendium_group_blessings"); internal static string GroupKinship => Text.Get("compendium_group_kinship"); internal static string GroupReckoning => Text.Get("compendium_group_reckoning"); internal static string Clear => Text.Get("compendium_clear"); internal static string Thunderstorm => Text.Get("compendium_thunderstorm"); internal static string Rain => Text.Get("compendium_rain"); internal static string Mist => Text.Get("compendium_mist"); internal static string Aurora => Text.Get("compendium_aurora"); internal static string PolarDay => Text.Get("compendium_polar_day"); internal static string PolarNight => Text.Get("compendium_polar_night"); internal static string GaleBreath => Text.Get("compendium_gale_breath"); internal static string NoMist => Text.Get("compendium_no_mist"); internal static string Sootfall => Text.Get("compendium_sootfall"); internal static string AbyssalSurge => Text.Get("compendium_abyssal_surge"); internal static string Packward => Text.Get("compendium_packward"); internal static string Carrion => Text.Get("compendium_carrion"); internal static string Verdant => Text.Get("compendium_verdant"); internal static string VatBoil => Text.Get("compendium_vat_boil"); internal static string PitchBellows => Text.Get("compendium_pitch_bellows"); internal static string Kindred => Text.Get("compendium_kindred"); internal static string HarrowSpur => Text.Get("compendium_harrow_spur"); internal static string AmberMend => Text.Get("compendium_amber_mend"); internal static string SovereignWard => Text.Get("compendium_sovereign_ward"); internal static string HearthHaul => Text.Get("compendium_hearth_haul"); internal static string HearthHaulCarry => Text.Get("compendium_hearth_haul_carry"); internal static string AetherClear => Text.Get("compendium_aether_clear"); internal static string SovereignSanctuary => Text.Get("compendium_sovereign_sanctuary"); internal static string Grounding => Text.Get("compendium_grounding"); internal static string CryptDelver => Text.Get("compendium_crypt_delver"); internal static string GlacialSatiety => Text.Get("compendium_glacial_satiety"); internal static string VeinShatter => Text.Get("compendium_vein_shatter"); internal static string VeinShatterNoBreak => Text.Get("compendium_vein_shatter_no_break"); internal static string CarapaceTemper => Text.Get("compendium_carapace_temper"); internal static string GraveBind => Text.Get("compendium_grave_bind"); internal static string GraveBindBeam => Text.Get("compendium_grave_bind_beam"); internal static string GraveBindReequip => Text.Get("compendium_grave_bind_reequip"); internal static string FortunesBoon => Text.Get("compendium_fortunes_boon"); internal static string Luminary => Text.Get("compendium_luminary"); internal static string LuminaryShadows => Text.Get("compendium_luminary_shadows"); internal static string AbyssalDraw => Text.Get("compendium_abyssal_draw"); internal static string FairWind => Text.Get("compendium_fair_wind"); internal static string HushFelling => Text.Get("compendium_hush_felling"); internal static string DraughtFlush => Text.Get("compendium_draught_flush"); internal static string SoulTether => Text.Get("compendium_soul_tether"); internal static string TundraShroud => Text.Get("compendium_tundra_shroud"); internal static string Skal => Text.Get("compendium_skal"); internal static string SkyCall => Text.Get("compendium_sky_call"); internal static string AnvilSpark => Text.Get("compendium_anvil_spark"); internal static string Eldhrimnir => Text.Get("compendium_eldhrimnir"); internal static string RallyHorn => Text.Get("compendium_rally_horn"); internal static string Crimson => Text.Get("compendium_crimson"); internal static string CrimsonReward => Text.Get("compendium_crimson_reward"); internal static string CrimsonNoReward => Text.Get("compendium_crimson_no_reward"); internal static string CrimsonEnd => Text.Get("compendium_crimson_end"); internal static string Ragnarok => Text.Get("compendium_ragnarok"); internal static string HoardBane => Text.Get("compendium_hoard_bane"); internal static string Sanctuary => Text.Get("compendium_sanctuary"); internal static string LeySurvey => Text.Get("compendium_ley_survey"); internal static string Reset => Text.Get("compendium_reset"); internal static string SunFall => Text.Get("compendium_sun_fall"); internal static string NaturesRebound => Text.Get("compendium_natures_rebound"); internal static string Unmaking => Text.Get("compendium_unmaking"); internal static string UnmakingUpgradeMaterials => Text.Get("compendium_unmaking_upgrade_materials"); internal static string ElderSprout => Text.Get("compendium_elder_sprout"); internal static string PlumeWard => Text.Get("compendium_plume_ward"); internal static string SentrySight => Text.Get("compendium_sentry_sight"); internal static string TaprootSurge => Text.Get("compendium_taproot_surge"); internal static string MantleAnchor => Text.Get("compendium_mantle_anchor"); internal static string PrimalHearth => Text.Get("compendium_primal_hearth"); internal static string HearthKindle => Text.Get("compendium_hearth_kindle"); internal static string ScaldDrift => Text.Get("compendium_scald_drift"); internal static string TetherLock => Text.Get("compendium_tether_lock"); internal static string StriderGirth => Text.Get("compendium_strider_girth"); internal static string SecondKindle => Text.Get("compendium_second_kindle"); internal static string MorgenPouch => Text.Get("compendium_morgen_pouch"); internal static string TendrilDraw => Text.Get("compendium_tendril_draw"); internal static string SentrySparesAnimals => Text.Get("compendium_sentry_spares_animals"); } internal static class DebugMessages { internal const string ReadConfigCalled = "ReadConfigValues called"; internal const string ErrorLoadingConfig = "There was an issue loading your JoksterCube.TempestRite.cfg"; internal const string RequestCheckConfig = "Please check your config entries for spelling and format!"; } internal static class Groups { internal static class General { internal const string Group = "0 - General"; internal const string AtmosphericGroup = "1 - Atmospheric"; internal const string DomainGroup = "4 - Domain"; internal const string BlessingsGroup = "5 - Blessings"; internal static readonly ConfigInfo<WeatherPermission> WhoCanChange = new ConfigInfo<WeatherPermission>("0 - General", "Who Can Change Weather", "Who may perform rites with the obliterator. Anyone: every player with the mod. AdminsOnly: only server admins (and the host). Others' key items are just obliterated as usual.", WeatherPermission.Anyone); internal static readonly ConfigInfo<WeatherBiomes> AffectedBiomes = new ConfigInfo<WeatherBiomes>("1 - Atmospheric", "Affected Biomes", "Biomes where weather rites (Clear Sky, Tempest, Downpour, Shrouding, Aurora) show. Elsewhere the biome keeps its own weather while the rite goes on. Each weather rite shows as that biome's own kind of it (see its Environments setting). The other rites don't depend on this. Deep North is left out by default until it is part of the game.", WeatherBiomes.Meadows | WeatherBiomes.Swamp | WeatherBiomes.Mountain | WeatherBiomes.BlackForest | WeatherBiomes.Plains | WeatherBiomes.AshLands | WeatherBiomes.Ocean | WeatherBiomes.Mistlands); internal static readonly ConfigInfo<float> DomainRadius = new ConfigInfo<float>("4 - Domain", "Domain Rites Radius", new ConfigDescription("How far from their obliterator the Domain rites (Packward, Carrion, Verdant, Vat-Boil, Pitch-Bellows, Kindred, Harrow-Spur, Amber-Mend, Sovereign Ward, Hearth-Haul, Aether-Clear, Elder-Sprout, Sentry-Sight, Taproot-Surge, Pitch-Seal, Primal-Hearth, Hearth-Kindle) work, in meters. Their status and message only show this near it.", (AcceptableValueBase)(object)new AcceptableValueRange<float>(5f, 500f), Array.Empty<object>()), 100f); internal static readonly ConfigInfo<float> BlessingRange = new ConfigInfo<float>("5 - Blessings", "Blessings Range", new ConfigDescription("How close to the obliterator players must stand when its thunder strikes to receive a blessing (Crypt Delver, Glacial Satiety, Vein-Shatter, Carapace Temper, Grave-Bind, Fortune's Boon, Luminary, Abyssal Draw, Fair-Wind), in meters. 10 is the range Forsaken powers are shared in.", (AcceptableValueBase)(object)new AcceptableValueRange<float>(2f, 100f), Array.Empty<object>()), 10f); internal static readonly ConfigInfo<JoksterCube.TempestRite.Common.Toggle> RequireModOnClients = new ConfigInfo<JoksterCube.TempestRite.Common.Toggle>("0 - General", "Require Mod On Clients", "Server: On turns away players who don't have the mod (or have another version). Off lets them join; they keep the game's own weather and get none of the rites. Players with the mod always need it on the server.", JoksterCube.TempestRite.Common.Toggle.On); internal static readonly ConfigInfo<JoksterCube.TempestRite.Common.Toggle> AdminLocked = new ConfigInfo<JoksterCube.TempestRite.Common.Toggle>("0 - General", "Admin Locked", "On lets server admins change the synced settings in game (Configuration Manager): each change is saved to the server's config file and sent to every player. Off: synced settings come only from the server's config file, and nobody can change them in game, admins included.", JoksterCube.TempestRite.Common.Toggle.On); } internal static class Display { internal const string Group = "8 - Interface"; internal const string EffectsGroup = "9 - Effects"; internal static readonly ConfigInfo<JoksterCube.TempestRite.Common.Toggle> ShowStatus = new ConfigInfo<JoksterCube.TempestRite.Common.Toggle>("8 - Interface", "Show Weather Status", "Show a status with the time left for each rite going on and each blessing you carry. Rite statuses stay through death; blessings end with it.", JoksterCube.TempestRite.Common.Toggle.On, synchronized: false); internal static readonly ConfigInfo<JoksterCube.TempestRite.Common.Toggle> ShowLeverHint = new ConfigInfo<JoksterCube.TempestRite.Common.Toggle>("8 - Interface", "Show Lever Hint", "Looking at the obliterator's lever shows which rite pulling it performs.", JoksterCube.TempestRite.Common.Toggle.On, synchronized: false); internal static readonly ConfigInfo<JoksterCube.TempestRite.Common.Toggle> ShowHatchHint = new ConfigInfo<JoksterCube.TempestRite.Common.Toggle>("8 - Interface", "Show Hatch Hint", "Looking at the obliterator's hatch lists the items that perform rites you know. Off by default: the rites page (the flap under the open obliterator) lists them too.", JoksterCube.TempestRite.Common.Toggle.Off, synchronized: false); internal static readonly ConfigInfo<JoksterCube.TempestRite.Common.Toggle> ShowItemHighlight = new ConfigInfo<JoksterCube.TempestRite.Common.Toggle>("8 - Interface", "Show Obliterator Highlights", "With the obliterator open, the rite item that decides gets a frame in its rite's color and any others a dim gray one, and their tooltips say which rite they perform or that they are sacrificed for nothing.", JoksterCube.TempestRite.Common.Toggle.On, synchronized: false); internal static readonly ConfigInfo<JoksterCube.TempestRite.Common.Toggle> ShowExplanations = new ConfigInfo<JoksterCube.TempestRite.Common.Toggle>("8 - Interface", "Show Explanations", "Show the gray explanations next to rite names (what each rite does, why an item decides) in hover texts, item tooltips and the rites page. Off: only the item and the rite's name, for less clutter once you know them.", JoksterCube.TempestRite.Common.Toggle.On, synchronized: false); internal static readonly ConfigInfo<JoksterCube.TempestRite.Common.Toggle> ShowMessages = new ConfigInfo<JoksterCube.TempestRite.Common.Toggle>("8 - Interface", "Show Messages", "Show a message when someone performs a rite, and when it ends.", JoksterCube.TempestRite.Common.Toggle.On, synchronized: false); internal static readonly ConfigInfo<JoksterCube.TempestRite.Common.Toggle> ShowRiteUnlocks = new ConfigInfo<JoksterCube.TempestRite.Common.Toggle>("8 - Interface", "Show New Rites", "Show a \"New rite\" popup, like the game's \"New recipe\" one, when you learn a rite. The first time you build, open or pull an obliterator, every rite you already know shows; after that, each rite whose item you find for the first time.", JoksterCube.TempestRite.Common.Toggle.On, synchronized: false); internal static readonly ConfigInfo<JoksterCube.TempestRite.Common.Toggle> GraveReequip = new ConfigInfo<JoksterCube.TempestRite.Common.Toggle>("8 - Interface", "Grave-Bind Re-Equip Gear", "After a death under the Grave-Bind Rite, put the gear you wore back on once you loot your tombstone.", JoksterCube.TempestRite.Common.Toggle.On, synchronized: false); internal static readonly ConfigInfo<KeyboardShortcut> MorgenPouchShortcut = new ConfigInfo<KeyboardShortcut>("8 - Interface", "Morgen-Pouch Shortcut", "Your own key for the Morgen-Pouch ability while the Morgen-Pouch Rite lasts: pocket the creatures you petted, or let them out (also in the game's Settings > Controls). Works while moving.", new KeyboardShortcut((KeyCode)112, (KeyCode[])(object)new KeyCode[1] { (KeyCode)308 }), synchronized: false); internal static readonly ConfigInfo<KeyboardShortcut> RallyCallShortcut = new ConfigInfo<KeyboardShortcut>("8 - Interface", "Rally Call Shortcut", "Your own key for answering the Rally-Horn Rite's call while it lasts (also in the game's Settings > Controls). Works while moving.", new KeyboardShortcut((KeyCode)121, Array.Empty<KeyCode>()), synchronized: false); internal static readonly ConfigInfo<KeyboardShortcut> RallyRefuseShortcut = new ConfigInfo<KeyboardShortcut>("8 - Interface", "Rally Refuse Shortcut", "Your own key for refusing the Rally-Horn Rite's call while it lasts, letting it go at once (also in the game's Settings > Controls). Works while moving.", new KeyboardShortcut((KeyCode)110, Array.Empty<KeyCode>()), synchronized: false); internal static readonly ConfigInfo<KeyboardShortcut> DomainBorderShortcut = new ConfigInfo<KeyboardShortcut>("8 - Interface", "Domain Bounds Shortcut", "While you are in a Domain rite's area, show or hide its edge (also in the game's Settings > Controls). Your choice is kept for the next area. Works while moving. Leave empty to hide the Bounds slot.", new KeyboardShortcut((KeyCode)98, (KeyCode[])(object)new KeyCode[1] { (KeyCode)308 }), synchronized: false); internal static readonly ConfigInfo<JoksterCube.TempestRite.Common.Toggle> ShowBlessingLightning = new ConfigInfo<JoksterCube.TempestRite.Common.Toggle>("9 - Effects", "Show Blessing Lightning", "Show the lightning striking each player who receives a blessing.", JoksterCube.TempestRite.Common.Toggle.On, synchronized: false); internal static readonly ConfigInfo<JoksterCube.TempestRite.Common.Toggle> ShowCreatureIcons = new ConfigInfo<JoksterCube.TempestRite.Common.Toggle>("9 - Effects", "Show Creature Icons", "Where the game shows its yellow and red alert icons over a creature: a blue drop while it shuns a Packward Rite, a green heart while a Carrion Rite draws it.", JoksterCube.TempestRite.Common.Toggle.On, synchronized: false); internal static readonly ConfigInfo<JoksterCube.TempestRite.Common.Toggle> ShowDomainEffects = new ConfigInfo<JoksterCube.TempestRite.Common.Toggle>("9 - Effects", "Show Domain Effects", "While a Domain rite goes on, rings in its color spread out from the obliterator over its area, one at a time, and the obliterator glows and gives off rising motes in the colors of its rites, each rite in its own shape (Verdant leaves, Vat-Boil bubbles, Pitch-Bellows embers and forge sparks, Kindred hearts, Harrow-Spur little ghosts, Sovereign Ward stars, Hearth-Haul feathers, Sentry-Sight bolts, Taproot-Surge sap drops, Pitch-Seal blobs of pitch, Primal-Hearth violet flames, Hearth-Kindle crescent moons).", JoksterCube.TempestRite.Common.Toggle.On, synchronized: false); internal static readonly ConfigInfo<JoksterCube.TempestRite.Common.Toggle> AlwaysShowDomainBorder = new ConfigInfo<JoksterCube.TempestRite.Common.Toggle>("9 - Effects", "Always Show Domain Border", "Show the edge of every Domain rite's area near you all the time. Off: only the edge of the area you are in shows (and for 5 seconds after you leave it), and a Bounds slot beside the Guardian Power switches it on or off.", JoksterCube.TempestRite.Common.Toggle.Off, synchronized: false); internal static readonly ConfigInfo<JoksterCube.TempestRite.Common.Toggle> ShowVerdantSparkles = new ConfigInfo<JoksterCube.TempestRite.Common.Toggle>("9 - Effects", "Show Verdant Sparkles", "Under the Verdant Rite, now and then a few of the plants and bushes growing faster give off green leaves.", JoksterCube.TempestRite.Common.Toggle.On, synchronized: false); internal static readonly ConfigInfo<JoksterCube.TempestRite.Common.Toggle> ShowVatBoilMotes = new ConfigInfo<JoksterCube.TempestRite.Common.Toggle>("9 - Effects", "Show Vat-Boil Motes", "Under the Vat-Boil Rite, now and then a few of the fermenters and cooking stations working faster give off golden bubbles.", JoksterCube.TempestRite.Common.Toggle.On, synchronized: false); internal static readonly ConfigInfo<JoksterCube.TempestRite.Common.Toggle> ShowPitchBellowsMotes = new ConfigInfo<JoksterCube.TempestRite.Common.Toggle>("9 - Effects", "Show Pitch-Bellows Motes", "Under the Pitch-Bellows Rite, now and then a few of the smelters and kilns working faster give off embers.", JoksterCube.TempestRite.Common.Toggle.On, synchronized: false); internal static readonly ConfigInfo<Color> PitchBellowsFireTint = new ConfigInfo<Color>("9 - Effects", "Pitch-Bellows Fire Tint", "Under the Pitch-Bellows Rite, the fire of smelters, kilns and furnaces near you leans toward this color (in your game only). Its alpha is how far: 0 leaves the fire as usual, 1 turns it fully that color.", new Color(0.8f, 0.12f, 0.06f, 0.4f), synchronized: false); internal static readonly ConfigInfo<JoksterCube.TempestRite.Common.Toggle> ShowKindredHearts = new ConfigInfo<JoksterCube.TempestRite.Common.Toggle>("9 - Effects", "Show Kindred Hearts", "Under the Kindred Rite, now and then a few of the tamed young and pregnant animals and warm eggs it reaches give off pink hearts.", JoksterCube.TempestRite.Common.Toggle.On, synchronized: false); internal static readonly ConfigInfo<JoksterCube.TempestRite.Common.Toggle> ShowHarrowSpurMotes = new ConfigInfo<JoksterCube.TempestRite.Common.Toggle>("9 - Effects", "Show Harrow-Spur Motes", "Under the Harrow-Spur Rite, now and then a few of the spawners it reaches give off little ghosts, bigger for bigger spawners.", JoksterCube.TempestRite.Common.Toggle.On, synchronized: false); internal static readonly ConfigInfo<JoksterCube.TempestRite.Common.Toggle> ShowHearthHaulFeathers = new ConfigInfo<JoksterCube.TempestRite.Common.Toggle>("9 - Effects", "Show Hearth-Haul Feathers", "Under the Hearth-Haul Rite, players carrying too much give off drifting feathers, showing why they can still walk without tiring (seen by everyone with the mod).", JoksterCube.TempestRite.Common.Toggle.On, synchronized: false); internal static readonly ConfigInfo<JoksterCube.TempestRite.Common.Toggle> ShowSentrySightMotes = new ConfigInfo<JoksterCube.TempestRite.Common.Toggle>("9 - Effects", "Show Sentry-Sight Motes", "Under the Sentry-Sight Rite, now and then a few of the ballistas it reaches give off steel-blue bolts.", JoksterCube.TempestRite.Common.Toggle.On, synchronized: false); internal static readonly ConfigInfo<JoksterCube.TempestRite.Common.Toggle> ShowTaprootSurgeMotes = new ConfigInfo<JoksterCube.TempestRite.Common.Toggle>("9 - Effects", "Show Taproot-Surge Motes", "Under the Taproot-Surge Rite, now and then a few of the sap extractors, eitr refineries and ancient roots it reaches give off glowing sap drops.", JoksterCube.TempestRite.Common.Toggle.On, synchronized: false); internal static readonly ConfigInfo<Color> TaprootSurgeFireTint = new ConfigInfo<Color>("9 - Effects", "Taproot-Surge Fire Tint", "Under the Taproot-Surge Rite, the fire and glow of eitr refineries near you turn this color, and their machinery moves as fast as they work (in your game only). Its alpha is how far: 0 leaves the fire as usual, 1 turns it fully that color.", new Color(0.1f, 0.45f, 1f, 1f), synchronized: false); internal static readonly ConfigInfo<JoksterCube.TempestRite.Common.Toggle> ShowMantleAnchorMotes = new ConfigInfo<JoksterCube.TempestRite.Common.Toggle>("9 - Effects", "Show Pitch-Seal Motes", "Under the Pitch-Seal Rite, the items it holds on the ground give off little blobs of pitch with a coin stuck in them instead of their usual yellow sparks.", JoksterCube.TempestRite.Common.Toggle.On, synchronized: false); internal static readonly ConfigInfo<JoksterCube.TempestRite.Common.Toggle> ShowPrimalHearthMotes = new ConfigInfo<JoksterCube.TempestRite.Common.Toggle>("9 - Effects", "Show Primal-Hearth Motes", "Under the Primal-Hearth Rite, now and then a few of the wisp fountains and eternal pyres it reaches give off violet flames.", JoksterCube.TempestRite.Common.Toggle.On, synchronized: false); internal static readonly ConfigInfo<float> PrimalHearthGlow = new ConfigInfo<float>("9 - Effects", "Primal-Hearth Glow", new ConfigDescription("How many times as bright the wisp fountains and eternal pyres the Primal-Hearth Rite reaches glow near you (their light, glowing parts and flames). 1 is as usual.", (AcceptableValueBase)(object)new AcceptableValueRange<float>(1f, 4f), Array.Empty<object>()), 2f, synchronized: false); internal static readonly ConfigInfo<JoksterCube.TempestRite.Common.Toggle> ShowHearthKindleMotes = new ConfigInfo<JoksterCube.TempestRite.Common.Toggle>("9 - Effects", "Show Hearth-Kindle Motes", "Under the Hearth-Kindle Rite, now and then a few of the burning fires it reaches give off little rest signs, and while you rest by a fire there its embers arc into you, with a puff of Rested symbols when you become Rested.", JoksterCube.TempestRite.Common.Toggle.On, synchronized: false); internal static readonly ConfigInfo<JoksterCube.TempestRite.Common.Toggle> ShowPlumeWardDown = new ConfigInfo<JoksterCube.TempestRite.Common.Toggle>("9 - Effects", "Show Plume-Ward Down", "Under the Plume-Ward Rite, each landing it softens gives off a puff of pale down (seen by everyone with the mod).", JoksterCube.TempestRite.Common.Toggle.On, synchronized: false); internal static readonly ConfigInfo<JoksterCube.TempestRite.Common.Toggle> ShowMorgenPouchGlow = new ConfigInfo<JoksterCube.TempestRite.Common.Toggle>("9 - Effects", "Show Morgen-Pouch Marks", "Under the Morgen-Pouch Rite, the creatures your pouch would take wear a violet glow, like a Guardian Power's (seen only by you).", JoksterCube.TempestRite.Common.Toggle.On, synchronized: false); internal static readonly ConfigInfo<JoksterCube.TempestRite.Common.Toggle> GraveBeacon = new ConfigInfo<JoksterCube.TempestRite.Common.Toggle>("9 - Effects", "Show Grave-Bind Beam", "Show a beam into the sky over your tombstone after a death under the Grave-Bind Rite.", JoksterCube.TempestRite.Common.Toggle.On, synchronized: false); internal static readonly ConfigInfo<float> LuminaryStrength = new ConfigInfo<float>("9 - Effects", "Luminary Light Strength", new ConfigDescription("How bright the light around you is: 0.5 is half as bright, 2 twice as bright. The range stays the same.", (AcceptableValueBase)(object)new AcceptableValueRange<float>(0.1f, 2f), Array.Empty<object>()), 0.6f, synchronized: false); internal static readonly ConfigInfo<float> LuminaryBodyLight = new ConfigInfo<float>("9 - Effects", "Luminary Body Light", new ConfigDescription("How bright the soft light that keeps the shining player's body lit is: 1 as usual, lower it if the body looks too bright. 0: no body light.", (AcceptableValueBase)(object)new AcceptableValueRange<float>(0f, 2f), Array.Empty<object>()), 1f, synchronized: false); internal static readonly ConfigInfo<JoksterCube.TempestRite.Common.Toggle> LuminaryShadows = new ConfigInfo<JoksterCube.TempestRite.Common.Toggle>("9 - Effects", "Luminary Shadows", "On: floors, ceilings and walls block the light, so it doesn't shine through to the floor above or below or the next room. Off: a little lighter on the graphics card, but the light goes through everything within its range. Also needs shadows on in the game's graphics settings.", JoksterCube.TempestRite.Common.Toggle.On, synchronized: false); internal static readonly ConfigInfo<JoksterCube.TempestRite.Common.Toggle> CrimsonShield = new ConfigInfo<JoksterCube.TempestRite.Common.Toggle>("9 - Effects", "Show Crimson Shield", "Show the shield dome over the Crimson Rite's Blood Grounds. Players are held inside (or kept out) either way.", JoksterCube.TempestRite.Common.Toggle.On, synchronized: false); internal static readonly ConfigInfo<JoksterCube.TempestRite.Common.Toggle> RagnarokShield = new ConfigInfo<JoksterCube.TempestRite.Common.Toggle>("9 - Effects", "Show Ragnarok Shield", "Show the shield dome over the Ragnarök Rite's Blood Grounds. Players are held inside (or kept out) either way.", JoksterCube.TempestRite.Common.Toggle.On, synchronized: false); internal static readonly ConfigInfo<JoksterCube.TempestRite.Common.Toggle> HoardBaneShield = new ConfigInfo<JoksterCube.TempestRite.Common.Toggle>("9 - Effects", "Show Hoard-Bane Shield", "Show the shield dome over the Hoard-Bane Rite's Blood Grounds. Players are held inside (or kept out) either way; the elites' lairs and the miniboss's shield always show.", JoksterCube.TempestRite.Common.Toggle.On, synchronized: false); } internal static readonly RiteSettings Clear = new RiteSettings("1 - Atmospheric - Clear Sky", "the Clear Sky Rite (clear skies)", "SurtlingCore", "a surtling core", "No rain, snow or fog: for building, farming and travelling in peace. Cold biomes stay as cold as their own weather makes them. The Swamp keeps its own weather.", enabled: true, lasts: true, "Default: Clear, Swamp: None, Mistlands: Mistlands_clear, AshLands: Ashlands_ashrain_clear", "", 2, 20f).OldEnvironments("1.1.4", "Default: Clear, Mistlands: Mistlands_clear, AshLands: Ashlands_ashrain_clear"); internal static readonly RiteSettings Thunderstorm = new RiteSettings("1 - Atmospheric - Tempest", "the Tempest Rite (a thunderstorm)", "CopperOre", "copper ore", "Strong wind for sailing, and the weather serpents come out in. A snowstorm in the mountains.", enabled: true, lasts: true, "Default: ThunderStorm, Mountain: SnowStorm, Mistlands: Mistlands_thunder, AshLands: Ashlands_storm", "", 1, 20f); internal static readonly RiteSettings Rain = new RiteSettings("1 - Atmospheric - Downpour", "the Downpour Rite (rain)", "Ooze", "ooze", "For the mood. Light rain in the meadows, snow in the mountains. Puts out spreading fire with no roof over it and keeps cinders from lighting more (the Tempest Rite does too).", enabled: true, lasts: true, "Default: Rain, Meadows: LightRain, Swamp: SwampRain, Mountain: Snow, Mistlands: Mistlands_rain, AshLands: Ashlands_ashrain", "", 2, 20f); internal static readonly RiteSettings Mist = new RiteSettings("1 - Atmospheric - Shrouding", "the Shrouding Rite (mist)", "Cloudberry", "cloudberries", "Fog that hides what is far away. In the Swamp, thick mist over its rain.", enabled: true, lasts: true, "Default: Misty, BlackForest: DeepForest Mist, Swamp: TempestRite_SwampMist, Mistlands: Mistlands_clear, AshLands: Ashlands_misty", "", 3, 20f).OldEnvironments("1.1.4", "Default: Misty, BlackForest: DeepForest Mist, Mistlands: Mistlands_clear, AshLands: Ashlands_misty"); internal static readonly RiteSettings Aurora = new RiteSettings("1 - Atmospheric - Aurora", "the Aurora Rite (auroras and calm winds)", "Crystal", "crystals", "A clear sky with shimmering auroras at night, like the Deep North's, and calm, quiet winds. Its sky is made by the mod from the game's own (see Environments).", enabled: true, lasts: true, "Default: TempestRite_Aurora", "", 3, 20f); internal static readonly RiteSettings Reset = new RiteSettings("1 - Atmospheric - Equilibrium", "the Equilibrium Rite (ends the atmospheric rites)", "BoneFragments", "bone fragments", "Ends the atmospheric rites going on (Clear Sky, Tempest, Downpour, Shrouding, Aurora) at once, so the world's own weather comes back. Other rites are left be.", enabled: true, lasts: false, null, "", 9); internal static readonly RiteSettings PolarDay = new RiteSettings("2 - Celestial - Sun Zenith", "the Sun Zenith Rite (polar day)", "Ruby", "a ruby", "It is day all the time: the sun stays up, creatures spawn as by day and night creatures leave. Time goes on: days are counted, clocks show the real time, and beds go by the real clock.", enabled: true, lasts: true, null, "", 2, 60f); internal static readonly RiteSettings PolarNight = new RiteSettings("2 - Celestial - Midnight", "the Midnight Rite (polar night)", "SilverOre", "silver ore", "It is night all the time: the sun stays down, night creatures spawn (more and stronger ones) and nights are cold. Time goes on: days are counted, clocks show the real time, and beds go by the real clock.", enabled: true); internal static readonly RiteSettings GaleBreath = new RiteSettings("2 - Celestial - Gale-Breath", "the Gale-Breath Rite (the strongest wind)", "DragonTear", "a dragon tear", "The wind blows as hard as it can, everywhere, for everyone with the mod. Only its strength: it still turns with the weather. With the Fair-Wind Rite it is never against your ship and always at full strength.", enabled: true); internal static readonly RiteSettings SunFall = new RiteSettings("2 - Celestial - Sun-Fall", "the Sun-Fall Rite (ends the celestial rites)", "GreydwarfEye", "greydwarf eyes", "Ends the celestial rites going on (Sun Zenith, Midnight, Gale-Breath) at once, so day, night and wind go back