From dd0122fd6eab4d989b9b57afd5858c1386df7add Mon Sep 17 00:00:00 2001 From: linkaixiang Date: Wed, 19 Oct 2022 12:30:29 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8A=A0=E4=B8=AA=E6=81=A9=E4=B9=89=E9=94=81?= =?UTF-8?q?=E5=AE=9A=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- LKXMods.sln | 8 ++- LKXModsEnYi/LKXModsEnYi.csproj | 22 ++++++++ LKXModsEnYi/Main.cs | 83 ++++++++++++++++++++++++++++ LKXModsGongFaGridCost/Main.cs | 2 +- LKXModsGongFaGridCostBackend/Main.cs | 2 +- 5 files changed, 114 insertions(+), 3 deletions(-) create mode 100644 LKXModsEnYi/LKXModsEnYi.csproj create mode 100644 LKXModsEnYi/Main.cs diff --git a/LKXMods.sln b/LKXMods.sln index 5197f25..59ee5e5 100644 --- a/LKXMods.sln +++ b/LKXMods.sln @@ -9,10 +9,12 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LKXModsWarehouseAndBag", "L EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LKXModsGongFaGridCostBackend", "LKXModsGongFaGridCostBackend\LKXModsGongFaGridCostBackend.csproj", "{CFD3673E-129C-46B5-8658-DEE6364BF6D6}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ClassLibrary1", "ClassLibrary1\ClassLibrary1.csproj", "{2467E55D-9EF1-4328-B21A-8D214BFC183B}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ClassLibrary1", "ClassLibrary1\ClassLibrary1.csproj", "{2467E55D-9EF1-4328-B21A-8D214BFC183B}" EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ClassLibrary2", "ClassLibrary2\ClassLibrary2.csproj", "{DC7A7D28-D1B6-4268-8931-05EBC1D9E632}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "LKXModsEnYi", "LKXModsEnYi\LKXModsEnYi.csproj", "{011274C7-7F5B-46B0-ACC1-9FC11C3621C4}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -39,6 +41,10 @@ Global {DC7A7D28-D1B6-4268-8931-05EBC1D9E632}.Debug|Any CPU.Build.0 = Debug|Any CPU {DC7A7D28-D1B6-4268-8931-05EBC1D9E632}.Release|Any CPU.ActiveCfg = Release|Any CPU {DC7A7D28-D1B6-4268-8931-05EBC1D9E632}.Release|Any CPU.Build.0 = Release|Any CPU + {011274C7-7F5B-46B0-ACC1-9FC11C3621C4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {011274C7-7F5B-46B0-ACC1-9FC11C3621C4}.Debug|Any CPU.Build.0 = Debug|Any CPU + {011274C7-7F5B-46B0-ACC1-9FC11C3621C4}.Release|Any CPU.ActiveCfg = Release|Any CPU + {011274C7-7F5B-46B0-ACC1-9FC11C3621C4}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/LKXModsEnYi/LKXModsEnYi.csproj b/LKXModsEnYi/LKXModsEnYi.csproj new file mode 100644 index 0000000..f8ad772 --- /dev/null +++ b/LKXModsEnYi/LKXModsEnYi.csproj @@ -0,0 +1,22 @@ + + + + net5.0 + + + + + E:\SteamLibrary\steamapps\common\The Scroll Of Taiwu\The Scroll of Taiwu_Data\Managed\0Harmony.dll + False + + + E:\SteamLibrary\steamapps\common\The Scroll Of Taiwu\Backend\GameData.dll + False + + + E:\SteamLibrary\steamapps\common\The Scroll Of Taiwu\The Scroll of Taiwu_Data\Managed\TaiwuModdingLib.dll + False + + + + diff --git a/LKXModsEnYi/Main.cs b/LKXModsEnYi/Main.cs new file mode 100644 index 0000000..e8d86de --- /dev/null +++ b/LKXModsEnYi/Main.cs @@ -0,0 +1,83 @@ +using HarmonyLib; +using TaiwuModdingLib.Core.Plugin; +using Config; +using System.Collections.Generic; +using GameData.Utilities; +using GameData.Domains; +using GameData.Domains.Combat; +using GameData.Domains.CombatSkill; +using System; +using GameData.Common; +using GameData.Domains.Character; +using GameData.Domains.Map; + +namespace LKXModsEnYi +{ + [PluginConfig("LKXModsEnYi", "LKX", "0.1.0")] + public class Run : TaiwuRemakePlugin + { + private Harmony harmony; + + private static short _fulongAreaTemplateId = 29; + private static short _ranshanAreaTemplateId = 22; + + public override void Dispose() + { + if (harmony != null) + { + harmony.UnpatchSelf(); + harmony = null; + } + } + + public override void Initialize() + { + harmony = Harmony.CreateAndPatchAll(typeof(Run)); + } + + private static bool enableRanShan; + private static bool enableFuLong; + public override void OnModSettingUpdate() + { + DomainManager.Mod.GetSetting(ModIdStr, "enableRanShan", ref enableRanShan); + DomainManager.Mod.GetSetting(ModIdStr, "enableFuLong", ref enableFuLong); + } + + public override void OnLoadedArchiveData() + { + base.OnLoadedArchiveData(); + + /*List mapAreaKeys = Config.MapArea.Instance.GetAllKeys(); + foreach (short areaKey in mapAreaKeys) + { + MapAreaItem item = Config.MapArea.Instance[areaKey]; + AdaptableLog.Info(item.Name + ":" + item.TemplateId); + } + + AdaptableLog.Error("成功加载存档");*/ + } + + /// + /// patch功法修改 + /// + /// + /// + [HarmonyPrefix, HarmonyPatch(typeof(GameData.Domains.Map.MapDomain), "ChangeSpiritualDebt")] + public static void MapDomain_ChangeSpiritualDebt_Patch(GameData.Domains.Map.MapDomain __instance, DataContext context, short areaId, ref short spiritualDebt) + { + MapAreaData areaData = __instance.GetElement_Areas(areaId); + //AdaptableLog.Info("spiritualDebt:" + spiritualDebt); + if (_fulongAreaTemplateId > 0 && enableFuLong && areaData.GetTemplateId() == _fulongAreaTemplateId) + { + //AdaptableLog.Info("设置赤明岛100%恩义。"); + spiritualDebt = 1000; + } + if(_ranshanAreaTemplateId > 0 && enableRanShan && areaData.GetTemplateId() == _ranshanAreaTemplateId) + { + //AdaptableLog.Info("设置然山100%恩义。"); + spiritualDebt = 1000; + } + } + + } +} diff --git a/LKXModsGongFaGridCost/Main.cs b/LKXModsGongFaGridCost/Main.cs index 5af5cd5..bb30635 100644 --- a/LKXModsGongFaGridCost/Main.cs +++ b/LKXModsGongFaGridCost/Main.cs @@ -7,7 +7,7 @@ namespace LKXModsGongFaGridCost { - [PluginConfig("LKXModsGongFaGridCost", "LKX", "0.2.3")] + [PluginConfig("LKXModsGongFaGridCost", "LKX", "0.11.0")] public class Run : TaiwuRemakePlugin { private Harmony harmony; diff --git a/LKXModsGongFaGridCostBackend/Main.cs b/LKXModsGongFaGridCostBackend/Main.cs index f5ddfbb..dd14979 100644 --- a/LKXModsGongFaGridCostBackend/Main.cs +++ b/LKXModsGongFaGridCostBackend/Main.cs @@ -12,7 +12,7 @@ namespace LKXModsGongFaGridCostBackend { - [PluginConfig("LKXModsGongFaGridCostBackend", "LKX", "0.2.3")] + [PluginConfig("LKXModsGongFaGridCostBackend", "LKX", "0.11.0")] public class Run : TaiwuRemakePlugin { private Harmony harmony;