fix: 添加植物污染空值检查的 Harmony 补丁。

This commit is contained in:
2025-12-25 15:07:49 +08:00
parent 81f3d2647f
commit 52e29f9c11
4 changed files with 68 additions and 343 deletions

Binary file not shown.

Binary file not shown.

View File

@@ -74,349 +74,7 @@
<HintPath>..\..\..\..\..\..\common\RimWorld\RimWorldWin64_Data\Managed\UnityEngine.TextRenderingModule.dll</HintPath>
<Private>False</Private>
</Reference>
</ItemGroup>
<ItemGroup>
<Compile Include="Abilities\ARA_AbilitySwitch\CompAbilityEffect_GiveSwitchHediff.cs" />
<Compile Include="Abilities\ARA_AbilitySwitch\CompAbilityEffect_RemoveSwitchHediff.cs" />
<Compile Include="Abilities\ARA_AbilitySwitch\WeaponSwitch.cs" />
<Compile Include="Abilities\ARA_AddExtraExp\CompAbilityEffect_AddExtraExp.cs" />
<Compile Include="Abilities\ARA_AddExtraExp\CompProperties_AddExtraExp.cs" />
<Compile Include="Abilities\ARA_DestroyOwnBodyPart\CompAbilityEffect_DestroyOwnBodyPart.cs" />
<Compile Include="Abilities\ARA_DestroyOwnBodyPart\CompProperties_AbilityDestroyOwnBodyPart.cs" />
<Compile Include="Abilities\ARA_EjectOrgans\CompAbilityEffect_EjectOrgans.cs" />
<Compile Include="Abilities\ARA_Genestealer\CompAbilityEffect_ExtractGene.cs" />
<Compile Include="Abilities\ARA_Genestealer\CompAbilityEffect_InjectGenes.cs" />
<Compile Include="Abilities\ARA_Genestealer\CompProperties_AbilityInjectGenes.cs" />
<Compile Include="Abilities\ARA_GiveHediffWithSkillDuration\CompAbilityEffect_GiveHediffWithSkillDuration.cs" />
<Compile Include="Abilities\ARA_GiveHediffWithSkillDuration\CompProperties_GiveHediffWithSkillDuration.cs" />
<Compile Include="Abilities\ARA_HediffRestriction\CompAbilityEffect_HediffRestriction.cs" />
<Compile Include="Abilities\ARA_HediffRestriction\CompProperties_AbilityHediffRestriction.cs" />
<Compile Include="Abilities\ARA_HuggingFace\CompAbilityEffect_Possess.cs" />
<Compile Include="Abilities\ARA_HuggingFace\CompProperties_AbilityPossess.cs" />
<Compile Include="Abilities\ARA_HuggingFace\Hediff_Possession.cs" />
<Compile Include="Abilities\ARA_HuggingFace\OriginalPawnData.cs" />
<Compile Include="Abilities\ARA_HuggingFace\PawnDataUtility.cs" />
<Compile Include="Abilities\ARA_HuggingFace\Verb_JumpAndCastOnLanding.cs" />
<Compile Include="Abilities\ARA_Morphable\Building_Morphable.cs" />
<Compile Include="Abilities\ARA_Morphable\CompAbilityEffect_Transform.cs" />
<Compile Include="Abilities\ARA_Morphable\CompMorphable.cs" />
<Compile Include="Abilities\ARA_Morphable\CompProperties_AbilityTransform.cs" />
<Compile Include="Abilities\ARA_Morphable\CompProperties_Morphable.cs" />
<Compile Include="Abilities\ARA_QueenAbility\CompAbilityEffect_BodyPartCheck.cs" />
<Compile Include="Abilities\ARA_QueenAbility\CompAbilityEffect_NeedCost.cs" />
<Compile Include="Abilities\ARA_QueenAbility\CompAbilityEffect_ResearchPrereq.cs" />
<Compile Include="Abilities\ARA_QueenAbility\CompAbilityEffect_SprayLiquidMulti.cs" />
<Compile Include="Abilities\ARA_QueenAbility\CompProperties_AbilitySprayLiquidMulti.cs" />
<Compile Include="Abilities\ARA_ShowInteractiveThing\CompAbilityEffect_ShowInteractiveThing.cs" />
<Compile Include="Abilities\ARA_ShowInteractiveThing\CompProperties_AbilityShowInteractiveThing.cs" />
<Compile Include="Abilities\ARA_ShowSpawnablePawnsList\CompAbilityEffect_AbilityShowSpawnablePawns.cs" />
<Compile Include="Abilities\ARA_ShowSpawnablePawnsList\CompProperties_AbilityShowSpawnablePawns.cs" />
<Compile Include="Abilities\CompAbilityEffect_RandomHediff.cs" />
<Compile Include="Abilities\CompAbilityEffect_TransformCorpse.cs" />
<Compile Include="Buildings\Building_ArachnaeGravEngine.cs" />
<Compile Include="Buildings\Building_DormancyVat\Building_DormancyVat.cs" />
<Compile Include="Buildings\Building_DormancyVat\DefModExtension_DormancyVat.cs" />
<Compile Include="Buildings\Building_EquipmentOotheca\Building_EquipmentOotheca.cs" />
<Compile Include="Buildings\Building_EquipmentOotheca\CompProperties_EquipmentIncubatorData.cs" />
<Compile Include="Buildings\Building_EquipmentOotheca\Gizmo_EquipmentIncubationProgress.cs" />
<Compile Include="Buildings\Building_EquipmentOotheca\ITab_EquipmentOotheca_Incubation.cs" />
<Compile Include="Buildings\Building_EquipmentOotheca\JobDriver_OperateEquipmentIncubator.cs" />
<Compile Include="Buildings\Building_Incubatable.cs" />
<Compile Include="Buildings\IFluxController.cs" />
<Compile Include="Buildings\ILarvaActivatable.cs" />
<Compile Include="Buildings\IncubatorUtils.cs" />
<Compile Include="Buildings\Building_Ootheca\Building_Ootheca.cs" />
<Compile Include="Buildings\Building_Ootheca\CompProperties_IncubatorData.cs" />
<Compile Include="Buildings\Building_Ootheca\Gizmo_IncubationProgress.cs" />
<Compile Include="Buildings\Building_Ootheca\Gizmo_NeutronFlux.cs" />
<Compile Include="Buildings\Building_Ootheca\Gizmo_DualProgressBar.cs" />
<Compile Include="Buildings\Building_Ootheca\Gizmo_PawnProgressBar.cs" />
<Compile Include="Buildings\Building_Ootheca\Gizmo_QueuedIncubationProgress.cs" />
<Compile Include="Buildings\Building_Ootheca\JobDriver_OperateIncubator.cs" />
<Compile Include="Buildings\Building_Ootheca\OothecaIncubatorExtension.cs" />
<Compile Include="Buildings\Building_ResearchBlueprintReader\Building_ResearchBlueprintReader.cs" />
<Compile Include="Buildings\Building_ResearchBlueprintReader\ResearchBlueprintData.cs" />
<Compile Include="Buildings\Building_ResearchBlueprintReader\ResearchBlueprintReaderExtension.cs" />
<Compile Include="Buildings\Building_ResearchBlueprintReader\ResearchBlueprintReaderManager.cs" />
<Compile Include="HarmonyPatches\DestroyRemovesResearch\CompDestroyRemovesResearch.cs" />
<Compile Include="HarmonyPatches\DestroyRemovesResearch\CompProperties_DestroyRemovesResearch.cs" />
<Compile Include="HarmonyPatches\Patch_DraftableAnimals.cs" />
<Compile Include="HarmonyPatches\Patch_ResearchManager_AddRemoveMethod.cs" />
<Compile Include="Pawn_Comps\ARA_DratfableAnimals\CompDratfableAnimals.cs" />
<Compile Include="Pawn_Comps\ARA_DratfableAnimals\CompProperties_DratfableAnimals.cs" />
<Compile Include="Pawn_Comps\ARA_SwarmMaintainer\CompProperties_SwarmMaintainer.cs" />
<Compile Include="Pawn_Comps\ARA_SwarmMaintainer\Comp_SwarmMaintainer.cs" />
<Compile Include="Building_Comps\ARA_SwarmMaintenance\Gizmo_SwarmMaintenance.cs" />
<Compile Include="Pawn_Comps\ARA_DratfableAnimals\BeastUnit.cs" />
<Compile Include="RoomRole\RoomRoleWorker_JellyVat.cs" />
<Compile Include="RoomRole\RoomRoleWorker_Incubator.cs" />
<Compile Include="Buildings\Building_TurretGunHasSpeed.cs" />
<Compile Include="Buildings\Building_RefuelingVat\Building_RefuelingVat.cs" />
<Compile Include="Buildings\Building_RefuelingVat\CompProperties_RefuelingVat.cs" />
<Compile Include="Buildings\Building_RefuelingVat\CompRefuelingVat.cs" />
<Compile Include="Building_Comps\ARA_CompInteractiveProducer\CompResearchProducer.cs" />
<Compile Include="Building_Comps\ARA_CompInteractiveProducer\JobDriver_StartResearchProduction.cs" />
<Compile Include="Building_Comps\ARA_CorpseConverter\CompCorpseConverter.cs" />
<Compile Include="Building_Comps\ARA_CorpseConverter\CompProperties_CorpseConverter.cs" />
<Compile Include="Building_Comps\ARA_ForwardClearance\CompForwardClearance.cs" />
<Compile Include="Building_Comps\ARA_ForwardClearance\CompProperties_ForwardClearance.cs" />
<Compile Include="Building_Comps\ARA_ForwardClearance\PlaceWorker_ForwardClearance.cs" />
<Compile Include="Building_Comps\ARA_ProductStorage\CompProductStorage.cs" />
<Compile Include="Building_Comps\ARA_ProductStorage\CompProperties_ProductStorage.cs" />
<Compile Include="Building_Comps\ARA_SwarmMaintenance\CompProperties_SwarmMaintenance.cs" />
<Compile Include="Building_Comps\ARA_SwarmMaintenance\Comp_SwarmMaintenance.cs" />
<Compile Include="Building_Comps\ARA_TerrainChanger\CompProperties_TerrainChanger.cs" />
<Compile Include="Building_Comps\ARA_TerrainChanger\CompTerrainChanger.cs" />
<Compile Include="Building_Comps\CompBreakdownDisabler.cs" />
<Compile Include="EventSystem\CompOpenCustomUI.cs" />
<Compile Include="EventSystem\Condition.cs" />
<Compile Include="EventSystem\DebugActions.cs" />
<Compile Include="EventSystem\DelayedActionManager.cs" />
<Compile Include="EventSystem\Dialog_CustomDisplay.cs" />
<Compile Include="EventSystem\Dialog_ManageEventVariables.cs" />
<Compile Include="EventSystem\Dialog_NewLayoutDisplay.cs" />
<Compile Include="EventSystem\Effect.cs" />
<Compile Include="EventSystem\EventDef.cs" />
<Compile Include="EventSystem\EventUIConfigDef.cs" />
<Compile Include="EventSystem\EventVariableManager.cs" />
<Compile Include="EventSystem\Letter_EventChoice.cs" />
<Compile Include="EventSystem\QuestNode_Root_EventLetter.cs" />
<Compile Include="Flyover\ARA_AircraftHangar\CompAbilityEffect_AircraftStrike.cs" />
<Compile Include="Flyover\ARA_AircraftHangar\CompAircraftHangar.cs" />
<Compile Include="Flyover\ARA_AircraftHangar\WorldComponent_AircraftManager.cs" />
<Compile Include="Flyover\ARA_FlyOverEscort\CompFlyOverEscort.cs" />
<Compile Include="Flyover\ARA_FlyOverEscort\CompProperties_FlyOverEscort.cs" />
<Compile Include="Flyover\ARA_GroundStrafing\CompGroundStrafing.cs" />
<Compile Include="Flyover\ARA_SectorSurveillance\CompSectorSurveillance.cs" />
<Compile Include="Flyover\ARA_SendLetterAfterTicks\CompProperties_SendLetterAfterTicks.cs" />
<Compile Include="Flyover\ARA_SendLetterAfterTicks\CompSendLetterAfterTicks.cs" />
<Compile Include="Flyover\ARA_ShipArtillery\CompProperties_ShipArtillery.cs" />
<Compile Include="Flyover\ARA_ShipArtillery\CompShipArtillery.cs" />
<Compile Include="Flyover\ARA_SpawnFlyOver\CompAbilityEffect_SpawnFlyOver.cs" />
<Compile Include="Flyover\ARA_SpawnFlyOver\CompProperties_AbilitySpawnFlyOver.cs" />
<Compile Include="HediffGiver\HediffGiver_NonPlayerFaction.cs" />
<Compile Include="Hediffs\ARA_DrawMoteInRange\HediffComp_DrawMoteInRange.cs" />
<Compile Include="Hediffs\ARA_HediffTerrainSpawn\CompHediffTerrainSpawn.cs" />
<Compile Include="Hediffs\ARA_HediffTerrainSpawn\CompProperties_HediffTerrainSpawn.cs" />
<Compile Include="Hediffs\HediffComp_LifespanDisplay.cs" />
<Compile Include="Jobs\JobDriver_CarryPrisonerToRefuelingVat.cs" />
<Compile Include="Jobs\JobDriver_FeedWithHoney\JobDriver_ExtractHoney.cs" />
<Compile Include="Jobs\JobDriver_FeedWithHoney\JobDriver_FeedWithHoney.cs" />
<Compile Include="Jobs\JobDriver_FeedWithHoney\ThinkNode_JobGiver_ExtractHoney.cs" />
<Compile Include="Jobs\JobDriver_FeedWithHoney\ThinkNode_JobGiver_FeedWithHoney.cs" />
<Compile Include="Jobs\JobDriver_StripChitin\CompProperties_ChitinStripping.cs" />
<Compile Include="Jobs\JobDriver_StripChitin\Comp_ChitinStripping.cs" />
<Compile Include="Jobs\JobDriver_StripChitin\JobDriver_StripChitin.cs" />
<Compile Include="Jobs\JobDriver_StripChitin\ThinkNode_JobGiver_StripChitin.cs" />
<Compile Include="Jobs\JobDriver_SwarmMaintain\JobDriver_SwarmMaintain.cs" />
<Compile Include="MentalState\MentalState_HiveMindCascade.cs" />
<Compile Include="Needs\Need_ChitinArmor.cs" />
<Compile Include="Needs\Need_HoneyProduction.cs" />
<Compile Include="Pawn_Comps\ARA_UniquePawn\CompProperties_UniquePawn.cs" />
<Compile Include="Pawn_Comps\ARA_UniquePawn\CompUniquePawn.cs" />
<Compile Include="Pawn_Comps\ARA_UniquePawn\Patch_UniquePawn.cs" />
<Compile Include="Placeworker\CompProperties_CustomRadius.cs" />
<Compile Include="Storyteller\CustomRaidDef.cs" />
<Compile Include="Storyteller\CustomRaidTracker.cs" />
<Compile Include="Storyteller\IncidentParmsExtensions.cs" />
<Compile Include="Storyteller\IncidentWorker_CustomRaid.cs" />
<Compile Include="Storyteller\RaidWaveDef.cs" />
<Compile Include="Storyteller\RaidWavePoolDef.cs" />
<Compile Include="Flyover\ThingclassFlyOver.cs" />
<Compile Include="Flyover\ARA_FlyOverDropPod\CompProperties_FlyOverDropPod.cs" />
<Compile Include="Thing_Comps\ARA_AreaaDamage\CompAreaDamage.cs" />
<Compile Include="Thing_Comps\ARA_AreaaDamage\CompProperties_AreaDamage.cs" />
<Compile Include="Verbs\PawnBodyWeapon\CompProperties_PawnBodyWeapon.cs" />
<Compile Include="Verbs\PawnBodyWeapon\Verb_MeleeAttack_BodyWeapon.cs" />
<Compile Include="Verbs\Verb_ShootSelfUnderfoot.cs" />
<Compile Include="Verbs\Verb_ShootWithOffset.cs" />
<Compile Include="Abilities\ARA_ShowTemperatureRange\CompAbilityEffect_AbilityShowTemperatureRange.cs" />
<Compile Include="Abilities\ARA_ShowTemperatureRange\CompProperties_AbilityShowTemperatureRange.cs" />
<Compile Include="Abilities\ARA_TerrainRestriction\CompAbilityEffect_TerrainRestriction .cs" />
<Compile Include="Abilities\ARA_TerrainRestriction\CompProperties_TerrainRestriction.cs" />
<Compile Include="Abilities\CompAbilityEffect_DRM_Deaddustpop.cs" />
<Compile Include="Abilities\CompAbilityEffect_LaunchMultiProjectile.cs" />
<Compile Include="Abilities\PsychicBrainburn\CompAbilityEffect_PsychicBrainburn.cs" />
<Compile Include="Abilities\PsychicBrainburn\CompProperties_PsychicBrainburn.cs" />
<Compile Include="Abilities\TrackingCharge\CompAbilityEffect_TrackingCharge.cs" />
<Compile Include="Abilities\TrackingCharge\CompProperties_TrackingCharge.cs" />
<Compile Include="Abilities\TrackingCharge\PawnFlyer_TrackingCharge.cs" />
<Compile Include="Abilities\TrackingCharge\Verb_CastAbilityTrackingCharge.cs" />
<Compile Include="ARA_HediffDefOf.cs" />
<Compile Include="Building_Comps\ARA_BuildingTerrainSpawn\CompDelayedTerrainSpawn.cs" />
<Compile Include="Building_Comps\ARA_BuildingTerrainSpawn\CompProperties_DelayedTerrainSpawn.cs" />
<Compile Include="Building_Comps\ARA_CompInteractiveProducer\CompInteractiveProducer.cs" />
<Compile Include="Building_Comps\ARA_CompInteractiveProducer\CompQueuedInteractiveProducer.cs" />
<Compile Include="Building_Comps\ARA_CompInteractiveProducer\CompQueuedInteractiveProducerWithFlux.cs" />
<Compile Include="Building_Comps\CompRefuelableNutrition.cs" />
<Compile Include="Building_Comps\CompTemperatureRuinableDamage.cs" />
<Compile Include="Building_Comps\ARA_CompInteractiveProducer\DataContracts.cs" />
<Compile Include="Building_Comps\ARA_CompInteractiveProducer\JobDriver_AddProcessToQueue.cs" />
<Compile Include="Building_Comps\ARA_CompInteractiveProducer\JobDriver_StartProduction.cs" />
<Compile Include="Building_Comps\ARA_CompTempControl\Building_SmartThermostat.cs" />
<Compile Include="Building_Comps\ARA_CompTempControl\CompTempControl_Fixed.cs" />
<Compile Include="Building_Comps\ARA_HunterTrap\Building_TrapReleaseRandom.cs" />
<Compile Include="Building_Comps\ARA_HunterTrap\CompHunterExplosion.cs" />
<Compile Include="Building_Comps\ARA_HunterTrap\CompProperties_HunterExplosion.cs" />
<Compile Include="Building_Comps\ARA_HunterTrap\TrapReleaseRandomExtension.cs" />
<Compile Include="Building_Comps\ARA_NutrientNetwork\CompFacility_GrowthVatBooster.cs" />
<Compile Include="Building_Comps\ARA_NutrientNetwork\CompNutrientProvider.cs" />
<Compile Include="Building_Comps\ARA_NutrientNetwork\CompProperties_NutrientProvider.cs" />
<Compile Include="Building_Comps\ARA_NutrientVat\Building_NutrientVat.cs" />
<Compile Include="Building_Comps\ARA_NutrientVat\DefModExtension_NutrientVat.cs" />
<Compile Include="Building_Comps\ARA_SpawnPawnFromList\CompProperties_SpawnPawnFromList.cs" />
<Compile Include="Building_Comps\ARA_SpawnPawnFromList\CompQueuedPawnSpawner.cs" />
<Compile Include="Building_Comps\ARA_SpawnPawnFromList\CompQueuedPawnSpawnerWithFlux.cs" />
<Compile Include="Building_Comps\ARA_SpawnPawnFromList\CompSpawnPawnFromList.cs" />
<Compile Include="Building_Comps\ARA_SpawnPawnFromList\JobDriver_AddToQueue.cs" />
<Compile Include="Building_Comps\ARA_SpawnPawnFromList\JobDriver_Incubate.cs" />
<Compile Include="Building_Comps\ARA_SpawnPawnFromList\JobGiver_MaintainBuildings.cs" />
<Compile Include="Building_Comps\ARA_SpawnPawnFromList\ProductionContracts.cs" />
<Compile Include="Building_Comps\WULA_MutiFuelSpawner\CompMultiFuelSpawner.cs" />
<Compile Include="Building_Comps\WULA_MutiFuelSpawner\CompRefuelableNutrition_WithKey.cs" />
<Compile Include="Building_Comps\WULA_MutiFuelSpawner\CompRefuelableWithKey.cs" />
<Compile Include="Building_Comps\WULA_MutiFuelSpawner\IFuelSource.cs" />
<Compile Include="Building_Comps\WULA_MutiFuelSpawner\Patch_CompRefuelableWithKey.cs" />
<Compile Include="Building_Comps\CompNutritionToFuelConverter.cs" />
<Compile Include="Building_Comps\CompAutoEjector.cs" />
<Compile Include="Jobs\JobDriver_Refuel_Nutrition.cs" />
<Compile Include="WorkGivers\WorkGiver_ExtractHoney.cs" />
<Compile Include="WorkGivers\WorkGiver_FeedWithHoney.cs" />
<Compile Include="WorkGivers\WorkGiver_Refuel_Nutrition.cs" />
<Compile Include="Hediffs\ARA_ConfigurableMutant\Hediff_ConfigurableMutant.cs" />
<Compile Include="Hediffs\ARA_ConfigurableMutant\Hediff_NecroticVirus_Configurable.cs" />
<Compile Include="Hediffs\ARA_ConfigurableMutant\HediffComp_NecroticTransformation.cs" />
<Compile Include="Hediffs\ARA_ConfigurableMutant\HediffComp_Symbiosis.cs" />
<Compile Include="Hediffs\ARA_ConfigurableMutant\NecroticTransformationUtility.cs" />
<Compile Include="Hediffs\ARA_HediffComp_TopTurret\HediffComp_TopTurret.cs" />
<Compile Include="Hediffs\ARA_HiveMind\CompAbilityEffect_BindDrone.cs" />
<Compile Include="Hediffs\ARA_HiveMind\CompProperties_AbilityBindDrone.cs" />
<Compile Include="Hediffs\ARA_HiveMind\Hediff_HiveMindDrone.cs" />
<Compile Include="Hediffs\ARA_HiveMind\Hediff_HiveMindMaster.cs" />
<Compile Include="Hediffs\ARA_HiveMind\HediffComp_HiveMindDrone.cs" />
<Compile Include="Hediffs\ARA_HiveMind\HediffComp_HiveMindMaster.cs" />
<Compile Include="Hediffs\ARA_HiveMind\HediffCompProperties_HiveMindDrone.cs" />
<Compile Include="Hediffs\DRM_HediffCurseFlame\Hediff_CurseFlame.cs" />
<Compile Include="Hediffs\HediffComp_SpawnPawnOnRemoved.cs" />
<Compile Include="Hediffs\HediffComp_Temperature.cs" />
<Compile Include="Hediffs\HediffComp_TerrainBasedSeverity\HediffComp_TerrainBasedSeverity.cs" />
<Compile Include="Hediffs\HediffComp_TerrainBasedSeverity\HediffCompProperties_TerrainBasedSeverity.cs" />
<Compile Include="Hediffs\HediffGiver_RandomWithSeverity.cs" />
<Compile Include="Hediffs\MoharHediffs\HediffCompProperties_Spawner.cs" />
<Compile Include="Hediffs\MoharHediffs\HediffComp_Spawner.cs" />
<Compile Include="Hediffs\MoharHediffs\Tools.cs" />
<Compile Include="Hediffs\ProphecyGearEffect.cs" />
<Compile Include="HediffComp_TimedExplosion.cs" />
<Compile Include="Hediffs\WULA_HediffDamgeShield\DRMDamageShield.cs" />
<Compile Include="Hediffs\WULA_HediffDamgeShield\Hediff_DamageShield.cs" />
<Compile Include="Thing_Comps\ARA_ThingComp_GuardianPsyField\Hediff_DynamicInterceptor.cs" />
<Compile Include="Jobs\JobDriver_CarryPrisonerToNutrientVat.cs" />
<Compile Include="Pawn_Comps\ARA_CompSkillExperienceGiver\CompProperties_SkillExperienceGiver.cs" />
<Compile Include="Pawn_Comps\ARA_CompSkillExperienceGiver\CompSkillExperienceGiver.cs" />
<Compile Include="Stat\StatWorker_IncubationInfo.cs" />
<Compile Include="Thing_Comps\ARA_ThingComp_GuardianPsyField\ThingComp_GuardianPsyField.cs" />
<Compile Include="Thing_Comps\ARA_ThingComp_GuardianPsyField\Harmony_ProjectileInterceptor.cs" />
<Compile Include="ArachnaeLog.cs" />
<Compile Include="ArachnaeSwarmMod.cs" />
<Compile Include="ArachnaeSwarmSettings.cs" />
<Compile Include="Thing_Comps\ARA_CompExtraIncubationInfo\CompExtraIncubationInfo.cs" />
<Compile Include="Thing_Comps\ARA_CompExtraIncubationInfo\CompProperties_ExtraIncubationInfo.cs" />
<Compile Include="Thing_Comps\CompAndPatch_GiveHediffOnShot.cs" />
<Compile Include="Thing_Comps\CompApparelInterceptor.cs" />
<Compile Include="Pawn_Comps\ARA_AutoMechCarrier\CompAutoMechCarrier.cs" />
<Compile Include="Pawn_Comps\ARA_AutoMechCarrier\CompProperties_AutoMechCarrier.cs" />
<Compile Include="Pawn_Comps\ARA_AutoMechCarrier\PawnProductionEntry.cs" />
<Compile Include="Pawn_Comps\ARA_CompHediffGiver\CompHediffGiver.cs" />
<Compile Include="Pawn_Comps\ARA_CompHediffGiver\CompProperties_HediffGiver.cs" />
<Compile Include="Pawn_Comps\ARA_CompMilkableArachnae\CompMilkableArachnae.cs" />
<Compile Include="Pawn_Comps\ARA_CompMilkableArachnae\CompProperties_MilkableArachnae.cs" />
<Compile Include="Pawn_Comps\ARA_Fighter_Invisible\CompFighterInvisible.cs" />
<Compile Include="Pawn_Comps\ARA_Fighter_Invisible\CompProperties_FighterInvisible.cs" />
<Compile Include="Pawn_Comps\ARA_Flight\CompPawnFlight.cs" />
<Compile Include="Pawn_Comps\ARA_Flight\CompProperties_PawnFlight.cs" />
<Compile Include="Pawn_Comps\ARA_Flight\Pawn_FlightTrackerPatches.cs" />
<Compile Include="Pawn_Comps\ARA_Flight\PawnRenderNodeWorker_AttachmentBody_NoFlight.cs" />
<Compile Include="Pawn_Comps\ARA_GiveHediffsInRangeToRace\HediffComp_GiveHediffsInRangeToRace.cs" />
<Compile Include="Pawn_Comps\ARA_GiveHediffsInRangeToRace\HediffCompProperties_GiveHediffsInRangeToRace.cs" />
<Compile Include="Pawn_Comps\ARA_NodeSwarmLifetime\CompNodeSwarmLifetime.cs" />
<Compile Include="Pawn_Comps\ARA_NodeSwarmLifetime\CompProperties_NodeSwarmLifetime.cs" />
<Compile Include="Pawn_Comps\ARA_TrainingWork\CompAdvancedTraining.cs" />
<Compile Include="Pawn_Comps\ARA_TrainingWork\JobClean\ARA_TrainableDefOf_Cleaning.cs" />
<Compile Include="Pawn_Comps\ARA_TrainingWork\JobClean\JobGiver_Cleaner.cs" />
<Compile Include="Pawn_Comps\ARA_TrainingWork\JobClean\ThinkNode_ConditionalAnimalShouldDoCleaningWork.cs" />
<Compile Include="Pawn_Comps\ARA_TrainingWork\JobClean\WorkGiver_ArachnaeClean.cs" />
<Compile Include="Pawn_Comps\ARA_TrainingWork\JobPlant\JobGiver_Grower.cs" />
<Compile Include="Pawn_Comps\ARA_TrainingWork\JobPlant\ThinkNode_ConditionalAnimalShouldDoGrowingWork.cs" />
<Compile Include="Pawn_Comps\ARA_TrainingWork\JobPlant\WorkGiver_ArachnaeSow.cs" />
<Compile Include="Pawn_Comps\ARA_TrainingWork\TrainingSystem_Patcher.cs" />
<Compile Include="Plants\Plant_Transforming.cs" />
<Compile Include="Thing_Comps\ARA_CustomUniqueWeapon\CompCustomUniqueWeapon.cs" />
<Compile Include="Thing_Comps\ARA_CustomUniqueWeapon\CompProperties_CustomUniqueWeapon.cs" />
<Compile Include="Thing_Comps\ARA_IngestionOutcomeDoer_GiveHediff\IngestionOutcomeDoer_GiveHediffByRace.cs" />
<Compile Include="Thing_Comps\OPToxicGas\Filth_Toxic.cs" />
<Compile Include="Thing_Comps\OPToxicGas\OPToxicGas.cs" />
<Compile Include="Verbs\Cleave\CompCleave.cs" />
<Compile Include="Verbs\Cleave\Verb_MeleeAttack_Cleave.cs" />
<Compile Include="Verbs\ExplosiveBeam\Verb_ShootBeamExplosive.cs" />
<Compile Include="Verbs\ExplosiveBeam\VerbPropertiesExplosiveBeam.cs" />
<Compile Include="Verbs\MultiStrike\CompMultiStrike.cs" />
<Compile Include="Verbs\MultiStrike\Verb_MeleeAttack_MultiStrike.cs" />
<Compile Include="Verbs\Projectiles\BulletWithTrail.cs" />
<Compile Include="Verbs\Projectiles\ExplosiveTrackingBulletDef.cs" />
<Compile Include="Verbs\Projectiles\Projectile_ConfigurableHellsphereCannon.cs" />
<Compile Include="Verbs\Projectiles\Projectile_CruiseMissile.cs" />
<Compile Include="Verbs\Projectiles\Projectile_ExplosiveTrackingBullet.cs" />
<Compile Include="Verbs\Projectiles\Projectile_ExplosiveWithTrail.cs" />
<Compile Include="Verbs\Projectiles\Projectile_TrackingBullet.cs" />
<Compile Include="Verbs\Projectiles\Projectile_WulaPenetratingBeam.cs" />
<Compile Include="Verbs\Projectiles\Projectile_WulaPenetratingBullet.cs" />
<Compile Include="Verbs\Projectiles\TrackingBulletDef.cs" />
<Compile Include="Verbs\Verb_ShootArc.cs" />
<Compile Include="Verbs\Verb_ShootBeamArc.cs" />
<Compile Include="Verbs\Verb_ShootBeamSplitAndChain.cs" />
<Compile Include="Verbs\Verb_ShootMeltBeam.cs" />
<Compile Include="Verbs\Verb_ShootShotgun.cs" />
<Compile Include="Verbs\Verb_ShootShotgunWithOffset.cs" />
<Compile Include="Verbs\Verb_ShootFireSpew.cs" />
<Compile Include="Verbs\VerbProperties_FireSpew.cs" />
<Compile Include="Verbs\Verb_ShootConsumeNutrition.cs" />
<Compile Include="Verbs\VerbProperties_Excalibur.cs" />
<Compile Include="Verbs\Verb_ShootSprayMulti.cs" />
<Compile Include="Verbs\WeaponStealBeam\Verb_ShootWeaponStealBeam.cs" />
<Compile Include="Verbs\WeaponStealBeam\VerbProperties_WeaponStealBeam.cs" />
<Compile Include="Verbs\DamageWorker_InstaKill.cs" />
<Compile Include="Buildings\Building_ARANutrientDispenser\Building_ARANutrientDispenser.cs" />
<Compile Include="Buildings\Building_ARANutrientDispenser\ARAFoodDispenserProperties.cs" />
<Compile Include="Buildings\Building_ARANutrientDispenser\Patch_DispenserFoodSearch.cs" />
<Compile Include="Buildings\Building_CatastropheMissileSilo\Building_CatastropheMissileSilo.cs" />
<Compile Include="Buildings\Building_CatastropheMissileSilo\WorldObject_CatastropheMissile.cs" />
<Compile Include="HarmonyPatches\Patch_ForceTargetable.cs" />
<Compile Include="HarmonyPatches\Projectile_Launch_Patch.cs" />
<Compile Include="Building_Comps\CompForceTargetable.cs" />
<Compile Include="PowerArmor\ARA_PowerArmor.cs" />
<Compile Include="PowerArmor\CompPowerArmorStation.cs" />
<Compile Include="PowerArmor\Gizmo_StructurePanel.cs" />
<Compile Include="PowerArmor\JobDriver_EnterPowerArmor.cs" />
<Compile Include="WorkGivers\WorkGiver_StripChitin.cs" />
<Compile Include="WorkGivers\WorkGiver_SwarmMaintain.cs" />
</ItemGroup>
<ItemGroup>
<Compile Include="Jobs\JobDriver_SuperCarry\SuperCarryExtension.cs" />
<Compile Include="Jobs\JobDriver_SuperCarry\FloatMenuOptionProvider_SuperCarry.cs" />
<Compile Include="Jobs\JobDriver_SuperCarry\JobDriver_SuperCarry.cs" />
</ItemGroup>
<ItemGroup>
<Compile Include="Buildings\Wormhole\Building_WormholePortal_A.cs" />
<Compile Include="Buildings\Wormhole\Building_WormholePortal_B.cs" />
<Compile Include="Buildings\Wormhole\CompLaunchableWormhole.cs" />
<Compile Include="Buildings\Wormhole\JobDriver_DeployWormhole.cs" />
<Compile Include="Buildings\Wormhole\TravelingWormhole.cs" />
<Compile Include="Buildings\Wormhole\DefModExtension_TravelingWormhole.cs" />
</ItemGroup>
<ItemGroup>
<Compile Include="Utils\BezierUtil.cs" />
</ItemGroup>
<ItemGroup>
<Compile Include="**\*.cs" Exclude="bin\**;obj\**" />
<Folder Include="FacialAnimation\" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />

View File

@@ -0,0 +1,67 @@
using HarmonyLib;
using RimWorld;
using Verse;
namespace ArachnaeSwarm
{
/// <summary>
/// 修复原版 Plant 类在被 Pawn 携带/吃掉时的空引用异常。
/// 当植物被 Pawn 吃掉时,它会被放入 Pawn 的 ThingOwner 中,
/// 此时 Map 为 null但 Plant.TickLong() 仍然会被调用,
/// 导致多处访问 Map 相关方法时抛出 NullReferenceException。
/// </summary>
[HarmonyPatch]
public static class Patch_PlantPollutionNullCheck
{
/// <summary>
/// Prefix for Plant.TickLong
/// 如果植物不在地图上,直接跳过整个 TickLong 方法
/// 这是最根本的修复,可以防止所有后续的空引用异常
/// </summary>
[HarmonyPatch(typeof(Plant), nameof(Plant.TickLong))]
[HarmonyPrefix]
public static bool TickLong_Prefix(Plant __instance)
{
// 如果植物未生成或不在地图上,跳过整个 TickLong
if (!__instance.Spawned || __instance.Map == null)
{
return false; // 跳过原方法
}
return true; // 继续执行原方法
}
/// <summary>
/// Prefix for Plant.DyingFromPollution getter
/// 如果植物不在地图上,直接返回 false跳过原方法
/// </summary>
[HarmonyPatch(typeof(Plant), nameof(Plant.DyingFromPollution), MethodType.Getter)]
[HarmonyPrefix]
public static bool DyingFromPollution_Prefix(Plant __instance, ref bool __result)
{
// 如果植物未生成或不在地图上,返回 false 并跳过原方法
if (!__instance.Spawned || __instance.Map == null)
{
__result = false;
return false; // 跳过原方法
}
return true; // 继续执行原方法
}
/// <summary>
/// Prefix for Plant.DyingFromNoPollution getter
/// 如果植物不在地图上,直接返回 false跳过原方法
/// </summary>
[HarmonyPatch(typeof(Plant), nameof(Plant.DyingFromNoPollution), MethodType.Getter)]
[HarmonyPrefix]
public static bool DyingFromNoPollution_Prefix(Plant __instance, ref bool __result)
{
// 如果植物未生成或不在地图上,返回 false 并跳过原方法
if (!__instance.Spawned || __instance.Map == null)
{
__result = false;
return false; // 跳过原方法
}
return true; // 继续执行原方法
}
}
}