随机成长
整数部分必涨,余数部分判定;不达标最多重抽三次,再按权重补足。
保底计数:上涨项数一次升级,究竟怎样决定加点?从成长率、重抽与保底,到固定累积和入队补级。
本作不是简单地为每项属性掷一次骰子。角色正常升级存在随机与固定两条分支;创建高等级单位时,还会走独立的自动成长流程。
整数部分必涨,余数部分判定;不达标最多重抽三次,再按权重补足。
保底计数:上涨项数积累成长值,每满 100 加一点;不足保底时补给累积值较高的属性。
保底计数:上涨点数正常升级读取内部变量「固定成長」:0 走随机分支,非 0 走固定分支。本地初始值为 0。尚未核实它与游戏菜单、难度或周目的对应关系,不能据此宣称某个难度必定使用固定成长。
以下升级公式处理 HP、力量、魔力、技巧、速度、幸运、防守、魔防、魅力 九项。视野和移动不在这段升级加点循环内。
| 符号 | 含义 | 使用规则 |
|---|---|---|
| Pᵢ/Bᵢ | 个人值/采用的基础值 | 个人字段为 0 时会回退到兵种基础值,不能把个人 0 直接理解为最终 0%。 |
| Jᵢ | 兵种成长加算 | 与兵种基础成长率是两个字段,不能混为一列。 |
| Sᵢ | 生效技能的成长修正之和 | 只累计通过条件检查的成长类效果。 |
| Rᵢ × k | 坐骑成长修正 × 兵种倍率 | 要求兵种、当前坐骑类别匹配;读取该坐骑对应好感阶段的数据。 |
这里使用的是百分点加算。个人 45、兵种 +10、技能 +20,合计为 75%,不是 45% × 1.1 × 1.2。最终负数压到 0,但不会压到 100%。
| 角色 | HP | 力量 | 魔力 | 技巧 | 速度 | 幸运 | 防守 | 魔防 | 魅力 | 保底 第三部前/起 |
|---|---|---|---|---|---|---|---|---|---|---|
| 凯伊 | 45% | 45% | 40% | 45% | 45% | 40% | 35% | 35% | 40% | 2 / 0 |
| 迪托利希 | 50% | 45% | 30% | 60% | 50% | 50% | 40% | 30% | 60% | 2 / 0 |
| 赛奥朵拉 | 70% | 50% | 30% | 40% | 40% | 30% | 40% | 30% | 50% | 2 / 0 |
| 蕾达 | 40% | 35% | 35% | 50% | 65% | 25% | 30% | 35% | 55% | 2 / 0 |
| 诺克裘拉 | 50% | 45% | 20% | 40% | 45% | 35% | 40% | 20% | 30% | 2 / 0 |
这是个人原始成长率,不含兵种、坐骑和技能。保底来自每名角色自己的两个字段;表中五个样本恰好相同,不代表所有单位都相同。
本地效果记录包括「成長の兆し」九项各 +20,以及战车兵、战象兵相关的分级成长效果。只有实际装备且满足生效条件的效果参与加算。升级入口临时使用升级前等级检查成长,因此不能直接拿升级后面板上的技能状态反推本次加点。
已读出的战车兵 LV35 效果向量为 [10, 5, 5, 5, 5, 0, 10, 0, 5],LV45 为 [10, 15, 5, 10, 5, 5, 20, 5, 10];战象兵 LV45 为 [10, 10, 0, 10, 0, 0, 10, 10, 0],顺序同上表。这里的 LV 是记录名,不把尚未核完的条件边界或叠加关系当成已确认规则。
先排除有效成长率为 0、或核心属性已达上限的项目。设剩余项目数为 N,角色阶段保底为 M,实际保底 m = min(M, N)。
例如 45% 表示基础判定约 45% 加一点;120% 表示必加一点、约 20% 再加一点;200% 则直接加两点。余数为 0 时不消耗这一项的概率判定随机数。
Σgᵢ / 100 只是未考虑重抽、保底与封顶的基础期望。重抽会舍弃低于目标的整轮结果,补足又改变各项分布,所以实际升级平均总点数与单项概率都会变化。精确随机数还存在取模带来的微小偏差,不能把伪随机取模严格视为连续均匀分布。
本函数从单位保存的成长种子生成局部随机序列。相同状态和种子会产生相同结果;只凭这一点,仍不能断言某种读档操作是否能改变种子。
查看每次重抽和最终保底;更换种子比较结果,低成长实验更容易看到四次判定。
本地数据样本,非存档预测。假定九项均未封顶、兵种与修正保持不变;不检查转职资格。额外修正为手动输入,不自动套用技能或坐骑。规则实验使用虚构成长率。固定演示从该角色的创建累积值出发。
| 计算项目 | HP | 力量 | 魔力 | 技巧 | 速度 | 幸运 | 防守 | 魔防 | 魅力 |
|---|---|---|---|---|---|---|---|---|---|
| 个人成长率 | 50% | 45% | 20% | 40% | 45% | 35% | 40% | 20% | 30% |
| 有效成长率 | 50% | 45% | 20% | 40% | 45% | 35% | 40% | 20% | 30% |
| 第 1 次判定 | +1 | — | — | +1 | — | — | +1 | — | +1 |
| 本次最终上涨 | +1 | — | — | +1 | — | — | +1 | — | +1 |
只处理有效成长率大于 0、且尚未封顶的属性。随后计算自然上涨的总点数 L = ΣΔᵢ。如果 L < M,按累积余数从高到低,在本次还没有自然上涨的合格属性中补 +1,直到补够或候选耗尽。
获得保底的属性,累积值直接归零,不是扣掉 100 后保留负数。同余数时会先按角色序号与旧累积值生成的确定性序列打乱候选顺序,所以不能固定假设按 HP、力量等表格顺序补点。
如果第一次升级这项触发了保底,它会改为 +1、累积值清零,下一次从 0 算起。不能继续沿用上面这条数列。
固定成长的累积值会保存、读取。中途换兵种、变化技能、触发保底后,单靠“当前等级 × 当前成长率”无法还原角色面板。新建单位的初始公式也不能覆盖已有存档的累积值。
固定分支先检查是否封顶,再写入本次成长增量;显示核心属性时仍受上限裁剪。它与随机分支逐点检查上限的内部写入方式不同。
从创建累积值出发连续演算,查看所选次数的加点和剩余累积值。每一步都包含固定成长保底。
本地数据样本,非存档预测。假定九项均未封顶、兵种与修正保持不变;不检查转职资格。额外修正为手动输入,不自动套用技能或坐骑。规则实验使用虚构成长率。固定演示从该角色的创建累积值出发。
| 计算项目 | HP | 力量 | 魔力 | 技巧 | 速度 | 幸运 | 防守 | 魔防 | 魅力 |
|---|---|---|---|---|---|---|---|---|---|
| 个人成长率 | 50% | 45% | 20% | 40% | 45% | 35% | 40% | 20% | 30% |
| 有效成长率 | 50% | 45% | 20% | 40% | 45% | 35% | 40% | 20% | 30% |
| 本次开始累积值 | 50 | 35 | 60 | 20 | 35 | 5 | 20 | 60 | 90 |
| 本次最终上涨 | +1 | — | — | — | — | — | — | — | +1 |
| 本次结束累积值 | 0 | 80 | 80 | 60 | 80 | 40 | 60 | 80 | 20 |
这里的基础值也存在“个人为 0 时使用兵种基础值”的回退。骑乘、下马或替代兵种会影响选用哪份兵种数据。成长增量内部使用有符号数,并限制在 −255~255;这不是角色属性统一上限 255。
装备、临时强化等后续修正会影响战斗面板,不能直接当作升级所得。转职改变基础加算或上限,也不代表之前积累的成长点被重新掷了一遍。
高等级角色创建/补级使用的公共函数不逐次调用上面的玩家升级函数。它接收起点、补级次数、逐级兵种/坐骑配置,以及独立修正参数。
自动成长的候选筛选与玩家升级并不完全一样:不能把玩家分支“有效成长率必须大于 0、先排除封顶项”的条件直接套过来。
| 本地自动成长变量 | 原始初始值 |
|---|---|
| 招募:成长率修正/倍率 | 0 / 80 |
| 第三部加入:成长率修正/倍率 | 0 / 80 |
| 第三部主角合流:成长率修正/倍率 | 0 / 70 |
| 第三部合流后加入:倍率 | 80 |
公共公式已定位,不等于所有入队面板都已还原。上表是变量的原始值,不直接等同于公式中的浮点 μ。仍需逐条闭合路线调用、变量到参数的转换、目标等级、已有存档属性和背包的继承关系。不能把所有加入角色统一写成“基础值 + 等级 × 成长率 × 80%”。
已有合并路径会取新旧成长增量的较大值;但这不能推广为所有招募都如此。携带物品取自另外的配置与背包逻辑,不由成长率公式生成。
查看诺克裘拉的入队配置证据公式来自本地 exefs/main 的 AArch64 程序与 Person.bin、Job.bin、Skill.bin、Variable.bin 等数据。页面没有使用其他作品的成长规则代替本作逻辑。
| 核对项 | 程序位置/数据字段 | 验证程度 |
|---|---|---|
| 升级分支入口 | 0x6e0bc0,变量「固定成長」 | 静态调用链 |
| 有效成长率 | 0x6d5d00;Person +540,Job +354 / +376 | 静态解析与原始数据 |
| 随机/固定成长 | 0x8c5c60 / 0x8c5700 | 原指令隔离回放,与网页算法对照 70 组 |
| 累积值初始化 | 0x6d19a0 | 静态解析 |
| 核心属性/上限 | 0x6dd470 / 0x6dd7a0 | 静态解析 |
| 自动成长公共计算 | 0x6d5120 | 静态解析;具体入队调用仍需逐条核对 |
回放在 Unicorn 中执行原随机/固定函数及排序指令,替换内存分配、属性/上限读取和加点回调。70 组输入覆盖 0~200% 成长、0/2/4 保底、不同种子、累积值和上限;比较每项增量、固定余数、随机判定次数。这证明隔离函数与网页实现一致,不等于完整游戏存档回归。
本地原始 main 的 SHA-256:
ee08f64d39f80c08c733e203be6f44c44265fdd69c7c824d562ab4f5d6d7d7d6程序地址以当前解包版本为准。其他补丁版本需重新核对。技能条件边界、难度与成长模式对应、全路线入队调用,以及战斗经验获得公式不在本页已确认结论中。