把时间还给我

把时间还给我

当招架或完美闪避槽满时,停止游戏为你减慢时间。

[size=4][b]描述[/b][/size]
[size=4][b]让游戏不再为你放慢时间。[/b][/size]

填满招架槽后,世界速度会降至十分之一,同时游戏会向你展示你刚才的操作。填满精准闪避槽后,同样的事情会再次发生。你并没有要求这个暂停,也无法跳过它。

此模组会将这些请求改写为正常速度。

[b]打开菜单,勾选 [i]Parry[/i],完成。[/b]无需查找速率,也无需先在游戏中复现某个效果。招式名称与游戏中的命名一致,因为列表是直接从游戏自身的动作表中读取的。

内部不会跳过或拒绝任何内容。减速请求仍会发出,仍会被追踪;只是它请求的是正常速度。直接拒绝它会向游戏返回一个 null,而游戏之后还指望着用它来取消某些东西。

[b]你想去掉哪些减速效果,并不是关于游戏的客观事实。[/b]别人可能想去掉另一组。所以列表由你决定:取消勾选默认项,添加没有的,或者把你的文件交给口味相投的人。

[size=4][b]安装说明[/b][/size]
[b]1. 先安装 REFramework[/b](见下方“前置要求”)。你需要将 [b]dinput8.dll[/b] 放在游戏可执行文件旁边。

[b]2. 将此压缩包解压到游戏文件夹[/b],与可执行文件放在一起。路径已经匹配——无需移动任何内容。

[code]<game folder>/dinput8.dll <- REFramework,需单独安装
<game folder>/reframework/autorun/... <- 此压缩包[/code]
[b]3. 启动游戏。[/b]Parry 和 JustDodge 开箱即用已被取消。打开 REFramework 菜单(默认按键为 [b]Insert[/b]),在 [b]Script Generated UI[/b] 下找到 [b]Give Me My Time Back[/b],即可更改要取消的内容。

[b]更新不会影响你的规则。[/b]压缩包不再携带预设——默认值存在于模组内部,仅当你的文件中没有时才会添加。删除一个,它就会保持删除状态。

卸载时,删除 [b]reframework/autorun/GiveMeMyTimeBack.lua[/b]、旁边的文件夹,以及 [b]reframework/data/GiveMeMyTimeBack/[/b]。

[size=4][b]主要功能[/b][/size]
[b]勾选一个招式[/b]

[code][x] Parry 10 actions
[x] JustDodge 35 actions
[ ] CounterIssen 22 actions
[ ] BreakIssen 16 actions
[ ] ChainIssen 19 actions
[ ] BladeLock 8 actions
[ ] CounterGrab 9 actions
[ ] FatalBlow 6 actions
[ ] SneakAttack 6 actions
[ ] BlockIssen 6 actions
[ ] DeadHeat 26 actions[/code]
这些数量不是装饰。[b]一次招架是十个动作,而不是一个[/b]——cParryDefend、cPreParry、cParryAttack、cParryShell、cParryBlow、cMultipleParry 以及后续动作。这就是“招架减速有好几个阶段”的真相,也是为什么一次追一个速度永远追不完。

[b]用名称,而不是数字[/b]

动作表来自游戏自身的文件:六个类别,共 728 个动作。规则匹配的是游戏对某个招式的称呼,所以当招式有了新行为时,规则仍然有效。一个名为 cAttackFinishAfterParry 的动作会被 [b]Parry[/b] 捕获,而无需列在任何地方;一个从未有人记录过的速度也会被捕获——测试期间出现了 0.22,它直接被处理了,没有为它配置任何东西。

速度永远做不到这一点。[b]速度并不是识别效果的方式:[/b]招架和鬼武器径向菜单都以 ALL_GAME_OBJ 形式以 0.2000 到达,所以任何仅基于速度编写的规则会把两者混为一谈。

[b]整个效果,而不是最响的那部分[/b]

一个招式会发出多个请求。一次招架会将世界减速至 0.11,并将高亮敌人减速至 0.3334;一次精准闪避攻击会同时发出四个请求。只取消全局那个,敌人仍然会缓慢移动——这看起来像慢动作,也是最容易误以为什么都没发生的那一半。勾选一个招式会覆盖全部。

[b]找到列表未命名的任何内容[/b]

径向菜单不是招式——它报告的是武藏当时碰巧在做什么——过场动画也不是。对于这些情况,打开 [b]Find an effect[/b],按 [b]Start watching[/b],触发减速,再按 [b]Stop watching[/b]。所有经过的内容都会连同引发它的动作一起列出,点击一下即可将其变为规则。

[b]Add a rule by hand[/b] 可直接编写一条规则,无需复现任何内容。规则可以指定请求类型、速度或速度区间、优先级、动作或招式——任何省略的部分都表示“任意”。

[b]预设就是一个文件[/b]

所有内容都保存在 [b]reframework/data/GiveMeMyTimeBack/preset.json[/b] 中。把这个文件交给别人,对方就能获得你的配置,而且只有你的配置——模组自身的开关在另一个文件中,所以你的诊断设置不会随之传播。来自陌生人的预设会以防御性方式读取:格式错误的规则会被丢弃并计数,其余部分仍会加载。

[b]没有硬编码[/b]

没有偏移量,没有预置地址——每个类型和方法都在运行时按名称解析。只要游戏补丁没有重命名它们,就不会破坏此模组。

在完整游戏(TDB 82)上开发和测试。

[size=4][b]前置要求[/b][/size]
[b]REFramework nightly,build 1414 或更高版本。[/b]

[list]
[]从 [url=https://github.com/praydog/REFramework-nightly/releases]praydog/REFramework-nightly[/url] 下载[/]
[][b]稳定版将无法使用[/b]——它们不包含 Onimusha[/]
[]Build 1414 是第一个包含 Onimusha 崩溃修复的 nightly[/]
[][b]只从该压缩包中解压 dinput8.dll[/b]。praydog 自己的发布说明警告称,在非 VR 环境下解包 VR 文件会导致游戏不稳定并破坏抗锯齿[/]
[/list]
REFramework 未在此处捆绑。它按自己的时间表更新,附带一份副本会让你被固定在发布当天恰好是最新的那个 nightly 上。

无需其他模组。游戏 pak 文件中的任何内容都未被修改——一切都在运行时发生。

可与 [url=https://www.nexusmods.com/onimushawayofthesword/mods/116]Give Me My Y Button Back[/url] 一起使用, 如果你还想让游戏停止用终结技替换你的攻击; 也可与 [url=https://www.nexusmods.com/onimushawayofthesword/mods/253]Shut Up, Genma[/url] 一起使用, 如果低级 Genma 整局游戏都在喊同样三句台词让你受不了。

[size=4][b]致谢[/b][/size]
[url=https://github.com/praydog]praydog[/url],感谢 REFramework。没有它,这一切都不存在,而且 Onimusha 支持在 demo 发布后几天内就进入了 nightly。