{ "reference": "UserInterface/PythonPlayerEventHandler.cpp", "reference_sha256": "2ef7f3cbb7fb6e9c86815b39a6a85cd83bd793ef460c8e0d8c532e2e585927f5", "priority": "P0", "contracts": [ "movement.keyboard.motion" ], "functions": { "CPythonPlayerEventHandler::GetSingleton": { "status": "PORTED", "impl": [ "extension/src/port/UserInterface/PythonPlayerEventHandler.cpp:CPythonPlayerEventHandler::GetSingleton" ] }, "CPythonPlayerEventHandler::~CPythonPlayerEventHandler": { "status": "PORTED", "impl": [ "extension/src/port/UserInterface/PythonPlayerEventHandler.cpp:CPythonPlayerEventHandler::~CPythonPlayerEventHandler" ] }, "CPythonPlayerEventHandler::OnClearAffects": { "status": "PORTED", "impl": [ "extension/src/port/UserInterface/PythonPlayerEventHandler.cpp:CPythonPlayerEventHandler::OnClearAffects" ] }, "CPythonPlayerEventHandler::OnSetAffect": { "status": "PORTED", "impl": [ "extension/src/port/UserInterface/PythonPlayerEventHandler.cpp:CPythonPlayerEventHandler::OnSetAffect" ] }, "CPythonPlayerEventHandler::OnResetAffect": { "status": "PORTED", "impl": [ "extension/src/port/UserInterface/PythonPlayerEventHandler.cpp:CPythonPlayerEventHandler::OnResetAffect" ] }, "CPythonPlayerEventHandler::OnSyncing": { "status": "PORTED", "impl": [ "extension/src/port/UserInterface/PythonPlayerEventHandler.cpp:CPythonPlayerEventHandler::OnSyncing" ] }, "CPythonPlayerEventHandler::OnWaiting": { "status": "PORTED", "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.", "impl": [ "extension/src/port/UserInterface/PythonPlayerEventHandler.cpp:CPythonPlayerEventHandler::OnWaiting" ] }, "CPythonPlayerEventHandler::OnMoving": { "status": "PORTED", "impl": [ "extension/src/port/UserInterface/PythonPlayerEventHandler.cpp:CPythonPlayerEventHandler::OnMoving" ] }, "CPythonPlayerEventHandler::OnMove": { "status": "PORTED", "impl": [ "extension/src/port/UserInterface/PythonPlayerEventHandler.cpp:CPythonPlayerEventHandler::OnMove" ] }, "CPythonPlayerEventHandler::OnStop": { "status": "PORTED", "impl": [ "extension/src/port/UserInterface/PythonPlayerEventHandler.cpp:CPythonPlayerEventHandler::OnStop" ] }, "CPythonPlayerEventHandler::OnWarp": { "status": "PORTED", "impl": [ "extension/src/port/UserInterface/PythonPlayerEventHandler.cpp:CPythonPlayerEventHandler::OnWarp" ] }, "CPythonPlayerEventHandler::OnAttack": { "status": "PORTED", "impl": [ "extension/src/port/UserInterface/PythonPlayerEventHandler.cpp:CPythonPlayerEventHandler::OnAttack" ] }, "CPythonPlayerEventHandler::OnUseSkill": { "status": "PORTED", "impl": [ "extension/src/port/UserInterface/PythonPlayerEventHandler.cpp:CPythonPlayerEventHandler::OnUseSkill" ] }, "CPythonPlayerEventHandler::OnUpdate": { "status": "PORTED", "impl": [ "extension/src/port/UserInterface/PythonPlayerEventHandler.cpp:CPythonPlayerEventHandler::OnUpdate" ] }, "CPythonPlayerEventHandler::OnChangeShape": { "status": "PORTED", "impl": [ "extension/src/port/UserInterface/PythonPlayerEventHandler.cpp:CPythonPlayerEventHandler::OnChangeShape" ] }, "CPythonPlayerEventHandler::OnHit": { "status": "PORTED", "impl": [ "extension/src/port/UserInterface/PythonPlayerEventHandler.cpp:CPythonPlayerEventHandler::OnHit" ] }, "CPythonPlayerEventHandler::FlushVictimList": { "status": "PORTED", "impl": [ "extension/src/port/UserInterface/PythonPlayerEventHandler.cpp:CPythonPlayerEventHandler::FlushVictimList" ] }, "CPythonPlayerEventHandler::CPythonPlayerEventHandler": { "status": "PORTED", "impl": [ "extension/src/port/UserInterface/PythonPlayerEventHandler.cpp:CPythonPlayerEventHandler::CPythonPlayerEventHandler" ] }, "CPythonPlayerEventHandler::CNormalBowAttack_FlyEventHandler_AutoClear::OnSetFlyTarget": { "status": "PORTED", "impl": [ "extension/src/port/UserInterface/PythonPlayerEventHandler.cpp:CPythonPlayerEventHandler::CNormalBowAttack_FlyEventHandler_AutoClear::OnSetFlyTarget" ] }, "CPythonPlayerEventHandler::CNormalBowAttack_FlyEventHandler_AutoClear::OnShoot": { "status": "PORTED", "impl": [ "extension/src/port/UserInterface/PythonPlayerEventHandler.cpp:CPythonPlayerEventHandler::CNormalBowAttack_FlyEventHandler_AutoClear::OnShoot" ] }, "CPythonPlayerEventHandler::CNormalBowAttack_FlyEventHandler_AutoClear::Set": { "status": "PORTED", "impl": [ "extension/src/port/UserInterface/PythonPlayerEventHandler.cpp:CPythonPlayerEventHandler::CNormalBowAttack_FlyEventHandler_AutoClear::Set" ] }, "CPythonPlayerEventHandler::CNormalBowAttack_FlyEventHandler_AutoClear::SetTarget": { "status": "PORTED", "impl": [ "extension/src/port/UserInterface/PythonPlayerEventHandler.cpp:CPythonPlayerEventHandler::CNormalBowAttack_FlyEventHandler_AutoClear::SetTarget" ] }, "CPythonPlayerEventHandler::CNormalBowAttack_FlyEventHandler_AutoClear::OnExplodingAtAnotherTarget": { "status": "PORTED", "impl": [ "extension/src/port/UserInterface/PythonPlayerEventHandler.cpp:CPythonPlayerEventHandler::CNormalBowAttack_FlyEventHandler_AutoClear::OnExplodingAtAnotherTarget" ] }, "CPythonPlayerEventHandler::CNormalBowAttack_FlyEventHandler_AutoClear::OnExplodingAtTarget": { "status": "PORTED", "impl": [ "extension/src/port/UserInterface/PythonPlayerEventHandler.cpp:CPythonPlayerEventHandler::CNormalBowAttack_FlyEventHandler_AutoClear::OnExplodingAtTarget" ] } } }