From f55952befcfa40c40d0f9d4419c4994a0ad2382a Mon Sep 17 00:00:00 2001 From: "ProjectKoi-Kalo\\Kalo" Date: Thu, 11 Sep 2025 20:57:42 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9A=82=E5=AD=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 1.6/1.6/Assemblies/ArachnaeSwarm.dll | Bin 195072 -> 198144 bytes 1.6/1.6/Defs/AbilityDefs/Ability_Morph.xml | 58 ++-- .../Morphable/Building_Morphable.cs | 258 ++++++++++++++---- .../Morphable/CompAbilityEffect_Transform.cs | 16 ++ .../ArachnaeSwarm/Morphable/CompMorphable.cs | 21 ++ 5 files changed, 272 insertions(+), 81 deletions(-) diff --git a/1.6/1.6/Assemblies/ArachnaeSwarm.dll b/1.6/1.6/Assemblies/ArachnaeSwarm.dll index a0f17fb07e389638182d6f1ec1a162af603d4aa2..91b8045240605db2f10caab0590b683d46bdd31c 100644 GIT binary patch delta 57364 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 delta 54802 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 MEDGOJ_dVMG1(AUuegFUf diff --git a/1.6/1.6/Defs/AbilityDefs/Ability_Morph.xml b/1.6/1.6/Defs/AbilityDefs/Ability_Morph.xml index 4e70f5e..0ff611f 100644 --- a/1.6/1.6/Defs/AbilityDefs/Ability_Morph.xml +++ b/1.6/1.6/Defs/AbilityDefs/Ability_Morph.xml @@ -6,14 +6,21 @@ ARA_Ability_Morph 将自己转换为一个坚固的静态建筑形态,或从建筑形态恢复。 - UI/Commands/Attack + UI/Commands/Attack 600 + Misc12 + false + false Verb_CastAbility - 1.5 - 0 + false + false + true + 1 + 19.9 + false - true + True @@ -23,53 +30,56 @@ - + ARA_MorphableResearchBench + true + (0,0,-1) - 一个供阿拉克涅虫族进行研究的活体结构,可以让虫群尽情地探索变异和进化方向。 + 一个供阿拉克涅虫族进行研究的活体结构,可以让虫群尽情地探索变异和进化方向。其研究能力完全取决于内部的阿拉克涅织域种。 ArachnaeSwarm.Building_Morphable + Normal (3,3) - - 0 - - - - 50 - ArachnaeSwarm/Building/ARA_ResearchBench Graphic_Multi CutoutComplex (3,4.5) - false - 0 Building - PassThroughOnly + Impassable + false + 0.8 + 0 ARA_Creep - 50 250 2800 1.0 + 1.0 - -
  • PlaceWorker_PreventInteractionSpotOverlap
  • -
    - 0.8 - (0,0,-1) - true 2600 Item Laboratory 0.8 +
  • ResearchSpeedFactor
  • -
  • +
  • +
  • + + +
  • Foods
  • + + + 10.0 + false + 营养 + 没有营养 +
    diff --git a/Source/ArachnaeSwarm/Morphable/Building_Morphable.cs b/Source/ArachnaeSwarm/Morphable/Building_Morphable.cs index 3330862..c7cb295 100644 --- a/Source/ArachnaeSwarm/Morphable/Building_Morphable.cs +++ b/Source/ArachnaeSwarm/Morphable/Building_Morphable.cs @@ -1,4 +1,6 @@ using RimWorld; +using System.Text; +using System.Collections.Generic; using Verse; namespace ArachnaeSwarm @@ -6,13 +8,125 @@ namespace ArachnaeSwarm public class Building_Morphable : Building { private CompMorphable compMorphable; + private CompRefuelableNutrition compRefuelable; + private Effecter researchEffecter; + + public float virtualRest; // Public for external access + private bool forceSleep; + + public float VirtualRestMax => 1.0f; + + public override void ExposeData() + { + base.ExposeData(); + Scribe_Values.Look(ref virtualRest, "virtualRest", 1f); + Scribe_Values.Look(ref forceSleep, "forceSleep", false); + } public override void SpawnSetup(Map map, bool respawningAfterLoad) { base.SpawnSetup(map, respawningAfterLoad); this.compMorphable = GetComp(); + this.compRefuelable = GetComp(); } + protected override void Tick() + { + base.Tick(); + + if (compMorphable?.StoredPawn == null) + { + StopResearchEffect(); + return; + } + + Pawn pawn = compMorphable.StoredPawn; + + pawn.needs?.NeedsTrackerTickInterval(1); + + var needs = pawn.needs; + if (needs == null) + { + return; + } + + // --- 饮食逻辑 --- + if (needs.food != null && compRefuelable != null) + { + if (compRefuelable.HasFuel) + { + needs.food.CurLevel += needs.food.FoodFallPerTick; + compRefuelable.ConsumeFuel(needs.food.FoodFallPerTick); + } + else + { + Messages.Message("PawnTransformer_OutOfFuel".Translate(pawn.Named("PAWN")), pawn, MessageTypeDefOf.NegativeEvent); + this.Destroy(DestroyMode.Vanish); + return; + } + } + + // --- 休息与研究逻辑 --- + if (needs.rest != null) + { + if (needs.rest.CurLevel <= 0) + { + forceSleep = true; + } + if (forceSleep && needs.rest.CurLevel >= needs.rest.MaxLevel) + { + forceSleep = false; + } + } + + TimeAssignmentDef assignment = pawn.timetable?.CurrentAssignment ?? TimeAssignmentDefOf.Anything; + + if (forceSleep || (assignment != TimeAssignmentDefOf.Work && assignment != TimeAssignmentDefOf.Anything)) + { + // 休眠期 + if (needs.rest != null) + { + needs.rest.CurLevel += Need_Rest.BaseRestGainPerTick * 2f; + } + StopResearchEffect(); + } + else // 工作时间 + { + ResearchProjectDef currentProj = Find.ResearchManager.GetProject(); + if (currentProj != null) + { + float researchSpeed = pawn.GetStatValue(StatDefOf.ResearchSpeed); + researchSpeed *= this.GetStatValue(StatDefOf.ResearchSpeedFactor); + Find.ResearchManager.ResearchPerformed(researchSpeed, pawn); + pawn.skills.Learn(SkillDefOf.Intellectual, 0.1f, false); + StartResearchEffect(); + } + else + { + StopResearchEffect(); + } + } + } + + private void StartResearchEffect() + { + if (researchEffecter == null) + { + researchEffecter = EffecterDefOf.Research.Spawn(); + } + researchEffecter.EffectTick(this, TargetInfo.Invalid); + } + + private void StopResearchEffect() + { + if (researchEffecter != null) + { + researchEffecter.Cleanup(); + researchEffecter = null; + } + } + + public override string Label { get @@ -27,77 +141,107 @@ namespace ArachnaeSwarm public override string GetInspectString() { - string text = base.GetInspectString(); - if (compMorphable?.StoredPawn != null) + List inspectStrings = new List(); + string baseString = base.GetInspectString(); + if (!baseString.NullOrEmpty()) { - if (!text.NullOrEmpty()) - { - text += "\n"; - } - text += "StoredPawn".Translate() + ": " + compMorphable.StoredPawn.LabelShort; - } - return text; - } - - public override void PreApplyDamage(ref DamageInfo dinfo, out bool absorbed) - { - // 先让基类处理,我们不打断正常流程 - base.PreApplyDamage(ref dinfo, out absorbed); - if (absorbed) - { - return; - } - - // 如果建筑即将被摧毁,则由Destroy方法处理,避免重复逻辑 - if (this.HitPoints - dinfo.Amount <= 0) - { - return; + inspectStrings.Add(baseString); } if (compMorphable?.StoredPawn != null) { Pawn pawn = compMorphable.StoredPawn; - float damageProportion = dinfo.Amount / this.def.statBases.GetStatValueFromList(StatDefOf.MaxHitPoints, 500f); - - // --- 立即强制解除变形 --- - Map map = this.Map; - IntVec3 position = this.Position; - - // 1. 将Pawn放回地图 - GenSpawn.Spawn(pawn, position, map, WipeMode.Vanish); - PawnComponentsUtility.AddComponentsForSpawn(pawn); - - // 2. 对Pawn施加等比例伤害 - float pawnDamage = pawn.MaxHitPoints * damageProportion; - DamageInfo pawnDinfo = new DamageInfo(dinfo.Def, pawnDamage, dinfo.ArmorPenetrationInt, dinfo.Angle, dinfo.Instigator, null, dinfo.Weapon, dinfo.Category, dinfo.IntendedTarget); - pawn.TakeDamage(pawnDinfo); - - Messages.Message("PawnTransformer_ForcedRevert".Translate(pawn.Named("PAWN")), pawn, MessageTypeDefOf.NegativeEvent); - // 3. 移除建筑 - // 注意:这里不调用base.Destroy(),以避免循环和重复的恢复逻辑 - this.Destroy(DestroyMode.Vanish); + SkillRecord intellectualSkill = pawn.skills?.GetSkill(SkillDefOf.Intellectual); + if (intellectualSkill != null) + { + inspectStrings.Add($"{SkillDefOf.Intellectual.LabelCap}: {intellectualSkill.Level} ({intellectualSkill.XpProgressPercent:P0})"); + } + + Need_Rest restNeed = pawn.needs?.rest; + if (restNeed != null) + { + inspectStrings.Add($"{restNeed.LabelCap}: {restNeed.CurLevelPercentage:P0}"); + } + + TimeAssignmentDef assignment = pawn.timetable?.CurrentAssignment ?? TimeAssignmentDefOf.Anything; + bool isWorkingTime = !forceSleep && (assignment == TimeAssignmentDefOf.Work || assignment == TimeAssignmentDefOf.Anything); + + string activity; + if (isWorkingTime) + { + ResearchProjectDef currentProj = Find.ResearchManager.GetProject(); + if (currentProj != null) + { + activity = "Activity".Translate() + ": " + "Researching".Translate() + $" ({currentProj.LabelCap})"; + } + else + { + activity = "Activity".Translate() + ": " + "Idle".Translate(); + } + } + else + { + activity = "Activity".Translate() + ": " + "Sleeping".Translate(); + } + inspectStrings.Add(activity); } + + return string.Join("\n", inspectStrings); + } + + public override void PostApplyDamage(DamageInfo dinfo, float totalDamageDealt) + { + base.PostApplyDamage(dinfo, totalDamageDealt); + if (dinfo.Amount <= 0 || this.Destroyed) + { + return; + } + + if (compMorphable?.StoredPawn != null) + { + ForceRevert(dinfo); + } + } + + private void ForceRevert(DamageInfo dinfo) + { + Pawn pawn = compMorphable.StoredPawn; + Map map = this.Map; + IntVec3 position = this.Position; + + compMorphable.SetStoredPawn(null); + + float damageProportion = dinfo.Amount / this.def.statBases.GetStatValueFromList(StatDefOf.MaxHitPoints, 1f); + float pawnDamage = pawn.MaxHitPoints * damageProportion; + DamageInfo pawnDinfo = new DamageInfo(dinfo.Def, pawnDamage, dinfo.ArmorPenetrationInt, dinfo.Angle, dinfo.Instigator, null, dinfo.Weapon, dinfo.Category, dinfo.IntendedTarget); + + this.Destroy(DestroyMode.Vanish); + + GenSpawn.Spawn(pawn, position, map, WipeMode.Vanish); + PawnComponentsUtility.AddComponentsForSpawn(pawn); + pawn.TakeDamage(pawnDinfo); + + Messages.Message("PawnTransformer_ForcedRevert".Translate(pawn.Named("PAWN")), pawn, MessageTypeDefOf.NegativeEvent); } public override void Destroy(DestroyMode mode) { - // 只有在建筑还存在于地图上时,才执行恢复逻辑 - if (this.Spawned) + if (researchEffecter != null) { - if (compMorphable != null && compMorphable.StoredPawn != null) + researchEffecter.Cleanup(); + researchEffecter = null; + } + + if (this.Spawned && compMorphable != null && compMorphable.StoredPawn != null) + { + Pawn pawn = compMorphable.StoredPawn; + GenSpawn.Spawn(pawn, this.Position, this.Map, WipeMode.Vanish); + PawnComponentsUtility.AddComponentsForSpawn(pawn); + + if (mode == DestroyMode.KillFinalize) { - Pawn pawn = compMorphable.StoredPawn; - Map map = this.Map; - IntVec3 position = this.Position; - - GenSpawn.Spawn(pawn, position, map, WipeMode.Vanish); - PawnComponentsUtility.AddComponentsForSpawn(pawn); - - if (mode == DestroyMode.KillFinalize) - { - Messages.Message("PawnTransformer_BuildingDestroyed".Translate(pawn.Named("PAWN"), this.Named("BUILDING")), pawn, MessageTypeDefOf.NegativeEvent); - } + Messages.Message("PawnTransformer_BuildingDestroyed".Translate(pawn.Named("PAWN"), this.Named("BUILDING")), pawn, MessageTypeDefOf.NegativeEvent); } } base.Destroy(mode); diff --git a/Source/ArachnaeSwarm/Morphable/CompAbilityEffect_Transform.cs b/Source/ArachnaeSwarm/Morphable/CompAbilityEffect_Transform.cs index a5614f5..0c13b61 100644 --- a/Source/ArachnaeSwarm/Morphable/CompAbilityEffect_Transform.cs +++ b/Source/ArachnaeSwarm/Morphable/CompAbilityEffect_Transform.cs @@ -38,6 +38,22 @@ namespace ArachnaeSwarm { newMorphComp.SetStoredPawn(pawn); } + + // 同步需求值 + var buildingMorphable = building as Building_Morphable; + var refuelableComp = building.GetComp(); + + if (buildingMorphable != null && refuelableComp != null && pawn.needs != null) + { + if(pawn.needs.food != null) + { + refuelableComp.Refuel(refuelableComp.Props.fuelCapacity * pawn.needs.food.CurLevelPercentage); + } + if(pawn.needs.rest != null) + { + buildingMorphable.virtualRest = buildingMorphable.VirtualRestMax * pawn.needs.rest.CurLevelPercentage; + } + } } public override bool Valid(LocalTargetInfo target, bool throwMessages = false) diff --git a/Source/ArachnaeSwarm/Morphable/CompMorphable.cs b/Source/ArachnaeSwarm/Morphable/CompMorphable.cs index d1a35ae..61c7112 100644 --- a/Source/ArachnaeSwarm/Morphable/CompMorphable.cs +++ b/Source/ArachnaeSwarm/Morphable/CompMorphable.cs @@ -8,6 +8,7 @@ namespace ArachnaeSwarm public class CompMorphable : ThingComp { private Pawn storedPawn; + public bool wasEjectedForFuel = false; public Pawn StoredPawn => storedPawn; public void SetStoredPawn(Pawn pawn) @@ -40,6 +41,26 @@ namespace ArachnaeSwarm Building building = (Building)this.parent; Map map = building.Map; + // 同步燃料到食物 + var refuelableComp = building.GetComp(); + var buildingMorphable = building as Building_Morphable; + var needs = storedPawn.needs; + + if (refuelableComp != null && needs?.food != null) + { + needs.food.CurLevelPercentage = refuelableComp.Fuel / refuelableComp.Props.fuelCapacity; + } + if (buildingMorphable != null && needs?.rest != null) + { + needs.rest.CurLevelPercentage = buildingMorphable.virtualRest / buildingMorphable.VirtualRestMax; + } + + // 如果是因为燃料耗尽而被弹出,清空Pawn的食物需求 + if(wasEjectedForFuel && needs?.food != null) + { + needs.food.CurLevel = 0; + } + // 移除建筑 building.DeSpawn(DestroyMode.Vanish);