[Parity][motion-input][S1][H] 本地玩家预测速度写死为 9 / 13.5,FRW、体力耗尽、减速等都没有接入 #587
Loading…
Reference in New Issue
No description provided.
Delete Branch "%!s(<nil>)"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
来源审计项:
motion-input#7— [S1][H] 7. 本地玩家预测速度写死为 9 / 13.5,FRW、体力耗尽、减速等都没有接入src/client/motion/predictor.ts:29-31(常量)、:151-153(默认值)、:159-166(getEffectiveSpeedSubTilesPerSec)、:172-174(setFasterRunWalkPercent,全仓没有调用方);session/online-session.ts:300(new LocalMovementPredictor()不传任何配置)export const D2_BASE_WALK_SUBTILES_PER_SEC = 9.0 // 6 yards/s * 1.5 sub-tiles/yard;return Math.max(1.5, base + D2_BASE_WALK_SUBTILES_PER_SEC * (effFrw / 100))WalkVelocity << 8×nVelocityPercent / 100。nVelocityPercent= 递减后的item_fastermovevelocity+STAT_VELOCITYPERCENT,下限 25(Units.cpp:1672-1693)。递减公式是v*150/(v+150),负值同样套用,按 C 整数除法截断(Units.cpp:1231-1252)。STAT_VELOCITYPERCENT = 100*RunVelocity/WalkVelocity − 100(Units.cpp:701-712、732-735)。charstats.txt)。((a2*vel)>>6)*dir>>12(FP16,dir 向量长度 4096,Step.cpp:23-153),a2≤0 时取 1024(PathMisc.cpp:1121-1153)。如果玩家的 a2 就是 1024,步行为 0.375 子格/帧,即 9.375 子格/秒,跑步为 14.0625 子格/秒。a2 的实际取值未核实,见待确认。predictor.ts:164),下限 1.5 子格/秒也不等于原版的 25%(:165)。WalkVelocity/RunVelocity加上本地玩家的 stat(item_fastermovevelocity、velocitypercent、体力)实时计算速度;跑还是走以服务器的体力状态为准;按 25 Hz 整帧步进。