自定义和修复关系状态标签

自定义和修复关系状态标签

当我使用Freelove时,我注意到NPC在收到花束和挂件后,关系列表中仍然显示为“单身”,所以我制作了这个来解决这个问题。此外,它还允许你自定义关系

视觉与图形

描述

在使用 Freelove 时,我发现即使送给 NPC 花束和吊坠后,关系列表中仍显示为“单身”,因此我制作了这个模组来修复该问题。此外,它还允许你自定义关系状态标签。

最初为基础游戏、SVE、ES 和 RSV 中所有有生日的 NPC 提供了兼容性。对于其他额外 NPC,你可以下载可选的 Python 文件来自动生成兼容性数据。

!!!请注意:赠送花束或吊坠后,需要睡一整天,标签才会更新!!!

我只用 Freelove 进行了一些初步测试,似乎运行正常,没有重大问题。我尚未测试 PolyamorySweet,因此兼容性未知。不过,由于两者都是相对复杂的模组,如果修改标签导致不兼容,请告知我(但我也算是个电脑新手,不确定能否修复 XD)。

对于非英语母语者,启动后可能需要手动在设置界面中设置标签名称,因为我还没搞明白如何让自定义设置的默认值与 i18n 兼容。

安装说明

首先,安装前置模组 Content Patcher 和 NPC Relationship Tags。 然后安装本模组(将其拖入模组文件夹)。

如果你有其他添加 NPC 的模组,可以下载可选的 Python 文件,运行它生成一个兼容性数据文件,并将其放入本模组的文件夹中。详细说明如下。

对于非英语母语者,启动后可能需要手动在设置界面中设置标签名称,因为我还没搞明白如何让自定义设置的默认值与 i18n 兼容。

主要功能

修复了通过 Freelove 赠送 NPC 花束或吊坠后,其关系标签仍显示为“单身”的问题。 现在,它还允许你自定义恋爱关系标签。

我尚未使用 PolyamorySweet 进行测试,因此不确定是否会出现问题。

前置需求

Content Patcher NPC Relationship Tags Freelove (可选)

鸣谢

感谢 mushymato 提供了如此出色的框架。

========================================================

以下为使用可选 Python 文件为自定义 NPC 生成兼容性数据的说明:

因为我发现手动添加 NPC 兼容性数据实在……你懂的,所以我让 GPT 编写了一个 Python 程序来自动生成兼容文件。其工作方式大致如下:

[spoiler]它会扫描当前文件夹及其所有子文件夹中的所有 .json 文件。当检测到字段

[code]"Target": "Data/Characters"[/code] 和键值

[code]"BirthSeason"[/code] 时,它会提取 NPC ID,并使用特定模板在 Data.json 中生成对应条目。此外,还有一些额外的安全措施和附加功能,等等。[/spoiler]

使用方法:

  1. 确保你的电脑上安装了 Python(我不确定具体版本,但应该任何版本都能用)。
  2. 将可选文件 [code]AutoProgram.py[/code] 放入 Mods 文件夹。
  3. 运行 [code]AutoProgram.py[/code]。它会提示你两个选项——选择 0 或 1,分别表示否或是。
    • i. 第一个问题询问是否启用模组 ID 检测。如果你选择“是”,程序将为每个 NPC 添加一个额外条件,检查它们所属的模组是否已安装。这样,如果添加了某个 NPC 的兼容性数据,但对应的模组并未实际安装到游戏中,程序也不会报错。具体工作方式如下: [spoiler]程序会向上查找第一个 [code]manifest.json[/code] 的 [code]UniqueID[/code],并为每个 NPC 的兼容条目添加类似 [code]"HasMod |contains=Lemurkat.EastScarpNPCs": true[/code] 的条件。[/spoiler]
    • ii. 第二个问题询问是否只想为初始为单身状态的 NPC 添加兼容性数据。如果你选择“是”,则只会为初始为单身的 NPC 添加兼容性数据。请注意,有些模组的 NPC 初始并非单身,需要之后通过事件才能开启恋爱,对于此类模组,你可能需要选择“否”。具体工作方式如下: [spoiler]程序会检查符合条件的 NPC 是否具有 [code]"CanBeRomanced": true[/code]——如果是,则添加条目。就这么简单。[/spoiler]
  4. 程序运行后,会在 [code]AutoProgram.py[/code] 所在的目录下生成一个 [code]Data.json[/code] 兼容文件。
  5. 将此文件剪切并粘贴到本模组的文件夹中,即 [CP] Custom and Fix Relationship status labels,如有提示则覆盖。

每次添加新的自定义 NPC 模组后,你可能需要重新运行此过程。