Decompiled source of TrophyBuffs v1.2.7
TrophyBuffs.dll
Decompiled 3 weeks 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.Concurrent; using System.Collections.Generic; using System.Collections.ObjectModel; using System.ComponentModel; using System.Diagnostics; using System.Diagnostics.CodeAnalysis; using System.Globalization; using System.IO; using System.IO.Compression; using System.Linq; using System.Linq.Expressions; using System.Reflection; 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 BepInEx; using BepInEx.Bootstrap; using BepInEx.Configuration; using BepInEx.Logging; using HarmonyLib; using JetBrains.Annotations; using LocalizationManager; using Microsoft.CodeAnalysis; using ServerSync; using TMPro; using TrophyBuffs.ConfigData; using TrophyBuffs.Functions; using TrophyBuffs.Utils; using UnityEngine; using UnityEngine.SceneManagement; using YamlDotNet.Core; using YamlDotNet.Core.Events; using YamlDotNet.Core.Tokens; using YamlDotNet.Helpers; using YamlDotNet.Serialization; using YamlDotNet.Serialization.Converters; using YamlDotNet.Serialization.EventEmitters; using YamlDotNet.Serialization.NamingConventions; using YamlDotNet.Serialization.NodeDeserializers; using YamlDotNet.Serialization.NodeTypeResolvers; using YamlDotNet.Serialization.ObjectFactories; using YamlDotNet.Serialization.ObjectGraphTraversalStrategies; using YamlDotNet.Serialization.ObjectGraphVisitors; using YamlDotNet.Serialization.Schemas; using YamlDotNet.Serialization.TypeInspectors; using YamlDotNet.Serialization.TypeResolvers; using YamlDotNet.Serialization.Utilities; using YamlDotNet.Serialization.ValueDeserializers; [assembly: Guid("4D990536-A72F-428D-A051-69C66B994708")] [assembly: ComVisible(false)] [assembly: AssemblyTrademark("")] [assembly: AssemblyCopyright("Copyright © 2023")] [assembly: AssemblyProduct("TrophyBuffs")] [assembly: TargetFramework(".NETFramework,Version=v4.8", FrameworkDisplayName = ".NET Framework 4.8")] [assembly: AssemblyConfiguration("")] [assembly: AssemblyDescription("https://valheim.thunderstore.io/package/blacks7ar/TrophyBuffs/")] [assembly: AssemblyTitle("TrophyBuffs")] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: CompilationRelaxations(8)] [assembly: AssemblyFileVersion("1.2.7")] [assembly: AssemblyCompany("blacks7ar")] [assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)] [assembly: AssemblyVersion("1.2.7.0")] [module: <9ec23b12-9a6c-40cb-a913-2ed4262a626e>RefSafetyRules(11)] [module: UnverifiableCode] namespace Microsoft.CodeAnalysis { [CompilerGenerated] [<9de6600f-d3a3-4071-99b3-30aeeb2b264b>Embedded] internal sealed class <9de6600f-d3a3-4071-99b3-30aeeb2b264b>EmbeddedAttribute : Attribute { } } namespace System.Runtime.CompilerServices { [CompilerGenerated] [<9de6600f-d3a3-4071-99b3-30aeeb2b264b>Embedded] [AttributeUsage(AttributeTargets.Module, AllowMultiple = false, Inherited = false)] internal sealed class <9ec23b12-9a6c-40cb-a913-2ed4262a626e>RefSafetyRulesAttribute : Attribute { public readonly int Version; public <9ec23b12-9a6c-40cb-a913-2ed4262a626e>RefSafetyRulesAttribute(int P_0) { Version = P_0; } } } namespace TrophyBuffs { [BepInDependency(/*Could not decode attribute arguments.*/)] [BepInPlugin("blacks7ar.TrophyBuffs", "TrophyBuffs", "1.2.7")] [BepInIncompatibility("gg.khairex.usefultrophies")] [BepInDependency(/*Could not decode attribute arguments.*/)] [BepInDependency(/*Could not decode attribute arguments.*/)] [BepInDependency(/*Could not decode attribute arguments.*/)] [BepInDependency(/*Could not decode attribute arguments.*/)] [BepInDependency(/*Could not decode attribute arguments.*/)] [BepInDependency(/*Could not decode attribute arguments.*/)] [BepInDependency(/*Could not decode attribute arguments.*/)] [BepInDependency(/*Could not decode attribute arguments.*/)] [BepInDependency(/*Could not decode attribute arguments.*/)] [BepInDependency(/*Could not decode attribute arguments.*/)] [BepInDependency(/*Could not decode attribute arguments.*/)] [BepInDependency(/*Could not decode attribute arguments.*/)] [BepInDependency(/*Could not decode attribute arguments.*/)] [BepInDependency(/*Could not decode attribute arguments.*/)] [BepInDependency(/*Could not decode attribute arguments.*/)] [BepInDependency(/*Could not decode attribute arguments.*/)] [BepInDependency(/*Could not decode attribute arguments.*/)] public class Plugin : BaseUnityPlugin { private const string modGUID = "blacks7ar.TrophyBuffs"; public const string modName = "TrophyBuffs"; public const string modAuthor = "blacks7ar"; public const string modVersion = "1.2.7"; public const string modLink = "https://valheim.thunderstore.io/package/blacks7ar/TrophyBuffs/"; public static readonly ManualLogSource TBLogger = Logger.CreateLogSource("TrophyBuffs"); private static readonly Harmony _harmony = new Harmony("blacks7ar.TrophyBuffs"); private static readonly ConfigSync _configSync = new ConfigSync("blacks7ar.TrophyBuffs") { DisplayName = "TrophyBuffs", CurrentVersion = "1.2.7", MinimumRequiredVersion = "1.2.7", ModRequired = true }; private static ConfigEntry<Toggle> _serverConfigLocked; public static bool _hasBlacksmithingMod; public static bool _hasBuildingMod; public static bool _hasHerbalistMod; public static bool _hasCookingMod; public static bool _hasFarmingMod; public static bool _hasFermentingMod; public static bool _hasForagingMod; public static bool _hasHuntingMod; public static bool _hasJewelcraftingMod; public static bool _hasLumberjackingMod; public static bool _hasMiningMod; public static bool _hasPackHorseMod; public static bool _hasRanchingMod; public static bool _hasSailingMod; public static bool _hasTenacityMod; public static bool _hasThirdEyeMod; public static bool _hasVitalityMod; public static bool _hasSoulCatcher; public static Plugin _instance; public ConfigEntry<T> config<T>(string group, string name, T value, ConfigDescription description, bool synchronizedSetting = true) { //IL_002a: Unknown result type (might be due to invalid IL or missing references) //IL_0030: Expected O, but got Unknown ConfigDescription val = new ConfigDescription(description.Description + (synchronizedSetting ? " [Synced with Server]" : " [Not Synced with Server]"), description.AcceptableValues, description.Tags); ConfigEntry<T> val2 = ((BaseUnityPlugin)this).Config.Bind<T>(group, name, value, val); _configSync.AddConfigEntry<T>(val2).SynchronizedConfig = synchronizedSetting; return val2; } public void Awake() { //IL_002e: Unknown result type (might be due to invalid IL or missing references) //IL_0039: Expected O, but got Unknown Localizer.Load(); _instance = this; ((BaseUnityPlugin)this).Config.SaveOnConfigSet = false; _serverConfigLocked = config("1- ServerSync", "Lock Configuration", Toggle.On, new ConfigDescription("If On, the configuration is locked and can be changed by server admins only.", (AcceptableValueBase)null, Array.Empty<object>())); _configSync.AddLockingConfigEntry<Toggle>(_serverConfigLocked); _hasBlacksmithingMod = Helper.CheckBlacksmithingMod(); _hasBuildingMod = Helper.CheckBuildingMod(); _hasHerbalistMod = Helper.CheckHerbalistMod(); _hasCookingMod = Helper.CheckCookingMod(); _hasFarmingMod = Helper.CheckFarmingMod(); _hasFermentingMod = Helper.CheckFermentingMod(); _hasForagingMod = Helper.CheckForagingMod(); _hasHuntingMod = Helper.CheckHuntingMod(); _hasJewelcraftingMod = Helper.CheckJewelcraftingMod(); _hasLumberjackingMod = Helper.CheckLumberjackingMod(); _hasMiningMod = Helper.CheckMiningMod(); _hasPackHorseMod = Helper.CheckPackHorseMod(); _hasRanchingMod = Helper.CheckRanchingMod(); _hasSailingMod = Helper.CheckSailingMod(); _hasTenacityMod = Helper.CheckTenacityMod(); _hasThirdEyeMod = Helper.CheckThirdEyeMod(); _hasVitalityMod = Helper.CheckVitalityMod(); _hasSoulCatcher = Helper.CheckSoulCatcher(); PrefabSetup.Init(); BasicSetup.Init(); AdvanceSetup.Init(); EnhancedSetup.Init(); SupremeSetup.Init(); ((BaseUnityPlugin)this).Config.SaveOnConfigSet = true; ((BaseUnityPlugin)this).Config.Save(); Assembly executingAssembly = Assembly.GetExecutingAssembly(); _harmony.PatchAll(executingAssembly); } private void OnDestroy() { ((BaseUnityPlugin)this).Config.Save(); } } } namespace TrophyBuffs.Utils { internal static class Helper { public static bool CheckBlacksmithingMod() { if (!Chainloader.PluginInfos.ContainsKey("org.bepinex.plugins.blacksmithing")) { return false; } Logging.LogInfo("Blacksmithing Skill found! Applying patch.."); return true; } public static bool CheckBuildingMod() { if (!Chainloader.PluginInfos.ContainsKey("org.bepinex.plugins.building")) { return false; } Logging.LogInfo("Building Skill found! Applying patch.."); return true; } public static bool CheckHerbalistMod() { if (!Chainloader.PluginInfos.ContainsKey("blacks7ar.Herbalist")) { return false; } Logging.LogInfo("Herbalist Skill found! Applying patch.."); return true; } public static bool CheckCookingMod() { if (!Chainloader.PluginInfos.ContainsKey("org.bepinex.plugins.cooking")) { return false; } Logging.LogInfo("Cooking Skill found! Applying patch.."); return true; } public static bool CheckFarmingMod() { if (!Chainloader.PluginInfos.ContainsKey("org.bepinex.plugins.farming")) { return false; } Logging.LogInfo("Farming Skill found! Applying patch.."); return true; } public static bool CheckFermentingMod() { if (!Chainloader.PluginInfos.ContainsKey("blacks7ar.Fermenting")) { return false; } Logging.LogInfo("Fermenting Skill found! Applying patch.."); return true; } public static bool CheckForagingMod() { if (!Chainloader.PluginInfos.ContainsKey("org.bepinex.plugins.foraging")) { return false; } Logging.LogInfo("Foraging Skill found! Applying patch.."); return true; } public static bool CheckJewelcraftingMod() { if (!Chainloader.PluginInfos.ContainsKey("org.bepinex.plugins.jewelcrafting")) { return false; } Logging.LogInfo("Jewelcrafting Skill found! Applying patch.."); return true; } public static bool CheckLumberjackingMod() { if (!Chainloader.PluginInfos.ContainsKey("org.bepinex.plugins.lumberjacking")) { return false; } Logging.LogInfo("Lumberjacking Skill found! Applying patch.."); return true; } public static bool CheckMiningMod() { if (!Chainloader.PluginInfos.ContainsKey("org.bepinex.plugins.mining")) { return false; } Logging.LogInfo("Mining Skill found! Applying patch.."); return true; } public static bool CheckPackHorseMod() { if (!Chainloader.PluginInfos.ContainsKey("org.bepinex.plugins.packhorse")) { return false; } Logging.LogInfo("PackHorse Skill found! Applying patch.."); return true; } public static bool CheckRanchingMod() { if (!Chainloader.PluginInfos.ContainsKey("org.bepinex.plugins.ranching")) { return false; } Logging.LogInfo("Ranching Skill found! Applying patch.."); return true; } public static bool CheckSailingMod() { if (!Chainloader.PluginInfos.ContainsKey("org.bepinex.plugins.sailing")) { return false; } Logging.LogInfo("Sailing Skill found! Applying patch.."); return true; } public static bool CheckTenacityMod() { if (!Chainloader.PluginInfos.ContainsKey("org.bepinex.plugins.tenacity")) { return false; } Logging.LogInfo("Tenacity Skill found! Applying patch.."); return true; } public static bool CheckThirdEyeMod() { if (!Chainloader.PluginInfos.ContainsKey("Azumatt.ThirdEye")) { return false; } Logging.LogInfo("ThirdEye Skill found! Applying patch.."); return true; } public static bool CheckVitalityMod() { if (!Chainloader.PluginInfos.ContainsKey("org.bepinex.plugins.vitality")) { return false; } Logging.LogInfo("Vitality Skill found! Applying patch.."); return true; } public static bool CheckHuntingMod() { if (!Chainloader.PluginInfos.ContainsKey("blacks7ar.Hunting")) { return false; } Logging.LogInfo("Hunting Skill found! Applying patch.."); return true; } public static bool CheckSoulCatcher() { if (!Chainloader.PluginInfos.ContainsKey("Soulcatcher")) { return false; } Logging.LogInfo("SoulCatcher Skill found! Applying patch.."); return true; } public static SE_Stats CreateStatusEffects(string effectName, string m_name, Sprite icon) { SE_Stats obj = ScriptableObject.CreateInstance<SE_Stats>(); ((Object)obj).name = effectName; ((StatusEffect)obj).m_name = m_name; ((StatusEffect)obj).m_tooltip = m_name; ((StatusEffect)obj).m_icon = icon; return obj; } public static void AddClonedObject(this ZNetScene zNetScene, GameObject gameObject, bool overWrite = true) { GameObject prefab; if ((Object)(object)(prefab = zNetScene.GetPrefab(((Object)gameObject).name)) != (Object)null) { if (!overWrite) { return; } zNetScene.m_prefabs.Remove(prefab); zNetScene.m_namedPrefabs.Remove(StringExtensionMethods.GetStableHashCode(((Object)gameObject).name)); } zNetScene.m_prefabs.Add(gameObject); zNetScene.m_namedPrefabs.Add(StringExtensionMethods.GetStableHashCode(((Object)gameObject).name), gameObject); } public static void AddClonedObject(this ObjectDB objectDB, GameObject gameObject, bool overWrite = true) { GameObject itemPrefab; if ((Object)(object)(itemPrefab = objectDB.GetItemPrefab(((Object)gameObject).name)) != (Object)null) { if (!overWrite) { return; } objectDB.m_items.Remove(itemPrefab); objectDB.m_itemByHash.Remove(StringExtensionMethods.GetStableHashCode(((Object)gameObject).name)); } objectDB.m_items.Add(gameObject); objectDB.m_itemByHash.Add(StringExtensionMethods.GetStableHashCode(((Object)gameObject).name), gameObject); } public static void AddRecipe(this ObjectDB objectDB, Recipe recipe, bool overWrite = true) { Recipe recipe2; if ((Object)(object)(recipe2 = objectDB.GetRecipe(recipe.m_item.m_itemData)) != (Object)null) { if (!overWrite) { return; } objectDB.m_recipes.Remove(recipe2); } objectDB.m_recipes.Add(recipe); } } public static class Logging { public static void LogDebug(string debug) { Plugin.TBLogger.LogDebug((object)debug); } public static void LogInfo(string info) { Plugin.TBLogger.LogInfo((object)info); } public static void LogWarning(string warning) { Plugin.TBLogger.LogWarning((object)warning); } public static void LogError(string error) { Plugin.TBLogger.LogError((object)error); } } public enum Toggle { On = 1, Off = 0 } } namespace TrophyBuffs.ConfigData { internal abstract class AdvanceSetup { public static ConfigEntry<int> AdvanceAxesBonus; public static ConfigEntry<int> AdvanceBlockingBonus; public static ConfigEntry<int> AdvanceBloodMagicBonus; public static ConfigEntry<int> AdvanceBowsBonus; public static ConfigEntry<int> AdvanceClubsBonus; public static ConfigEntry<int> AdvanceCrossbowsBonus; public static ConfigEntry<int> AdvanceElementalMagicBonus; public static ConfigEntry<int> AdvanceFistBonus; public static ConfigEntry<int> AdvanceFishingBonus; public static ConfigEntry<int> AdvanceKnivesBonus; public static ConfigEntry<int> AdvancePickaxesBonus; public static ConfigEntry<int> AdvanceRidingBonus; public static ConfigEntry<int> AdvanceRunBonus; public static ConfigEntry<int> AdvancePolearmsBonus; public static ConfigEntry<int> AdvanceSneakBonus; public static ConfigEntry<int> AdvanceSpearsBonus; public static ConfigEntry<int> AdvanceSwimBonus; public static ConfigEntry<int> AdvanceSwordsBonus; public static ConfigEntry<int> AdvanceWoodcuttingBonus; public static ConfigEntry<double> AdvanceBuffCooldown; private const string AdvanceBuffsSection = "4- AdvanceBuffs"; private const string AdvanceBuffDescription = "Advance buff amount from eating this trophy."; public static void Init() { //IL_0039: Unknown result type (might be due to invalid IL or missing references) //IL_0044: Expected O, but got Unknown //IL_006b: Unknown result type (might be due to invalid IL or missing references) //IL_0076: Expected O, but got Unknown //IL_009d: Unknown result type (might be due to invalid IL or missing references) //IL_00a8: Expected O, but got Unknown //IL_00cf: Unknown result type (might be due to invalid IL or missing references) //IL_00da: Expected O, but got Unknown //IL_0101: Unknown result type (might be due to invalid IL or missing references) //IL_010c: Expected O, but got Unknown //IL_0133: Unknown result type (might be due to invalid IL or missing references) //IL_013e: Expected O, but got Unknown //IL_0165: Unknown result type (might be due to invalid IL or missing references) //IL_0170: Expected O, but got Unknown //IL_0197: Unknown result type (might be due to invalid IL or missing references) //IL_01a2: Expected O, but got Unknown //IL_01c9: Unknown result type (might be due to invalid IL or missing references) //IL_01d4: Expected O, but got Unknown //IL_01fb: Unknown result type (might be due to invalid IL or missing references) //IL_0206: Expected O, but got Unknown //IL_022d: Unknown result type (might be due to invalid IL or missing references) //IL_0238: Expected O, but got Unknown //IL_025f: Unknown result type (might be due to invalid IL or missing references) //IL_026a: Expected O, but got Unknown //IL_0291: Unknown result type (might be due to invalid IL or missing references) //IL_029c: Expected O, but got Unknown //IL_02c3: Unknown result type (might be due to invalid IL or missing references) //IL_02ce: Expected O, but got Unknown //IL_02f5: Unknown result type (might be due to invalid IL or missing references) //IL_0300: Expected O, but got Unknown //IL_0327: Unknown result type (might be due to invalid IL or missing references) //IL_0332: Expected O, but got Unknown //IL_0359: Unknown result type (might be due to invalid IL or missing references) //IL_0364: Expected O, but got Unknown //IL_038b: Unknown result type (might be due to invalid IL or missing references) //IL_0396: Expected O, but got Unknown //IL_03bd: Unknown result type (might be due to invalid IL or missing references) //IL_03c8: Expected O, but got Unknown //IL_03fd: Unknown result type (might be due to invalid IL or missing references) //IL_0408: Expected O, but got Unknown AdvanceBuffCooldown = Plugin._instance.config("2- General", "Advance Buff Cooldown", 15.0, new ConfigDescription("Advance buff cooldown and duration in minutes.", (AcceptableValueBase)(object)new AcceptableValueRange<double>(1.0, 30.0), Array.Empty<object>())); AdvanceAxesBonus = Plugin._instance.config("4- AdvanceBuffs", "Advance Axes+ Buff", 5, new ConfigDescription("Advance buff amount from eating this trophy.", (AcceptableValueBase)(object)new AcceptableValueRange<int>(1, 10), Array.Empty<object>())); AdvanceBlockingBonus = Plugin._instance.config("4- AdvanceBuffs", "Advance Blocking+ Buff", 5, new ConfigDescription("Advance buff amount from eating this trophy.", (AcceptableValueBase)(object)new AcceptableValueRange<int>(1, 10), Array.Empty<object>())); AdvanceBloodMagicBonus = Plugin._instance.config("4- AdvanceBuffs", "Advance BloodMagic+ Buff", 5, new ConfigDescription("Advance buff amount from eating this trophy.", (AcceptableValueBase)(object)new AcceptableValueRange<int>(1, 10), Array.Empty<object>())); AdvanceBowsBonus = Plugin._instance.config("4- AdvanceBuffs", "Advance Bows+ Buff", 5, new ConfigDescription("Advance buff amount from eating this trophy.", (AcceptableValueBase)(object)new AcceptableValueRange<int>(1, 10), Array.Empty<object>())); AdvanceClubsBonus = Plugin._instance.config("4- AdvanceBuffs", "Advance Clubs+ Buff", 5, new ConfigDescription("Advance buff amount from eating this trophy.", (AcceptableValueBase)(object)new AcceptableValueRange<int>(1, 10), Array.Empty<object>())); AdvanceCrossbowsBonus = Plugin._instance.config("4- AdvanceBuffs", "Advance Crossbows+ Buff", 5, new ConfigDescription("Advance buff amount from eating this trophy.", (AcceptableValueBase)(object)new AcceptableValueRange<int>(1, 10), Array.Empty<object>())); AdvanceElementalMagicBonus = Plugin._instance.config("4- AdvanceBuffs", "Advance ElementalMagic+ Buff", 5, new ConfigDescription("Advance buff amount from eating this trophy.", (AcceptableValueBase)(object)new AcceptableValueRange<int>(1, 10), Array.Empty<object>())); AdvanceFistBonus = Plugin._instance.config("4- AdvanceBuffs", "Advance Fist+ Buff", 5, new ConfigDescription("Advance buff amount from eating this trophy.", (AcceptableValueBase)(object)new AcceptableValueRange<int>(1, 10), Array.Empty<object>())); AdvanceFishingBonus = Plugin._instance.config("4- AdvanceBuffs", "Advance Fishing+ Buff", 5, new ConfigDescription("Advance buff amount from eating this trophy.", (AcceptableValueBase)(object)new AcceptableValueRange<int>(1, 10), Array.Empty<object>())); AdvanceKnivesBonus = Plugin._instance.config("4- AdvanceBuffs", "Advance Knives+ Buff", 5, new ConfigDescription("Advance buff amount from eating this trophy.", (AcceptableValueBase)(object)new AcceptableValueRange<int>(1, 10), Array.Empty<object>())); AdvancePickaxesBonus = Plugin._instance.config("4- AdvanceBuffs", "Advance Pickaxes+ Buff", 5, new ConfigDescription("Advance buff amount from eating this trophy.", (AcceptableValueBase)(object)new AcceptableValueRange<int>(1, 10), Array.Empty<object>())); AdvanceRidingBonus = Plugin._instance.config("4- AdvanceBuffs", "Advance Riding+ Buff", 5, new ConfigDescription("Advance buff amount from eating this trophy.", (AcceptableValueBase)(object)new AcceptableValueRange<int>(1, 10), Array.Empty<object>())); AdvanceRunBonus = Plugin._instance.config("4- AdvanceBuffs", "Advance Run+ Buff", 5, new ConfigDescription("Advance buff amount from eating this trophy.", (AcceptableValueBase)(object)new AcceptableValueRange<int>(1, 10), Array.Empty<object>())); AdvancePolearmsBonus = Plugin._instance.config("4- AdvanceBuffs", "Advance Polearms+ Buff", 5, new ConfigDescription("Advance buff amount from eating this trophy.", (AcceptableValueBase)(object)new AcceptableValueRange<int>(1, 10), Array.Empty<object>())); AdvanceSneakBonus = Plugin._instance.config("4- AdvanceBuffs", "Advance Sneak+ Buff", 5, new ConfigDescription("Advance buff amount from eating this trophy.", (AcceptableValueBase)(object)new AcceptableValueRange<int>(1, 10), Array.Empty<object>())); AdvanceSpearsBonus = Plugin._instance.config("4- AdvanceBuffs", "Advance Spears+ Buff", 5, new ConfigDescription("Advance buff amount from eating this trophy.", (AcceptableValueBase)(object)new AcceptableValueRange<int>(1, 10), Array.Empty<object>())); AdvanceSwimBonus = Plugin._instance.config("4- AdvanceBuffs", "Advance Swim+ Buff", 5, new ConfigDescription("Advance buff amount from eating this trophy.", (AcceptableValueBase)(object)new AcceptableValueRange<int>(1, 10), Array.Empty<object>())); AdvanceSwordsBonus = Plugin._instance.config("4- AdvanceBuffs", "Advance Swords+ Buff", 5, new ConfigDescription("Advance buff amount from eating this trophy.", (AcceptableValueBase)(object)new AcceptableValueRange<int>(1, 10), Array.Empty<object>())); AdvanceWoodcuttingBonus = Plugin._instance.config("4- AdvanceBuffs", Plugin._hasLumberjackingMod ? "Advance Lumberjacking+ Buff" : "Advance Woodcutting+ Buff", 5, new ConfigDescription("Advance buff amount from eating this trophy.", (AcceptableValueBase)(object)new AcceptableValueRange<int>(1, 10), Array.Empty<object>())); } } internal abstract class BasicSetup { public static ConfigEntry<int> BasicAxesBonus; public static ConfigEntry<int> BasicBlockingBonus; public static ConfigEntry<int> BasicBloodMagicBonus; public static ConfigEntry<int> BasicBowsBonus; public static ConfigEntry<int> BasicClubsBonus; public static ConfigEntry<int> BasicCrossbowsBonus; public static ConfigEntry<int> BasicElementalMagicBonus; public static ConfigEntry<int> BasicFistBonus; public static ConfigEntry<int> BasicFishingBonus; public static ConfigEntry<int> BasicJumpBonus; public static ConfigEntry<int> BasicKnivesBonus; public static ConfigEntry<int> BasicPickaxesBonus; public static ConfigEntry<int> BasicRunBonus; public static ConfigEntry<int> BasicPolearmsBonus; public static ConfigEntry<int> BasicSneakBonus; public static ConfigEntry<int> BasicSpearsBonus; public static ConfigEntry<int> BasicSwimBonus; public static ConfigEntry<int> BasicSwordsBonus; public static ConfigEntry<int> BasicWoodcuttingBonus; public static ConfigEntry<double> BasicBuffCooldown; private const string BasicBuffSection = "3- BasicBuffs"; private const string BasicBuffDescription = "Basic buff amount from eating this trophy."; public static void Init() { //IL_0039: Unknown result type (might be due to invalid IL or missing references) //IL_0044: Expected O, but got Unknown //IL_006a: Unknown result type (might be due to invalid IL or missing references) //IL_0075: Expected O, but got Unknown //IL_009b: Unknown result type (might be due to invalid IL or missing references) //IL_00a6: Expected O, but got Unknown //IL_00cc: Unknown result type (might be due to invalid IL or missing references) //IL_00d7: Expected O, but got Unknown //IL_00fd: Unknown result type (might be due to invalid IL or missing references) //IL_0108: Expected O, but got Unknown //IL_012e: Unknown result type (might be due to invalid IL or missing references) //IL_0139: Expected O, but got Unknown //IL_015f: Unknown result type (might be due to invalid IL or missing references) //IL_016a: Expected O, but got Unknown //IL_0190: Unknown result type (might be due to invalid IL or missing references) //IL_019b: Expected O, but got Unknown //IL_01c1: Unknown result type (might be due to invalid IL or missing references) //IL_01cc: Expected O, but got Unknown //IL_01f2: Unknown result type (might be due to invalid IL or missing references) //IL_01fd: Expected O, but got Unknown //IL_0223: Unknown result type (might be due to invalid IL or missing references) //IL_022e: Expected O, but got Unknown //IL_0254: Unknown result type (might be due to invalid IL or missing references) //IL_025f: Expected O, but got Unknown //IL_0285: Unknown result type (might be due to invalid IL or missing references) //IL_0290: Expected O, but got Unknown //IL_02b6: Unknown result type (might be due to invalid IL or missing references) //IL_02c1: Expected O, but got Unknown //IL_02e7: Unknown result type (might be due to invalid IL or missing references) //IL_02f2: Expected O, but got Unknown //IL_0318: Unknown result type (might be due to invalid IL or missing references) //IL_0323: Expected O, but got Unknown //IL_0349: Unknown result type (might be due to invalid IL or missing references) //IL_0354: Expected O, but got Unknown //IL_037a: Unknown result type (might be due to invalid IL or missing references) //IL_0385: Expected O, but got Unknown //IL_03ab: Unknown result type (might be due to invalid IL or missing references) //IL_03b6: Expected O, but got Unknown //IL_03ea: Unknown result type (might be due to invalid IL or missing references) //IL_03f5: Expected O, but got Unknown BasicBuffCooldown = Plugin._instance.config("2- General", "Basic Buff Cooldown", 15.0, new ConfigDescription("Basic buff cooldown and duration in minutes.", (AcceptableValueBase)(object)new AcceptableValueRange<double>(1.0, 30.0), Array.Empty<object>())); BasicAxesBonus = Plugin._instance.config("3- BasicBuffs", "Basic Axes+ Buff", 3, new ConfigDescription("Basic buff amount from eating this trophy.", (AcceptableValueBase)(object)new AcceptableValueRange<int>(1, 5), Array.Empty<object>())); BasicBlockingBonus = Plugin._instance.config("3- BasicBuffs", "Basic Blocking+ Buff", 3, new ConfigDescription("Basic buff amount from eating this trophy.", (AcceptableValueBase)(object)new AcceptableValueRange<int>(1, 5), Array.Empty<object>())); BasicBloodMagicBonus = Plugin._instance.config("3- BasicBuffs", "Basic BloodMagic+ Buff", 3, new ConfigDescription("Basic buff amount from eating this trophy.", (AcceptableValueBase)(object)new AcceptableValueRange<int>(1, 5), Array.Empty<object>())); BasicBowsBonus = Plugin._instance.config("3- BasicBuffs", "Basic Bows+ Buff", 3, new ConfigDescription("Basic buff amount from eating this trophy.", (AcceptableValueBase)(object)new AcceptableValueRange<int>(1, 5), Array.Empty<object>())); BasicClubsBonus = Plugin._instance.config("3- BasicBuffs", "Basic Clubs+ Buff", 3, new ConfigDescription("Basic buff amount from eating this trophy.", (AcceptableValueBase)(object)new AcceptableValueRange<int>(1, 5), Array.Empty<object>())); BasicCrossbowsBonus = Plugin._instance.config("3- BasicBuffs", "Basic Crossbows+ Buff", 3, new ConfigDescription("Basic buff amount from eating this trophy.", (AcceptableValueBase)(object)new AcceptableValueRange<int>(1, 5), Array.Empty<object>())); BasicElementalMagicBonus = Plugin._instance.config("3- BasicBuffs", "Basic ElementalMagic+ Buff", 3, new ConfigDescription("Basic buff amount from eating this trophy.", (AcceptableValueBase)(object)new AcceptableValueRange<int>(1, 5), Array.Empty<object>())); BasicFistBonus = Plugin._instance.config("3- BasicBuffs", "Basic Fist+ Buff", 3, new ConfigDescription("Basic buff amount from eating this trophy.", (AcceptableValueBase)(object)new AcceptableValueRange<int>(1, 5), Array.Empty<object>())); BasicFishingBonus = Plugin._instance.config("3- BasicBuffs", "Basic Fishing+ Buff", 3, new ConfigDescription("Basic buff amount from eating this trophy.", (AcceptableValueBase)(object)new AcceptableValueRange<int>(1, 5), Array.Empty<object>())); BasicJumpBonus = Plugin._instance.config("3- BasicBuffs", "Basic Jump+ Buff", 3, new ConfigDescription("Basic buff amount from eating this trophy.", (AcceptableValueBase)(object)new AcceptableValueRange<int>(1, 5), Array.Empty<object>())); BasicKnivesBonus = Plugin._instance.config("3- BasicBuffs", "Basic Knives+ Buff", 3, new ConfigDescription("Basic buff amount from eating this trophy.", (AcceptableValueBase)(object)new AcceptableValueRange<int>(1, 5), Array.Empty<object>())); BasicPickaxesBonus = Plugin._instance.config("3- BasicBuffs", "Basic Pickaxes+ Buff", 3, new ConfigDescription("Basic buff amount from eating this trophy.", (AcceptableValueBase)(object)new AcceptableValueRange<int>(1, 5), Array.Empty<object>())); BasicRunBonus = Plugin._instance.config("3- BasicBuffs", "Basic Run+ Buff", 3, new ConfigDescription("Basic buff amount from eating this trophy.", (AcceptableValueBase)(object)new AcceptableValueRange<int>(1, 5), Array.Empty<object>())); BasicPolearmsBonus = Plugin._instance.config("3- BasicBuffs", "Basic Polearms+ Buff", 3, new ConfigDescription("Basic buff amount from eating this trophy.", (AcceptableValueBase)(object)new AcceptableValueRange<int>(1, 5), Array.Empty<object>())); BasicSneakBonus = Plugin._instance.config("3- BasicBuffs", "Basic Sneak+ Buff", 3, new ConfigDescription("Basic buff amount from eating this trophy.", (AcceptableValueBase)(object)new AcceptableValueRange<int>(1, 5), Array.Empty<object>())); BasicSpearsBonus = Plugin._instance.config("3- BasicBuffs", "Basic Spears+ Buff", 3, new ConfigDescription("Basic buff amount from eating this trophy.", (AcceptableValueBase)(object)new AcceptableValueRange<int>(1, 5), Array.Empty<object>())); BasicSwimBonus = Plugin._instance.config("3- BasicBuffs", "Basic Swim+ Buff", 3, new ConfigDescription("Basic buff amount from eating this trophy.", (AcceptableValueBase)(object)new AcceptableValueRange<int>(1, 5), Array.Empty<object>())); BasicSwordsBonus = Plugin._instance.config("3- BasicBuffs", "Basic Swords+ Buff", 3, new ConfigDescription("Basic buff amount from eating this trophy.", (AcceptableValueBase)(object)new AcceptableValueRange<int>(1, 5), Array.Empty<object>())); BasicWoodcuttingBonus = Plugin._instance.config("3- BasicBuffs", Plugin._hasLumberjackingMod ? "Basic Lumberjacking+ Buff" : "Basic Woodcutting+ Buff", 3, new ConfigDescription("Basic buff amount from eating this trophy.", (AcceptableValueBase)(object)new AcceptableValueRange<int>(1, 5), Array.Empty<object>())); } } internal abstract class EnhancedSetup { public static ConfigEntry<int> EnhancedAxesBonus; public static ConfigEntry<int> EnhancedBlockingBonus; public static ConfigEntry<int> EnhancedBloodMagicBonus; public static ConfigEntry<int> EnhancedBowsBonus; public static ConfigEntry<int> EnhancedClubsBonus; public static ConfigEntry<int> EnhancedCrossbowsBonus; public static ConfigEntry<int> EnhancedElementalMagicBonus; public static ConfigEntry<int> EnhancedFistBonus; public static ConfigEntry<int> EnhancedFishingBonus; public static ConfigEntry<int> EnhancedJumpBonus; public static ConfigEntry<int> EnhancedKnivesBonus; public static ConfigEntry<int> EnhancedPickaxesBonus; public static ConfigEntry<int> EnhancedRidingBonus; public static ConfigEntry<int> EnhancedRunBonus; public static ConfigEntry<int> EnhancedPolearmsBonus; public static ConfigEntry<int> EnhancedSneakBonus; public static ConfigEntry<int> EnhancedSpearsBonus; public static ConfigEntry<int> EnhancedSwimBonus; public static ConfigEntry<int> EnhancedSwordsBonus; public static ConfigEntry<int> EnhancedWoodcuttingBonus; public static ConfigEntry<int> EnhancedBlacksmithingBonus; public static ConfigEntry<int> EnhancedBuildingBonus; public static ConfigEntry<int> EnhancedHerbalistBonus; public static ConfigEntry<int> EnhancedCookingBonus; public static ConfigEntry<int> EnhancedFarmingBonus; public static ConfigEntry<int> EnhancedFermentingBonus; public static ConfigEntry<int> EnhancedForagingBonus; public static ConfigEntry<int> EnhancedHuntingBonus; public static ConfigEntry<int> EnhancedJewelcraftingBonus; public static ConfigEntry<int> EnhancedMiningBonus; public static ConfigEntry<int> EnhancedPackHorseBonus; public static ConfigEntry<int> EnhancedRanchingBonus; public static ConfigEntry<int> EnhancedSailingBonus; public static ConfigEntry<int> EnhancedTenacityBonus; public static ConfigEntry<int> EnhancedThirdEyeBonus; public static ConfigEntry<int> EnhancedVitalityBonus; public static ConfigEntry<int> EnhancedSoulCatcherBonus; private const string EnhancedSection = "5- EnhancedTrophies"; private const string EnhancedDescription = "Permanent level added to this skill from eating enhanced trophies."; public static void Init() { //IL_0021: Unknown result type (might be due to invalid IL or missing references) //IL_002c: Expected O, but got Unknown //IL_0052: Unknown result type (might be due to invalid IL or missing references) //IL_005d: Expected O, but got Unknown //IL_0083: Unknown result type (might be due to invalid IL or missing references) //IL_008e: Expected O, but got Unknown //IL_00b4: Unknown result type (might be due to invalid IL or missing references) //IL_00bf: Expected O, but got Unknown //IL_00e5: Unknown result type (might be due to invalid IL or missing references) //IL_00f0: Expected O, but got Unknown //IL_0116: Unknown result type (might be due to invalid IL or missing references) //IL_0121: Expected O, but got Unknown //IL_0147: Unknown result type (might be due to invalid IL or missing references) //IL_0152: Expected O, but got Unknown //IL_0178: Unknown result type (might be due to invalid IL or missing references) //IL_0183: Expected O, but got Unknown //IL_01a9: Unknown result type (might be due to invalid IL or missing references) //IL_01b4: Expected O, but got Unknown //IL_01da: Unknown result type (might be due to invalid IL or missing references) //IL_01e5: Expected O, but got Unknown //IL_020b: Unknown result type (might be due to invalid IL or missing references) //IL_0216: Expected O, but got Unknown //IL_023c: Unknown result type (might be due to invalid IL or missing references) //IL_0247: Expected O, but got Unknown //IL_026d: Unknown result type (might be due to invalid IL or missing references) //IL_0278: Expected O, but got Unknown //IL_029e: Unknown result type (might be due to invalid IL or missing references) //IL_02a9: Expected O, but got Unknown //IL_02cf: Unknown result type (might be due to invalid IL or missing references) //IL_02da: Expected O, but got Unknown //IL_0300: Unknown result type (might be due to invalid IL or missing references) //IL_030b: Expected O, but got Unknown //IL_0331: Unknown result type (might be due to invalid IL or missing references) //IL_033c: Expected O, but got Unknown //IL_0362: Unknown result type (might be due to invalid IL or missing references) //IL_036d: Expected O, but got Unknown //IL_0393: Unknown result type (might be due to invalid IL or missing references) //IL_039e: Expected O, but got Unknown //IL_03d2: Unknown result type (might be due to invalid IL or missing references) //IL_03dd: Expected O, but got Unknown //IL_040a: Unknown result type (might be due to invalid IL or missing references) //IL_0415: Expected O, but got Unknown //IL_0442: Unknown result type (might be due to invalid IL or missing references) //IL_044d: Expected O, but got Unknown //IL_047a: Unknown result type (might be due to invalid IL or missing references) //IL_0485: Expected O, but got Unknown //IL_04b2: Unknown result type (might be due to invalid IL or missing references) //IL_04bd: Expected O, but got Unknown //IL_04ea: Unknown result type (might be due to invalid IL or missing references) //IL_04f5: Expected O, but got Unknown //IL_0522: Unknown result type (might be due to invalid IL or missing references) //IL_052d: Expected O, but got Unknown //IL_055a: Unknown result type (might be due to invalid IL or missing references) //IL_0565: Expected O, but got Unknown //IL_0592: Unknown result type (might be due to invalid IL or missing references) //IL_059d: Expected O, but got Unknown //IL_05ca: Unknown result type (might be due to invalid IL or missing references) //IL_05d5: Expected O, but got Unknown //IL_0602: Unknown result type (might be due to invalid IL or missing references) //IL_060d: Expected O, but got Unknown //IL_063a: Unknown result type (might be due to invalid IL or missing references) //IL_0645: Expected O, but got Unknown //IL_0672: Unknown result type (might be due to invalid IL or missing references) //IL_067d: Expected O, but got Unknown //IL_06aa: Unknown result type (might be due to invalid IL or missing references) //IL_06b5: Expected O, but got Unknown //IL_06e2: Unknown result type (might be due to invalid IL or missing references) //IL_06ed: Expected O, but got Unknown //IL_071a: Unknown result type (might be due to invalid IL or missing references) //IL_0725: Expected O, but got Unknown //IL_0752: Unknown result type (might be due to invalid IL or missing references) //IL_075d: Expected O, but got Unknown //IL_078a: Unknown result type (might be due to invalid IL or missing references) //IL_0795: Expected O, but got Unknown EnhancedAxesBonus = Plugin._instance.config("5- EnhancedTrophies", "Axes Skill", 3, new ConfigDescription("Permanent level added to this skill from eating enhanced trophies.", (AcceptableValueBase)(object)new AcceptableValueRange<int>(1, 5), Array.Empty<object>())); EnhancedBlockingBonus = Plugin._instance.config("5- EnhancedTrophies", "Blocking Skill", 3, new ConfigDescription("Permanent level added to this skill from eating enhanced trophies.", (AcceptableValueBase)(object)new AcceptableValueRange<int>(1, 5), Array.Empty<object>())); EnhancedBloodMagicBonus = Plugin._instance.config("5- EnhancedTrophies", "Blood Magic Skill", 3, new ConfigDescription("Permanent level added to this skill from eating enhanced trophies.", (AcceptableValueBase)(object)new AcceptableValueRange<int>(1, 5), Array.Empty<object>())); EnhancedBowsBonus = Plugin._instance.config("5- EnhancedTrophies", "Bows Skill", 3, new ConfigDescription("Permanent level added to this skill from eating enhanced trophies.", (AcceptableValueBase)(object)new AcceptableValueRange<int>(1, 5), Array.Empty<object>())); EnhancedClubsBonus = Plugin._instance.config("5- EnhancedTrophies", "Clubs Skill", 3, new ConfigDescription("Permanent level added to this skill from eating enhanced trophies.", (AcceptableValueBase)(object)new AcceptableValueRange<int>(1, 5), Array.Empty<object>())); EnhancedCrossbowsBonus = Plugin._instance.config("5- EnhancedTrophies", "Crossbows Skill", 3, new ConfigDescription("Permanent level added to this skill from eating enhanced trophies.", (AcceptableValueBase)(object)new AcceptableValueRange<int>(1, 5), Array.Empty<object>())); EnhancedElementalMagicBonus = Plugin._instance.config("5- EnhancedTrophies", "Elemental Magic Skill", 3, new ConfigDescription("Permanent level added to this skill from eating enhanced trophies.", (AcceptableValueBase)(object)new AcceptableValueRange<int>(1, 5), Array.Empty<object>())); EnhancedFistBonus = Plugin._instance.config("5- EnhancedTrophies", "Fist Skill", 3, new ConfigDescription("Permanent level added to this skill from eating enhanced trophies.", (AcceptableValueBase)(object)new AcceptableValueRange<int>(1, 5), Array.Empty<object>())); EnhancedFishingBonus = Plugin._instance.config("5- EnhancedTrophies", "Fishing Skill", 3, new ConfigDescription("Permanent level added to this skill from eating enhanced trophies.", (AcceptableValueBase)(object)new AcceptableValueRange<int>(1, 5), Array.Empty<object>())); EnhancedJumpBonus = Plugin._instance.config("5- EnhancedTrophies", "Jump Skill", 3, new ConfigDescription("Permanent level added to this skill from eating enhanced trophies.", (AcceptableValueBase)(object)new AcceptableValueRange<int>(1, 5), Array.Empty<object>())); EnhancedKnivesBonus = Plugin._instance.config("5- EnhancedTrophies", "Knives Skill", 3, new ConfigDescription("Permanent level added to this skill from eating enhanced trophies.", (AcceptableValueBase)(object)new AcceptableValueRange<int>(1, 5), Array.Empty<object>())); EnhancedPickaxesBonus = Plugin._instance.config("5- EnhancedTrophies", "Pickaxes Skill", 3, new ConfigDescription("Permanent level added to this skill from eating enhanced trophies.", (AcceptableValueBase)(object)new AcceptableValueRange<int>(1, 5), Array.Empty<object>())); EnhancedRidingBonus = Plugin._instance.config("5- EnhancedTrophies", "Riding Skill", 3, new ConfigDescription("Permanent level added to this skill from eating enhanced trophies.", (AcceptableValueBase)(object)new AcceptableValueRange<int>(1, 5), Array.Empty<object>())); EnhancedRunBonus = Plugin._instance.config("5- EnhancedTrophies", "Run Skill", 3, new ConfigDescription("Permanent level added to this skill from eating enhanced trophies.", (AcceptableValueBase)(object)new AcceptableValueRange<int>(1, 5), Array.Empty<object>())); EnhancedPolearmsBonus = Plugin._instance.config("5- EnhancedTrophies", "Polearms Skill", 3, new ConfigDescription("Permanent level added to this skill from eating enhanced trophies.", (AcceptableValueBase)(object)new AcceptableValueRange<int>(1, 5), Array.Empty<object>())); EnhancedSneakBonus = Plugin._instance.config("5- EnhancedTrophies", "Sneak Skill", 3, new ConfigDescription("Permanent level added to this skill from eating enhanced trophies.", (AcceptableValueBase)(object)new AcceptableValueRange<int>(1, 5), Array.Empty<object>())); EnhancedSpearsBonus = Plugin._instance.config("5- EnhancedTrophies", "Spears Skill", 3, new ConfigDescription("Permanent level added to this skill from eating enhanced trophies.", (AcceptableValueBase)(object)new AcceptableValueRange<int>(1, 5), Array.Empty<object>())); EnhancedSwimBonus = Plugin._instance.config("5- EnhancedTrophies", "Swim Skill", 3, new ConfigDescription("Permanent level added to this skill from eating enhanced trophies.", (AcceptableValueBase)(object)new AcceptableValueRange<int>(1, 5), Array.Empty<object>())); EnhancedSwordsBonus = Plugin._instance.config("5- EnhancedTrophies", "Swords Skill", 3, new ConfigDescription("Permanent level added to this skill from eating enhanced trophies.", (AcceptableValueBase)(object)new AcceptableValueRange<int>(1, 5), Array.Empty<object>())); EnhancedWoodcuttingBonus = Plugin._instance.config("5- EnhancedTrophies", Plugin._hasLumberjackingMod ? "Lumberjacking Skill" : "Woodcutting Skill", 3, new ConfigDescription("Permanent level added to this skill from eating enhanced trophies.", (AcceptableValueBase)(object)new AcceptableValueRange<int>(1, 5), Array.Empty<object>())); if (Plugin._hasBlacksmithingMod) { EnhancedBlacksmithingBonus = Plugin._instance.config("5- EnhancedTrophies", "Blacksmithing Skill", 3, new ConfigDescription("Permanent level added to this skill from eating enhanced trophies.", (AcceptableValueBase)(object)new AcceptableValueRange<int>(1, 5), Array.Empty<object>())); } if (Plugin._hasBuildingMod) { EnhancedBuildingBonus = Plugin._instance.config("5- EnhancedTrophies", "Building Skill", 3, new ConfigDescription("Permanent level added to this skill from eating enhanced trophies.", (AcceptableValueBase)(object)new AcceptableValueRange<int>(1, 5), Array.Empty<object>())); } if (Plugin._hasHerbalistMod) { EnhancedHerbalistBonus = Plugin._instance.config("5- EnhancedTrophies", "Herbalist Skill", 3, new ConfigDescription("Permanent level added to this skill from eating enhanced trophies.", (AcceptableValueBase)(object)new AcceptableValueRange<int>(1, 5), Array.Empty<object>())); } if (Plugin._hasCookingMod) { EnhancedCookingBonus = Plugin._instance.config("5- EnhancedTrophies", "Cooking Skill", 3, new ConfigDescription("Permanent level added to this skill from eating enhanced trophies.", (AcceptableValueBase)(object)new AcceptableValueRange<int>(1, 5), Array.Empty<object>())); } if (Plugin._hasFarmingMod) { EnhancedFarmingBonus = Plugin._instance.config("5- EnhancedTrophies", "Farming Skill", 3, new ConfigDescription("Permanent level added to this skill from eating enhanced trophies.", (AcceptableValueBase)(object)new AcceptableValueRange<int>(1, 5), Array.Empty<object>())); } if (Plugin._hasFermentingMod) { EnhancedFermentingBonus = Plugin._instance.config("5- EnhancedTrophies", "Fermenting Skill", 3, new ConfigDescription("Permanent level added to this skill from eating enhanced trophies.", (AcceptableValueBase)(object)new AcceptableValueRange<int>(1, 5), Array.Empty<object>())); } if (Plugin._hasForagingMod) { EnhancedForagingBonus = Plugin._instance.config("5- EnhancedTrophies", "Foraging Skill", 3, new ConfigDescription("Permanent level added to this skill from eating enhanced trophies.", (AcceptableValueBase)(object)new AcceptableValueRange<int>(1, 5), Array.Empty<object>())); } if (Plugin._hasJewelcraftingMod) { EnhancedJewelcraftingBonus = Plugin._instance.config("5- EnhancedTrophies", "Jewelcrafting Skill", 3, new ConfigDescription("Permanent level added to this skill from eating enhanced trophies.", (AcceptableValueBase)(object)new AcceptableValueRange<int>(1, 5), Array.Empty<object>())); } if (Plugin._hasMiningMod) { EnhancedMiningBonus = Plugin._instance.config("5- EnhancedTrophies", "Mining Skill", 3, new ConfigDescription("Permanent level added to this skill from eating enhanced trophies.", (AcceptableValueBase)(object)new AcceptableValueRange<int>(1, 5), Array.Empty<object>())); } if (Plugin._hasPackHorseMod) { EnhancedPackHorseBonus = Plugin._instance.config("5- EnhancedTrophies", "PackHorse Skill", 3, new ConfigDescription("Permanent level added to this skill from eating enhanced trophies.", (AcceptableValueBase)(object)new AcceptableValueRange<int>(1, 5), Array.Empty<object>())); } if (Plugin._hasRanchingMod) { EnhancedRanchingBonus = Plugin._instance.config("5- EnhancedTrophies", "Ranching Skill", 3, new ConfigDescription("Permanent level added to this skill from eating enhanced trophies.", (AcceptableValueBase)(object)new AcceptableValueRange<int>(1, 5), Array.Empty<object>())); } if (Plugin._hasSailingMod) { EnhancedSailingBonus = Plugin._instance.config("5- EnhancedTrophies", "Sailing Skill", 3, new ConfigDescription("Permanent level added to this skill from eating enhanced trophies.", (AcceptableValueBase)(object)new AcceptableValueRange<int>(1, 5), Array.Empty<object>())); } if (Plugin._hasTenacityMod) { EnhancedTenacityBonus = Plugin._instance.config("5- EnhancedTrophies", "Tenacity", 3, new ConfigDescription("Permanent level added to this skill from eating enhanced trophies.", (AcceptableValueBase)(object)new AcceptableValueRange<int>(1, 5), Array.Empty<object>())); } if (Plugin._hasThirdEyeMod) { EnhancedThirdEyeBonus = Plugin._instance.config("5- EnhancedTrophies", "ThirdEye Skill", 3, new ConfigDescription("Permanent level added to this skill from eating enhanced trophies.", (AcceptableValueBase)(object)new AcceptableValueRange<int>(1, 5), Array.Empty<object>())); } if (Plugin._hasVitalityMod) { EnhancedVitalityBonus = Plugin._instance.config("5- EnhancedTrophies", "Vitality Skill", 3, new ConfigDescription("Permanent level added to this skill from eating enhanced trophies.", (AcceptableValueBase)(object)new AcceptableValueRange<int>(1, 5), Array.Empty<object>())); } if (Plugin._hasHuntingMod) { EnhancedHuntingBonus = Plugin._instance.config("5- EnhancedTrophies", "Hunting Skill", 3, new ConfigDescription("Permanent level added to this skill from eating enhanced trophies.", (AcceptableValueBase)(object)new AcceptableValueRange<int>(1, 5), Array.Empty<object>())); } if (Plugin._hasSoulCatcher) { EnhancedSoulCatcherBonus = Plugin._instance.config("5- EnhancedTrophies", "SoulCatcher Skill", 3, new ConfigDescription("Permanent level added to this skill from eating enhanced trophies.", (AcceptableValueBase)(object)new AcceptableValueRange<int>(1, 5), Array.Empty<object>())); } } } internal abstract class SupremeSetup { public static ConfigEntry<int> SupremeAxesBonus; public static ConfigEntry<int> SupremeBlockingBonus; public static ConfigEntry<int> SupremeBloodMagicBonus; public static ConfigEntry<int> SupremeBowsBonus; public static ConfigEntry<int> SupremeClubsBonus; public static ConfigEntry<int> SupremeCrossbowsBonus; public static ConfigEntry<int> SupremeElementalMagicBonus; public static ConfigEntry<int> SupremeFistBonus; public static ConfigEntry<int> SupremeFishingBonus; public static ConfigEntry<int> SupremeJumpBonus; public static ConfigEntry<int> SupremeKnivesBonus; public static ConfigEntry<int> SupremePickaxesBonus; public static ConfigEntry<int> SupremeRidingBonus; public static ConfigEntry<int> SupremeRunBonus; public static ConfigEntry<int> SupremePolearmsBonus; public static ConfigEntry<int> SupremeSneakBonus; public static ConfigEntry<int> SupremeSpearsBonus; public static ConfigEntry<int> SupremeSwimBonus; public static ConfigEntry<int> SupremeSwordsBonus; public static ConfigEntry<int> SupremeWoodcuttingBonus; public static ConfigEntry<int> SupremeBlacksmithingBonus; public static ConfigEntry<int> SupremeBuildingBonus; public static ConfigEntry<int> SupremeHerbalistBonus; public static ConfigEntry<int> SupremeCookingBonus; public static ConfigEntry<int> SupremeFarmingBonus; public static ConfigEntry<int> SupremeFermentingBonus; public static ConfigEntry<int> SupremeForagingBonus; public static ConfigEntry<int> SupremeHuntingBonus; public static ConfigEntry<int> SupremeJewelcraftingBonus; public static ConfigEntry<int> SupremeMiningBonus; public static ConfigEntry<int> SupremePackHorseBonus; public static ConfigEntry<int> SupremeRanchingBonus; public static ConfigEntry<int> SupremeSailingBonus; public static ConfigEntry<int> SupremeTenacityBonus; public static ConfigEntry<int> SupremeThirdEyeBonus; public static ConfigEntry<int> SupremeVitalityBonus; public static ConfigEntry<int> SupremeSoulCatcherBonus; private const string SupremeSection = "5- SupremeTrophies"; private const string SupremeDescription = "Permanent level added to this skill from eating supreme trophies."; public static void Init() { //IL_0022: Unknown result type (might be due to invalid IL or missing references) //IL_002d: Expected O, but got Unknown //IL_0054: Unknown result type (might be due to invalid IL or missing references) //IL_005f: Expected O, but got Unknown //IL_0086: Unknown result type (might be due to invalid IL or missing references) //IL_0091: Expected O, but got Unknown //IL_00b8: Unknown result type (might be due to invalid IL or missing references) //IL_00c3: Expected O, but got Unknown //IL_00ea: Unknown result type (might be due to invalid IL or missing references) //IL_00f5: Expected O, but got Unknown //IL_011c: Unknown result type (might be due to invalid IL or missing references) //IL_0127: Expected O, but got Unknown //IL_014e: Unknown result type (might be due to invalid IL or missing references) //IL_0159: Expected O, but got Unknown //IL_0180: Unknown result type (might be due to invalid IL or missing references) //IL_018b: Expected O, but got Unknown //IL_01b2: Unknown result type (might be due to invalid IL or missing references) //IL_01bd: Expected O, but got Unknown //IL_01e4: Unknown result type (might be due to invalid IL or missing references) //IL_01ef: Expected O, but got Unknown //IL_0216: Unknown result type (might be due to invalid IL or missing references) //IL_0221: Expected O, but got Unknown //IL_0248: Unknown result type (might be due to invalid IL or missing references) //IL_0253: Expected O, but got Unknown //IL_027a: Unknown result type (might be due to invalid IL or missing references) //IL_0285: Expected O, but got Unknown //IL_02ac: Unknown result type (might be due to invalid IL or missing references) //IL_02b7: Expected O, but got Unknown //IL_02de: Unknown result type (might be due to invalid IL or missing references) //IL_02e9: Expected O, but got Unknown //IL_0310: Unknown result type (might be due to invalid IL or missing references) //IL_031b: Expected O, but got Unknown //IL_0342: Unknown result type (might be due to invalid IL or missing references) //IL_034d: Expected O, but got Unknown //IL_0374: Unknown result type (might be due to invalid IL or missing references) //IL_037f: Expected O, but got Unknown //IL_03a6: Unknown result type (might be due to invalid IL or missing references) //IL_03b1: Expected O, but got Unknown //IL_03e6: Unknown result type (might be due to invalid IL or missing references) //IL_03f1: Expected O, but got Unknown //IL_041f: Unknown result type (might be due to invalid IL or missing references) //IL_042a: Expected O, but got Unknown //IL_0458: Unknown result type (might be due to invalid IL or missing references) //IL_0463: Expected O, but got Unknown //IL_0491: Unknown result type (might be due to invalid IL or missing references) //IL_049c: Expected O, but got Unknown //IL_04ca: Unknown result type (might be due to invalid IL or missing references) //IL_04d5: Expected O, but got Unknown //IL_0503: Unknown result type (might be due to invalid IL or missing references) //IL_050e: Expected O, but got Unknown //IL_053c: Unknown result type (might be due to invalid IL or missing references) //IL_0547: Expected O, but got Unknown //IL_0575: Unknown result type (might be due to invalid IL or missing references) //IL_0580: Expected O, but got Unknown //IL_05ae: Unknown result type (might be due to invalid IL or missing references) //IL_05b9: Expected O, but got Unknown //IL_05e7: Unknown result type (might be due to invalid IL or missing references) //IL_05f2: Expected O, but got Unknown //IL_0620: Unknown result type (might be due to invalid IL or missing references) //IL_062b: Expected O, but got Unknown //IL_0659: Unknown result type (might be due to invalid IL or missing references) //IL_0664: Expected O, but got Unknown //IL_0692: Unknown result type (might be due to invalid IL or missing references) //IL_069d: Expected O, but got Unknown //IL_06cb: Unknown result type (might be due to invalid IL or missing references) //IL_06d6: Expected O, but got Unknown //IL_0704: Unknown result type (might be due to invalid IL or missing references) //IL_070f: Expected O, but got Unknown //IL_073d: Unknown result type (might be due to invalid IL or missing references) //IL_0748: Expected O, but got Unknown //IL_0776: Unknown result type (might be due to invalid IL or missing references) //IL_0781: Expected O, but got Unknown //IL_07af: Unknown result type (might be due to invalid IL or missing references) //IL_07ba: Expected O, but got Unknown SupremeAxesBonus = Plugin._instance.config("5- SupremeTrophies", "Axes Skill", 5, new ConfigDescription("Permanent level added to this skill from eating supreme trophies.", (AcceptableValueBase)(object)new AcceptableValueRange<int>(1, 10), Array.Empty<object>())); SupremeBlockingBonus = Plugin._instance.config("5- SupremeTrophies", "Blocking Skill", 5, new ConfigDescription("Permanent level added to this skill from eating supreme trophies.", (AcceptableValueBase)(object)new AcceptableValueRange<int>(1, 10), Array.Empty<object>())); SupremeBloodMagicBonus = Plugin._instance.config("5- SupremeTrophies", "Blood Magic Skill", 5, new ConfigDescription("Permanent level added to this skill from eating supreme trophies.", (AcceptableValueBase)(object)new AcceptableValueRange<int>(1, 10), Array.Empty<object>())); SupremeBowsBonus = Plugin._instance.config("5- SupremeTrophies", "Bows Skill", 5, new ConfigDescription("Permanent level added to this skill from eating supreme trophies.", (AcceptableValueBase)(object)new AcceptableValueRange<int>(1, 10), Array.Empty<object>())); SupremeClubsBonus = Plugin._instance.config("5- SupremeTrophies", "Clubs Skill", 5, new ConfigDescription("Permanent level added to this skill from eating supreme trophies.", (AcceptableValueBase)(object)new AcceptableValueRange<int>(1, 10), Array.Empty<object>())); SupremeCrossbowsBonus = Plugin._instance.config("5- SupremeTrophies", "Crossbows Skill", 5, new ConfigDescription("Permanent level added to this skill from eating supreme trophies.", (AcceptableValueBase)(object)new AcceptableValueRange<int>(1, 10), Array.Empty<object>())); SupremeElementalMagicBonus = Plugin._instance.config("5- SupremeTrophies", "Elemental Magic Skill", 5, new ConfigDescription("Permanent level added to this skill from eating supreme trophies.", (AcceptableValueBase)(object)new AcceptableValueRange<int>(1, 10), Array.Empty<object>())); SupremeFistBonus = Plugin._instance.config("5- SupremeTrophies", "Fist Skill", 5, new ConfigDescription("Permanent level added to this skill from eating supreme trophies.", (AcceptableValueBase)(object)new AcceptableValueRange<int>(1, 10), Array.Empty<object>())); SupremeFishingBonus = Plugin._instance.config("5- SupremeTrophies", "Fishing Skill", 5, new ConfigDescription("Permanent level added to this skill from eating supreme trophies.", (AcceptableValueBase)(object)new AcceptableValueRange<int>(1, 10), Array.Empty<object>())); SupremeJumpBonus = Plugin._instance.config("5- SupremeTrophies", "Jump Skill", 5, new ConfigDescription("Permanent level added to this skill from eating supreme trophies.", (AcceptableValueBase)(object)new AcceptableValueRange<int>(1, 10), Array.Empty<object>())); SupremeKnivesBonus = Plugin._instance.config("5- SupremeTrophies", "Knives Skill", 5, new ConfigDescription("Permanent level added to this skill from eating supreme trophies.", (AcceptableValueBase)(object)new AcceptableValueRange<int>(1, 10), Array.Empty<object>())); SupremePickaxesBonus = Plugin._instance.config("5- SupremeTrophies", "Pickaxes Skill", 5, new ConfigDescription("Permanent level added to this skill from eating supreme trophies.", (AcceptableValueBase)(object)new AcceptableValueRange<int>(1, 10), Array.Empty<object>())); SupremeRidingBonus = Plugin._instance.config("5- SupremeTrophies", "Riding Skill", 5, new ConfigDescription("Permanent level added to this skill from eating supreme trophies.", (AcceptableValueBase)(object)new AcceptableValueRange<int>(1, 10), Array.Empty<object>())); SupremeRunBonus = Plugin._instance.config("5- SupremeTrophies", "Run Skill", 5, new ConfigDescription("Permanent level added to this skill from eating supreme trophies.", (AcceptableValueBase)(object)new AcceptableValueRange<int>(1, 10), Array.Empty<object>())); SupremePolearmsBonus = Plugin._instance.config("5- SupremeTrophies", "Polearms Skill", 5, new ConfigDescription("Permanent level added to this skill from eating supreme trophies.", (AcceptableValueBase)(object)new AcceptableValueRange<int>(1, 10), Array.Empty<object>())); SupremeSneakBonus = Plugin._instance.config("5- SupremeTrophies", "Sneak Skill", 5, new ConfigDescription("Permanent level added to this skill from eating supreme trophies.", (AcceptableValueBase)(object)new AcceptableValueRange<int>(1, 10), Array.Empty<object>())); SupremeSpearsBonus = Plugin._instance.config("5- SupremeTrophies", "Spears Skill", 5, new ConfigDescription("Permanent level added to this skill from eating supreme trophies.", (AcceptableValueBase)(object)new AcceptableValueRange<int>(1, 10), Array.Empty<object>())); SupremeSwimBonus = Plugin._instance.config("5- SupremeTrophies", "Swim Skill", 5, new ConfigDescription("Permanent level added to this skill from eating supreme trophies.", (AcceptableValueBase)(object)new AcceptableValueRange<int>(1, 10), Array.Empty<object>())); SupremeSwordsBonus = Plugin._instance.config("5- SupremeTrophies", "Swords Skill", 5, new ConfigDescription("Permanent level added to this skill from eating supreme trophies.", (AcceptableValueBase)(object)new AcceptableValueRange<int>(1, 10), Array.Empty<object>())); SupremeWoodcuttingBonus = Plugin._instance.config("5- SupremeTrophies", Plugin._hasLumberjackingMod ? "Lumberjacking Skill" : "Woodcutting Skill", 5, new ConfigDescription("Permanent level added to this skill from eating supreme trophies.", (AcceptableValueBase)(object)new AcceptableValueRange<int>(1, 10), Array.Empty<object>())); if (Plugin._hasBlacksmithingMod) { SupremeBlacksmithingBonus = Plugin._instance.config("5- SupremeTrophies", "Blacksmithing Skill", 5, new ConfigDescription("Permanent level added to this skill from eating supreme trophies.", (AcceptableValueBase)(object)new AcceptableValueRange<int>(1, 10), Array.Empty<object>())); } if (Plugin._hasBuildingMod) { SupremeBuildingBonus = Plugin._instance.config("5- SupremeTrophies", "Building Skill", 5, new ConfigDescription("Permanent level added to this skill from eating supreme trophies.", (AcceptableValueBase)(object)new AcceptableValueRange<int>(1, 10), Array.Empty<object>())); } if (Plugin._hasHerbalistMod) { SupremeHerbalistBonus = Plugin._instance.config("5- SupremeTrophies", "Herbalist Skill", 5, new ConfigDescription("Permanent level added to this skill from eating supreme trophies.", (AcceptableValueBase)(object)new AcceptableValueRange<int>(1, 10), Array.Empty<object>())); } if (Plugin._hasCookingMod) { SupremeCookingBonus = Plugin._instance.config("5- SupremeTrophies", "Cooking Skill", 5, new ConfigDescription("Permanent level added to this skill from eating supreme trophies.", (AcceptableValueBase)(object)new AcceptableValueRange<int>(1, 10), Array.Empty<object>())); } if (Plugin._hasFarmingMod) { SupremeFarmingBonus = Plugin._instance.config("5- SupremeTrophies", "Farming Skill", 5, new ConfigDescription("Permanent level added to this skill from eating supreme trophies.", (AcceptableValueBase)(object)new AcceptableValueRange<int>(1, 10), Array.Empty<object>())); } if (Plugin._hasFermentingMod) { SupremeFermentingBonus = Plugin._instance.config("5- SupremeTrophies", "Fermenting Skill", 5, new ConfigDescription("Permanent level added to this skill from eating supreme trophies.", (AcceptableValueBase)(object)new AcceptableValueRange<int>(1, 10), Array.Empty<object>())); } if (Plugin._hasForagingMod) { SupremeForagingBonus = Plugin._instance.config("5- SupremeTrophies", "Foraging Skill", 5, new ConfigDescription("Permanent level added to this skill from eating supreme trophies.", (AcceptableValueBase)(object)new AcceptableValueRange<int>(1, 10), Array.Empty<object>())); } if (Plugin._hasJewelcraftingMod) { SupremeJewelcraftingBonus = Plugin._instance.config("5- SupremeTrophies", "Jewelcrafting Skill", 5, new ConfigDescription("Permanent level added to this skill from eating supreme trophies.", (AcceptableValueBase)(object)new AcceptableValueRange<int>(1, 10), Array.Empty<object>())); } if (Plugin._hasMiningMod) { SupremeMiningBonus = Plugin._instance.config("5- SupremeTrophies", "Mining Skill", 5, new ConfigDescription("Permanent level added to this skill from eating supreme trophies.", (AcceptableValueBase)(object)new AcceptableValueRange<int>(1, 10), Array.Empty<object>())); } if (Plugin._hasPackHorseMod) { SupremePackHorseBonus = Plugin._instance.config("5- SupremeTrophies", "PackHorse Skill", 5, new ConfigDescription("Permanent level added to this skill from eating supreme trophies.", (AcceptableValueBase)(object)new AcceptableValueRange<int>(1, 10), Array.Empty<object>())); } if (Plugin._hasRanchingMod) { SupremeRanchingBonus = Plugin._instance.config("5- SupremeTrophies", "Ranching Skill", 5, new ConfigDescription("Permanent level added to this skill from eating supreme trophies.", (AcceptableValueBase)(object)new AcceptableValueRange<int>(1, 10), Array.Empty<object>())); } if (Plugin._hasSailingMod) { SupremeSailingBonus = Plugin._instance.config("5- SupremeTrophies", "Sailing Skill", 5, new ConfigDescription("Permanent level added to this skill from eating supreme trophies.", (AcceptableValueBase)(object)new AcceptableValueRange<int>(1, 10), Array.Empty<object>())); } if (Plugin._hasTenacityMod) { SupremeTenacityBonus = Plugin._instance.config("5- SupremeTrophies", "Tenacity Skill", 5, new ConfigDescription("Permanent level added to this skill from eating supreme trophies.", (AcceptableValueBase)(object)new AcceptableValueRange<int>(1, 10), Array.Empty<object>())); } if (Plugin._hasThirdEyeMod) { SupremeThirdEyeBonus = Plugin._instance.config("5- SupremeTrophies", "ThirdEye Skill", 5, new ConfigDescription("Permanent level added to this skill from eating supreme trophies.", (AcceptableValueBase)(object)new AcceptableValueRange<int>(1, 10), Array.Empty<object>())); } if (Plugin._hasVitalityMod) { SupremeVitalityBonus = Plugin._instance.config("5- SupremeTrophies", "Vitality Skill", 5, new ConfigDescription("Permanent level added to this skill from eating supreme trophies.", (AcceptableValueBase)(object)new AcceptableValueRange<int>(1, 10), Array.Empty<object>())); } if (Plugin._hasHuntingMod) { SupremeHuntingBonus = Plugin._instance.config("5- SupremeTrophies", "Hunting Skill", 5, new ConfigDescription("Permanent level added to this skill from eating supreme trophies.", (AcceptableValueBase)(object)new AcceptableValueRange<int>(1, 10), Array.Empty<object>())); } if (Plugin._hasSoulCatcher) { SupremeSoulCatcherBonus = Plugin._instance.config("5- SupremeTrophies", "SoulCatcher Skill", 5, new ConfigDescription("Permanent level added to this skill from eating supreme trophies.", (AcceptableValueBase)(object)new AcceptableValueRange<int>(1, 10), Array.Empty<object>())); } } } } namespace TrophyBuffs.Patches { [HarmonyPatch(typeof(ZNetScene), "Awake")] public class ZNetScenePatch { public static void Postfix(ZNetScene __instance) { if (!((Object)(object)__instance == (Object)null)) { List<GameObject> prefabs = __instance.m_prefabs; if (prefabs != null && prefabs.Count > 0) { SetupCursedTrunk.Init(__instance); } } } } [HarmonyPatch] public class HumanoidPatch { [HarmonyPostfix] [HarmonyPatch(typeof(Humanoid), "UseItem")] private static void HumanoidUseItem_Prefix(Humanoid __instance, Inventory inventory, ItemData item, bool fromInventoryGui, ZSyncAnimation ___m_zanim) { if (inventory == null) { inventory = __instance.m_inventory; } if (!inventory.ContainsItem(item) || !fromInventoryGui) { return; } if (item.m_shared.m_name.ToLower().Contains("btb_enhancedtrophy") || item.m_shared.m_name.ToLower().Contains("btb_supremetrophy")) { UseEnhancedTrophy.Init(__instance, inventory, item, ___m_zanim); UseSupremeTrophy.Init(__instance, inventory, item, ___m_zanim); } else if (item.m_shared.m_name.ToLower().Contains("item_trophy")) { if (((Character)__instance).GetSEMan().GetStatusEffects().Count >= 6) { ((Character)__instance).Message((MessageType)2, "<size=28>$btb_cantbeuse</size>", 0, (Sprite)null); return; } UseBasicTrophy.Init(__instance, inventory, item, ___m_zanim); UseAdvanceTrophy.Init(__instance, inventory, item, ___m_zanim); } } } [HarmonyPatch] internal class ItemDataPatch { [HarmonyPatch(typeof(ItemData), "GetStatusEffectTooltip")] [HarmonyPostfix] public static string GetToolTip_Postfix(string __result, ItemData __instance) { try { if (__instance?.m_shared == null) { return __result; } StringBuilder stringBuilder = new StringBuilder(__result); switch (((Object)__instance.m_dropPrefab).name) { case "TrophyDraugr": stringBuilder.Append($"$btb_skillbonus: <color=orange>+{BasicSetup.BasicAxesBonus.Value} $btb_axes</color>"); stringBuilder.Append($"\n$btb_duration: <color=orange>{BasicSetup.BasicBuffCooldown.Value} min/s</color>"); return stringBuilder.ToString(); case "TrophyBlob": stringBuilder.Append($"$btb_skillbonus: <color=orange>+{BasicSetup.BasicBlockingBonus.Value} $btb_blocking</color>"); stringBuilder.Append($"\n$btb_duration: <color=orange>{BasicSetup.BasicBuffCooldown.Value} min/s</color>"); return stringBuilder.ToString(); case "TrophySkeletonPoison": stringBuilder.Append($"$btb_skillbonus: <color=orange>+{BasicSetup.BasicBloodMagicBonus.Value} $btb_bloodmagic</color>"); stringBuilder.Append($"\n$btb_duration: <color=orange>{BasicSetup.BasicBuffCooldown.Value} min/s</color>"); return stringBuilder.ToString(); case "TrophyDraugrElite": stringBuilder.Append($"$btb_skillbonus: <color=orange>+{BasicSetup.BasicBowsBonus.Value} $btb_bows</color>"); stringBuilder.Append($"\n$btb_duration: <color=orange>{BasicSetup.BasicBuffCooldown.Value} min/s</color>"); return stringBuilder.ToString(); case "TrophyGreydwarfBrute": stringBuilder.Append($"$btb_skillbonus: <color=orange>+{BasicSetup.BasicClubsBonus.Value} $btb_clubs</color>"); stringBuilder.Append($"\n$btb_duration: <color=orange>{BasicSetup.BasicBuffCooldown.Value} min/s</color>"); return stringBuilder.ToString(); case "TrophyWraith": stringBuilder.Append($"$btb_skillbonus: <color=orange>+{BasicSetup.BasicCrossbowsBonus.Value} $btb_crossbow</color>"); stringBuilder.Append($"\n$btb_duration: <color=orange>{BasicSetup.BasicBuffCooldown.Value} min/s</color>"); return stringBuilder.ToString(); case "TrophySurtling": stringBuilder.Append($"$btb_skillbonus: <color=orange>+{BasicSetup.BasicElementalMagicBonus.Value} $btb_elementalmagic</color>"); stringBuilder.Append($"\n$btb_duration: <color=orange>{BasicSetup.BasicBuffCooldown.Value} min/s</color>"); return stringBuilder.ToString(); case "TrophyGreydwarf": stringBuilder.Append($"$btb_skillbonus: <color=orange>+{BasicSetup.BasicFistBonus.Value} $btb_fist</color>"); stringBuilder.Append($"\n$btb_duration: <color=orange>{BasicSetup.BasicBuffCooldown.Value} min/s</color>"); return stringBuilder.ToString(); case "TrophyLeech": stringBuilder.Append($"$btb_skillbonus: <color=orange>+{BasicSetup.BasicFishingBonus.Value} $btb_fishing</color>"); stringBuilder.Append($"\n$btb_duration: <color=orange>{BasicSetup.BasicBuffCooldown.Value} min/s</color>"); return stringBuilder.ToString(); case "TrophyUlv": stringBuilder.Append($"$btb_skillbonus: <color=orange>+{BasicSetup.BasicJumpBonus.Value} $btb_jump</color>"); stringBuilder.Append($"\n$btb_duration: <color=orange>{BasicSetup.BasicBuffCooldown.Value} min/s</color>"); return stringBuilder.ToString(); case "TrophyDeer": stringBuilder.Append($"$btb_skillbonus: <color=orange>+{BasicSetup.BasicKnivesBonus.Value} $btb_knives</color>"); stringBuilder.Append($"\n$btb_duration: <color=orange>{BasicSetup.BasicBuffCooldown.Value} min/s</color>"); return stringBuilder.ToString(); case "TrophyFrostTroll": stringBuilder.Append($"$btb_skillbonus: <color=orange>+{BasicSetup.BasicPickaxesBonus.Value} $btb_pickaxe</color>"); stringBuilder.Append($"\n$btb_duration: <color=orange>{BasicSetup.BasicBuffCooldown.Value} min/s</color>"); stringBuilder.Append(Plugin._hasLumberjackingMod ? $"\n$btb_skillbonus: <color=orange>+{BasicSetup.BasicWoodcuttingBonus.Value} $btb_lumberjacking</color>" : $"\n$btb_skillbonus: <color=orange>+{BasicSetup.BasicWoodcuttingBonus.Value} $btb_woodcutting</color>"); stringBuilder.Append($"\n$btb_duration: <color=orange>{BasicSetup.BasicBuffCooldown.Value} min/s</color>"); return stringBuilder.ToString(); case "TrophyHare": stringBuilder.Append($"$btb_skillbonus: <color=orange>+{BasicSetup.BasicRunBonus.Value} $btb_run</color>"); stringBuilder.Append($"\n$btb_duration: <color=orange>{BasicSetup.BasicBuffCooldown.Value} min/s</color>"); return stringBuilder.ToString(); case "TrophyDraugrFem": stringBuilder.Append($"$btb_skillbonus: <color=orange>+{BasicSetup.BasicPolearmsBonus.Value} $btb_polearms</color>"); stringBuilder.Append($"\n$btb_duration: <color=orange>{BasicSetup.BasicBuffCooldown.Value} min/s</color>"); return stringBuilder.ToString(); case "TrophyBoar": stringBuilder.Append($"$btb_skillbonus: <color=orange>+{BasicSetup.BasicSneakBonus.Value} $btb_sneak</color>"); stringBuilder.Append($"\n$btb_duration: <color=orange>{BasicSetup.BasicBuffCooldown.Value} min/s</color>"); return stringBuilder.ToString(); case "TrophyGreydwarfShaman": stringBuilder.Append($"$btb_skillbonus: <color=orange>+{BasicSetup.BasicSpearsBonus.Value} $btb_spears</color>"); stringBuilder.Append($"\n$btb_duration: <color=orange>{BasicSetup.BasicBuffCooldown.Value} min/s</color>"); return stringBuilder.ToString(); case "TrophyNeck": stringBuilder.Append($"$btb_skillbonus: <color=orange>+{BasicSetup.BasicSwimBonus.Value} $btb_swim</color>"); stringBuilder.Append($"\n$btb_duration: <color=orange>{BasicSetup.BasicBuffCooldown.Value} min/s</color>"); return stringBuilder.ToString(); case "TrophySkeleton": stringBuilder.Append($"$btb_skillbonus: <color=orange>+{BasicSetup.BasicSwordsBonus.Value} $btb_swords</color>"); stringBuilder.Append($"\n$btb_duration: <color=orange>{BasicSetup.BasicBuffCooldown.Value} min/s</color>"); return stringBuilder.ToString(); case "TrophyDvergr": stringBuilder.Append($"$btb_skillbonus: <color=orange>+{AdvanceSetup.AdvanceAxesBonus.Value} $btb_axes</color>"); stringBuilder.Append($"\n$btb_duration: <color=orange>{AdvanceSetup.AdvanceBuffCooldown.Value} min/s</color>"); return stringBuilder.ToString(); case "TrophyGrowth": stringBuilder.Append($"$btb_skillbonus: <color=orange>+{AdvanceSetup.AdvanceBlockingBonus.Value} $btb_blocking</color>"); stringBuilder.Append($"\n$btb_duration: <color=orange>{AdvanceSetup.AdvanceBuffCooldown.Value} min/s</color>"); return stringBuilder.ToString(); case "TrophyCultist": stringBuilder.Append($"$btb_skillbonus: <color=orange>+{AdvanceSetup.AdvanceBloodMagicBonus.Value} $btb_bloodmagic</color>"); stringBuilder.Append($"\n$btb_duration: <color=orange>{AdvanceSetup.AdvanceBuffCooldown.Value} min/s</color>"); return stringBuilder.ToString(); case "TrophyHatchling": stringBuilder.Append($"$btb_skillbonus: <color=orange>+{AdvanceSetup.AdvanceBowsBonus.Value} $btb_bows</color>"); stringBuilder.Append($"\n$btb_duration: <color=orange>{AdvanceSetup.AdvanceBuffCooldown.Value} min/s</color>"); return stringBuilder.ToString(); case "TrophyGoblinBrute": stringBuilder.Append($"$btb_skillbonus: <color=orange>+{AdvanceSetup.AdvanceClubsBonus.Value} $btb_clubs</color>"); stringBuilder.Append($"\n$btb_duration: <color=orange>{AdvanceSetup.AdvanceBuffCooldown.Value} min/s</color>"); return stringBuilder.ToString(); case "TrophyDeathsquito": stringBuilder.Append($"$btb_skillbonus: <color=orange>+{AdvanceSetup.AdvanceCrossbowsBonus.Value} $btb_crossbow</color>"); stringBuilder.Append($"\n$btb_duration: <color=orange>{AdvanceSetup.AdvanceBuffCooldown.Value} min/s</color>"); return stringBuilder.ToString(); case "TrophyGoblinShaman": stringBuilder.Append($"$btb_skillbonus: <color=orange>+{AdvanceSetup.AdvanceElementalMagicBonus.Value} $btb_elementalmagic</color>"); stringBuilder.Append($"\n$btb_duration: <color=orange>{AdvanceSetup.AdvanceBuffCooldown.Value} min/s</color>"); return stringBuilder.ToString(); case "TrophyFenring": stringBuilder.Append($"$btb_skillbonus: <color=orange>+{AdvanceSetup.AdvanceFistBonus.Value} $btb_fist</color>"); stringBuilder.Append($"\n$btb_duration: <color=orange>{AdvanceSetup.AdvanceBuffCooldown.Value} min/s</color>"); return stringBuilder.ToString(); case "TrophySerpent": stringBuilder.Append($"$btb_skillbonus: <color=orange>+{AdvanceSetup.AdvanceFishingBonus.Value} $btb_fishing</color>"); stringBuilder.Append($"\n$btb_duration: <color=orange>{AdvanceSetup.AdvanceBuffCooldown.Value} min/s</color>"); stringBuilder.Append($"\n$btb_skillbonus: <color=orange>+{AdvanceSetup.AdvanceSwimBonus.Value} $btb_swim</color>"); stringBuilder.Append($"\n$btb_duration: <color=orange>{AdvanceSetup.AdvanceBuffCooldown.Value} min/s</color>"); return stringBuilder.ToString(); case "TrophyWolf": stringBuilder.Append($"$btb_skillbonus: <color=orange>+{AdvanceSetup.AdvanceKnivesBonus.Value} $btb_knives</color>"); stringBuilder.Append($"\n$btb_duration: <color=orange>{AdvanceSetup.AdvanceBuffCooldown.Value} min/s</color>"); return stringBuilder.ToString(); case "TrophySGolem": stringBuilder.Append($"$btb_skillbonus: <color=orange>+{AdvanceSetup.AdvancePickaxesBonus.Value} $btb_pickaxe</color>"); stringBuilder.Append($"\n$btb_duration: <color=orange>{AdvanceSetup.AdvanceBuffCooldown.Value} min/s</color>"); return stringBuilder.ToString(); case "TrophyLox": stringBuilder.Append($"$btb_skillbonus: <color=orange>+{AdvanceSetup.AdvanceRidingBonus.Value} $btb_riding</color>"); stringBuilder.Append($"\n$btb_duration: <color=orange>{AdvanceSetup.AdvanceBuffCooldown.Value} min/s</color>"); return stringBuilder.ToString(); case "TrophyGjall": stringBuilder.Append($"$btb_skillbonus: <color=orange>+{AdvanceSetup.AdvanceRunBonus.Value} $btb_run</color>"); stringBuilder.Append($"\n$btb_duration: <color=orange>{AdvanceSetup.AdvanceBuffCooldown.Value} min/s</color>"); return stringBuilder.ToString(); case "TrophySeekerBrute": stringBuilder.Append($"$btb_skillbonus: <color=orange>+{AdvanceSetup.AdvancePolearmsBonus.Value} $btb_polearms</color>"); stringBuilder.Append($"\n$btb_duration: <color=orange>{AdvanceSetup.AdvanceBuffCooldown.Value} min/s</color>"); return stringBuilder.ToString(); case "TrophyTick": stringBuilder.Append($"$btb_skillbonus: <color=orange>+{AdvanceSetup.AdvanceSneakBonus.Value} $btb_sneak</color>"); stringBuilder.Append($"\n$btb_duration: <color=orange>{AdvanceSetup.AdvanceBuffCooldown.Value} min/s</color>"); return stringBuilder.ToString(); case "TrophySeeker": stringBuilder.Append($"$btb_skillbonus: <color=orange>+{AdvanceSetup.AdvanceSpearsBonus.Value} $btb_spears</color>"); stringBuilder.Append($"\n$btb_duration: <color=orange>{AdvanceSetup.AdvanceBuffCooldown.Value} min/s</color>"); return stringBuilder.ToString(); case "TrophyGoblin": stringBuilder.Append($"$btb_skillbonus: <color=orange>+{AdvanceSetup.AdvanceSwordsBonus.Value} $btb_swords</color>"); stringBuilder.Append($"\n$btb_duration: <color=orange>{AdvanceSetup.AdvanceBuffCooldown.Value} min/s</color>"); return stringBuilder.ToString(); case "TrophyAbomination": stringBuilder.Append(Plugin._hasLumberjackingMod ? $"$btb_skillbonus: <color=orange>+{AdvanceSetup.AdvanceWoodcuttingBonus.Value} $btb_lumberjacking</color>" : $"$btb_skillbonus: <color=orange>+{AdvanceSetup.AdvanceWoodcuttingBonus.Value} $btb_woodcutting</color>"); stringBuilder.Append($"\n$btb_duration: <color=orange>{AdvanceSetup.AdvanceBuffCooldown.Value} min/s</color>"); return stringBuilder.ToString(); default: return __result; } } catch { return __result; } } } [HarmonyPatch] internal class ObjectDBPatch { [HarmonyPatch(typeof(ObjectDB), "Awake")] [HarmonyPriority(700)] [HarmonyPostfix] private static void Awake_Postfix(ObjectDB __instance) { //IL_0000: Unknown result type (might be due to invalid IL or missing references) //IL_0005: Unknown result type (might be due to invalid IL or missing references) Scene activeScene = SceneManager.GetActiveScene(); if (!(((Scene)(ref activeScene)).name != "main") && !((Object)(object)__instance == (Object)null) && __instance.m_items.Count > 0) { CreateBuffs.Init(__instance); EnhancedTrophies.Init(__instance); SupremeTrophies.Init(__instance); PieceTable buildPieces = __instance.GetItemPrefab("Hammer").GetComponent<ItemDrop>().m_itemData.m_shared.m_buildPieces; if (buildPieces.m_pieces.Contains(PrefabSetup._cursedTrunk)) { buildPieces.m_pieces.Remove(PrefabSetup._cursedTrunk); } buildPieces.m_pieces.Add(PrefabSetup._cursedTrunk); __instance.UpdateRegisters(); } } [HarmonyPriority(700)] [HarmonyPostfix] [HarmonyPatch(typeof(ObjectDB), "CopyOtherDB")] private static void CopyOtherDB_Postfix(ObjectDB __instance) { //IL_0000: Unknown result type (might be due to invalid IL or missing references) //IL_0005: Unknown result type (might be due to invalid IL or missing references) Scene activeScene = SceneManager.GetActiveScene(); if (!(((Scene)(ref activeScene)).name != "main") && !((Object)(object)__instance == (Object)null) && __instance.m_items.Count > 0) { CreateBuffs.Init(__instance); EnhancedTrophies.Init(__instance); SupremeTrophies.Init(__instance); __instance.UpdateRegisters(); } } } [HarmonyPatch] internal class SkillsPatch { [HarmonyPostfix] [HarmonyPatch(typeof(Skills), "GetSkillLevel")] public static void GetSkillLevel_Postfix(Skills __instance, SkillType skillType, ref float __result) { //IL_0000: Unknown result type (might be due to invalid IL or missing references) //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0040: Expected I4, but got Unknown //IL_0c0b: Unknown result type (might be due to invalid IL or missing references) //IL_06df: Unknown result type (might be due to invalid IL or missing references) //IL_030f: Unknown result type (might be due to invalid IL or missing references) //IL_0953: Unknown result type (might be due to invalid IL or missing references) //IL_0aaf: Unknown result type (might be due to invalid IL or missing references) //IL_011d: Unknown result type (might be due to invalid IL or missing references) //IL_0077: Unknown result type (might be due to invalid IL or missing references) //IL_0269: Unknown result type (might be due to invalid IL or missing references) //IL_046b: Unknown result type (might be due to invalid IL or missing references) //IL_01c3: Unknown result type (might be due to invalid IL or missing references) //IL_0519: Unknown result type (might be due to invalid IL or missing references) //IL_078d: Unknown result type (might be due to invalid IL or missing references) //IL_0cb9: Unknown result type (might be due to invalid IL or missing references) //IL_03bd: Unknown result type (might be due to invalid IL or missing references) //IL_0040: Unknown result type (might be due to invalid IL or missing references) //IL_0043: Unknown result type (might be due to invalid IL or missing references) //IL_0075: Expected I4, but got Unknown //IL_0c4f: Unknown result type (might be due to invalid IL or missing references) //IL_0723: Unknown result type (might be due to invalid IL or missing references) //IL_0353: Unknown result type (might be due to invalid IL or missing references) //IL_0997: Unknown result type (might be due to invalid IL or missing references) //IL_0af3: Unknown result type (might be due to invalid IL or missing references) //IL_015e: Unknown result type (might be due to invalid IL or missing references) //IL_00b8: Unknown result type (might be due to invalid IL or missing references) //IL_02aa: Unknown result type (might be due to invalid IL or missing references) //IL_04af: Unknown result type (might be due to invalid IL or missing references) //IL_0204: Unknown result type (might be due to invalid IL or missing references) //IL_055d: Unknown result type (might be due to invalid IL or missing references) //IL_07d1: Unknown result type (might be due to invalid IL or missing references) //IL_0cfd: Unknown result type (might be due to invalid IL or missing references) //IL_0401: Unknown result type (might be due to invalid IL or missing references) //IL_0675: Unknown result type (might be due to invalid IL or missing references) //IL_0a01: Unknown result type (might be due to invalid IL or missing references) //IL_08a5: Unknown result type (might be due to invalid IL or missing references) //IL_0b5d: Unknown result type (might be due to invalid IL or missing references) //IL_05c7: Unknown result type (might be due to invalid IL or missing references) //IL_083b: Unknown result type (might be due to invalid IL or missing references) //IL_0cab: Unknown result type (might be due to invalid IL or missing references) //IL_0c93: Unknown result type (might be due to invalid IL or missing references) //IL_077f: Unknown result type (might be due to invalid IL or missing references) //IL_0767: Unknown result type (might be due to invalid IL or missing references) //IL_03af: Unknown result type (might be due to invalid IL or missing references) //IL_0397: Unknown result type (might be due to invalid IL or missing references) //IL_09f3: Unknown result type (might be due to invalid IL or missing references) //IL_09db: Unknown result type (might be due to invalid IL or missing references) //IL_0b4f: Unknown result type (might be due to invalid IL or missing references) //IL_0b37: Unknown result type (might be due to invalid IL or missing references) //IL_01b6: Unknown result type (might be due to invalid IL or missing references) //IL_019f: Unknown result type (might be due to invalid IL or missing references) //IL_0110: Unknown result type (might be due to invalid IL or missing references) //IL_00f9: Unknown result type (might be due to invalid IL or missing references) //IL_0302: Unknown result type (might be due to invalid IL or missing references) //IL_02eb: Unknown result type (might be due to invalid IL or missing references) //IL_050b: Unknown result type (might be due to invalid IL or missing references) //IL_04f3: Unknown result type (might be due to invalid IL or missing references) //IL_025c: Unknown result type (might be due to invalid IL or missing references) //IL_0245: Unknown result type (might be due to invalid IL or missing references) //IL_05b9: Unknown result type (might be due to invalid IL or missing references) //IL_05a1: Unknown result type (might be due to invalid IL or missing references) //IL_082d: Unknown result type (might be due to invalid IL or missing references) //IL_0815: Unknown result type (might be due to invalid IL or missing references) //IL_0d59: Unknown result type (might be due to invalid IL or missing references) //IL_0d41: Unknown result type (might be due to invalid IL or missing references) //IL_045d: Unknown result type (might be due to invalid IL or missing references) //IL_0445: Unknown result type (might be due to invalid IL or missing references) //IL_06d1: Unknown result type (might be due to invalid IL or missing references) //IL_06b9: Unknown result type (might be due to invalid IL or missing references) //IL_0a45: Unknown result type (might be due to invalid IL or missing references) //IL_08e9: Unknown result type (might be due to invalid IL or missing references) //IL_0ba1: Unknown result type (might be due to invalid IL or missing references) //IL_060b: Unknown result type (might be due to invalid IL or missing references) //IL_0897: Unknown result type (might be due to invalid IL or missing references) //IL_087f: Unknown result type (might be due to invalid IL or missing references) //IL_0aa1: Unknown result type (might be due to invalid IL or missing references) //IL_0a89: Unknown result type (might be due to invalid IL or missing references) //IL_0945: Unknown result type (might be due to invalid IL or missing references) //IL_092d: Unknown result type (might be due to invalid IL or missing references) //IL_0bfd: Unknown result type (might be due to invalid IL or missing references) //IL_0be5: Unknown result type (might be due to invalid IL or missing references) //IL_0667: Unknown result type (might be due to invalid IL or missing references) //IL_064f: Unknown result type (might be due to invalid IL or missing references) switch (skillType - 1) { case 6: { float level3 = __instance.GetSkill(skillType).m_level; if (((Character)__instance.m_player).GetSEMan().HaveStatusEffect(StringExtensionMethods.GetStableHashCode("blacks7ar_basic_axes"))) { level3 += (float)BasicSetup.BasicAxesBonus.Value; ((Character)__instance.m_player).GetSEMan().ModifySkillLevel(skillType, ref level3); __result = level3; } else if (((Character)__instance.m_player).GetSEMan().HaveStatusEffect(StringExtensionMethods.GetStableHashCode("blacks7ar_advance_axes"))) { level3 += (float)AdvanceSetup.AdvanceAxesBonus.Value; ((Character)__instance.m_player).GetSEMan().ModifySkillLevel(skillType, ref level3); __result = level3; } else { ((Character)__instance.m_player).GetSEMan().ModifySkillLevel(skillType, ref level3); __result = level3; } return; } case 5: { float level12 = __instance.GetSkill(skillType).m_level; if (((Character)__instance.m_player).GetSEMan().HaveStatusEffect(StringExtensionMethods.GetStableHashCode("blacks7ar_basic_blocking"))) { level12 += (float)BasicSetup.BasicBlockingBonus.Value; ((Character)__instance.m_player).GetSEMan().ModifySkillLevel(skillType, ref level12); __result = level12; } else if (((Character)__instance.m_player).GetSEMan().HaveStatusEffect(StringExtensionMethods.GetStableHashCode("blacks7ar_advance_blocking"))) { level12 += (float)AdvanceSetup.AdvanceBlockingBonus.Value; ((Character)__instance.m_player).GetSEMan().ModifySkillLevel(skillType, ref level12); __result = level12; } else { ((Character)__instance.m_player).GetSEMan().ModifySkillLevel(skillType, ref level12); __result = level12; } return; } case 9: { float level9 = __instance.GetSkill(skillType).m_level; if (((Character)__instance.m_player).GetSEMan().HaveStatusEffect(StringExtensionMethods.GetStableHashCode("blacks7ar_basic_bloodmagic"))) { level9 += (float)BasicSetup.BasicBloodMagicBonus.Value; ((Character)__instance.m_player).GetSEMan().ModifySkillLevel(skillType, ref level9); __result = level9; } else if (((Character)__instance.m_player).GetSEMan().HaveStatusEffect(StringExtensionMethods.GetStableHashCode("blacks7ar_advance_bloodmagic"))) { level9 += (float)AdvanceSetup.AdvanceBloodMagicBonus.Value; ((Character)__instance.m_player).GetSEMan().ModifySkillLevel(skillType, ref level9); __result = level9; } else { ((Character)__instance.m_player).GetSEMan().ModifySkillLevel(skillType, ref level9); __result = level9; } return; } case 7: { float level4 = __instance.GetSkill(skillType).m_level; if (((Character)__instance.m_player).GetSEMan().HaveStatusEffect(StringExtensionMethods.GetStableHashCode("blacks7ar_basic_bows"))) { level4 += (float)BasicSetup.BasicBowsBonus.Value; ((Character)__instance.m_player).GetSEMan().ModifySkillLevel(skillType, ref level4); __result = level4; } else if (((Character)__instance.m_player).GetSEMan().HaveStatusEffect(StringExtensionMethods.GetStableHashCode("blacks7ar_advance_bows"))) { level4 += (float)AdvanceSetup.AdvanceBowsBonus.Value; ((Character)__instance.m_player).GetSEMan().ModifySkillLevel(skillType, ref level4); __result = level4; } else { ((Character)__instance.m_player).GetSEMan().ModifySkillLevel(skillType, ref level4); __result = level4; } return; } case 2: { float level5 = __instance.GetSkill(skillType).m_level; if (((Character)__instance.m_player).GetSEMan().HaveStatusEffect(StringExtensionMethods.GetStableHashCode("blacks7ar_basic_clubs"))) { level5 += (float)BasicSetup.BasicClubsBonus.Value; ((Character)__instance.m_player).GetSEMan().ModifySkillLevel(skillType, ref level5); __result = level5; } else if (((Character)__instance.m_player).GetSEMan().HaveStatusEffect(StringExtensionMethods.GetStableHashCode("blacks7ar_advance_clubs"))) { level5 += (float)AdvanceSetup.AdvanceClubsBonus.Value; ((Character)__instance.m_player).GetSEMan().ModifySkillLevel(skillType, ref level5); __result = level5; } else { ((Character)__instance.m_player).GetSEMan().ModifySkillLevel(skillType, ref level5); __result = level5; } return; } case 13: { float level10 = __instance.GetSkill(skillType).m_level; if (((Character)__instance.m_player).GetSEMan().HaveStatusEffect(StringExtensionMethods.GetStableHashCode("blacks7ar_basic_crossbows"))) { level10 += (float)BasicSetup.BasicCrossbowsBonus.Value; ((Character)__instance.m_player).GetSEMan().ModifySkillLevel(skillType, ref level10); __result = level10; } else if (((Character)__instance.m_player).GetSEMan().HaveStatusEffect(StringExtensionMethods.GetStableHashCode("blacks7ar_advance_crossbows"))) { level10 += (float)AdvanceSetup.AdvanceCrossbowsBonus.Value; ((Character)__instance.m_player).GetSEMan().ModifySkillLevel(skillType, ref level10); __result = level10; } else { ((Character)__instance.m_player).GetSEMan().ModifySkillLevel(skillType, ref level10); __result = level10; } return; } case 8: { float level14 = __instance.GetSkill(skillType).m_level; if (((Character)__instance.m_player).GetSEMan().HaveStatusEffect(StringExtensionMethods.GetStableHashCode("blacks7ar_basic_elementalmagic"))) { level14 += (float)BasicSetup.BasicElementalMagicBonus.Value; ((Character)__instance.m_player).GetSEMan().ModifySkillLevel(skillType, ref level14); __result = level14; } else if (((Character)__instance.m_player).GetSEMan().HaveStatusEffect(StringExtensionMethods.GetStableHashCode("blacks7ar_advance_elementalmagic"))) { level14 += (float)AdvanceSetup.AdvanceElementalMagicBonus.Value; ((Character)__instance.m_player).GetSEMan().ModifySkillLevel(skillType, ref level14); __result = level14; } else { ((Character)__instance.m_player).GetSEMan().ModifySkillLevel(skillType, ref level14); __result = level14; } return; } case 10: { float level7 = __instance.GetSkill(skillType).m_level; if (((Character)__instance.m_player).GetSEMan().HaveStatusEffect(StringExtensionMethods.GetStableHashCode("blacks7ar_basic_fist"))) { level7 += (float)BasicSetup.BasicFistBonus.Value; ((Character)__instance.m_player).GetSEMan().ModifySkillLevel(skillType, ref level7); __result = level7; } else if (((Character)__instance.m_player).GetSEMan().HaveStatusEffect(StringExtensionMethods.GetStableHashCode("blacks7ar_advance_fist"))) { level7 += (float)AdvanceSetup.AdvanceFistBonus.Value; ((Character)__instance.m_player).GetSEMan().ModifySkillLevel(skillType, ref level7); __result = level7; } else { ((Character)__instance.m_player).GetSEMan().ModifySkillLevel(skillType, ref level7); __result = level7; } return; } case 1: { float level13 = __instance.GetSkill(skillType).m_level; if (((Character)__instance.m_player).GetSEMan().HaveStatusEffect(StringExtensionMethods.GetStableHashCode("blacks7ar_basic_knives"))) { level13 += (float)BasicSetup.BasicKnivesBonus.Value; ((Character)__instance.m_player).GetSEMan().ModifySkillLevel(skillType, ref level13); __result = level13; } else if (((Character)__instance.m_player).GetSEMan().HaveStatusEffect(StringExtensionMethods.GetStableHashCode("blacks7ar_advance_knives"))) { level13 += (float)AdvanceSetup.AdvanceKnivesBonus.Value; ((Character)__instance.m_player).GetSEMan().ModifySkillLevel(skillType, ref level13); __result = level13; } else { ((Character)__instance.m_player).GetSEMan().ModifySkillLevel(skillType, ref level13); __result = level13; } return; } case 11: { float level8 = __instance.GetSkill(skillType).m_level; if (((Character)__instance.m_player).GetSEMan().HaveStatusEffect(StringExtensionMethods.GetStableHashCode("blacks7ar_basic_pickaxes"))) { level8 += (float)BasicSetup.BasicPickaxesBonus.Value; ((Character)__instance.m_player).GetSEMan().ModifySkillLevel(skillType, ref level8); __result = level8; } else if (((Character)__instance.m_player).GetSEMan().HaveStatusEffect(StringExtensionMethods.GetStableHashCode("blacks7ar_advance_pickaxes"))) { level8 += (float)AdvanceSetup.AdvancePickaxesBonus.Value; ((Character)__instance.m_player).GetSEMan().ModifySkillLevel(skillType, ref level8); __result = level8; } else { ((Character)__instance.m_player).GetSEMan().ModifySkillLevel(skillType, ref level8); __result = level8; } return; } case 3: { float level2 = __instance.GetSkill(skillType).m_level; if (((Character)__instance.m_player).GetSEMan().HaveStatusEffect(StringExtensionMethods.GetStableHashCode("blacks7ar_basic_polearms"))) { level2 += (float)BasicSetup.BasicPolearmsBonus.Value; ((Character)__instance.m_player).GetSEMan().ModifySkillLevel(skillType, ref level2); __result = level2; } else if (((Character)__instance.m_player).GetSEMan().HaveStatusEffect(StringExtensionMethods.GetStableHashCode("blacks7ar_advance_polearms"))) { level2 += (float)AdvanceSetup.AdvancePolearmsBonus.Value; ((Character)__instance.m_player).GetSEMan().ModifySkillLevel(skillType, ref level2); __result = level2; } else { ((Character)__instance.m_player).GetSEMan().ModifySkillLevel(skillType, ref level2); __result = level2; } return; } case 4: { float level11 = __instance.GetSkill(skillType).m_level; if (((Character)__instance.m_player).GetSEMan().HaveStatusEffect(StringExtensionMethods.GetStableHashCode("blacks7ar_basic_spears"))) { level11 += (float)BasicSetup.BasicSpearsBonus.Value; ((Character)__instance.m_player).GetSEMan().ModifySkillLevel(skillType, ref level11); __result = level11; } else if (((Character)__instance.m_player).GetSEMan().HaveStatusEffect(StringExtensionMethods.GetStableHashCode("blacks7ar_advance_spears"))) { level11 += (float)AdvanceSetup.AdvanceSpe