From dede557c055ba41bda5095c8f0e370994d97e5a7 Mon Sep 17 00:00:00 2001 From: "ProjectKoi-Kalo\\Kalo" Date: Thu, 11 Sep 2025 18:56:31 +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 191488 -> 194560 bytes Source/ArachnaeSwarm/ArachnaeSwarm.csproj | 7 ++ .../Morphable/Building_Morphable.cs | 30 ++++++++ .../Morphable/CompAbilityEffect_Transform.cs | 68 ++++++++++++++++++ .../ArachnaeSwarm/Morphable/CompMorphable.cs | 59 +++++++++++++++ .../CompProperties_AbilityTransform.cs | 15 ++++ .../Morphable/CompProperties_Morphable.cs | 13 ++++ 7 files changed, 192 insertions(+) create mode 100644 Source/ArachnaeSwarm/Morphable/Building_Morphable.cs create mode 100644 Source/ArachnaeSwarm/Morphable/CompAbilityEffect_Transform.cs create mode 100644 Source/ArachnaeSwarm/Morphable/CompMorphable.cs create mode 100644 Source/ArachnaeSwarm/Morphable/CompProperties_AbilityTransform.cs create mode 100644 Source/ArachnaeSwarm/Morphable/CompProperties_Morphable.cs diff --git a/1.6/1.6/Assemblies/ArachnaeSwarm.dll b/1.6/1.6/Assemblies/ArachnaeSwarm.dll index 579171b0b95707e9af3f50779713ba574f260020..079522435d91371a2607d25ed93e255a4723d713 100644 GIT binary patch delta 57299 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 CqIy~Y delta 54579 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 diff --git a/Source/ArachnaeSwarm/ArachnaeSwarm.csproj b/Source/ArachnaeSwarm/ArachnaeSwarm.csproj index 4c6332d..9b9f81d 100644 --- a/Source/ArachnaeSwarm/ArachnaeSwarm.csproj +++ b/Source/ArachnaeSwarm/ArachnaeSwarm.csproj @@ -193,6 +193,13 @@ + + + + + + + diff --git a/Source/ArachnaeSwarm/Morphable/Building_Morphable.cs b/Source/ArachnaeSwarm/Morphable/Building_Morphable.cs new file mode 100644 index 0000000..b18c04e --- /dev/null +++ b/Source/ArachnaeSwarm/Morphable/Building_Morphable.cs @@ -0,0 +1,30 @@ +using RimWorld; +using Verse; + +namespace ArachnaeSwarm +{ + public class Building_Morphable : Building + { + public override void Destroy(DestroyMode mode) + { + var comp = this.GetComp(); + if (comp != null && comp.StoredPawn != null) + { + Pawn pawn = comp.StoredPawn; + Map map = this.Map; + IntVec3 position = this.Position; + + // 在建筑消失前,先把Pawn生成出来 + 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); + } + } + base.Destroy(mode); + } + } +} \ No newline at end of file diff --git a/Source/ArachnaeSwarm/Morphable/CompAbilityEffect_Transform.cs b/Source/ArachnaeSwarm/Morphable/CompAbilityEffect_Transform.cs new file mode 100644 index 0000000..270d783 --- /dev/null +++ b/Source/ArachnaeSwarm/Morphable/CompAbilityEffect_Transform.cs @@ -0,0 +1,68 @@ +using RimWorld; +using Verse; + +namespace ArachnaeSwarm +{ + public class CompAbilityEffect_Transform : CompAbilityEffect + { + public new CompProperties_AbilityTransform Props => (CompProperties_AbilityTransform)props; + + public override void Apply(LocalTargetInfo target, LocalTargetInfo dest) + { + base.Apply(target, dest); + Pawn pawn = parent.pawn; + + // 检查空间 + foreach (var cell in GenRadial.RadialCellsAround(pawn.Position, Props.buildingDef.Size.x / 2f, true)) + { + if (!cell.InBounds(pawn.Map) || !cell.Walkable(pawn.Map) || cell.GetEdifice(pawn.Map) != null) + { + Messages.Message("PawnTransformer_SpaceBlocked".Translate(pawn.Named("PAWN")), pawn, MessageTypeDefOf.RejectInput, false); + // 重置技能冷却 + parent.StartCooldown(0); + return; + } + } + + // 执行转换 + IntVec3 position = pawn.Position; + Map map = pawn.Map; + + pawn.DeSpawn(DestroyMode.Vanish); + + Building building = (Building)GenSpawn.Spawn(Props.buildingDef, position, map, WipeMode.Vanish); + building.SetFaction(pawn.Faction); + + if (pawn.Name != null) + { + building.TryGetComp()?.TryAssignPawn(pawn); + } + + var container = building.GetComp(); + if (container != null) + { + container.GetDirectlyHeldThings().TryAdd(pawn); + } + + var newMorphComp = building.GetComp(); + if (newMorphComp != null) + { + newMorphComp.SetStoredPawn(pawn); + } + } + + public override bool Valid(LocalTargetInfo target, bool throwMessages = false) + { + // 这个技能只应该对自己释放 + if (target.Pawn != parent.pawn) + { + if (throwMessages) + { + Messages.Message("AbilityCannotBeUsedOnOthers".Translate(), MessageTypeDefOf.RejectInput, false); + } + return false; + } + return base.Valid(target, throwMessages); + } + } +} \ No newline at end of file diff --git a/Source/ArachnaeSwarm/Morphable/CompMorphable.cs b/Source/ArachnaeSwarm/Morphable/CompMorphable.cs new file mode 100644 index 0000000..d1a35ae --- /dev/null +++ b/Source/ArachnaeSwarm/Morphable/CompMorphable.cs @@ -0,0 +1,59 @@ +using RimWorld; +using System.Collections.Generic; +using Verse; +using Verse.AI; + +namespace ArachnaeSwarm +{ + public class CompMorphable : ThingComp + { + private Pawn storedPawn; + public Pawn StoredPawn => storedPawn; + + public void SetStoredPawn(Pawn pawn) + { + this.storedPawn = pawn; + } + + public override void PostExposeData() + { + base.PostExposeData(); + Scribe_References.Look(ref storedPawn, "storedPawn", false); + } + + public override IEnumerable CompGetGizmosExtra() + { + if (parent.Faction == Faction.OfPlayer && storedPawn != null) + { + yield return new Command_Action + { + defaultLabel = "恢复人形", + defaultDesc = "将此建筑恢复为人形。", + icon = TexCommand.ReleaseAnimals, // TODO: Replace with a proper icon + action = () => { TransformBackToPawn(); } + }; + } + } + + private void TransformBackToPawn() + { + Building building = (Building)this.parent; + Map map = building.Map; + + // 移除建筑 + building.DeSpawn(DestroyMode.Vanish); + + // 重新生成Pawn + GenSpawn.Spawn(storedPawn, building.Position, map, WipeMode.Vanish); + + // 重新初始化Pawn在地图上所需的组件 + PawnComponentsUtility.AddComponentsForSpawn(storedPawn); + + // 选中Pawn + if (Find.Selector.IsSelected(building)) + { + Find.Selector.Select(storedPawn); + } + } + } +} \ No newline at end of file diff --git a/Source/ArachnaeSwarm/Morphable/CompProperties_AbilityTransform.cs b/Source/ArachnaeSwarm/Morphable/CompProperties_AbilityTransform.cs new file mode 100644 index 0000000..c727e1e --- /dev/null +++ b/Source/ArachnaeSwarm/Morphable/CompProperties_AbilityTransform.cs @@ -0,0 +1,15 @@ +using RimWorld; +using Verse; + +namespace ArachnaeSwarm +{ + public class CompProperties_AbilityTransform : CompProperties_AbilityEffect + { + public ThingDef buildingDef; + + public CompProperties_AbilityTransform() + { + compClass = typeof(CompAbilityEffect_Transform); + } + } +} \ No newline at end of file diff --git a/Source/ArachnaeSwarm/Morphable/CompProperties_Morphable.cs b/Source/ArachnaeSwarm/Morphable/CompProperties_Morphable.cs new file mode 100644 index 0000000..a656901 --- /dev/null +++ b/Source/ArachnaeSwarm/Morphable/CompProperties_Morphable.cs @@ -0,0 +1,13 @@ +using RimWorld; +using Verse; + +namespace ArachnaeSwarm +{ + public class CompProperties_Morphable : CompProperties + { + public CompProperties_Morphable() + { + compClass = typeof(CompMorphable); + } + } +} \ No newline at end of file