精灵变体编排器 - SVO

精灵变体编排器 - SVO

一个SMAPI框架,用于为NPC服装添加随机和条件变体。通过CP和APF无缝交换肖像和精灵图,同时保留自定义扩展动画。

[center][i][i]咳![/i]来自龟仙人的简短免责声明:整个框架是与 AI 一起 100%“凭感觉编程”出来的!不过别担心,可爱的小家伙们,它功能完整、经过严格测试、随时可用。现代科技的奇迹,对吧?嘿嘿嘿![/i][/center]
[line]
[center][size=6][b]Sprite Variant Orchestrator (SVO)[/b][/size]
[size=4]一个用于动态子变体的星露谷物语框架[/size][/center]
[size=5][color=#ff9900][b]各位小家伙们,你们好![/b][/color][/size]
我是龟仙人!
你是不是已经厌倦了你最喜欢的鹈鹕镇居民每天都穿着完全一样的衣服?SVO 是一个强大的 SMAPI 框架,正好位于你的 Content Patcher (CP) 和 Animated Portrait Framework (APF) 内容包之间。它为 NPC 肖像和大地图精灵添加了一层绝妙的随机化和条件逻辑。
不再只有单一的“夏季”服装,你可以定义多个条件子变体,而我的编排器会自动掷骰子,为你挑选其中一个!

[size=5][color=#ff9900][b]工作原理(有趣的部分!)[/b][/color][/size]
以可爱的海莉为例。哦天哪……想象一下那些可能性吧!
[list]
日常多样性:不再只有一种造型,海莉可以在她的默认精灵、清爽的夏日精灵或时尚的牛仔精灵之间轮换!海滩日(我的最爱!):当海莉去海滩时,SVO 可以随机化她的造型!她会穿标准的 Haley_Beach 服装吗?她会以 Haley_Towel(一条华丽的粉色毛巾和比基尼)出现吗?又或者 Haley_PinkSuit(一套惊艳的泳衣)?SVO 会根据你设置的权重掷骰子,并让它实现![/list]SVO 本身[b]不拥有任何视觉资源[/b]。它只是读取你的规则,并告诉游戏该加载你那些精美自定义精灵中的哪一个。

[size=5][color=#ff9900][b]大师级集成(APF 与 CP)[/b][/color][/size]
龟仙流已将这个框架训练得能与市面上最好的工具完美协作:

[list]
Animated Portrait Framework (APF):当 APF 决定是时候让海莉穿上她的“海滩”基础服装时,SVO 会迅速拦截该选择。如果你的条件满足,SVO 会在 APF 甚至还没察觉之前,用子变体(例如“Beach_PinkSuit”)覆盖它,并加载正确的自定义肖像。Content Patcher (CP):SVO 直接挂钩 CP 的Appearance.Sprite字段。当请求基础精灵时,SVO 会以“Late”优先级把你胜出的子变体服装直接补丁到它上面。这意味着它可以与扩展动画的模组(例如 Valley Girls)完美配合,保留所有那些额外帧![/list][size=5][color=#ff9900][b]前置要求[/b][/color][/size]
[b]必需:[/b]
[list]
SMAPI Content Patcher[/list][b]强烈推荐(可选):[/b]
[list]
Animated Portrait Framework (APF): 如果你希望 SVO 与你的大地图精灵一起管理肖像,则需要此项。Generic Mod Config Menu (GMCM): SVO 会动态生成一个精美的选项菜单!如果玩家不喜欢某套服装,他们可以直接在 GMCM 中取消勾选,SVO 就会以数学方式将其从随机池中移除。[/list][size=5][color=#ff9900][b]模组作者指南(神圣卷轴)[/b][/color][/size]

想制作你自己的 SVO 内容包?
就像骑飞行筋斗云一样简单!
你只需要一个标准的 SMAPI 内容包,其中包含
[code]manifest.json[/code]和
[code]content.json[/code]
你可以根据爱心、天气、季节、时间、地点来设置条件,或者直接使用权重让它随机抽取。

[b]关于如何组织你的 JSON 并注册你的资源的完整详细指南,请阅读 SVO Readme!
你可以在模组下载文件夹中找到它,或者就在本页的“Articles”标签页中查看。
[/b]
[size=5][color=#ff9900][b]鸣谢[/b][/color][/size]
向 [b]s0ru[/b] 致以如龟派气功般巨大的感谢,ta 发起了这个项目的第一波凭感觉编程。
ta 慷慨地把火炬传给了我,而我成功地把剩下的部分凭感觉编程成了你今天看到的这个精致框架!