This commit is contained in:
2026-02-24 17:33:16 +08:00
parent 96bc1d4c5a
commit 5195d05045
13 changed files with 333 additions and 205 deletions

View File

@@ -66,10 +66,6 @@ namespace WulaFallenEmpire
Messages.Message("WULA_MechRecycled".Translate(mech.LabelCap, storedMechanoidCount, Props.maxStorageCapacity),
MessageTypeDefOf.PositiveEvent);
// 通知转换组件存储更新
var transformComp = this.TryGetComp<CompTransformAtFullCapacity>();
transformComp?.NotifyStorageUpdated();
}
// 消耗机械族计数

View File

@@ -390,7 +390,6 @@ For each function call, return a JSON object within <tool_call></tool_call> tags
_tools.Add(new Tool_ModifyGoodwill());
_tools.Add(new Tool_SendReinforcement());
_tools.Add(new Tool_GetPawnStatus());
_tools.Add(new Tool_GetPawnGear());
_tools.Add(new Tool_GetMapResources());
_tools.Add(new Tool_GetAvailablePrefabs());
_tools.Add(new Tool_GetMapPawns());

View File

@@ -59,31 +59,6 @@ namespace WulaFallenEmpire.HarmonyPatches
DebugStats[__instance] = new DamageBlockStats();
DebugStats[__instance].totalHits++;
// 第一步检查伤害免疫HediffComp
if (__instance is Pawn pawn)
{
bool blockedByInvulnerable = CheckInvulnerableHediff(pawn, dinfo, out HediffComp_Invulnerable invulnerableComp);
if (blockedByInvulnerable)
{
// 被HediffComp免疫阻挡
DebugStats[__instance].invulnerableBlocked++;
// 显示免疫效果
ShowImmuneEffect(pawn, dinfo);
// 播放免疫音效
PlayImmuneSound(pawn);
// 调用HediffComp的OnDamageBlocked方法
invulnerableComp?.OnDamageBlocked(dinfo);
// 返回空结果,跳过原方法
__result = new DamageWorker.DamageResult();
return false;
}
}
// 第二步:检查机甲装甲系统
float armorValue = __instance.GetStatValue(ArmorStatDef);
@@ -117,62 +92,6 @@ namespace WulaFallenEmpire.HarmonyPatches
return true;
}
/// <summary>
/// 检查伤害免疫HediffComp
/// </summary>
private static bool CheckInvulnerableHediff(Pawn pawn, DamageInfo dinfo, out HediffComp_Invulnerable invulnerableComp)
{
invulnerableComp = null;
if (pawn == null || pawn.health == null || pawn.health.hediffSet == null)
return false;
// 检查所有Hediff寻找HediffComp_Invulnerable
foreach (Hediff hediff in pawn.health.hediffSet.hediffs)
{
if (hediff.TryGetComp<HediffComp_Invulnerable>() is HediffComp_Invulnerable comp)
{
invulnerableComp = comp;
return comp.ShouldBlockDamage(dinfo);
}
}
return false;
}
/// <summary>
/// 显示免疫效果
/// </summary>
private static void ShowImmuneEffect(Pawn pawn, DamageInfo dinfo)
{
if (!pawn.Spawned)
return;
// 显示文字效果
Vector3 textPos = pawn.DrawPos + new Vector3(0, 0, 1f);
MoteMaker.ThrowText(textPos, pawn.Map, "DD_ImmuneToDamage".Translate(), Color.green, 2.5f);
// 显示粒子效果
if (ImmuneMoteDef != null)
{
MoteMaker.MakeStaticMote(pawn.DrawPos, pawn.Map, ImmuneMoteDef, 1f);
}
}
/// <summary>
/// 播放免疫音效
/// </summary>
private static void PlayImmuneSound(Pawn pawn)
{
if (!pawn.Spawned)
return;
if (ImmuneSoundDef != null)
{
ImmuneSoundDef.PlayOneShot(new TargetInfo(pawn.Position, pawn.Map));
}
}
/// <summary>
/// 显示阻挡效果
/// </summary>

View File

@@ -0,0 +1,284 @@
// File: HediffComp_SyncedWithMech_Fixed.cs
using System;
using System.Collections.Generic;
using RimWorld;
using UnityEngine;
using Verse;
using System.Linq;
namespace WulaFallenEmpire
{
public class HediffCompProperties_SyncedWithMech : HediffCompProperties
{
public float severityOnPawn = 0.5f; // 在Pawn身上的严重性
public float severityOnMech = 1.5f; // 在Mech身上的严重性
public bool transferToMech = true; // 是否转移到机甲
public bool removeWhenLeaving = true; // 离开时是否从机甲移除
public string syncEffectDef = null; // 同步时的效果
public HediffCompProperties_SyncedWithMech()
{
this.compClass = typeof(HediffComp_SyncedWithMech);
}
}
public class HediffComp_SyncedWithMech : HediffComp
{
// 同步状态数据
public Pawn linkedMech = null;
public bool isOnMech = false;
private bool initialized = false;
// 缓存属性
private HediffCompProperties_SyncedWithMech Props =>
(HediffCompProperties_SyncedWithMech)this.props;
// 新增供CompMechPilotHolder调用的公共方法
public void OnPilotEnteredMech(Pawn mech)
{
if (mech is Wulamechunit dmech)
{
LinkToMech(dmech);
}
else if (Prefs.DevMode)
{
Log.Warning($"[DD] OnPilotEnteredMech: 参数不是Wulamechunit类型: {mech?.GetType().Name}");
}
}
public void OnPilotExitedMech()
{
UnlinkFromMech();
}
public override void CompPostTick(ref float severityAdjustment)
{
base.CompPostTick(ref severityAdjustment);
// 首次初始化
if (!initialized)
{
Initialize();
initialized = true;
}
// 检查是否需要同步
CheckSyncStatus();
// 如果不在机甲上保持Pawn的严重性
if (!isOnMech && !(parent.pawn is Wulamechunit))
{
parent.Severity = Props.severityOnPawn;
}
}
private void Initialize()
{
// 如果Pawn是机甲不应用这个效果
if (parent.pawn is Wulamechunit)
{
return;
}
// 设置初始严重性
parent.Severity = Props.severityOnPawn;
// 检查Pawn是否已经在机甲中
CheckIfInMech();
}
// 检查Pawn是否在机甲中
private void CheckIfInMech()
{
// 如果Pawn是机甲跳过
if (parent.pawn is Wulamechunit)
return;
// 查找Pawn所在的机甲
var mech = FindMechContainingPawn(parent.pawn);
if (mech != null && mech != linkedMech)
{
// 连接到新的机甲
LinkToMech(mech);
}
else if (mech == null && linkedMech != null)
{
// 从机甲断开
UnlinkFromMech();
}
}
// 查找包含Pawn的机甲
private Wulamechunit FindMechContainingPawn(Pawn pawn)
{
if (pawn == null || pawn.Map == null)
return null;
// 检查所有机甲
foreach (var thing in pawn.Map.listerThings.ThingsInGroup(ThingRequestGroup.Pawn))
{
if (thing is Wulamechunit mech)
{
var pilotComp = mech.TryGetComp<CompMechPilotHolder>();
if (pilotComp != null && pilotComp.GetPilots().Contains(pawn))
{
return mech;
}
}
}
return null;
}
// 连接到机甲
private void LinkToMech(Wulamechunit mech)
{
if (mech == null || !Props.transferToMech)
return;
// 记录连接的机甲
linkedMech = mech;
isOnMech = true;
// 设置Pawn的严重性在机甲内
parent.Severity = Props.severityOnPawn;
// 在机甲上添加同样的Hediff
AddHediffToMech(mech);
// 触发同步效果
TriggerSyncEffect();
}
// 从机甲断开
private void UnlinkFromMech()
{
if (linkedMech == null)
return;
// 从机甲移除Hediff
if (Props.removeWhenLeaving)
{
RemoveHediffFromMech(linkedMech);
}
// 重置状态
var oldMech = linkedMech;
linkedMech = null;
isOnMech = false;
// 恢复Pawn的严重性
parent.Severity = Props.severityOnPawn;
}
// 在机甲上添加Hediff
private void AddHediffToMech(Wulamechunit mech)
{
try
{
// 检查是否已经有相同的Hediff
var existingHediff = mech.health.hediffSet.GetFirstHediffOfDef(parent.def);
if (existingHediff != null)
{
// 更新现有Hediff的严重性
existingHediff.Severity = Props.severityOnMech;
}
else
{
// 添加新的Hediff
var hediff = HediffMaker.MakeHediff(parent.def, mech);
hediff.Severity = Props.severityOnMech;
// 确保Hediff有同样的comp
var syncComp = hediff.TryGetComp<HediffComp_SyncedWithMech>();
if (syncComp != null)
{
syncComp.linkedMech = null; // 机甲上的Hediff不链接其他机甲
syncComp.isOnMech = true; // 标记为在机甲上
}
mech.health.AddHediff(hediff);
}
}
catch (Exception ex)
{
Log.Error($"[DD] 在机甲{mech.LabelShort}上添加Hediff时出错: {ex}");
}
}
// 从机甲移除Hediff
private void RemoveHediffFromMech(Pawn mech)
{
try
{
var hediff = mech.health.hediffSet.GetFirstHediffOfDef(parent.def);
if (hediff != null)
{
mech.health.RemoveHediff(hediff);
}
}
catch (Exception ex)
{
Log.Error($"[DD] 从机甲{mech.LabelShort}移除Hediff时出错: {ex}");
}
}
// 触发同步效果
private void TriggerSyncEffect()
{
if (string.IsNullOrEmpty(Props.syncEffectDef))
return;
try
{
var effectDef = DefDatabase<EffecterDef>.GetNamed(Props.syncEffectDef, false);
if (effectDef != null && parent.pawn.Spawned)
{
Effecter effecter = effectDef.Spawn();
effecter.Trigger(parent.pawn, parent.pawn);
effecter.Cleanup();
}
}
catch (Exception ex)
{
Log.Error($"[DD] 触发同步效果时出错: {ex}");
}
}
// 定期检查同步状态
private void CheckSyncStatus()
{
// 每60帧检查一次
if (Find.TickManager.TicksGame % 60 != 0)
return;
CheckIfInMech();
// 如果Pawn死亡或消失从机甲移除
if (parent.pawn == null || parent.pawn.Dead || parent.pawn.Destroyed)
{
UnlinkFromMech();
}
}
// 当Hediff被移除时
public override void CompPostPostRemoved()
{
base.CompPostPostRemoved();
// 从机甲移除对应的Hediff
UnlinkFromMech();
}
// 保存和加载状态
public override void CompExposeData()
{
base.CompExposeData();
Scribe_References.Look(ref linkedMech, "linkedMech");
Scribe_Values.Look(ref isOnMech, "isOnMech", false);
Scribe_Values.Look(ref initialized, "initialized", false);
}
}
}

View File

@@ -1,71 +0,0 @@
using System;
using System.Collections.Generic;
using Verse;
using Verse.AI;
using RimWorld;
using UnityEngine;
namespace WulaFallenEmpire
{
public class CompProperties_MultiTurretGun : CompProperties_TurretGun
{
public int ID;
public CompProperties_MultiTurretGun()
{
compClass = typeof(Comp_MultiTurretGun);
}
}
public class Comp_MultiTurretGun : CompTurretGun
{
private bool fireAtWill = true;
public new CompProperties_MultiTurretGun Props => (CompProperties_MultiTurretGun)props;
public override void CompTick()
{
base.CompTick();
if (!currentTarget.IsValid && burstCooldownTicksLeft <= 0)
{
// 在其他情况下没有目标且冷却结束时也回正
curRotation = parent.Rotation.AsAngle + Props.angleOffset;
}
}
private void MakeGun()
{
gun = ThingMaker.MakeThing(Props.turretDef);
UpdateGunVerbs();
}
private void UpdateGunVerbs()
{
List<Verb> allVerbs = gun.TryGetComp<CompEquippable>().AllVerbs;
for (int i = 0; i < allVerbs.Count; i++)
{
Verb verb = allVerbs[i];
verb.caster = parent;
verb.castCompleteCallback = delegate
{
burstCooldownTicksLeft = AttackVerb.verbProps.defaultCooldownTime.SecondsToTicks();
};
}
}
public override void PostExposeData()
{
Scribe_Values.Look(ref burstCooldownTicksLeft, "burstCooldownTicksLeft", 0);
Scribe_Values.Look(ref burstWarmupTicksLeft, "burstWarmupTicksLeft", 0);
Scribe_TargetInfo.Look(ref currentTarget, "currentTarget_" + Props.ID);
Scribe_Deep.Look(ref gun, "gun_" + Props.ID);
Scribe_Values.Look(ref fireAtWill, "fireAtWill", defaultValue: true);
if (Scribe.mode == LoadSaveMode.PostLoadInit)
{
if (gun == null)
{
WulaLog.Debug("CompTurrentGun had null gun after loading. Recreating.");
MakeGun();
}
else
{
UpdateGunVerbs();
}
}
}
}
}

View File

@@ -1,4 +1,4 @@
// File: DDmechunit_Fixed.cs
// File: Wulamechunit_Fixed.cs
using RimWorld;
using System.Collections.Generic;
using Verse;

View File

@@ -280,7 +280,7 @@ namespace WulaFallenEmpire
}
// 为殖民者创建强制加注工作
Job job = JobMaker.MakeJob(Wula_JobDefOf.DD_RefuelMech, parent, fuel);
Job job = JobMaker.MakeJob(Wula_JobDefOf.WULA_RefuelMech, parent, fuel);
job.count = GetFuelCountToFullyRefuel();
job.playerForced = true;

View File

@@ -150,7 +150,7 @@ namespace WulaFallenEmpire
}
// 创建强制维修工作
Job job = JobMaker.MakeJob(Wula_JobDefOf.DD_RepairMech, parent);
Job job = JobMaker.MakeJob(Wula_JobDefOf.WULA_RepairMech, parent);
job.playerForced = true;
bestColonist.jobs.StartJob(job, JobCondition.InterruptForced, null, resumeCurJobAfterwards: true);

View File

@@ -34,41 +34,6 @@
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
<Compile Include="Ability\WULA_LaunchMultiProjectile\CompAbilityEffect_LaunchMultiProjectile.cs" />
<Compile Include="Ability\WULA_LaunchMultiProjectile\CompProperties_AbilityLaunchMultiProjectile.cs" />
<Compile Include="Ability\WULA_LaunchMultiProjectile\JobDriver_CastAbilityMaintainMultiProjectile.cs" />
<Compile Include="Ability\WULA_RequiresNonHostility\CompAbilityEffect_RequiresNonHostility.cs" />
<Compile Include="Ability\WULA_ResearchPrereq\CompAbilityEffect_ResearchPrereq.cs" />
<Compile Include="BuildingComp\WULA_PathCostUpdater\CompPathCostUpdater.cs" />
<Compile Include="Building\Building_ExtraGraphics.cs" />
<Compile Include="Building\Building_MapObserver.cs" />
<Compile Include="Building\Building_TurretGunHasSpeed.cs" />
<Compile Include="HarmonyPatches\WULA_MechUnit\Patche_SkillSystem.cs" />
<Compile Include="HarmonyPatches\WULA_MechUnit\Patch_ColonistBarMech.cs" />
<Compile Include="HarmonyPatches\WULA_MechUnit\Patch_MechSpecificWeapon.cs" />
<Compile Include="HarmonyPatches\WULA_MechUnit\Patch_Mechunit.cs" />
<Compile Include="HarmonyPatches\WULA_MechUnit\Patch_RomanceFix.cs" />
<Compile Include="HarmonyPatches\WULA_MechUnit\Patch_TakeDamage.cs" />
<Compile Include="Pawn\Mechunit.cs" />
<Compile Include="Pawn_Comps\DefaultPilotEntry\CompMechDefaultPilot.cs" />
<Compile Include="Pawn_Comps\DefaultPilotEntry\CompProperties_MechDefaultPilot.cs" />
<Compile Include="Pawn_Comps\HediffGiverByKind\CompHediffGiverByKind.cs" />
<Compile Include="Pawn_Comps\HediffGiverByKind\CompProperties_HediffGiverByKind.cs" />
<Compile Include="Pawn_Comps\MechArmor\CompMechArmor.cs" />
<Compile Include="Pawn_Comps\MechFuel\CompMechFuel.cs" />
<Compile Include="Pawn_Comps\MechFuel\CompProperties_MechFuel.cs" />
<Compile Include="Pawn_Comps\MechFuel\Gizmo_MechFuelStatus.cs" />
<Compile Include="Pawn_Comps\MechInherentWeapon\CompMechInherentWeapon.cs" />
<Compile Include="Pawn_Comps\MechInherentWeapon\CompProperties_MechInherentWeapon.cs" />
<Compile Include="Pawn_Comps\MechMovementSound\CompMechMovementSound.cs" />
<Compile Include="Pawn_Comps\MechMovementSound\CompProperties_MechMovementSound.cs" />
<Compile Include="Pawn_Comps\MechPilotHolder\CompMechPilotHolder.cs" />
<Compile Include="Pawn_Comps\MechRepairable\CompMechRepairable.cs" />
<Compile Include="Pawn_Comps\MechSelfDestruct\CompMechSelfDestruct.cs" />
<Compile Include="Pawn_Comps\MechSelfDestruct\CompProperties_MechSelfDestruct.cs" />
<Compile Include="Pawn_Comps\MechSkillInheritance\CompMechSkillInheritance.cs" />
<Compile Include="Pawn_Comps\MoteEmitterNorthward\CompMoteEmitterNorthward.cs" />
<Compile Include="Pawn_Comps\MultiTurretGun\CompMultiTurretGun.cs" />
<Reference Include="0Harmony">
<HintPath>..\..\..\..\..\..\workshop\content\294100\2009463077\1.5\Assemblies\0Harmony.dll</HintPath>
<Private>False</Private>
@@ -117,6 +82,17 @@
<HintPath>..\..\..\..\..\..\common\RimWorld\RimWorldWin64_Data\Managed\UnityEngine.ScreenCaptureModule.dll</HintPath>
<Private>False</Private>
</Reference>
</ItemGroup>
<ItemGroup>
<!-- 第一部分:基础类和组件 -->
<Compile Include="HediffComp\WULA_DamageResponse\HediffComp_DamageResponse.cs" />
<Compile Include="HediffComp\WULA_SyncedWithMech\HediffCompProperties_SyncedWithMech.cs" />
<Compile Include="WulaFallenEmpireMod.cs" />
<Compile Include="WulaFallenEmpireSettings.cs" />
<Compile Include="WulaLog.cs" />
<Compile Include="WulaDefOf.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<!-- Ability 相关 -->
<Compile Include="Ability\WULA_AbilityAreaDestruction\CompAbilityEffect_AreaDestruction.cs" />
<Compile Include="Ability\WULA_AbilityAreaDestruction\CompProperties_AbilityAreaDestruction.cs" />
<Compile Include="Ability\WULA_AbilityBombardment\CompAbilityEffect_Bombardment.cs" />
@@ -141,8 +117,18 @@
<Compile Include="Ability\WULA_AbilityTeleportSelf\CompProperties_AbilityTeleportSelf.cs" />
<Compile Include="Ability\WULA_EquippableAbilities\CompEquippableAbilities.cs" />
<Compile Include="Ability\WULA_EquippableAbilities\CompProperties_EquippableAbilities.cs" />
<Compile Include="Ability\WULA_LaunchMultiProjectile\CompAbilityEffect_LaunchMultiProjectile.cs" />
<Compile Include="Ability\WULA_LaunchMultiProjectile\CompProperties_AbilityLaunchMultiProjectile.cs" />
<Compile Include="Ability\WULA_LaunchMultiProjectile\JobDriver_CastAbilityMaintainMultiProjectile.cs" />
<Compile Include="Ability\WULA_PullTarget\CompAbilityEffect_PullTarget.cs" />
<Compile Include="Ability\WULA_PullTarget\CompProperties_AbilityPullTarget.cs" />
<Compile Include="Ability\WULA_RequiresNonHostility\CompAbilityEffect_RequiresNonHostility.cs" />
<Compile Include="Ability\WULA_ResearchPrereq\CompAbilityEffect_ResearchPrereq.cs" />
<!-- Building 相关 -->
<Compile Include="Building\Building_ExtraGraphics.cs" />
<Compile Include="Building\Building_MapObserver.cs" />
<Compile Include="Building\Building_TurretGunHasSpeed.cs" />
<!-- BuildingComp 相关 -->
<Compile Include="BuildingComp\WULA_BuildingBombardment\CompBuildingBombardment.cs" />
<Compile Include="BuildingComp\WULA_BuildingBombardment\CompProperties_BuildingBombardment.cs" />
<Compile Include="BuildingComp\WULA_BuildingSpawner\CompBuildingSpawner.cs" />
@@ -153,6 +139,7 @@
<Compile Include="BuildingComp\WULA_MechanoidRecycler\Building_MechanoidRecycler.cs" />
<Compile Include="BuildingComp\WULA_MechanoidRecycler\CompProperties_MechanoidRecycler.cs" />
<Compile Include="BuildingComp\WULA_MechanoidRecycler\JobDriver_RecycleMechanoid.cs" />
<Compile Include="BuildingComp\WULA_PathCostUpdater\CompPathCostUpdater.cs" />
<Compile Include="BuildingComp\WULA_PhaseCombatTower\CompPhaseCombatTower.cs" />
<Compile Include="BuildingComp\WULA_PhaseCombatTower\CompProperties_PhaseCombatTower.cs" />
<Compile Include="BuildingComp\WULA_Shuttle\ArmedShuttleIncoming.cs" />
@@ -178,12 +165,15 @@
<Compile Include="BuildingComp\WULA_Teleporter\WULA_TeleportLandingMarker.cs" />
<Compile Include="BuildingComp\WULA_TrapLauncher\CompProperties_TrapLauncher.cs" />
<Compile Include="BuildingComp\WULA_TrapLauncher\CompTrapLauncher.cs" />
<!-- Damage 相关 -->
<Compile Include="Damage\DamageDefExtension_TerrainCover.cs" />
<Compile Include="Damage\DamageDef_ExtraDamageExtension.cs" />
<Compile Include="Damage\DamageWorker_ExplosionWithTerrain.cs" />
<Compile Include="Damage\DamageWorker_ExtraDamage.cs" />
<!-- Designator 相关 -->
<Compile Include="Designator\Designator_CallSkyfallerInArea.cs" />
<Compile Include="Designator\Designator_TeleportArrival.cs" />
<!-- EventSystem 相关 -->
<Compile Include="EventSystem\AI\AIAutoCommentary.cs" />
<Compile Include="EventSystem\AI\AIHistoryManager.cs" />
<Compile Include="EventSystem\AI\AIIntelligenceCore.cs" />
@@ -245,6 +235,7 @@
<Compile Include="EventSystem\QuestNode\QuestNode_EventLetter.cs" />
<Compile Include="EventSystem\QuestNode\QuestNode_Root_EventLetter.cs" />
<Compile Include="EventSystem\QuestNode\QuestNode_WriteToEventVariablesWithAdd.cs" />
<!-- Flyover 相关 -->
<Compile Include="Flyover\ThingclassFlyOver.cs" />
<Compile Include="Flyover\WULA_AircraftHangar\CompAbilityEffect_AircraftStrike.cs" />
<Compile Include="Flyover\WULA_AircraftHangar\CompAircraftHangar.cs" />
@@ -264,8 +255,9 @@
<Compile Include="Flyover\WULA_SendLetterAfterTicks\CompSendLetterAfterTicks.cs" />
<Compile Include="Flyover\WULA_ShipArtillery\CompProperties_ShipArtillery.cs" />
<Compile Include="Flyover\WULA_ShipArtillery\CompShipArtillery.cs" />
<Compile Include="Flyover\WULA_SpawnFlyOver\CompAbilityEffect_SpawnFlyOver.cs" />
<Compile Include="Flyover\WULA_SpawnFlyOver\CompProperties_AbilitySpawnFlyOver.cs" />
<Compile Include="Ability\WULA_SpawnFlyOver\CompAbilityEffect_SpawnFlyOver.cs" />
<Compile Include="Ability\WULA_SpawnFlyOver\CompProperties_AbilitySpawnFlyOver.cs" />
<!-- GlobalWorkTable 相关 -->
<Compile Include="GlobalWorkTable\Building_GlobalWorkTable.cs" />
<Compile Include="GlobalWorkTable\CompProperties_ProductionCategory.cs" />
<Compile Include="GlobalWorkTable\Dialog_GlobalStorageTransfer.cs" />
@@ -281,6 +273,7 @@
<Compile Include="GlobalWorkTable\WULA_Launchable_ToGlobalStorage\CompProperties_Launchable_ToGlobalStorage.cs" />
<Compile Include="GlobalWorkTable\WULA_ValueConverter\CompProperties_ValueConverter.cs" />
<Compile Include="GlobalWorkTable\WULA_ValueConverter\CompValueConverter.cs" />
<!-- HarmonyPatches 相关 -->
<Compile Include="HarmonyPatches\Caravan_NeedsTracker_TrySatisfyPawnNeeds_Patch.cs" />
<Compile Include="HarmonyPatches\DamageInfo_Constructor_Patch.cs" />
<Compile Include="HarmonyPatches\Faction_ShouldHaveLeader_Patch.cs" />
@@ -323,11 +316,11 @@
<Compile Include="HarmonyPatches\WULA_MechUnit\Patch_TakeDamage.cs" />
<Compile Include="HarmonyPatches\WULA_TurretForceTargetable\CompForceTargetable.cs" />
<Compile Include="HarmonyPatches\WULA_TurretForceTargetable\Patch_ForceTargetable.cs" />
<!-- HediffComp 相关 -->
<Compile Include="HediffComp\HediffCompProperties_DisappearWithEffect.cs" />
<Compile Include="HediffComp\HediffCompProperties_GiveHediffsInRangeToRace.cs" />
<Compile Include="HediffComp\HediffCompProperties_NanoRepair.cs" />
<Compile Include="HediffComp\HediffCompProperties_SwitchableHediff.cs" />
<Compile Include="HediffComp\HediffComp_DamageResponse.cs" />
<Compile Include="HediffComp\HediffComp_GiveHediffsInRangeToRace.cs" />
<Compile Include="HediffComp\HediffComp_RegenerateBackstory.cs" />
<Compile Include="HediffComp\HediffComp_TimedExplosion.cs" />
@@ -337,10 +330,10 @@
<Compile Include="HediffComp\WULA_HediffSpawner\HediffCompProperties_Spawner.cs" />
<Compile Include="HediffComp\WULA_HediffSpawner\HediffComp_Spawner.cs" />
<Compile Include="HediffComp\WULA_HediffSpawner\Tools.cs" />
<!-- Job 相关 -->
<Compile Include="Job\JobDriver_InspectBuilding.cs" />
<Compile Include="Job\JobGiver_InspectBuilding.cs" />
<Compile Include="PawnsArrivalMode\PawnsArrivalModeWorker_EdgeTeleport.cs" />
<Compile Include="Pawn\Comp_MultiTurretGun.cs" />
<!-- Pawn 相关 -->
<Compile Include="Pawn\Comp_PawnRenderExtra.cs" />
<Compile Include="Pawn\Mechunit.cs" />
<Compile Include="Pawn\WULA_AutoMechCarrier\CompAutoMechCarrier.cs" />
@@ -389,6 +382,7 @@
<Compile Include="Pawn\WULA_Maintenance\MaintenanceNeedExtension.cs" />
<Compile Include="Pawn\WULA_Maintenance\Need_Maintenance.cs" />
<Compile Include="Pawn\WULA_Maintenance\WorkGiver_DoMaintenance.cs" />
<!-- Pawn_Comps 相关 -->
<Compile Include="Pawn_Comps\DefaultPilotEntry\CompMechDefaultPilot.cs" />
<Compile Include="Pawn_Comps\DefaultPilotEntry\CompProperties_MechDefaultPilot.cs" />
<Compile Include="Pawn_Comps\HediffGiverByKind\CompHediffGiverByKind.cs" />
@@ -408,7 +402,11 @@
<Compile Include="Pawn_Comps\MechSkillInheritance\CompMechSkillInheritance.cs" />
<Compile Include="Pawn_Comps\MoteEmitterNorthward\CompMoteEmitterNorthward.cs" />
<Compile Include="Pawn_Comps\MultiTurretGun\CompMultiTurretGun.cs" />
<!-- PawnsArrivalMode 相关 -->
<Compile Include="PawnsArrivalMode\PawnsArrivalModeWorker_EdgeTeleport.cs" />
<!-- Placeworker 相关 -->
<Compile Include="Placeworker\CompProperties_CustomRadius.cs" />
<!-- Projectiles 相关 -->
<Compile Include="Projectiles\BulletWithTrail.cs" />
<Compile Include="Projectiles\ExplosiveTrackingBulletDef.cs" />
<Compile Include="Projectiles\NorthArcModExtension.cs" />
@@ -421,21 +419,25 @@
<Compile Include="Projectiles\Projectile_WulaPenetratingBeam.cs" />
<Compile Include="Projectiles\Projectile_WulaPenetratingBullet.cs" />
<Compile Include="Projectiles\TrackingBulletDef.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<!-- QuestNodes 相关 -->
<Compile Include="QuestNodes\QuestNode_AddInspectionJob.cs" />
<Compile Include="QuestNodes\QuestNode_CheckGlobalResource.cs" />
<Compile Include="QuestNodes\QuestNode_GeneratePawnWithCustomization.cs" />
<Compile Include="QuestNodes\QuestNode_Hyperlinks.cs" />
<Compile Include="QuestNodes\QuestNode_SpawnPrefabSkyfallerCaller.cs" />
<Compile Include="QuestNodes\QuestPart_GlobalResourceCheck.cs" />
<!-- SectionLayer 相关 -->
<Compile Include="SectionLayer_WulaHull.cs" />
<!-- Stat 相关 -->
<Compile Include="Stat\StatWorker_Energy.cs" />
<Compile Include="Stat\StatWorker_Maintenance.cs" />
<Compile Include="Stat\StatWorker_NanoRepair.cs" />
<!-- Storyteller 相关 -->
<Compile Include="Storyteller\WULA_ImportantQuestWithFactionFilter\StorytellerCompProperties_ImportantQuestWithFactionFilter.cs" />
<Compile Include="Storyteller\WULA_ImportantQuestWithFactionFilter\StorytellerComp_ImportantQuestWithFactionFilter.cs" />
<Compile Include="Storyteller\WULA_SimpleTechnologyTrigger\StorytellerCompProperties_SimpleTechnologyTrigger.cs" />
<Compile Include="Storyteller\WULA_SimpleTechnologyTrigger\StorytellerComp_SimpleTechnologyTrigger.cs" />
<!-- ThingComp 相关 -->
<Compile Include="ThingComp\CompApparelInterceptor.cs" />
<Compile Include="ThingComp\CompProperties_DelayedDamageIfNotPlayer.cs" />
<Compile Include="ThingComp\CompPsychicScaling.cs" />
@@ -485,8 +487,10 @@
<Compile Include="ThingComp\WULA_WeaponSwitch\CompAbilityEffect_GiveSwitchHediff.cs" />
<Compile Include="ThingComp\WULA_WeaponSwitch\CompAbilityEffect_RemoveSwitchHediff.cs" />
<Compile Include="ThingComp\WULA_WeaponSwitch\WeaponSwitch.cs" />
<!-- Utils 相关 -->
<Compile Include="Utils\BezierUtil.cs" />
<Compile Include="Utils\DefInjectedExportUtility.cs" />
<!-- Verb 相关 -->
<Compile Include="Verb\MeleeAttack_Cleave\CompCleave.cs" />
<Compile Include="Verb\MeleeAttack_Cleave\Verb_MeleeAttack_Cleave.cs" />
<Compile Include="Verb\MeleeAttack_MultiStrike\CompMultiStrike.cs" />
@@ -504,11 +508,8 @@
<Compile Include="Verb\Verb_ShootWeaponStealBeam\VerbProperties_WeaponStealBeam.cs" />
<Compile Include="Verb\Verb_ShootWeaponStealBeam\Verb_ShootWeaponStealBeam.cs" />
<Compile Include="Verb\Verb_ShootWithOffset.cs" />
<!-- WorkGiver 相关 -->
<Compile Include="WorkGiver\WorkGiver_DeepDrill_WulaConstructor.cs" />
<Compile Include="WulaDefOf.cs" />
<Compile Include="WulaFallenEmpireMod.cs" />
<Compile Include="WulaFallenEmpireSettings.cs" />
<Compile Include="WulaLog.cs" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<!-- 自定义清理任务删除obj文件夹中的临时文件 -->