Decompiled source of OutHard Gameplay Overhaul v1.1.3
OuthardCombat.dll
Decompiled a month agousing System.Diagnostics; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; using System.Runtime.Versioning; using System.Security; using System.Security.Permissions; using BepInEx; using BepInEx.Logging; using HarmonyLib; using UnityEngine; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)] [assembly: AssemblyTitle("OutwardModTemplate")] [assembly: AssemblyDescription("")] [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("")] [assembly: AssemblyProduct("OutwardModTemplate")] [assembly: AssemblyCopyright("Copyright © 2021")] [assembly: AssemblyTrademark("")] [assembly: ComVisible(false)] [assembly: Guid("c5450fe0-edcf-483f-b9ea-4b1ef9d36da7")] [assembly: AssemblyFileVersion("1.0.0.0")] [assembly: TargetFramework(".NETFramework,Version=v4.7.2", FrameworkDisplayName = ".NET Framework 4.7.2")] [assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)] [assembly: AssemblyVersion("1.0.0.0")] [module: UnverifiableCode] namespace OutwardModTemplate; [BepInPlugin("DubsMod.NoCombatMusic", "NoCombatMusic", "1.0.0")] public class DubsNoCombatMod : BaseUnityPlugin { public const string GUID = "DubsMod.NoCombatMusic"; public const string NAME = "NoCombatMusic"; public const string VERSION = "1.0.0"; internal static ManualLogSource Log; internal void Awake() { //IL_0011: Unknown result type (might be due to invalid IL or missing references) Log = ((BaseUnityPlugin)this).Logger; new Harmony("DubsMod.NoCombatMusic").PatchAll(); } } [HarmonyPatch(typeof(GlobalAudioManager), "CombatStarted")] public class GlobalAudioManagerNoCombatMusic { [HarmonyPrefix] private static bool Prefix(Character __instance) { return false; } } [BepInPlugin("com.outward.DubsPotions", "DubsPotions", "1.0")] public class DubsPotions : BaseUnityPlugin { [HarmonyPatch(typeof(Item), "StartEffectsCast")] private class Item_StartEffectsCast { [HarmonyPrefix] public static bool Prefix(Item __instance, Character _targetChar) { //IL_0020: Unknown result type (might be due to invalid IL or missing references) //IL_0022: Unknown result type (might be due to invalid IL or missing references) //IL_0027: Unknown result type (might be due to invalid IL or missing references) //IL_0028: Unknown result type (might be due to invalid IL or missing references) //IL_002b: Invalid comparison between Unknown and I4 //IL_0030: Unknown result type (might be due to invalid IL or missing references) //IL_0037: Unknown result type (might be due to invalid IL or missing references) //IL_002e: Unknown result type (might be due to invalid IL or missing references) if (__instance.IsDrink) { int num = (int)methodGetCastSheathRequired.Invoke(__instance, new object[0]); SpellCastModifier val = (SpellCastModifier)1; SpellCastType val2 = __instance.ActivateEffectAnimType; if ((int)val2 == 28) { val2 = (SpellCastType)2; } _targetChar.CastSpell(val2, ((Component)__instance).gameObject, val, num, __instance.MobileCastMovementMult); return false; } return true; } } private const string ID = "com.outward.DubsPotions"; private const string NAME = "DubsPotions"; private const string VERSION = "1.0"; private static MethodInfo methodGetCastSheathRequired; internal void Awake() { //IL_0023: Unknown result type (might be due to invalid IL or missing references) methodGetCastSheathRequired = typeof(Item).GetMethod("GetCastSheathRequired", AccessTools.all); new Harmony("com.outward.DubsPotions").PatchAll(Assembly.GetExecutingAssembly()); } } public class DubsSkillLearner { }
OuthardEconomy.dll
Decompiled a month agousing System.Collections.Generic; using System.Diagnostics; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; using System.Runtime.Versioning; using System.Security; using System.Security.Permissions; using BepInEx; using BepInEx.Configuration; using BepInEx.Logging; using HarmonyLib; using SideLoader; using UnityEngine; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)] [assembly: AssemblyTitle("OutwardModTemplate")] [assembly: AssemblyDescription("")] [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("")] [assembly: AssemblyProduct("OutwardModTemplate")] [assembly: AssemblyCopyright("Copyright © 2021")] [assembly: AssemblyTrademark("")] [assembly: ComVisible(false)] [assembly: Guid("c5450fe0-edcf-483f-b9ea-4b1ef9d36da7")] [assembly: AssemblyFileVersion("1.0.0.0")] [assembly: TargetFramework(".NETFramework,Version=v4.7.2", FrameworkDisplayName = ".NET Framework 4.7.2")] [assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)] [assembly: AssemblyVersion("1.0.0.0")] [module: UnverifiableCode] namespace OutwardModTemplate; [BepInPlugin("myname.mymod", "MyMod", "1.0.0")] public class DubsThing : BaseUnityPlugin { [HarmonyPatch(typeof(Merchant), "RefreshInventory")] public class MerchantRefreshInventoryPatch { private static void Postfix(Merchant __instance) { __instance.MerchantPouch.RemoveAllSilver(); __instance.AverageSilverOnRefresh = 0; } } [HarmonyPatch(typeof(ItemDropper), "GenerateItem")] public class ItemDropper_GenerateItem { [HarmonyPostfix] public static void Postfix(ItemDropper __instance, ItemContainer _container, BasicItemDrop _itemDrop, int _spawnAmount) { Log.LogMessage((object)"ItemDropper Interaction"); Character characterUsing = ((Item)_container).m_characterUsing; if ((Object)(object)characterUsing != (Object)null) { Log.LogMessage((object)"ItemDropper Interaction Character not null"); List<int> list = CanItemDrop(characterUsing); if (list != null && list.Count > 0) { Log.LogMessage((object)$"ItemDropper Interaction ItemDropped {list[0]}"); GrantCharacterItems(list, characterUsing); } } } } [HarmonyPatch(typeof(InteractionOpenContainer), "OnActivationDone")] public class InteractionOpenContainer_OnActivationDone { [HarmonyPrefix] public static void Prefix(InteractionOpenContainer __instance) { Character lastCharacter = ((InteractionBase)__instance).LastCharacter; if ((Object)(object)lastCharacter != (Object)null) { List<int> list = CanItemDrop(lastCharacter); Log.LogMessage((object)"InteractionOpenContainer Character not null"); if (list != null && list.Count > 0) { Log.LogMessage((object)$"InteractionOpenContaine Interaction ItemDropped {list[0]}"); GrantCharacterItems(list, lastCharacter); } } } } [HarmonyPatch(typeof(Currency))] public class CurrencyPatch { [HarmonyPatch(/*Could not decode attribute arguments.*/)] [HarmonyPostfix] public static void SilverIconGetterPostfix(ref Sprite __result) { if ((Object)(object)CustomSilverIcon != (Object)null) { __result = CustomSilverIcon; } else { Debug.LogWarning((object)"Custom sprite is null, using original SilverIcon"); } } } [HarmonyPatch(typeof(Currency), "GetSilverWeight")] public class CurrencyGetSilverWeightPatch { [HarmonyPrefix] public static bool Prefix(int _silverAmount, ref float __result) { __result = 0f; return false; } } public const string GUID = "myname.mymod"; public const string NAME = "MyMod"; public const string VERSION = "1.0.0"; internal static ManualLogSource Log; public static ConfigEntry<bool> ExampleConfig; public static ConfigEntry<float> Item59200; public static ConfigEntry<float> Item59201; public static ConfigEntry<float> Item59202; public static ConfigEntry<float> Item59203; public static ConfigEntry<float> Item59204; public static ConfigEntry<float> Item59205; public static ConfigEntry<int> GoldMinDrop; public static ConfigEntry<int> GoldMaxDrop; public const int GoldCurrencyID = -59200; public static List<AdditionalItemDrops> ItemDrops = new List<AdditionalItemDrops>(); public static Dictionary<int, ConfigEntry<float>> Map = new Dictionary<int, ConfigEntry<float>>(); public static Sprite CustomSilverIcon = null; internal void Awake() { //IL_0180: Unknown result type (might be due to invalid IL or missing references) Log = ((BaseUnityPlugin)this).Logger; Log.LogMessage((object)"Hello world from MyMod 1.0.0!"); Item59200 = ((BaseUnityPlugin)this).Config.Bind<float>("Dub Item Drop Chances", "Gold Coin Drop Chance", 50f, (ConfigDescription)null); Item59201 = ((BaseUnityPlugin)this).Config.Bind<float>("Dub Item Drop Chances", "Forgotten Knowledge Drop Chance", 50f, (ConfigDescription)null); Item59202 = ((BaseUnityPlugin)this).Config.Bind<float>("Dub Item Drop Chances", "Knowledge Scroll", 50f, (ConfigDescription)null); Item59203 = ((BaseUnityPlugin)this).Config.Bind<float>("Dub Item Drop Chances", "Advanced Knowledge Scroll", 50f, (ConfigDescription)null); Item59204 = ((BaseUnityPlugin)this).Config.Bind<float>("Dub Item Drop Chances", "Attribute Scroll", 50f, (ConfigDescription)null); GoldMinDrop = ((BaseUnityPlugin)this).Config.Bind<int>("Dub Item Drop Chances", "Gold Drop Min", 5, (ConfigDescription)null); GoldMaxDrop = ((BaseUnityPlugin)this).Config.Bind<int>("Dub Item Drop Chances", "Gold Drop Max", 50, (ConfigDescription)null); Map.Clear(); Map.Add(-59200, Item59200); Map.Add(-59201, Item59201); Map.Add(-59202, Item59202); Map.Add(-59203, Item59203); Map.Add(-59204, Item59204); SL.OnPacksLoaded += SL_OnPacksLoaded; new Harmony("myname.mymod").PatchAll(); } private void SL_OnPacksLoaded() { Log.LogMessage((object)"SL_OnPacksLoaded : OutHard_Gameplay_Overhaul"); SLPack sLPack = SL.GetSLPack("OutHard_Gameplay_Overhaul"); if (sLPack != null) { Texture2D val = sLPack.Texture2D["Influence"]; if ((Object)(object)val != (Object)null) { Log.LogMessage((object)"creating sprite from texture"); Log.LogMessage((object)CustomSilverIcon); } else { Log.LogMessage((object)"Could not find Texture named Influence"); } } else { Log.LogMessage((object)"Could not find SLPack : OutHard_Gameplay_Overhaul"); } } public static List<int> CanItemDrop(Character Character) { List<int> list = new List<int>(); foreach (AdditionalItemDrops itemDrop in ItemDrops) { float num = Random.Range(0, 100); if (Map.ContainsKey(itemDrop.ItemID) && num <= Map[itemDrop.ItemID].Value) { list.Add(itemDrop.ItemID); break; } } return list; } public static void GrantCharacterItems(List<int> Droppeditems, Character character) { if (Droppeditems == null || Droppeditems.Count <= 0) { return; } foreach (int Droppeditem in Droppeditems) { if (Droppeditem == -59200) { int num = Random.Range(GoldMinDrop.Value, GoldMaxDrop.Value); character.Inventory.GenerateItem(ItemManager.Instance.GenerateItemNetwork(Droppeditem), num, false); } else { character.Inventory.GenerateItem(ItemManager.Instance.GenerateItemNetwork(Droppeditem), 1, false); } } } } public class AdditionalItemDrops { public int ItemID; public int ItemAmount; }
OuthardSkills.dll
Decompiled a month agousing System; using System.Diagnostics; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; using System.Runtime.Versioning; using System.Security; using System.Security.Permissions; using BepInEx; using BepInEx.Logging; using SideLoader; using UnityEngine; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)] [assembly: AssemblyTitle("OutwardModTemplate")] [assembly: AssemblyDescription("")] [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("")] [assembly: AssemblyProduct("OutwardModTemplate")] [assembly: AssemblyCopyright("Copyright © 2021")] [assembly: AssemblyTrademark("")] [assembly: ComVisible(false)] [assembly: Guid("c5450fe0-edcf-483f-b9ea-4b1ef9d36da7")] [assembly: AssemblyFileVersion("1.0.0.0")] [assembly: TargetFramework(".NETFramework,Version=v4.7.2", FrameworkDisplayName = ".NET Framework 4.7.2")] [assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)] [assembly: AssemblyVersion("1.0.0.0")] [module: UnverifiableCode] namespace OuthardAdditionsSkill; [BepInPlugin("OuthardAdditionsSkill", "OuthardAdditionsSkill", "1.0.0")] public class OuthardAdditionsSkill : BaseUnityPlugin { public const string GUID = "OuthardAdditionsSkill"; public const string NAME = "OuthardAdditionsSkill"; public const string VERSION = "1.0.0"; internal static ManualLogSource Log; public const int OuthardAdditionsSkillID = -59040; public Skill OuthardAdditions; public const int OuthardAdditions1SkillID = -59065; public Skill OuthardAdditions1; public const int OuthardAdditions2SkillID = -59237; public Skill OuthardAdditions2; internal void Awake() { Log = ((BaseUnityPlugin)this).Logger; Log.LogMessage((object)"Hello world from OuthardAdditionsSkill 1.0.0!"); SL.OnSceneLoaded += OnSceneLoaded; } private void OnSceneLoaded() { try { foreach (Character value in CharacterManager.Instance.Characters.Values) { if (!value.IsAI && (Object)(object)value.Inventory != (Object)null && !value.Inventory.LearnedSkill((Item)(object)OuthardAdditions)) { value.Inventory.ReceiveSkillReward(-59040); value.Inventory.ReceiveSkillReward(-59065); value.Inventory.ReceiveSkillReward(-59237); } } } catch (Exception arg) { Log.LogMessage((object)$"Exception during PowerAdjustmentLearn.OnSceneLoaded: {arg}"); } } }
OuthardTrainers.dll
Decompiled a month agousing System.Diagnostics; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; using System.Runtime.Versioning; using System.Security; using System.Security.Permissions; using BepInEx; using BepInEx.Logging; using SideLoader_ExtendedEffects; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)] [assembly: AssemblyTitle("OuthardAdditions")] [assembly: AssemblyDescription("")] [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("")] [assembly: AssemblyProduct("OuthardAdditions")] [assembly: AssemblyCopyright("Copyright © 2021")] [assembly: AssemblyTrademark("")] [assembly: ComVisible(false)] [assembly: Guid("c5450fe0-edcf-483f-b9ea-4b1ef9d36da7")] [assembly: AssemblyFileVersion("1.0.0.0")] [assembly: TargetFramework(".NETFramework,Version=v4.7.2", FrameworkDisplayName = ".NET Framework 4.7.2")] [assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)] [assembly: AssemblyVersion("1.0.0.0")] [module: UnverifiableCode] namespace OuthardAdditions; [BepInPlugin("Outhard.Additions", "Outhard Additions", "1.0.0")] public class TrainerSkillTree : BaseUnityPlugin { public const string GUID = "Outhard.Additions"; public const string NAME = "Outhard Additions"; public const string VERSION = "1.0.0"; internal static ManualLogSource Log; internal void Awake() { Log = ((BaseUnityPlugin)this).Logger; ExtendedEffects.AddSkillTreeOverride("amNWoE86iEuFXwR0W0IN1g", "customritualistskilltree-dub"); ExtendedEffects.AddSkillTreeOverride("T9WMtY19iE-xHgY8YvL-pg", "customsageskilltree-dub"); ExtendedEffects.AddSkillTreeOverride("RDpO95DLnUCAbO2r6wFXWQ", "customspellbladeskilltree-dub"); ExtendedEffects.AddSkillTreeOverride("COjwWffxskCCJArwPse8sg", "custommercenaryskilltree-dub"); ExtendedEffects.AddSkillTreeOverride("sFByVx3FlkqcousWhBuMoQ", "customphilosopherskilltree-dub"); ExtendedEffects.AddSkillTreeOverride("px5m8Zz0BkuxKlKqQ3WWVw", "custommonkskilltree-dub"); ExtendedEffects.AddSkillTreeOverride("QLNeDTk4R06-FYBYH3-pFg", "customhermitskilltree-dub"); ExtendedEffects.AddSkillTreeOverride("ib2QuU8At0ylS4xT_uOXMQ", "customrogueskilltree-dub"); ExtendedEffects.AddSkillTreeOverride("YV9EcfuJ4Uak484H4nf98A", "customhunterskilltree-dub"); ExtendedEffects.AddSkillTreeOverride("GopwgEoanEa888blVh8s6A", "customspeedsterskilltree-dub"); ExtendedEffects.AddSkillTreeOverride("awsiJhIN-UmoO6JxQuzjIA", "customhexskilltree-dub"); } }