This commit is contained in:
2025-09-04 21:12:22 +08:00
parent 0982682cc9
commit 3df5314d4e
5 changed files with 8 additions and 6 deletions

Binary file not shown.

View File

@@ -6,8 +6,8 @@
<defName>ARA_Ability_Possess</defName> <defName>ARA_Ability_Possess</defName>
<label>阿拉克涅寄生</label> <label>阿拉克涅寄生</label>
<description>将你的意识注入另一个生物的身体,完全占据它。</description> <description>将你的意识注入另一个生物的身体,完全占据它。</description>
<iconPath>UI/Abilities/Possess</iconPath> <iconPath>UI/Commands/EggSpew</iconPath>
<cooldownTicks>600</cooldownTicks> <cooldownTicksRange>600</cooldownTicksRange>
<verbProperties> <verbProperties>
<verbClass>Verb_CastAbility</verbClass> <verbClass>Verb_CastAbility</verbClass>
<warmupTime>1.5</warmupTime> <warmupTime>1.5</warmupTime>

View File

@@ -522,7 +522,7 @@
</race> </race>
<!-- 工具设置(攻击方式) --> <!-- 工具设置(攻击方式) -->
<tools> <tools Inherit="False"><!-- 必须写禁止继承不然会把HUMANLIKE的攻击方式继承过来导致红字找不到部件报错 -->
<li> <li>
<label>头颚</label> <label>头颚</label>
<capacities> <capacities>

View File

@@ -17,7 +17,7 @@
</li> </li>
</backstoryFiltersOverride> </backstoryFiltersOverride>
<abilities> <abilities>
<li>ARA_Facehugger</li> <li>ARA_Ability_Possess</li>
</abilities> </abilities>
<apparelTags> <apparelTags>
</apparelTags> </apparelTags>

View File

@@ -38,7 +38,9 @@ namespace ArachnaeSwarm
return; return;
} }
this.innerContainer.TryAdd(this.originalCaster); // 正确的做法:从原始施法者身上“分裂”出一个副本存入容器
// 这确保了容器里的是一个独立的对象,而不是一个会被销毁的引用
this.innerContainer.TryAdd(this.originalCaster.SplitOff(1), true);
PawnDataUtility.TransferSoul(this.originalCaster, this.pawn); PawnDataUtility.TransferSoul(this.originalCaster, this.pawn);
if (!this.originalCaster.Destroyed) if (!this.originalCaster.Destroyed)
@@ -84,7 +86,7 @@ namespace ArachnaeSwarm
{ {
base.ExposeData(); base.ExposeData();
Scribe_Deep.Look(ref innerContainer, "innerContainer", this); Scribe_Deep.Look(ref innerContainer, "innerContainer", this);
Scribe_References.Look(ref originalCaster, "originalCaster"); Scribe_References.Look(ref originalCaster, "originalCaster", false);
} }
} }
} }