{ "reference": "UserInterface/PythonPlayerEventHandler.cpp", "reference_sha256": "2ef7f3cbb7fb6e9c86815b39a6a85cd83bd793ef460c8e0d8c532e2e585927f5", "priority": "P0", "contracts": [ "movement.keyboard.motion" ], "functions": { "CPythonPlayerEventHandler::GetSingleton": { "status": "TODO" }, "CPythonPlayerEventHandler::~CPythonPlayerEventHandler": { "status": "TODO" }, "CPythonPlayerEventHandler::OnClearAffects": { "status": "TODO" }, "CPythonPlayerEventHandler::OnSetAffect": { "status": "TODO" }, "CPythonPlayerEventHandler::OnResetAffect": { "status": "TODO" }, "CPythonPlayerEventHandler::OnSyncing": { "status": "TODO" }, "CPythonPlayerEventHandler::OnWaiting": { "status": "DIVERGENT", "note": "reference fires only inside CInstanceBase::Transform() while IsWalking() and this frame's displacement <=1.0 (InstanceBase.cpp:1922-1930), 100ms throttle vs m_kPPosPrevWaiting; not ported. The old idle-standing resend (_tick_on_waiting) was removed 2026-09-22." }, "CPythonPlayerEventHandler::OnMoving": { "status": "TODO" }, "CPythonPlayerEventHandler::OnMove": { "status": "TODO" }, "CPythonPlayerEventHandler::OnStop": { "status": "TODO" }, "CPythonPlayerEventHandler::OnWarp": { "status": "TODO" }, "CPythonPlayerEventHandler::OnAttack": { "status": "TODO" }, "CPythonPlayerEventHandler::OnUseSkill": { "status": "TODO" }, "CPythonPlayerEventHandler::OnUpdate": { "status": "TODO" }, "CPythonPlayerEventHandler::OnChangeShape": { "status": "TODO" }, "CPythonPlayerEventHandler::OnHit": { "status": "TODO" }, "CPythonPlayerEventHandler::FlushVictimList": { "status": "TODO" }, "CPythonPlayerEventHandler::CPythonPlayerEventHandler": { "status": "TODO" }, "CPythonPlayerEventHandler::CNormalBowAttack_FlyEventHandler_AutoClear::OnSetFlyTarget": { "status": "TODO" }, "CPythonPlayerEventHandler::CNormalBowAttack_FlyEventHandler_AutoClear::OnShoot": { "status": "TODO" }, "CPythonPlayerEventHandler::CNormalBowAttack_FlyEventHandler_AutoClear::Set": { "status": "TODO" }, "CPythonPlayerEventHandler::CNormalBowAttack_FlyEventHandler_AutoClear::SetTarget": { "status": "TODO" }, "CPythonPlayerEventHandler::CNormalBowAttack_FlyEventHandler_AutoClear::OnExplodingAtAnotherTarget": { "status": "TODO" }, "CPythonPlayerEventHandler::CNormalBowAttack_FlyEventHandler_AutoClear::OnExplodingAtTarget": { "status": "TODO" } } }