This commit is contained in:
Tourswen
2025-12-07 03:07:50 +08:00
parent 8a158d1ced
commit f1956d5961
43 changed files with 1079 additions and 426 deletions

View File

@@ -0,0 +1,48 @@
using RimWorld;
using Verse;
namespace WulaFallenEmpire
{
public class CompProperties_AbilityRequiresNonHostility : CompProperties_AbilityEffect
{
public FactionDef factionDef;
public CompProperties_AbilityRequiresNonHostility()
{
compClass = typeof(CompAbilityEffect_RequiresNonHostility);
}
}
public class CompAbilityEffect_RequiresNonHostility : CompAbilityEffect
{
public new CompProperties_AbilityRequiresNonHostility Props => (CompProperties_AbilityRequiresNonHostility)props;
public override bool GizmoDisabled(out string reason)
{
Pawn pawn = parent.pawn;
if (pawn == null || pawn.Faction == null || Props.factionDef == null)
{
reason = null;
return false;
}
// 查找指定派系
Faction targetFaction = Find.FactionManager.FirstFactionOfDef(Props.factionDef);
if (targetFaction == null)
{
reason = null;
return false;
}
// 检查是否敌对
if (pawn.Faction.HostileTo(targetFaction))
{
reason = "WULA_AbilityRequiresNonHostility".Translate(Props.factionDef);
return true;
}
reason = null;
return false;
}
}
}