This commit is contained in:
2025-09-04 21:01:54 +08:00
parent 760ddee0cc
commit 0982682cc9
11 changed files with 300 additions and 210 deletions

View File

@@ -37,6 +37,55 @@ graph TD
### 3.1 `CompAbilityEffect_Possess.cs` - 技能效果的起点
这是技能被使用时第一个被调用的C#文件。它的职责是创建`Hediff_Possession`并将其附加到目标身上,从而启动整个夺舍流程。
## 3. 最终数据迁移规范 (Final Data Transfer Specification)
通过对真实存档文件 (`Human.xml`) 的深度分析,我们最终确定了“灵魂”与“肉体”的数据边界。`PawnDataUtility.TransferSoul` 方法将严格遵循以下规范进行数据迁移:
### 3.1 必须复制的“灵魂”数据
这些数据定义了Pawn的身份、经历、思想和核心能力将**完全从抱脸虫(源)复制到宿主(目标)**。
- **核心身份 (`Name`, `Story`, `Faction`)**:
- `Name`: 姓名与昵称。
- `Story`: 童年和成年背景 (`Childhood`, `Adulthood`)。
- `Traits`: 所有特性。
- `Faction`: 所属阵营。
- **成长与经历 (`Skills`, `Records`)**:
- `Skills`: 所有技能的等级、经验和热情。
- `Records`: 全部生平记录 (如击杀数、建造数等)。
- **思想与设定 (`Needs`, `WorkSettings`, etc.)**:
- `Needs`: 主要是指`thoughts.memories` (思想和记忆)。
- `WorkSettings`: 工作优先级。
- `Timetable`: 时间表。
- `PlayerSettings`: 玩家设定 (如医疗策略)。
- `Ownership`: 对床、王座等的所有权。
- `Outfits` & `Drugs`: 穿着和药物策略。
- `FoodRestriction`: 食物策略。
- **DLC核心数据 (`Ideo`, `Royalty`)**:
- `Ideo`: 完整的信仰体系。
- `Royalty`: 完整的贵族系统,包括头衔、恩惠、许可、灵能和相关技能 (`abilities`)。
- **社交 (`Relations`)**:
- 将采用**简化处理**:清空目标的旧关系,然后只复制源的**非亲属**直接关系 (如朋友、对手、爱人)。这可以避免破坏家族树。
### 3.2 必须保留的“肉体”数据
这些数据属于物理身体的范畴,在夺舍过程中将**完全保留宿主原有的数据**,不进行任何复制。
- **健康与生理 (`Health`, `Age`)**:
- `Health`: 所有伤口、疤痕、疾病和植入物。
- `Age`: 生物年龄和时间年龄。
- **外观与基因 (`Style`, `Genes`, `BodyType`)**:
- `Style`: 发型、胡须、纹身。
- `Genes`: 所有内生和异种基因。
- `BodyType`, `HeadType`, `HairColor`: 身体类型、头型和发色。
- **装备与物品 (`Apparel`, `Equipment`, `Inventory`)**:
- `Apparel`: 身上穿着的衣物。
- `Equipment`: 手中持有的装备。
- `Inventory`: 物品栏中的物品。
- **物理状态 (`Position`, `Stances`, `Pather`)**:
- Pawn在世界中的位置、姿态和寻路信息。
---
```csharp
// 路径: Source/ArachnaeSwarm/Possession/CompAbilityEffect_Possess.cs