fix(movement): drop idle FUNC_WAIT resend with no 40250 counterpart
40250 only calls OnWaiting inside CInstanceBase::Transform() while IsWalking() (InstanceBase.cpp:1922-1930); it never resends position while standing. Remove _tick_on_waiting and its throttle state. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -331,3 +331,10 @@ server_speed_scale = 0.0 if moving_speed > 1100 else float(moving_speed) / 100.0
|
||||
**Equivalence**:`Constants/units` 行的 `movSpd` 缩放边界差异关闭;合同状态维持
|
||||
`PARTIAL`(固定 300 像素 Dst/根运动适配层、资源与网络事件完整顺序、坐骑速度细节等
|
||||
仍未闭合)。
|
||||
|
||||
### Port round 2026-09-22 — `PythonPlayerEventHandler.cpp`
|
||||
|
||||
- `OnMove`/`OnMoving`/`OnStop`:`net_play.gd::_on_local_moved`/`_on_anim_state` 的 `_was_moving` 边沿与参考一致(PORTED)。
|
||||
- `OnWaiting`:参考只在 `CInstanceBase::Transform()` 的 `IsWalking() || IsUsingMovingSkill()` 分支内、本帧位移 ≤1.0 时调用(`InstanceBase.cpp:1922-1930`),100ms 节流,位移基准为 `m_kPPosPrevWaiting`(由 `OnSyncing`/`OnWaiting` 更新)。当前端原有的 `_tick_on_waiting()` 在站立期间周期补发 `FUNC_WAIT`,参考没有该机制,已删除(含 `SEND_WAITING_*` 与 `_last_waiting_sent_t`)。走/跑中本帧无位移的 OnWaiting 路径尚未移植(DIVERGENT)。
|
||||
- `CInstanceBase::SHORSE::SetMoveSpeed` 只同步坐骑模型动画速率,不是另一套移动速度公式,归 `world.mount_pet_polymorph`。
|
||||
- 测试:`netplay_test.gd` 新增“站立被推开不发包”断言;netplay/keyboard_motion_timeline/movement_parity/player_move/test_wasd_steering_parity/test_no_auto_move_regression/motion_event_warp/playable_combat 均 PASS。
|
||||
|
||||
Reference in New Issue
Block a user