姜岛日程表

姜岛日程表

星露谷定制姜岛度假村日程框架。支持自定义NPC路线行为、自定义动画(含原版特殊行为),以及通过Content Patcher触发的对话。

[GIS] Ginger Island Schedule(姜岛日程)

一个 SMAPI 模组,用来给村民在姜岛(Ginger Island)添加自定义行为,使用方式类似编辑日程,兼容原生/自定义动画。 只有当村民穿上泳装(Island Attire)时才会生效,晚上 18:00 后会自动恢复原日程。

依赖:

  • SMAPI
  • Content Patcher

该mod由B站@MC饭打馒头吖 制作,发布者是本人。 项目地址 Fundamental-YA/GIS 封面图像应用实例扩展自Trans1st0r B站@风吟梧桦的KivoValley系列模组,尾号21371,26111


配置方式

(Content Patcher)

目标资产:

Mods/Funda.GIS/IslandSchedules

格式(每条日程用 “/” 分隔多个时间点):

时间 地图名 X Y [朝向] [动画键] [对话键]
字段 必填 说明
时间 eg. 1400
地图名 eg. IslandSouth、IslandNorth 等
X Y 目标格子坐标
朝向 0上 1右 2下 3左(default = 2)
动画键 动画名称(见下方说明)
对话键 对话键名(从角色对话文件或字符串文件读取)

原生动画兼容

( /[Special Behaviors] )

注册动画时使用 /[Special Behaviors] 可在定义动画帧末尾套用原版的动画行为。

模组简化了类似威利的钓鱼动画的套用,当你在日程里写一个含有 fish 命名的动画键(xxx_fish)时,它会尝试使用 dick_fish 作为底层特殊姿势。(优先级低于注册时的 /[Special Behaviors] )

推荐写法

在 Content Patcher 里先注册动画:

{
  "LogName": "Register Custom Fishing Animation",
  "Action": "EditData",
  "Target": "Data/animationDescriptions",
  "Entries": {
    "miyu_fish": "8/8 8 9 9 10 10 11 11/8/dick_fish"
  }
}

然后在日程里直接用这个动画键:

{
  "LogName": "Miyu Island Schedule",
  "Action": "EditData",
  "Target": "Mods/Funda.GIS/IslandSchedules",
  "Entries": {
    "Linus": "1400 IslandSouth 21 44 2 miyu_fish Resort_Fishing"
  }
}

说明:

  • 最后的 /dick_fish 会让角色套用威利的钓鱼特殊姿势——威利开发用名为dick,该动画为1664像素每帧,和普通动画的1632相比向下延展的区域可用来绘制渔线等,人物的坐标不变
  • miyu_fish 是你自定义的动画键
  • 到达目标点后会自动播放该动画,并设置对话(来自 Characters/Dialogue/Linus 的 Resort_Fishing )

示例

1. 在设定位置发呆 + 朝向

"Alex": "1200 IslandSouth 18 30 2"

2. 带钓鱼动画 + 对话

"Linus": "1300 IslandSouth 21 44 2 miyu_fish Resort_Fishing"

3. 多时间点(用 “/” 分隔)

"Haley": "1300 IslandSouth 25 20 1 / 1400 IslandSouth 18 33 2 miyu_fish Resort_Fishing / 1600 IslandSouth 12 28 0"

4. 完整 Content Patcher 示例

{
  "Format": "2.0.0",
  "Changes": [
    {
      "LogName": "Register Custom Fishing Animation",
      "Action": "EditData",
      "Target": "Data/animationDescriptions",
      "Entries": {
        "miyu_fish": "8/8 8 9 9 10 10 11 11/8/dick_fish"
      }
    },
    {
      "LogName": "Custom Island Schedules",
      "Action": "EditData",
      "Target": "Mods/Funda.GIS/IslandSchedules",
      "Entries": {
        "Linus": "1400 IslandSouth 21 44 2 miyu_fish Resort_Fishing",
        "Alex": "1300 IslandSouth 18 30 2",
        "Haley": "1300 IslandSouth 25 20 1 / 1400 IslandSouth 18 33 2 miyu_fish Resort_Fishing"
      }
    }
  ]
}

注意事项

  • 只有穿了泳装的村民才会走自定义日程,请合理规划时间。
  • 18:00 之后或脱掉泳装会强制结束自定义行为并回到更衣室换衣服。
  • 玩家进入 NPC 所在地图时,会重新触发一次到达动作(保证动画和对话)。
  • 注册动画的帧末尾使用/[Special Behaviors]可以套用原版Special Behaviors动画逻辑。
  • 动画键名如果包含 fish(不区分大小写),会自动尝试用 dick_fish 作为特殊姿势。(优先级低于注册时的 /[Special Behaviors])
  • 对话键会优先从 Characters/Dialogue/角色名 读取,找不到再尝试字符串。
  • 由于mod原理是屏蔽状态更新并覆盖,生效时可能有SMAPI控制台的状态不同步报错。

该 Mod 未经广泛测试,可能有 BUG,遇到问题欢迎反馈。