声望接收与 FameGate 升阶规则

本批实现52FF10接收核和FameGate阈值查询。正式余额/升阶奖励及完整死亡事务仍未绑定,不代表所有武器已经完成。

独立准入和转发

金额0在入口立即返回,不查PLAYER关系、不算加成、不处理rank。

非0金额只检查自己、master、master的master是否为PLAYER。它不使用无限祖先追溯,也不沿用XP的disabled/死亡状态门。

未bypass时以stat77计算加成,夹紧−100..100,保留float/ceil/32位加法。分享不对远程金额做XP式等级差修正,距离仍为严格小于范围。

有master且非bypass则转给master;否则处理表现和本地声望余额。转发后仍会检查当前单位已有声望的rank,且没有XP的子单位分发/击杀统计阶段。

FameGate

648870对rank<=0返回0;正rank夹到最大支持数量,再求值并ftol2。648810/688D80的上限来自控制点数量,不是最大X;当前CoreSim单序列曲线使用PointCount。

原FAMEGATE有33点,X=1..33,第1阶阈值2000,第33阶10000000。越界rank按末阶阈值处理。

升阶循环

当余额达到当前阶阈值、rank低于最大阶,调用升阶虚函数并重新读取状态。回调未改变rank就停止。

一次奖励刚通过循环达到最大阶时,不在同一次调用强制把余额截到阈值;下次非零奖励进入“已是最大阶”分支才可能截断。0金额不会触发截断,负金额也不会降低rank。

验证

原完整52FF10共960组三精度对照,准入、余额、主从转发、升阶次数和rank一致。分享会话false、表现隐藏;类型/stat/阈值/master和升阶虚函数是明确边界。

1563条核心断言、327项相关Python回归与Godot C#构建通过,包含真实33点FameGate、非连续X、最大阶延迟截断、停滞回调及转发后的本地rank检查。未声称完整联机、浮字像素和升阶奖励已经验证。

还需绑定的升阶奖励

原555500把初始rank设为1。521CA0先增加rank,对CPlayer通过5B3020计算技能点,加到+0x5AC;5B3020使用玩家+0xA80的图表名,以角色等级求值并ceil,不按新声望rank求值。玩家5B5100随后还调用5B4430同步保存状态。

这些正式角色状态、XP/fame余额、当前奖励池和致死事务仍需衔接。TYPE52准入未开放,武器构造仍1053/1419。