宝可病毒
要点:关于宝可病毒触发的技术信息,以及在红宝石/蓝宝石中进行最优设置的原理。
什么是宝可病毒?
每次进行野外战斗后,你的宝可梦有 1 / 21845 的概率感染宝可病毒。感染期间,战斗所获得的努力值将会翻倍。
实机乱数操作
若要在实机中对宝可病毒进行乱数操作,我们需要掌握以下技术信息:
- 宝可病毒被判定时的目标推进帧数(即:触发感染所需的乱数帧数)
- 玩家需要进行最后一次输入的推进帧数
- 如何进行校准(即确定实际命中的玩家输入帧数)
接下来的章节将解释这些元素是如何被确定,并应用于宝可病毒乱数工具的。
宝可病毒判定所需的目标推进帧数
如果当前乱数值为 0x4000、0x8000 或 0xC000,队伍中的一只宝可梦将被感染。 在《红宝石/蓝宝石》中,首次出现这些乱数值的帧分别是:26923、101199、101236。在《绿宝石》中,首次出现的为:66610
玩家最后输入的目标推进帧数
要确定玩家必须进行最后输入的推进帧数,我们需要理解从玩家按下按钮开始到宝可病毒被判定期间 RNG 是如何推进的。
在《红宝石/蓝宝石》中,触发宝可病毒逻辑的最后一次玩家输入,是在“XXX 获得了 YY 点经验值。”信息出现时按下 A 键。
接下来会发生以下操作:
- 大约 94 次由vblank和战斗循环引起的帧数推进;
- 对于队伍中每一只拥有捡拾特性的宝可梦,会进行一次 RNG 判断是否拾取道具。若拾取成功(10% 概率),再进行一次 RNG 来决定道具种类;
- 额外的 4 次帧推进(仍为 vblank 相关);
- 若玩家已进入殿堂,并拥有可用的电视节目槽位,帧数会再推进 1 次;
- 若玩家已进入殿堂并可以触发大量出现,则再推进 1 次;其中约 0.5% 的概率触发事件,并再进行一次 RNG 来决定爆发的宝可梦;
- 又一次与电视节目相关的帧数推进;
- 接下来是约 74 次由 vblank 与战斗循环引起的推进;
- 若宝可梦因战斗升级,还会额外推进 2 次;
- 最后再推进一次帧数以决定是否感染宝可病毒。
可控变量
以下变量由玩家控制,且会影响宝可病毒乱数流程:
- 捡拾特性的宝可梦数量;
- 是否已进入殿堂;
- 是否能够触发大量出现;
- 是否有可用的电视节目槽位;
- 战斗后宝可梦是否升级。
每种变量组合会影响“玩家最后输入的目标推进帧数”。例如:若你有 5 只捡拾宝可梦; 没有进入殿堂; 无大量出现;没有电视节目;无升级;则对应的“玩家最后输入帧”为26838,从而使你在26923帧触发宝可病毒。
校准方法
影响宝可病毒触发的因素中,有许多是玩家不可控的。校准即通过调整玩家输入(如调整计时器)来对这些因素进行修正。
我们可以通过观察捡拾到的道具来判断命中的是哪个玩家输入帧。
多数情况下没有拾取道具,无法提供信息。但在某些情况下(如第 3 个宝可梦拾取到神奇糖果),可以精确锁定命中帧数。
最佳设置推荐
我们可以从以下几个角度评估设置的优劣:
- 校准精度(更多捡拾宝可梦有助于提高精度);
- 需要达成的条件;
- 每次尝试的时间长短(即目标帧是否靠前);
- 执行难度(某些设置允许两个帧触发,成功率更高)。
以下是推荐的设置组合(从好到差):
设置编号 | 捡拾宝可梦数 | 已入殿堂 | 大量出现 | 电视节目 | 升级 | 玩家输入帧 |
---|
#1 | 5 | 否 | 任意 | 任意 | 否 | 26838 |
#2 | 2 | 否 | 任意 | 任意 | 否 | 26841 或 26842 |
#3 | 5 | 是 | 否 | 是 | 否 | 26837 |
#4 | 1 | 是 | 否 | 是 | 否 | 26841 或 26842 |
最差 | >0 | 是 | 是 | 是 | 任意 | ~101199 |
对于进阶用户,建议使用设置 #1 或 #3 进行校准(因拥有 5 只捡拾宝可梦而更易校准)。校准完成后,可切换至设置 #2 或 #4,因有两个有效帧更易执行。
若为最差设置(如有大量出现),将无法命中 26923 帧,最早的宝可病毒判定将是在 101199。
推进帧奇偶性问题
在战斗中等待时,帧数每次推进 2 次。如果当前推进帧为奇数,则会一直保持奇数,意味着你永远无法命中偶数帧(如 26838)。
理论上,你可以通过战斗中遭受敌人攻击来改变当前推进帧的奇偶性。使用甜甜香气并让对方攻击你,可切换当前奇偶性。
搜索函数参考
致谢
- 指南与脚本:RainingChain
- 脚本灵感来源:Real96
- 解构项目支持:pret 团队
- 中文翻译:炫夜鳞、白希洛/Hakuhiro。