From 3df5314d4e09a40cbb9257786181972e1b0d3bb4 Mon Sep 17 00:00:00 2001 From: "ProjectKoi-Kalo\\Kalo" Date: Thu, 4 Sep 2025 21:12:22 +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 70656 -> 70656 bytes .../Defs/AbilityDefs/ARA_Possession_Defs.xml | 4 ++-- .../Defs/ThingDef_Races/ARA_RaceNodeSwarm.xml | 2 +- .../ARA_Race_HuggingFaceSwarm.xml | 2 +- .../Possession/Hediff_Possession.cs | 6 ++++-- 5 files changed, 8 insertions(+), 6 deletions(-) diff --git a/1.6/1.6/Assemblies/ArachnaeSwarm.dll b/1.6/1.6/Assemblies/ArachnaeSwarm.dll index 3f48b6b6ae03ebd462c58731654ce6402cc0bef1..58a9ee56b1c3a225f453243a3453bfdec2f16cc1 100644 GIT binary patch delta 1590 zcmY+EUu+ar6o-FzcDq=LK$UbV-IqppS%_#$DkKIWgtS&?rY&|W!_JH^CPENHz?4=R zm@V5Dh?sP<@lPs(ff$PV0NEzhKw^oB_QCY6p-~gF>Jup`M2JRf;GTOA?6S#j^5wg8 zf9KqLX0zkb?09taMD)tZv7hs&;-W2oai_Rb5MoW$+**Nnq0xA@uuH5Fc41J2wW)Oi z^l6u0169~ptTisYB2E{+wbnh^XAB$wqQ<~M`D^Z<7Fb%iWxZ8&?Wq?+e=j}v1J1+} zOSYq=Xapyp=`>m~&$McN3~hM+ZM`y6MYKoJM@Tjdn{AkvThlH#HzLxG%)3M*_0!21 zUd5Y_(2<8Er28aPSQ6J)#9(2L>HC&ONvU4iW)Ra6a;=I=)h{(K3JZ=VG5j34G&^fU zlO&(rJBbfW3tutilG~*#D$=D{xY`?*E447KWDZXov}x0!2Tn+`73o54oMNIvZDjk) zh1&R3QK|Y`^M|I5^O{tlHojy>h1!_t2j!Q<-Ncw&8hMYlDG937MvWq>R7gs)qjPeQ zVxo8lzi6rso6nmL{$NKZ>}EwG)`5u%*NG{1x5bp%iDd)jgf7$*g*+x*XjC$XG5lzDVJ*`F z&eiR}CZ-xmuc1|uF0C6K4_xG2T{qsSaB1vjx5bz-)99;kJ;*8wbNENf9*pwRm6Be^ z=MR?(?8H??`tDsUGST6?cDRuEaFQvP8 zQBb6>!o^udx?dOLigGw(%*y93F%5}Xa~Hm;See1KN9ZSBNyD8%%TX$Oq&}qa%AiZ3 z?$E<16LshzJy`D0!+u42x;^x1QXP6Y%8okpaDp8Tw}uC8Si0{B~7=F z&BrLPBq-iTHdl`K@tLAhb{%W=HWpCfIFD{w`Pk%|!7&?kS=Z4TZ$j zLpqS+1H_pqKER)v)XNoMo*lhh0sdk~fdLlT(aRNJ>#*LF0t39PNMC4xZbj-sqf+|C z{PF*Guk1ZMv+7tf)p?~M+%eRj>?xjJNXH+K^FKT7w(;ZtYea)cO+K|u+!m9|my3TR QM*EACwNHozk#AaZADTjJbN~PV delta 1590 zcmY+EZD>N|}N?&pD4K1{(PF_uTV; zo^#Gk_pqmX*z?^X&*a8M&jts|#OlG3X7MB?L}mV+DuJ?8g|Rf%A}U3Fsz1|H zsh58S^07T#Y@FL5j;F4K7th^obnXT`M(5Y^JM}WW%>dGI>&C~fy@MXQh11?ZK^^WX z>c?S!)L4rtrUf5*u?|ai>dMx9qBcdx5iIR9*I`PoORGFyfxLQbZ71sYjR(DGz~}GL z-ghLV``%TU5qIZ%5yl;+-eVGAHiKs zg>LoFW(4=y(auEhFFOj1;0e2nfe~4`Y#%5;BPcL}RT6bl zBP}0n$#IQnV>clJ-bRe(xG1i&dn#_2QOxShCd9CS$mMGiL%EVkoWvhy3<0KT43%ue zGN##*HlbFLZf!Ff-nzV@lFew%aZUJw-Dk#avkC1vZVS2;xk=1Oxdj7US|n*JPQ5D? zXvSqldh>0}Fwy4Q@a(6V^d+@Xp-5j+8&#Ur+1m)Qqoc5~Qj;s_mfASTrF0ZFjw;ee zVdF%obeAscgly_h_6e>2kLsbb#9K_qpRiA<uv3w~-45C{sRfX8Sh|*CH)G-vGQ9A z%m|8)qbr$>kK+eLnZnsMlV%)0X;SfV46~#7I7Zpk1|Q1G=S&nI$16p&qppxx(yIe0 zJ^>#S#V7DUlX|%lm|{mSR|3=QC@_H;cJy*3u&Ph5Nr4H}Dbfd;Kva=BP>+;$`q;r& zUlz@3__OFuXnS<@t49xam`-#0>~vGvTp$0e(`q#*#2is7{A1;F#8WXC@{G-!C;rPb P)_gKn{DGL3|0(z%x@BtJ diff --git a/1.6/1.6/Defs/AbilityDefs/ARA_Possession_Defs.xml b/1.6/1.6/Defs/AbilityDefs/ARA_Possession_Defs.xml index 993203b..90e4371 100644 --- a/1.6/1.6/Defs/AbilityDefs/ARA_Possession_Defs.xml +++ b/1.6/1.6/Defs/AbilityDefs/ARA_Possession_Defs.xml @@ -6,8 +6,8 @@ ARA_Ability_Possess 将你的意识注入另一个生物的身体,完全占据它。 - UI/Abilities/Possess - 600 + UI/Commands/EggSpew + 600 Verb_CastAbility 1.5 diff --git a/1.6/1.6/Defs/ThingDef_Races/ARA_RaceNodeSwarm.xml b/1.6/1.6/Defs/ThingDef_Races/ARA_RaceNodeSwarm.xml index f22c796..94bfddf 100644 --- a/1.6/1.6/Defs/ThingDef_Races/ARA_RaceNodeSwarm.xml +++ b/1.6/1.6/Defs/ThingDef_Races/ARA_RaceNodeSwarm.xml @@ -522,7 +522,7 @@ - +
  • diff --git a/1.6/1.6/Defs/ThingDef_Races/ARA_Race_HuggingFaceSwarm.xml b/1.6/1.6/Defs/ThingDef_Races/ARA_Race_HuggingFaceSwarm.xml index 220a030..f6ca2c5 100644 --- a/1.6/1.6/Defs/ThingDef_Races/ARA_Race_HuggingFaceSwarm.xml +++ b/1.6/1.6/Defs/ThingDef_Races/ARA_Race_HuggingFaceSwarm.xml @@ -17,7 +17,7 @@
  • -
  • ARA_Facehugger
  • +
  • ARA_Ability_Possess
  • diff --git a/Source/ArachnaeSwarm/Possession/Hediff_Possession.cs b/Source/ArachnaeSwarm/Possession/Hediff_Possession.cs index 34c6e0f..8f8c5b9 100644 --- a/Source/ArachnaeSwarm/Possession/Hediff_Possession.cs +++ b/Source/ArachnaeSwarm/Possession/Hediff_Possession.cs @@ -38,7 +38,9 @@ namespace ArachnaeSwarm return; } - this.innerContainer.TryAdd(this.originalCaster); + // 正确的做法:从原始施法者身上“分裂”出一个副本存入容器 + // 这确保了容器里的是一个独立的对象,而不是一个会被销毁的引用 + this.innerContainer.TryAdd(this.originalCaster.SplitOff(1), true); PawnDataUtility.TransferSoul(this.originalCaster, this.pawn); if (!this.originalCaster.Destroyed) @@ -84,7 +86,7 @@ namespace ArachnaeSwarm { base.ExposeData(); Scribe_Deep.Look(ref innerContainer, "innerContainer", this); - Scribe_References.Look(ref originalCaster, "originalCaster"); + Scribe_References.Look(ref originalCaster, "originalCaster", false); } } } \ No newline at end of file