暂存
This commit is contained in:
Binary file not shown.
@@ -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>
|
||||||
|
|||||||
@@ -522,7 +522,7 @@
|
|||||||
</race>
|
</race>
|
||||||
|
|
||||||
<!-- 工具设置(攻击方式) -->
|
<!-- 工具设置(攻击方式) -->
|
||||||
<tools>
|
<tools Inherit="False"><!-- 必须写禁止继承不然会把HUMANLIKE的攻击方式继承过来导致红字找不到部件报错 -->
|
||||||
<li>
|
<li>
|
||||||
<label>头颚</label>
|
<label>头颚</label>
|
||||||
<capacities>
|
<capacities>
|
||||||
|
|||||||
@@ -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>
|
||||||
|
|||||||
@@ -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);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user