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:
@@ -623,6 +623,10 @@ func _run() -> void:
|
||||
_ck(fc.calls.move.size() == 2 and fc.calls.move[1][0] == np.FUNC_MOVE, "OnMoving after 300ms -> FUNC_MOVE")
|
||||
pc.anim_state.emit("wait") # OnStop
|
||||
_ck(fc.calls.move.size() == 3 and fc.calls.move[2][0] == np.FUNC_WAIT, "OnStop -> FUNC_WAIT")
|
||||
# 站立期间被推开也不补发:40250 的 OnWaiting 只在走/跑动作中触发(InstanceBase.cpp:1930)。
|
||||
pc.player.position = Vector3(4, 0, -1)
|
||||
np._process(0.2)
|
||||
_ck(fc.calls.move.size() == 3, "idle displacement sends no FUNC_WAIT")
|
||||
fc.calls.move.clear()
|
||||
np.on_use_skill(5, 2) # OnUseSkill
|
||||
_ck(fc.calls.move.size() == 1 and fc.calls.move[0][0] == (np.FUNC_SKILL | 5) and fc.calls.move[0][1] == 2,
|
||||
|
||||
Reference in New Issue
Block a user