维护提醒

BWIKI 全站将于 9 月 3 日(全天)进行维护,期间无法编辑任何页面或发布新的评论。

全站通知:

模组:电影院数据

来自星露谷物语维基
跳到导航 跳到搜索

目录

此页面解释与电影院有关的文件的用途和格式。这是面向模组开发者的高级指南。

电影数据

Data\Movies.xnb 包含所有电影的数据,包括名称、描述、题材标签、电影片段、对话和旁白。下面是《勇敢的小树苗》的原始数据:

格式

每个电影的对应项以形如 <season>_movie_<number> 的标识符开头,其中 <season> 为上映季节,<number> 为 0 或 1。电影院每天会在对应季节轮换 #0 电影和 #1 电影。

电影数据的主代码块包含如下信息:

键格式 描述
ID 总是留空,作用未知
SheetIndex LooseSprites\Movies.xnb 中电影片段贴图的位置。
Title 电影标题.
Description 电影描述,用于电影院外的海报。
Tags 电影的题材列表,用于计算 NPC 对电影的反应。可以为任意字符串。原版中为familycomedyhorrorartactionsci-ficlassicromancedocumentary
Scenes 电影片段的数据块的列表(见下文)。

Scenes

Scenes 字段为一系列代码块的列表,每个代码块都对应于电影中的一幕。代码块按照事件顺序依次列出,其结构如下:

键格式 描述
Image 应用 LooseSprites\Movies.xnb 中此电影的哪张贴图。
Music 这一幕播放的音乐。可留空。
Sound 这一幕播放的音效。可留空。
MessageDelay 这一幕在显示文本前播放多长时间。
Script 用于特殊的视听效果。与模组:事件数据#事件脚本格式相同。
Text 这一幕的对话/旁白。
Shake 布尔值。若为 true,则使银幕震动。
ResponsePoint 若指定此字段,则 NPC 的反应数据可以引用此字段的值,以表示在此节点作出特定反应。
ID 这一幕的 ID。格式为 <season><number>_<index><season><number> 与电影ID中的对应值相同。<index> 从 0 开始计数,表示此电影的第几幕。

电影反应

Data\MoviesReactions.xnb 包含了每个 NPC 的观影口味和观影反应。下面是潘妮的反应的原始数据:

格式

每个代码块都应当以 NPCName 键开头,即对应的 NPC 名称。列表中的每个代码块为 NPC 对特定类型电影的反应。

每个代码块中的数据格式如下:

键格式 描述
Tag 此反应用于哪一类电影。按照精确度降序,此字段可以为:
  • *:此反应总是适用的,除非 Whitelist 另有说明
  • 电影题材,即电影数据的 Tags 字段内容
  • NPC 对电影的反应,取值为 lovelikedislike。可以添加 seen_ 前缀,表示此列表项仅用于 NPC 之前看过此电影的情形。
  • 一个特定电影的标识符,也就是电影代码块中头部列出的标识符(《勇敢的小树苗》标识为 spring_movie_0)。
Response 取值为 lovelikedislike。用于计算与此 NPC 的友谊,最爱的电影增加 200 友谊值,喜欢的电影增加 100 友谊值,不喜欢的电影既不增加也不减少友谊值。
Whitelist NPC 名称列表。若非空,则仅在如下条件都满足时使用此反应:Tag 条件满足、列出的 NPC 出现在电影院。目前仅适用于潘妮,因为她在潘姆同时在场时有特殊的反应。
SpecialResponses NPC 在电影中可能说出的对话(见下文),以代码块形式列出。可以留空。
ID 一个唯一标识符,形如 reaction_<index>,其中 <index> 从 0 计数,指代 Reactions 列表中的代码块索引。

出于未知原因,在原版代码中,当 Tag 字段为 lovedislike 时,Response 字段总是为 like

特殊反应

每个 SpecialResponses 代码块都包含 3 个子块,分别以 BeforeMovieDuringMovieAfterMovie 开头(观影前、观影中、观影后)。其中任何代码块都可以留空。默认情况下,这 3 个代码块分别用于在影院大厅中交谈、电影放映时交谈、电影结束后交谈。每个代码块中的数据如下所示:

键格式 描述
ResponsePoint 若非空,则此对话会在指定时间点而非常规时间点触发。参见#Scenes以了解何为时间点。
Script 在显示 Text 之前运行的脚本。格式应当与事件脚本相同。
Text 对话文本。

若多个反应代码块应用于同一部电影,则游戏会使用第一个非空的 ResponseBeforeMovieDuringMovieAfterMovie。所说的话也没必要来自同一个反应代码块。若游戏不能找到可用的 DuringMovie 对话,则会使用来自 Strings\Characters.xnb 的默认文本。若不能找到可用的 BeforeMovieAfterMovie 对话,则 NPC 会显示为可交谈状态,但尝试与他们对话却又什么也不发生。

零食数据

Data\Concessions.xnb 包含了零食摊的数据,以代码块的列表形式列出。下面时原始数据以供参考:

格式

列表中的每个代码块都对应一个单独的零食。每个代码块的数据格式如下:

键格式 描述
ID 此零食的唯一字符串ID
Name 此零食的内部名称。
DisplayName 此零食在游戏中显示的名称。
Description 此零食的描述。
Price 此零食的价格,单位为 Gold.png
ItemTags 一个标签列表,用于描述此零食,用于决定 NPC 对该零食的反应。原版标签为:

SweetCandyDrinkHotHealthyColdJojaSourFattySaltySandwichBurgerGourmet

Texture 包含此零食贴图的贴图集素材名称。
SpriteIndex Texture 中此零食贴图的贴图集索引。0 代表左上角。

例如,下面的内容包添加了一个自定义的 'Pufferchick Pop' 零食,其具有自定义图像:

{
    "Format": "2.7.0",
    "Changes": [
        {
            "Action": "EditData",
            "Target": "Data/Concessions",
            "Entries": {
                "{{ModId}}_PufferchickPop": {
                    "Id": "{{ModId}}_PufferchickPop",   // must specify ID again when creating a new entry
                    "Name": "{{ModId}}_PufferchickPop", // best practice to match the ID, since it's sometimes used as an alternate ID
                    "DisplayName": "Pufferchick Pop",
                    "Description": "A cute cake pop shaped like a pufferchick.",
                    "Price": 25,
                    "Texture": "{{InternalAssetKey: assets/pufferchick-pop.png}}" // an image in your content pack
                    "SpriteIndex": 0
                }
            }
        }
    ]
}

零食偏好

Data\ConcessionTastes.xnb 包含了决定 NPC 对零食偏好的数据。下面时原始数据:

格式

列表中的每个代码块都具有如下数据:

键名 描述
Name 此代码块应用的对象。可以为 NPC 的名字或 *,后者代表这种喜好会适用于所有 NPC。
LovedTags
LikedTags
DislikedTags
最爱/喜欢/讨厌零食标签的列表。可以为 ItemTag 或特定零食的内部名称。为决定某个 NPC 对某种零食的偏好,游戏会统计每组匹配的标签数量,LovedTagsLikedTags 会贡献正分值,DislikedTags 会贡献负分值。购买最爱的零食会增加 50 点友谊值,喜欢的零食会增加 25 点友谊值,不喜欢的零食既不增加也不减少友谊值。

零食标签详解

黑甘草糖是唯一一种没有附加标签的零食。星之果实冰糕是普遍最爱的零食,而黑甘草糖、Joja 可乐以及 Joja 玉米是普遍不喜欢的零食。

标签 使用此标签的零食
Burger 鲑鱼汉堡
Candy 棉花糖
大糖球
糖冰棍
酸味史莱姆
Cold 冰淇淋三明治
Joja 可乐
Drink 茉莉花茶
Joja 可乐
羽衣甘蓝汁
Fatty 薯条
芝士玉米片
个人披萨
Gourmet 卡布奇诺慕斯蛋糕
意式面包沙拉
星之果实冰糕
松露爆米花
Healthy 苹果脆片
鹰嘴豆泥小吃包
茉莉花茶
羽衣甘蓝汁
意式面包沙拉
Hot 巧克力爆米花
薯条
茉莉花茶
芝士玉米片
个人披萨
爆米花
Joja Joja 可乐
Joja 玉米
Salty 薯条
芝士玉米片
爆米花
盐渍花生
松露爆米花
Sandwich 冰淇淋三明治
鲑鱼汉堡
Sour 酸味史莱姆
Sweet 苹果脆片
卡布奇诺慕斯蛋糕
巧克力爆米花
棉花糖
冰淇淋三明治
大糖球
糖冰棍
星形饼干
星之果实冰糕