紫色 手套 : 击杀 功劳 算 给 谁
从造成伤害到掉落能量豆,概率抽取只是其中一道条件。
约 2 分钟
紫色手套可以在僵尸被击杀时生成能量豆。但一次击杀并非独立的抽奖券:游戏先把功劳归给一株植物,再检查它的概率、冷却与当前模式。
先 认 准 物品
紫色手套的别名是 super_,真正的加速时钟是 super_。这一族内部名称很难准确说明效果;挂件参考页按物品名称对应它们。
手套的能量豆效果在挂件等级 3 解锁。等级 3、4、5 的配置概率依次为 10%、15%、18%。更低等级仍提供攻击相关加成,但没有击杀产豆贡献。11数值来自挂件条目超级品质按保存等级索引 SuperBoostList;对于 MaxLevel 为 5、含六项的物品,接受索引 0–5。无效等级回退至 Boosts,这些物品的该列表为空。聚合器累加匹配条目的 Values[0]。被引用的 PlantBoostPropertySheet 只绑定 Type,其自身声明的 Values 不是此处使用的效果强度。紫色手套在等级 3–5 的能量豆条目为 0.10、0.15、0.18。0x1015d4f800x10184c6200x1017423fc
保存的挂件等级直接索引 Super。索引 0 是尚未升级的状态,后面是等级 1–5。此处没有隐藏的额外偏移。
僵尸 记住 最近 打 中 它的 植物
植物来源的伤害事件把来源植物句柄写入僵尸的功劳字段。另一株植物之后的命中会替换这个句柄。后来发生的非植物伤害不会提供新的植物句柄。
普通致死伤害路径可以奖励当前植物来源,也可以奖励保存的植物功劳。因此,即使最近造成植物伤害的那株植物没有打出最后一击,它仍可能与奖励有关。
两条路径共享僵尸上的一次性标记,并在进入奖励例程前设置它,所以同一个普通伤害事件不会同时奖励两条路径。后续概率或冷却条件失败时,标记仍保持已消耗。22伤害归属与一次性标记每次植物来源的伤害都把最新植物句柄写入僵尸 +0x648。两条普通伤害奖励路径都先检查并设置 +0x644,再调用奖励例程。内部条件失败也会消耗该普通路径的功劳。SpartanBambooMatrixSystem 对每株成功解析的登记植物调用一次奖励例程,不查询该标记。0x1019a341c0x1019a35fc0x1019a3cd00x100307a68
这条路径起于伤害处理。绕过它的变形或移除,不会仅仅因为僵尸消失就成为手套奖励。
概率 与 冷却 都要 通过
令 为随机抽取值, 为植物产豆概率, 为时钟, 为保存的截止时间。两道数值条件都是严格比较:
一次符合条件的成功掉落会创建拾取物,并把新截止时间设为
每株植物有独立的截止时间。同一株植物在该间隔内击杀许多僵尸,不会增加立即产豆的机会。另一株植物可以有自己已经到期的截止时间。恰好等于截止时间仍会失败,时钟必须超过它。下方时间线使用该例程的时钟单位。33严格的概率与截止时间条件能量豆要求 draw < rate,且保存的截止时间 < 单例 +0x24 的时钟。成功先创建拾取物,再保存 时钟 + 8.0。时钟服务身份尚未对应,因此保留 8.0 个时钟单位。例程还检查战场与模式条件。生成路径没有每波能量豆上限,也不查询已储存能量豆计量槽;拾取入账属于后续操作。0x10175611c0x1017561780x1017562680x101588a24
- 2抽取值过高
- 5生成拾取物
- 7未过截止时间
- 13未过截止时间
- 15抽取值过高
- 18生成拾取物
- 22未过截止时间
- 27抽取值过高
分步查看
- 1第 1 次击杀。 时刻 2,抽取值 0.62 不小于概率 0.10;截止时间仍为 0。
- 2第 2 次击杀。 时刻 5,抽取值 0.07 小于 0.10,且截止时间 0 已过:生成拾取物,截止时间变为 13。
- 3第 3 次击杀。 时刻 7,抽取值 0.04 小于 0.10,但截止时间 13 尚未过去。
- 4第 4 次击杀。 时刻 13,抽取值 0.05 小于 0.10,但截止时间 13 尚未过去:两者相等时严格比较不通过。
- 5第 5 次击杀。 时刻 15,抽取值 0.31 不小于概率 0.10;截止时间仍为 13。
- 6第 6 次击杀。 时刻 18,抽取值 0.09 小于 0.10,且截止时间 13 已过:生成拾取物,截止时间变为 26。
- 7第 7 次击杀。 时刻 22,抽取值 0.02 小于 0.10,但截止时间 26 尚未过去。
- 8第 8 次击杀。 时刻 27,抽取值 0.12 不小于概率 0.10;截止时间仍为 26。
只有成功才会重新设置冷却。失败的概率抽取不会推迟截止时间。抽取本身发生在冷却检查之前,所以即使截止时间将拒绝本次尝试,它仍可能消耗随机状态。
奖励例程还有战场与模式检查,包括排除若干使用特殊能量豆变体的模式。普通产豆生成分支没有每波配额,也不检查玩家能量豆计量槽是否已满。创建拾取物与收集拾取物是两步独立操作。
另 一个 调 用 方 改变 了 计数 方式
斯巴达竹方阵系统对每株成功解析的登记植物调用同一奖励例程。这个调用方不检查普通的逐僵尸一次性标记。因此,同一个方阵事件可以让多株植物分别到达自己的概率与截止时间条件。
这是具有不同计数方式的另一条调用路径。把所有路径都当成“每只僵尸抽取一次”,会漏掉它;把所有植物都当成能反复领取普通击杀功劳,也会漏掉一次性标记。
最终拾取物使用与携带型能量豆路径相同的工厂。两个系统走过不同的资格规则,最终在创建拾取物时汇合。
奖励 失败 也能 改变 后 续 随机
例程在读取概率是否可能成功之前,就为能量豆与金币进行抽取。在普通全局随机流路径中,一次植物功劳击杀至少消耗 2 次抽取;阳光最多为 499 时消耗 3 次;阳光奖励分支也触发时则消耗 5 次。
这些消耗可以移动同一游戏生成器上其他后续结果的位置,但不会推进进化使用的独立库打乱随机流。随机流示意图展示了区分它们的意义。
完整等级表与装备排除名单见紫色手套记录。
注释
每条论断的依据:代码路径,以及追踪到它的原生地址。
- 1
数值来自挂件条目
超级品质按保存等级索引 SuperBoostList;对于 MaxLevel 为 5、含六项的物品,接受索引 0–5。无效等级回退至 Boosts,这些物品的该列表为空。聚合器累加匹配条目的 Values[0]。被引用的 PlantBoostPropertySheet 只绑定 Type,其自身声明的 Values 不是此处使用的效果强度。紫色手套在等级 3–5 的能量豆条目为 0.10、0.15、0.18。
0x1015d4f800x10184c6200x1017423fc - 2
伤害归属与一次性标记
每次植物来源的伤害都把最新植物句柄写入僵尸 +0x648。两条普通伤害奖励路径都先检查并设置 +0x644,再调用奖励例程。内部条件失败也会消耗该普通路径的功劳。SpartanBambooMatrixSystem 对每株成功解析的登记植物调用一次奖励例程,不查询该标记。
0x1019a341c0x1019a35fc0x1019a3cd00x100307a68 - 3
严格的概率与截止时间条件
能量豆要求 draw < rate,且保存的截止时间 < 单例 +0x24 的时钟。成功先创建拾取物,再保存 时钟 + 8.0。时钟服务身份尚未对应,因此保留 8.0 个时钟单位。例程还检查战场与模式条件。生成路径没有每波能量豆上限,也不查询已储存能量豆计量槽;拾取入账属于后续操作。
0x10175611c0x1017561780x1017562680x101588a24