From 52caaf6f9c34062b9cce5fd5ad83ea7ebd5a000f Mon Sep 17 00:00:00 2001 From: "ProjectKoi-Kalo\\Kalo" Date: Fri, 1 Aug 2025 21:47:59 +0800 Subject: [PATCH] =?UTF-8?q?=E5=BF=83=E7=81=B5=E5=A2=9E=E4=BC=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 1.6/Assemblies/WulaFallenEmpire.dll | Bin 111616 -> 112640 bytes .../Weapons/WULA_FE_Spiritualist_Weapon.xml | 17 +++++ Source/WulaFallenEmpire/CompPsychicScaling.cs | 31 ++++++++ .../HealthTracker_PreApplyDamage_Patch.cs | 69 ++++++++++++++++++ .../WulaFallenEmpire/WulaFallenEmpire.csproj | 2 + 5 files changed, 119 insertions(+) create mode 100644 Source/WulaFallenEmpire/CompPsychicScaling.cs create mode 100644 Source/WulaFallenEmpire/HarmonyPatches/HealthTracker_PreApplyDamage_Patch.cs diff --git a/1.6/Assemblies/WulaFallenEmpire.dll b/1.6/Assemblies/WulaFallenEmpire.dll index 7b2e5af361740922414a93342a3c28054ca40165..a014f4896ffece426f7f62c743702e16980f2a04 100644 GIT binary patch delta 28384 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 diff --git a/1.6/Defs/ThingDefs_Misc/Weapons/WULA_FE_Spiritualist_Weapon.xml b/1.6/Defs/ThingDefs_Misc/Weapons/WULA_FE_Spiritualist_Weapon.xml index 4c2356be..1c29e147 100644 --- a/1.6/Defs/ThingDefs_Misc/Weapons/WULA_FE_Spiritualist_Weapon.xml +++ b/1.6/Defs/ThingDefs_Misc/Weapons/WULA_FE_Spiritualist_Weapon.xml @@ -54,6 +54,23 @@ Mote_HellsphereCannon_Charge + + +
  • + + 1 + + 1 +
  • +
    None diff --git a/Source/WulaFallenEmpire/CompPsychicScaling.cs b/Source/WulaFallenEmpire/CompPsychicScaling.cs new file mode 100644 index 00000000..e4d2a045 --- /dev/null +++ b/Source/WulaFallenEmpire/CompPsychicScaling.cs @@ -0,0 +1,31 @@ +using RimWorld; +using Verse; + +namespace WulaFallenEmpire +{ + /// + /// 这个组件的XML属性定义。允许在XML中配置加成系数。 + /// + public class CompProperties_PsychicScaling : CompProperties + { + // 每点心灵敏感度(超出100%的部分)提供的伤害【增伤】乘数。 + public float damageMultiplierPerSensitivityPoint = 0.25f; + + // 每点心灵敏感度(低于100%的部分)提供的伤害【减伤】乘数。 + // 例如,系数为1时,50%敏感度将造成 1 - (1 - 0.5) * 1 = 0.5倍伤害。 + public float damageReductionMultiplierPerSensitivityPoint = 1f; + + public CompProperties_PsychicScaling() + { + compClass = typeof(CompPsychicScaling); + } + } + + /// + /// 附加到武器上的实际组件。它本身只是一个标记,真正的逻辑在Harmony Patch中。 + /// + public class CompPsychicScaling : ThingComp + { + public CompProperties_PsychicScaling Props => (CompProperties_PsychicScaling)props; + } +} \ No newline at end of file diff --git a/Source/WulaFallenEmpire/HarmonyPatches/HealthTracker_PreApplyDamage_Patch.cs b/Source/WulaFallenEmpire/HarmonyPatches/HealthTracker_PreApplyDamage_Patch.cs new file mode 100644 index 00000000..47229321 --- /dev/null +++ b/Source/WulaFallenEmpire/HarmonyPatches/HealthTracker_PreApplyDamage_Patch.cs @@ -0,0 +1,69 @@ +using HarmonyLib; +using RimWorld; +using Verse; + +namespace WulaFallenEmpire.HarmonyPatches +{ + [HarmonyPatch(typeof(Pawn_HealthTracker), "PreApplyDamage")] + public static class HealthTracker_PreApplyDamage_Patch + { + /// + /// 在伤害应用到Pawn之前执行的补丁。 + /// + /// 伤害信息,可以被修改。 + /// 输出参数,如果伤害被完全吸收则为true。 + public static void Prefix(ref DamageInfo dinfo, out bool absorbed) + { + // 必须为out参数赋默认值 + absorbed = false; + + // 检查伤害来源是否是一个Pawn + Pawn instigatorPawn = dinfo.Instigator as Pawn; + if (instigatorPawn == null) + { + return; + } + + // 检查这个Pawn是否装备了武器 + if (instigatorPawn.equipment?.Primary == null) + { + return; + } + + // 检查武器上是否有我们的心灵增幅组件 + var psychicComp = instigatorPawn.equipment.Primary.GetComp(); + if (psychicComp == null) + { + return; + } + + // 获取心灵敏感度属性值 + float psychicSensitivity = instigatorPawn.GetStatValue(StatDefOf.PsychicSensitivity); + + // 根据心灵敏感度是否大于100%,使用不同的计算逻辑 + float damageMultiplier; + if (psychicSensitivity > 1f) + { + // 增伤:伤害会根据XML中的增伤系数获得额外加成 + damageMultiplier = 1 + ((psychicSensitivity - 1) * psychicComp.Props.damageMultiplierPerSensitivityPoint); + } + else if (psychicSensitivity < 1f) + { + // 减伤:伤害会根据XML中的减伤系数降低 + damageMultiplier = 1 - ((1 - psychicSensitivity) * psychicComp.Props.damageReductionMultiplierPerSensitivityPoint); + } + else + { + // 敏感度正好为100%,伤害不变 + damageMultiplier = 1f; + } + + // 获取当前伤害值并应用乘数 + float originalAmount = dinfo.Amount; + float newAmount = originalAmount * damageMultiplier; + + // 更新伤害信息中的伤害值 + dinfo.SetAmount(newAmount); + } + } +} \ No newline at end of file diff --git a/Source/WulaFallenEmpire/WulaFallenEmpire.csproj b/Source/WulaFallenEmpire/WulaFallenEmpire.csproj index 1a6de663..8dea8b0f 100644 --- a/Source/WulaFallenEmpire/WulaFallenEmpire.csproj +++ b/Source/WulaFallenEmpire/WulaFallenEmpire.csproj @@ -119,6 +119,8 @@ + +