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 Cornerstone v1.0.0
Plugins/VentureValheim.Cornerstone.dll
Decompiled 2 hours agousing System; using System.Diagnostics; using System.IO; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; using System.Runtime.Versioning; using System.Security; using System.Security.Permissions; using BepInEx; using BepInEx.Configuration; using BepInEx.Logging; using HarmonyLib; using Jotunn.Utils; using Microsoft.CodeAnalysis; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints)] [assembly: AssemblyTitle("VentureValheim.Cornerstone")] [assembly: AssemblyDescription("")] [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("")] [assembly: AssemblyProduct("VentureValheim.Cornerstone")] [assembly: AssemblyCopyright("Copyright © 2026")] [assembly: AssemblyTrademark("")] [assembly: ComVisible(false)] [assembly: Guid("4825E615-25D3-4537-AE7D-8C44DF6EF4C5")] [assembly: AssemblyFileVersion("1.0.0")] [assembly: TargetFramework(".NETFramework,Version=v4.8", FrameworkDisplayName = ".NET Framework 4.8")] [assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)] [assembly: AssemblyVersion("1.0.0.0")] [module: UnverifiableCode] 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; } } } namespace VentureValheim.Cornerstone { [BepInDependency(/*Could not decode attribute arguments.*/)] [NetworkCompatibility(/*Could not decode attribute arguments.*/)] [BepInPlugin("com.orianaventure.mod.Cornerstone", "Cornerstone", "1.0.0")] public class CornerstonePlugin : BaseUnityPlugin { private const string ModName = "Cornerstone"; private const string ModVersion = "1.0.0"; private const string Author = "com.orianaventure.mod"; private const string ModGUID = "com.orianaventure.mod.Cornerstone"; private static string ConfigFileName = "com.orianaventure.mod.Cornerstone.cfg"; private static string ConfigFileFullPath; private readonly Harmony HarmonyInstance = new Harmony("com.orianaventure.mod.Cornerstone"); public static readonly ManualLogSource CornerstoneLogger; private static ConfigEntry<bool> CE_Wood_Enabled; private static ConfigEntry<float> CE_Wood_MaxStability; private static ConfigEntry<float> CE_Wood_MinStability; private static ConfigEntry<float> CE_Wood_VerticalLoss; private static ConfigEntry<float> CE_Wood_HorizontalLoss; private static ConfigEntry<bool> CE_HardWood_Enabled; private static ConfigEntry<float> CE_HardWood_MaxStability; private static ConfigEntry<float> CE_HardWood_MinStability; private static ConfigEntry<float> CE_HardWood_VerticalLoss; private static ConfigEntry<float> CE_HardWood_HorizontalLoss; private static ConfigEntry<bool> CE_Stone_Enabled; private static ConfigEntry<float> CE_Stone_MaxStability; private static ConfigEntry<float> CE_Stone_MinStability; private static ConfigEntry<float> CE_Stone_VerticalLoss; private static ConfigEntry<float> CE_Stone_HorizontalLoss; private static ConfigEntry<bool> CE_Iron_Enabled; private static ConfigEntry<float> CE_Iron_MaxStability; private static ConfigEntry<float> CE_Iron_MinStability; private static ConfigEntry<float> CE_Iron_VerticalLoss; private static ConfigEntry<float> CE_Iron_HorizontalLoss; private static ConfigEntry<bool> CE_Marble_Enabled; private static ConfigEntry<float> CE_Marble_MaxStability; private static ConfigEntry<float> CE_Marble_MinStability; private static ConfigEntry<float> CE_Marble_VerticalLoss; private static ConfigEntry<float> CE_Marble_HorizontalLoss; private static ConfigEntry<bool> CE_Ashstone_Enabled; private static ConfigEntry<float> CE_Ashstone_MaxStability; private static ConfigEntry<float> CE_Ashstone_MinStability; private static ConfigEntry<float> CE_Ashstone_VerticalLoss; private static ConfigEntry<float> CE_Ashstone_HorizontalLoss; private static ConfigEntry<bool> CE_Ancient_Enabled; private static ConfigEntry<float> CE_Ancient_MaxStability; private static ConfigEntry<float> CE_Ancient_MinStability; private static ConfigEntry<float> CE_Ancient_VerticalLoss; private static ConfigEntry<float> CE_Ancient_HorizontalLoss; private static ConfigEntry<bool> CE_Ice_Enabled; private static ConfigEntry<float> CE_Ice_MaxStability; private static ConfigEntry<float> CE_Ice_MinStability; private static ConfigEntry<float> CE_Ice_VerticalLoss; private static ConfigEntry<float> CE_Ice_HorizontalLoss; private static ConfigEntry<bool> CE_Timberwood_Enabled; private static ConfigEntry<float> CE_Timberwood_MaxStability; private static ConfigEntry<float> CE_Timberwood_MinStability; private static ConfigEntry<float> CE_Timberwood_VerticalLoss; private static ConfigEntry<float> CE_Timberwood_HorizontalLoss; private readonly ConfigurationManagerAttributes AdminConfig = new ConfigurationManagerAttributes { IsAdminOnly = true }; private readonly ConfigurationManagerAttributes ClientConfig = new ConfigurationManagerAttributes { IsAdminOnly = false }; private DateTime _lastReloadTime; private const long RELOAD_DELAY = 10000000L; public static bool GetWoodEnabled() { return CE_Wood_Enabled.Value; } public static float GetWoodMaxStability() { return CE_Wood_MaxStability.Value; } public static float GetWoodMinStability() { return CE_Wood_MinStability.Value; } public static float GetWoodVerticalLoss() { return CE_Wood_VerticalLoss.Value; } public static float GetWoodHorizontalLoss() { return CE_Wood_HorizontalLoss.Value; } public static bool GetHardWoodEnabled() { return CE_HardWood_Enabled.Value; } public static float GetHardWoodMaxStability() { return CE_HardWood_MaxStability.Value; } public static float GetHardWoodMinStability() { return CE_HardWood_MinStability.Value; } public static float GetHardWoodVerticalLoss() { return CE_HardWood_VerticalLoss.Value; } public static float GetHardWoodHorizontalLoss() { return CE_HardWood_HorizontalLoss.Value; } public static bool GetStoneEnabled() { return CE_Stone_Enabled.Value; } public static float GetStoneMaxStability() { return CE_Stone_MaxStability.Value; } public static float GetStoneMinStability() { return CE_Stone_MinStability.Value; } public static float GetStoneVerticalLoss() { return CE_Stone_VerticalLoss.Value; } public static float GetStoneHorizontalLoss() { return CE_Stone_HorizontalLoss.Value; } public static bool GetIronEnabled() { return CE_Iron_Enabled.Value; } public static float GetIronMaxStability() { return CE_Iron_MaxStability.Value; } public static float GetIronMinStability() { return CE_Iron_MinStability.Value; } public static float GetIronVerticalLoss() { return CE_Iron_VerticalLoss.Value; } public static float GetIronHorizontalLoss() { return CE_Iron_HorizontalLoss.Value; } public static bool GetMarbleEnabled() { return CE_Marble_Enabled.Value; } public static float GetMarbleMaxStability() { return CE_Marble_MaxStability.Value; } public static float GetMarbleMinStability() { return CE_Marble_MinStability.Value; } public static float GetMarbleVerticalLoss() { return CE_Marble_VerticalLoss.Value; } public static float GetMarbleHorizontalLoss() { return CE_Marble_HorizontalLoss.Value; } public static bool GetAshstoneEnabled() { return CE_Ashstone_Enabled.Value; } public static float GetAshstoneMaxStability() { return CE_Ashstone_MaxStability.Value; } public static float GetAshstoneMinStability() { return CE_Ashstone_MinStability.Value; } public static float GetAshstoneVerticalLoss() { return CE_Ashstone_VerticalLoss.Value; } public static float GetAshstoneHorizontalLoss() { return CE_Ashstone_HorizontalLoss.Value; } public static bool GetAncientEnabled() { return CE_Ancient_Enabled.Value; } public static float GetAncientMaxStability() { return CE_Ancient_MaxStability.Value; } public static float GetAncientMinStability() { return CE_Ancient_MinStability.Value; } public static float GetAncientVerticalLoss() { return CE_Ancient_VerticalLoss.Value; } public static float GetAncientHorizontalLoss() { return CE_Ancient_HorizontalLoss.Value; } public static bool GetIceEnabled() { return CE_Ice_Enabled.Value; } public static float GetIceMaxStability() { return CE_Ice_MaxStability.Value; } public static float GetIceMinStability() { return CE_Ice_MinStability.Value; } public static float GetIceVerticalLoss() { return CE_Ice_VerticalLoss.Value; } public static float GetIceHorizontalLoss() { return CE_Ice_HorizontalLoss.Value; } public static bool GetTimberwoodEnabled() { return CE_Timberwood_Enabled.Value; } public static float GetTimberwoodMaxStability() { return CE_Timberwood_MaxStability.Value; } public static float GetTimberwoodMinStability() { return CE_Timberwood_MinStability.Value; } public static float GetTimberwoodVerticalLoss() { return CE_Timberwood_VerticalLoss.Value; } public static float GetTimberwoodHorizontalLoss() { return CE_Timberwood_HorizontalLoss.Value; } private void AddConfig<T>(string key, string section, string description, bool synced, T value, ref ConfigEntry<T> configEntry) { //IL_0033: Unknown result type (might be due to invalid IL or missing references) //IL_003d: Expected O, but got Unknown string extendedDescription = GetExtendedDescription(description, synced); configEntry = ((BaseUnityPlugin)this).Config.Bind<T>(section, key, value, new ConfigDescription(extendedDescription, (AcceptableValueBase)null, new object[1] { synced ? AdminConfig : ClientConfig })); } public string GetExtendedDescription(string description, bool synchronizedSetting) { return description + (synchronizedSetting ? " [Synced with Server]" : " [Not Synced with Server]"); } public void Awake() { AddConfig("EnableSection", "Wood", "True to use the settings in this section, set to False to use vanilla behavior (bool).", synced: true, value: true, ref CE_Wood_Enabled); AddConfig("MaximumStability", "Wood", "How much stability this material provides on solid ground (float).", synced: true, 100f, ref CE_Wood_MaxStability); AddConfig("MinimumStability", "Wood", "How much stability this material needs to remain standing (float).", synced: true, 10f, ref CE_Wood_MinStability); AddConfig("VerticalLoss", "Wood", "Multiplier to vertical or upwards stability (float).", synced: true, 0.125f, ref CE_Wood_VerticalLoss); AddConfig("HorizontalLoss", "Wood", "Multiplier to horizontal or outwards stability (float).", synced: true, 0.2f, ref CE_Wood_HorizontalLoss); AddConfig("EnableSection", "HardWood", "True to use the settings in this section, set to False to use vanilla behavior (bool).", synced: true, value: true, ref CE_HardWood_Enabled); AddConfig("MaximumStability", "HardWood", "How much stability this material provides on solid ground (float).", synced: true, 140f, ref CE_HardWood_MaxStability); AddConfig("MinimumStability", "HardWood", "How much stability this material needs to remain standing (float).", synced: true, 10f, ref CE_HardWood_MinStability); AddConfig("VerticalLoss", "HardWood", "Multiplier to vertical or upwards stability (float).", synced: true, 0.1f, ref CE_HardWood_VerticalLoss); AddConfig("HorizontalLoss", "HardWood", "Multiplier to horizontal or outwards stability (float).", synced: true, 1f / 6f, ref CE_HardWood_HorizontalLoss); AddConfig("EnableSection", "Stone", "True to use the settings in this section, set to False to use vanilla behavior (bool).", synced: true, value: true, ref CE_Stone_Enabled); AddConfig("MaximumStability", "Stone", "How much stability this material provides on solid ground (float).", synced: true, 1000f, ref CE_Stone_MaxStability); AddConfig("MinimumStability", "Stone", "How much stability this material needs to remain standing (float).", synced: true, 100f, ref CE_Stone_MinStability); AddConfig("VerticalLoss", "Stone", "Multiplier to vertical or upwards stability (float).", synced: true, 0.125f, ref CE_Stone_VerticalLoss); AddConfig("HorizontalLoss", "Stone", "Multiplier to horizontal or outwards stability (float).", synced: true, 0.5f, ref CE_Stone_HorizontalLoss); AddConfig("EnableSection", "Iron", "True to use the settings in this section, set to False to use vanilla behavior (bool).", synced: true, value: true, ref CE_Iron_Enabled); AddConfig("MaximumStability", "Iron", "How much stability this material provides on solid ground (float).", synced: true, 1500f, ref CE_Iron_MaxStability); AddConfig("MinimumStability", "Iron", "How much stability this material needs to remain standing (float).", synced: true, 20f, ref CE_Iron_MinStability); AddConfig("VerticalLoss", "Iron", "Multiplier to vertical or upwards stability (float).", synced: true, 1f / 13f, ref CE_Iron_VerticalLoss); AddConfig("HorizontalLoss", "Iron", "Multiplier to horizontal or outwards stability (float).", synced: true, 1f / 13f, ref CE_Iron_HorizontalLoss); AddConfig("EnableSection", "Marble", "True to use the settings in this section, set to False to use vanilla behavior (bool).", synced: true, value: true, ref CE_Marble_Enabled); AddConfig("MaximumStability", "Marble", "How much stability this material provides on solid ground (float).", synced: true, 1500f, ref CE_Marble_MaxStability); AddConfig("MinimumStability", "Marble", "How much stability this material needs to remain standing (float).", synced: true, 100f, ref CE_Marble_MinStability); AddConfig("VerticalLoss", "Marble", "Multiplier to vertical or upwards stability (float).", synced: true, 0.125f, ref CE_Marble_VerticalLoss); AddConfig("HorizontalLoss", "Marble", "Multiplier to horizontal or outwards stability (float).", synced: true, 0.5f, ref CE_Marble_HorizontalLoss); AddConfig("EnableSection", "Ashstone", "True to use the settings in this section, set to False to use vanilla behavior (bool).", synced: true, value: true, ref CE_Ashstone_Enabled); AddConfig("MaximumStability", "Ashstone", "How much stability this material provides on solid ground (float).", synced: true, 2000f, ref CE_Ashstone_MaxStability); AddConfig("MinimumStability", "Ashstone", "How much stability this material needs to remain standing (float).", synced: true, 100f, ref CE_Ashstone_MinStability); AddConfig("VerticalLoss", "Ashstone", "Multiplier to vertical or upwards stability (float).", synced: true, 0.1f, ref CE_Ashstone_VerticalLoss); AddConfig("HorizontalLoss", "Ashstone", "Multiplier to horizontal or outwards stability (float).", synced: true, 1f / 3f, ref CE_Ashstone_HorizontalLoss); AddConfig("EnableSection", "Ancient", "True to use the settings in this section, set to False to use vanilla behavior (bool).", synced: true, value: true, ref CE_Ancient_Enabled); AddConfig("MaximumStability", "Ancient", "How much stability this material provides on solid ground (float).", synced: true, 5000f, ref CE_Ancient_MaxStability); AddConfig("MinimumStability", "Ancient", "How much stability this material needs to remain standing (float).", synced: true, 100f, ref CE_Ancient_MinStability); AddConfig("VerticalLoss", "Ancient", "Multiplier to vertical or upwards stability (float).", synced: true, 1f / 15f, ref CE_Ancient_VerticalLoss); AddConfig("HorizontalLoss", "Ancient", "Multiplier to horizontal or outwards stability (float).", synced: true, 0.25f, ref CE_Ancient_HorizontalLoss); AddConfig("EnableSection", "Ice", "True to use the settings in this section, set to False to use vanilla behavior (bool).", synced: true, value: true, ref CE_Ice_Enabled); AddConfig("MaximumStability", "Ice", "How much stability this material provides on solid ground (float).", synced: true, 1000f, ref CE_Ice_MaxStability); AddConfig("MinimumStability", "Ice", "How much stability this material needs to remain standing (float).", synced: true, 100f, ref CE_Ice_MinStability); AddConfig("VerticalLoss", "Ice", "Multiplier to vertical or upwards stability (float).", synced: true, 0.125f, ref CE_Ice_VerticalLoss); AddConfig("HorizontalLoss", "Ice", "Multiplier to horizontal or outwards stability (float).", synced: true, 1f / 3f, ref CE_Ice_HorizontalLoss); AddConfig("EnableSection", "Timberwood", "True to use the settings in this section, set to False to use vanilla behavior (bool).", synced: true, value: true, ref CE_Timberwood_Enabled); AddConfig("MaximumStability", "Timberwood", "How much stability this material provides on solid ground (float).", synced: true, 200f, ref CE_Timberwood_MaxStability); AddConfig("MinimumStability", "Timberwood", "How much stability this material needs to remain standing (float).", synced: true, 10f, ref CE_Timberwood_MinStability); AddConfig("VerticalLoss", "Timberwood", "Multiplier to vertical or upwards stability (float).", synced: true, 1f / 13f, ref CE_Timberwood_VerticalLoss); AddConfig("HorizontalLoss", "Timberwood", "Multiplier to horizontal or outwards stability (float).", synced: true, 0.2f, ref CE_Timberwood_HorizontalLoss); CornerstoneLogger.LogInfo((object)"I want to Rock and Roll all niiiiiight!"); Assembly executingAssembly = Assembly.GetExecutingAssembly(); HarmonyInstance.PatchAll(executingAssembly); SetupWatcher(); } private void OnDestroy() { ((BaseUnityPlugin)this).Config.Save(); } private void SetupWatcher() { _lastReloadTime = DateTime.Now; FileSystemWatcher fileSystemWatcher = new FileSystemWatcher(Paths.ConfigPath, ConfigFileName); fileSystemWatcher.Changed += ReadConfigValues; fileSystemWatcher.Created += ReadConfigValues; fileSystemWatcher.Renamed += ReadConfigValues; fileSystemWatcher.IncludeSubdirectories = true; fileSystemWatcher.SynchronizingObject = ThreadingHelper.SynchronizingObject; fileSystemWatcher.EnableRaisingEvents = true; } private void ReadConfigValues(object sender, FileSystemEventArgs e) { DateTime now = DateTime.Now; long num = now.Ticks - _lastReloadTime.Ticks; if (File.Exists(ConfigFileFullPath) && num >= 10000000) { try { CornerstoneLogger.LogInfo((object)"Attempting to reload configuration..."); ((BaseUnityPlugin)this).Config.Reload(); } catch { CornerstoneLogger.LogError((object)("There was an issue loading " + ConfigFileName)); return; } _lastReloadTime = now; } } static CornerstonePlugin() { string configPath = Paths.ConfigPath; char directorySeparatorChar = Path.DirectorySeparatorChar; ConfigFileFullPath = configPath + directorySeparatorChar + ConfigFileName; CornerstoneLogger = Logger.CreateLogSource("Cornerstone"); CE_Wood_Enabled = null; CE_Wood_MaxStability = null; CE_Wood_MinStability = null; CE_Wood_VerticalLoss = null; CE_Wood_HorizontalLoss = null; CE_HardWood_Enabled = null; CE_HardWood_MaxStability = null; CE_HardWood_MinStability = null; CE_HardWood_VerticalLoss = null; CE_HardWood_HorizontalLoss = null; CE_Stone_Enabled = null; CE_Stone_MaxStability = null; CE_Stone_MinStability = null; CE_Stone_VerticalLoss = null; CE_Stone_HorizontalLoss = null; CE_Iron_Enabled = null; CE_Iron_MaxStability = null; CE_Iron_MinStability = null; CE_Iron_VerticalLoss = null; CE_Iron_HorizontalLoss = null; CE_Marble_Enabled = null; CE_Marble_MaxStability = null; CE_Marble_MinStability = null; CE_Marble_VerticalLoss = null; CE_Marble_HorizontalLoss = null; CE_Ashstone_Enabled = null; CE_Ashstone_MaxStability = null; CE_Ashstone_MinStability = null; CE_Ashstone_VerticalLoss = null; CE_Ashstone_HorizontalLoss = null; CE_Ancient_Enabled = null; CE_Ancient_MaxStability = null; CE_Ancient_MinStability = null; CE_Ancient_VerticalLoss = null; CE_Ancient_HorizontalLoss = null; CE_Ice_Enabled = null; CE_Ice_MaxStability = null; CE_Ice_MinStability = null; CE_Ice_VerticalLoss = null; CE_Ice_HorizontalLoss = null; CE_Timberwood_Enabled = null; CE_Timberwood_MaxStability = null; CE_Timberwood_MinStability = null; CE_Timberwood_VerticalLoss = null; CE_Timberwood_HorizontalLoss = null; } } public class Cornerstone { [HarmonyPatch(typeof(WearNTear), "GetMaterialProperties")] public static class Patch_WearNTear_GetMaterialProperties { private static void Postfix(WearNTear __instance, ref float maxSupport, ref float minSupport, ref float horizontalLoss, ref float verticalLoss) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0006: Unknown result type (might be due to invalid IL or missing references) //IL_0007: Unknown result type (might be due to invalid IL or missing references) //IL_0031: Expected I4, but got Unknown MaterialType materialType = __instance.m_materialType; switch ((int)materialType) { case 0: if (CornerstonePlugin.GetWoodEnabled()) { maxSupport = CornerstonePlugin.GetWoodMaxStability(); minSupport = CornerstonePlugin.GetWoodMinStability(); verticalLoss = CornerstonePlugin.GetWoodVerticalLoss(); horizontalLoss = CornerstonePlugin.GetWoodHorizontalLoss(); } break; case 3: if (CornerstonePlugin.GetHardWoodEnabled()) { maxSupport = CornerstonePlugin.GetHardWoodMaxStability(); minSupport = CornerstonePlugin.GetHardWoodMinStability(); verticalLoss = CornerstonePlugin.GetHardWoodVerticalLoss(); horizontalLoss = CornerstonePlugin.GetHardWoodHorizontalLoss(); } break; case 1: if (CornerstonePlugin.GetStoneEnabled()) { maxSupport = CornerstonePlugin.GetStoneMaxStability(); minSupport = CornerstonePlugin.GetStoneMinStability(); verticalLoss = CornerstonePlugin.GetStoneVerticalLoss(); horizontalLoss = CornerstonePlugin.GetStoneHorizontalLoss(); } break; case 2: if (CornerstonePlugin.GetIronEnabled()) { maxSupport = CornerstonePlugin.GetIronMaxStability(); minSupport = CornerstonePlugin.GetIronMinStability(); verticalLoss = CornerstonePlugin.GetIronVerticalLoss(); horizontalLoss = CornerstonePlugin.GetIronHorizontalLoss(); } break; case 4: if (CornerstonePlugin.GetMarbleEnabled()) { maxSupport = CornerstonePlugin.GetMarbleMaxStability(); minSupport = CornerstonePlugin.GetMarbleMinStability(); verticalLoss = CornerstonePlugin.GetMarbleVerticalLoss(); horizontalLoss = CornerstonePlugin.GetMarbleHorizontalLoss(); } break; case 5: if (CornerstonePlugin.GetAshstoneEnabled()) { maxSupport = CornerstonePlugin.GetAshstoneMaxStability(); minSupport = CornerstonePlugin.GetAshstoneMinStability(); verticalLoss = CornerstonePlugin.GetAshstoneVerticalLoss(); horizontalLoss = CornerstonePlugin.GetAshstoneHorizontalLoss(); } break; case 6: if (CornerstonePlugin.GetAncientEnabled()) { maxSupport = CornerstonePlugin.GetAncientMaxStability(); minSupport = CornerstonePlugin.GetAncientMinStability(); verticalLoss = CornerstonePlugin.GetAncientVerticalLoss(); horizontalLoss = CornerstonePlugin.GetAncientHorizontalLoss(); } break; case 7: if (CornerstonePlugin.GetIceEnabled()) { maxSupport = CornerstonePlugin.GetIceMaxStability(); minSupport = CornerstonePlugin.GetIceMinStability(); verticalLoss = CornerstonePlugin.GetIceVerticalLoss(); horizontalLoss = CornerstonePlugin.GetIceHorizontalLoss(); } break; case 8: if (CornerstonePlugin.GetTimberwoodEnabled()) { maxSupport = CornerstonePlugin.GetTimberwoodMaxStability(); minSupport = CornerstonePlugin.GetTimberwoodMinStability(); verticalLoss = CornerstonePlugin.GetTimberwoodVerticalLoss(); horizontalLoss = CornerstonePlugin.GetTimberwoodHorizontalLoss(); } break; } } } } }