{ "reference": "UserInterface/PythonSkill.cpp", "reference_sha256": "c3c5d946aa801cbcc2a42c32e1c77ae59113a263f5618faaa8e15fc77b903fac", "priority": "P1", "contracts": [], "functions": { "SplitLine": { "status": "PORTED", "impl": [ "extension/src/port/UserInterface/PythonSkill.cpp:SplitLine" ] }, "string_replace_word": { "status": "PORTED", "impl": [ "extension/src/port/UserInterface/PythonSkill.cpp:string_replace_word" ] }, "CPythonSkill::RegisterSkillTable": { "status": "PORTED", "impl": [ "extension/src/port/UserInterface/PythonSkill.cpp:CPythonSkill::RegisterSkillTable" ] }, "CPythonSkill::__RegisterGradeIconImage": { "status": "PORTED", "impl": [ "extension/src/port/UserInterface/PythonSkill.cpp:CPythonSkill::__RegisterGradeIconImage" ] }, "CPythonSkill::__RegisterNormalIconImage": { "status": "PORTED", "impl": [ "extension/src/port/UserInterface/PythonSkill.cpp:CPythonSkill::__RegisterNormalIconImage" ] }, "CPythonSkill::RegisterSkillDesc": { "status": "PORTED", "impl": [ "extension/src/port/UserInterface/PythonSkill.cpp:CPythonSkill::RegisterSkillDesc" ] }, "CPythonSkill::Destroy": { "status": "PORTED", "impl": [ "extension/src/port/UserInterface/PythonSkill.cpp:CPythonSkill::Destroy" ] }, "CPythonSkill::RegisterSkill": { "status": "PORTED", "impl": [ "extension/src/port/UserInterface/PythonSkill.cpp:CPythonSkill::RegisterSkill" ] }, "CPythonSkill::GetSkillData": { "status": "PORTED", "impl": [ "extension/src/port/UserInterface/PythonSkill.cpp:CPythonSkill::GetSkillData" ] }, "CPythonSkill::GetSkillDataByName": { "status": "PORTED", "impl": [ "extension/src/port/UserInterface/PythonSkill.cpp:CPythonSkill::GetSkillDataByName" ] }, "CPythonSkill::SetPathName": { "status": "PORTED", "impl": [ "extension/src/port/UserInterface/PythonSkill.cpp:CPythonSkill::SetPathName" ] }, "CPythonSkill::GetPathName": { "status": "PORTED", "impl": [ "extension/src/port/UserInterface/PythonSkill.cpp:CPythonSkill::GetPathName" ] }, "CPythonSkill::TEST": { "status": "PORTED", "impl": [ "extension/src/port/UserInterface/PythonSkill.cpp:CPythonSkill::TEST" ] }, "CPythonSkill::CPythonSkill": { "status": "PORTED", "impl": [ "extension/src/port/UserInterface/PythonSkill.cpp:CPythonSkill::CPythonSkill" ] }, "CPythonSkill::~CPythonSkill": { "status": "PORTED", "impl": [ "extension/src/port/UserInterface/PythonSkill.cpp:CPythonSkill::~CPythonSkill" ] }, "CPythonSkill::SSkillData::GetName": { "status": "PORTED", "impl": [ "extension/src/port/UserInterface/PythonSkill.cpp:CPythonSkill::SSkillData::GetName" ] }, "CPythonSkill::SSkillData::GetType": { "status": "PORTED", "impl": [ "extension/src/port/UserInterface/PythonSkill.cpp:CPythonSkill::SSkillData::GetType" ] }, "CPythonSkill::SSkillData::IsMeleeSkill": { "status": "PORTED", "impl": [ "extension/src/port/UserInterface/PythonSkill.cpp:CPythonSkill::SSkillData::IsMeleeSkill" ] }, "CPythonSkill::SSkillData::IsChargeSkill": { "status": "PORTED", "impl": [ "extension/src/port/UserInterface/PythonSkill.cpp:CPythonSkill::SSkillData::IsChargeSkill" ] }, "CPythonSkill::SSkillData::IsOnlyForGuildWar": { "status": "PORTED", "impl": [ "extension/src/port/UserInterface/PythonSkill.cpp:CPythonSkill::SSkillData::IsOnlyForGuildWar" ] }, "CPythonSkill::SSkillData::GetTargetRange": { "status": "PORTED", "impl": [ "extension/src/port/UserInterface/PythonSkill.cpp:CPythonSkill::SSkillData::GetTargetRange" ] }, "CPythonSkill::SSkillData::CanChangeDirection": { "status": "PORTED", "impl": [ "extension/src/port/UserInterface/PythonSkill.cpp:CPythonSkill::SSkillData::CanChangeDirection" ] }, "CPythonSkill::SSkillData::IsFanRange": { "status": "PORTED", "impl": [ "extension/src/port/UserInterface/PythonSkill.cpp:CPythonSkill::SSkillData::IsFanRange" ] }, "CPythonSkill::SSkillData::IsCircleRange": { "status": "PORTED", "impl": [ "extension/src/port/UserInterface/PythonSkill.cpp:CPythonSkill::SSkillData::IsCircleRange" ] }, "CPythonSkill::SSkillData::IsAutoSearchTarget": { "status": "PORTED", "impl": [ "extension/src/port/UserInterface/PythonSkill.cpp:CPythonSkill::SSkillData::IsAutoSearchTarget" ] }, "CPythonSkill::SSkillData::IsNeedCorpse": { "status": "PORTED", "impl": [ "extension/src/port/UserInterface/PythonSkill.cpp:CPythonSkill::SSkillData::IsNeedCorpse" ] }, "CPythonSkill::SSkillData::IsNeedTarget": { "status": "PORTED", "impl": [ "extension/src/port/UserInterface/PythonSkill.cpp:CPythonSkill::SSkillData::IsNeedTarget" ] }, "CPythonSkill::SSkillData::IsToggleSkill": { "status": "PORTED", "impl": [ "extension/src/port/UserInterface/PythonSkill.cpp:CPythonSkill::SSkillData::IsToggleSkill" ] }, "CPythonSkill::SSkillData::IsUseHPSkill": { "status": "PORTED", "impl": [ "extension/src/port/UserInterface/PythonSkill.cpp:CPythonSkill::SSkillData::IsUseHPSkill" ] }, "CPythonSkill::SSkillData::IsStandingSkill": { "status": "PORTED", "impl": [ "extension/src/port/UserInterface/PythonSkill.cpp:CPythonSkill::SSkillData::IsStandingSkill" ] }, "CPythonSkill::SSkillData::CanUseWeaponType": { "status": "PORTED", "impl": [ "extension/src/port/UserInterface/PythonSkill.cpp:CPythonSkill::SSkillData::CanUseWeaponType" ] }, "CPythonSkill::SSkillData::IsOnlyForAlliance": { "status": "PORTED", "impl": [ "extension/src/port/UserInterface/PythonSkill.cpp:CPythonSkill::SSkillData::IsOnlyForAlliance" ] }, "CPythonSkill::SSkillData::CanUseForMe": { "status": "PORTED", "impl": [ "extension/src/port/UserInterface/PythonSkill.cpp:CPythonSkill::SSkillData::CanUseForMe" ] }, "CPythonSkill::SSkillData::CanUseIfNotEnough": { "status": "PORTED", "impl": [ "extension/src/port/UserInterface/PythonSkill.cpp:CPythonSkill::SSkillData::CanUseIfNotEnough" ] }, "CPythonSkill::SSkillData::IsNeedEmptyBottle": { "status": "PORTED", "impl": [ "extension/src/port/UserInterface/PythonSkill.cpp:CPythonSkill::SSkillData::IsNeedEmptyBottle" ] }, "CPythonSkill::SSkillData::IsNeedPoisonBottle": { "status": "PORTED", "impl": [ "extension/src/port/UserInterface/PythonSkill.cpp:CPythonSkill::SSkillData::IsNeedPoisonBottle" ] }, "CPythonSkill::SSkillData::IsNeedBow": { "status": "PORTED", "impl": [ "extension/src/port/UserInterface/PythonSkill.cpp:CPythonSkill::SSkillData::IsNeedBow" ] }, "CPythonSkill::SSkillData::IsHorseSkill": { "status": "PORTED", "impl": [ "extension/src/port/UserInterface/PythonSkill.cpp:CPythonSkill::SSkillData::IsHorseSkill" ] }, "CPythonSkill::SSkillData::IsMovingSkill": { "status": "PORTED", "impl": [ "extension/src/port/UserInterface/PythonSkill.cpp:CPythonSkill::SSkillData::IsMovingSkill" ] }, "CPythonSkill::SSkillData::IsAttackSkill": { "status": "PORTED", "impl": [ "extension/src/port/UserInterface/PythonSkill.cpp:CPythonSkill::SSkillData::IsAttackSkill" ] }, "CPythonSkill::SSkillData::IsTimeIncreaseSkill": { "status": "PORTED", "impl": [ "extension/src/port/UserInterface/PythonSkill.cpp:CPythonSkill::SSkillData::IsTimeIncreaseSkill" ] }, "CPythonSkill::SSkillData::GetState": { "status": "PORTED", "impl": [ "extension/src/port/UserInterface/PythonSkill.cpp:CPythonSkill::SSkillData::GetState" ] }, "CPythonSkill::SSkillData::ProcessFormula": { "status": "PORTED", "impl": [ "extension/src/port/UserInterface/PythonSkill.cpp:CPythonSkill::SSkillData::ProcessFormula" ] }, "CPythonSkill::SSkillData::GetAffectDescription": { "status": "PORTED", "impl": [ "extension/src/port/UserInterface/PythonSkill.cpp:CPythonSkill::SSkillData::GetAffectDescription" ] }, "CPythonSkill::SSkillData::GetSkillCoolTime": { "status": "PORTED", "impl": [ "extension/src/port/UserInterface/PythonSkill.cpp:CPythonSkill::SSkillData::GetSkillCoolTime" ] }, "CPythonSkill::SSkillData::GetTargetCount": { "status": "PORTED", "impl": [ "extension/src/port/UserInterface/PythonSkill.cpp:CPythonSkill::SSkillData::GetTargetCount" ] }, "CPythonSkill::SSkillData::GetSkillMotionIndex": { "status": "PORTED", "impl": [ "extension/src/port/UserInterface/PythonSkill.cpp:CPythonSkill::SSkillData::GetSkillMotionIndex" ] }, "CPythonSkill::SSkillData::GetMaxLevel": { "status": "PORTED", "impl": [ "extension/src/port/UserInterface/PythonSkill.cpp:CPythonSkill::SSkillData::GetMaxLevel" ] }, "CPythonSkill::SSkillData::GetLevelUpPoint": { "status": "PORTED", "impl": [ "extension/src/port/UserInterface/PythonSkill.cpp:CPythonSkill::SSkillData::GetLevelUpPoint" ] }, "CPythonSkill::SSkillData::IsNoMotion": { "status": "PORTED", "impl": [ "extension/src/port/UserInterface/PythonSkill.cpp:CPythonSkill::SSkillData::IsNoMotion" ] }, "CPythonSkill::SSkillData::IsCanUseSkill": { "status": "PORTED", "impl": [ "extension/src/port/UserInterface/PythonSkill.cpp:CPythonSkill::SSkillData::IsCanUseSkill" ] }, "CPythonSkill::SSkillData::GetMotionLoopCount": { "status": "PORTED", "impl": [ "extension/src/port/UserInterface/PythonSkill.cpp:CPythonSkill::SSkillData::GetMotionLoopCount" ] }, "CPythonSkill::SSkillData::GetNeedSP": { "status": "PORTED", "impl": [ "extension/src/port/UserInterface/PythonSkill.cpp:CPythonSkill::SSkillData::GetNeedSP" ] }, "CPythonSkill::SSkillData::GetContinuationSP": { "status": "PORTED", "impl": [ "extension/src/port/UserInterface/PythonSkill.cpp:CPythonSkill::SSkillData::GetContinuationSP" ] }, "CPythonSkill::SSkillData::GetDuration": { "status": "PORTED", "impl": [ "extension/src/port/UserInterface/PythonSkill.cpp:CPythonSkill::SSkillData::GetDuration" ] }, "CPythonSkill::SSkillData::SSkillData": { "status": "PORTED", "impl": [ "extension/src/port/UserInterface/PythonSkill.cpp:CPythonSkill::SSkillData::SSkillData" ] }, "skillSetPathName": { "status": "PORTED", "impl": [ "extension/src/port/UserInterface/PythonSkill.cpp:skillSetPathName" ] }, "skillRegisterSkill": { "status": "PORTED", "impl": [ "extension/src/port/UserInterface/PythonSkill.cpp:skillRegisterSkill" ] }, "skillLoadSkillData": { "status": "PORTED", "impl": [ "extension/src/port/UserInterface/PythonSkill.cpp:skillLoadSkillData" ] }, "skillRegisterSkillDesc": { "status": "PORTED", "impl": [ "extension/src/port/UserInterface/PythonSkill.cpp:skillRegisterSkillDesc" ] }, "skillClearSkillData": { "status": "PORTED", "impl": [ "extension/src/port/UserInterface/PythonSkill.cpp:skillClearSkillData" ] }, "skillGetSkillName": { "status": "PORTED", "impl": [ "extension/src/port/UserInterface/PythonSkill.cpp:skillGetSkillName" ] }, "skillGetSkillDescription": { "status": "PORTED", "impl": [ "extension/src/port/UserInterface/PythonSkill.cpp:skillGetSkillDescription" ] }, "skillGetSkillType": { "status": "PORTED", "impl": [ "extension/src/port/UserInterface/PythonSkill.cpp:skillGetSkillType" ] }, "skillGetSkillConditionDescriptionCount": { "status": "PORTED", "impl": [ "extension/src/port/UserInterface/PythonSkill.cpp:skillGetSkillConditionDescriptionCount" ] }, "skillGetSkillConditionDescription": { "status": "PORTED", "impl": [ "extension/src/port/UserInterface/PythonSkill.cpp:skillGetSkillConditionDescription" ] }, "skillGetSkillAffectDescriptionCount": { "status": "PORTED", "impl": [ "extension/src/port/UserInterface/PythonSkill.cpp:skillGetSkillAffectDescriptionCount" ] }, "skillGetSkillAffectDescription": { "status": "PORTED", "impl": [ "extension/src/port/UserInterface/PythonSkill.cpp:skillGetSkillAffectDescription" ] }, "skillGetSkillCoolTime": { "status": "PORTED", "impl": [ "extension/src/port/UserInterface/PythonSkill.cpp:skillGetSkillCoolTime" ] }, "skillGetSkillNeedSP": { "status": "PORTED", "impl": [ "extension/src/port/UserInterface/PythonSkill.cpp:skillGetSkillNeedSP" ] }, "skillGetSkillContinuationSP": { "status": "PORTED", "impl": [ "extension/src/port/UserInterface/PythonSkill.cpp:skillGetSkillContinuationSP" ] }, "skillGetSkillMaxLevel": { "status": "PORTED", "impl": [ "extension/src/port/UserInterface/PythonSkill.cpp:skillGetSkillMaxLevel" ] }, "skillGetSkillLevelUpPoint": { "status": "PORTED", "impl": [ "extension/src/port/UserInterface/PythonSkill.cpp:skillGetSkillLevelUpPoint" ] }, "skillGetSkillLevelLimit": { "status": "PORTED", "impl": [ "extension/src/port/UserInterface/PythonSkill.cpp:skillGetSkillLevelLimit" ] }, "skillIsSkillRequirement": { "status": "PORTED", "impl": [ "extension/src/port/UserInterface/PythonSkill.cpp:skillIsSkillRequirement" ] }, "skillGetSkillRequirementData": { "status": "PORTED", "impl": [ "extension/src/port/UserInterface/PythonSkill.cpp:skillGetSkillRequirementData" ] }, "skillGetSkillRequireStatCount": { "status": "PORTED", "impl": [ "extension/src/port/UserInterface/PythonSkill.cpp:skillGetSkillRequireStatCount" ] }, "skillGetSkillRequireStatData": { "status": "PORTED", "impl": [ "extension/src/port/UserInterface/PythonSkill.cpp:skillGetSkillRequireStatData" ] }, "skillCanLevelUpSkill": { "status": "PORTED", "impl": [ "extension/src/port/UserInterface/PythonSkill.cpp:skillCanLevelUpSkill" ] }, "skillCheckRequirementSueccess": { "status": "PORTED", "impl": [ "extension/src/port/UserInterface/PythonSkill.cpp:skillCheckRequirementSueccess" ] }, "skillGetNeedCharacterLevel": { "status": "PORTED", "impl": [ "extension/src/port/UserInterface/PythonSkill.cpp:skillGetNeedCharacterLevel" ] }, "skillIsToggleSkill": { "status": "PORTED", "impl": [ "extension/src/port/UserInterface/PythonSkill.cpp:skillIsToggleSkill" ] }, "skillIsUseHPSkill": { "status": "PORTED", "impl": [ "extension/src/port/UserInterface/PythonSkill.cpp:skillIsUseHPSkill" ] }, "skillIsStandingSkill": { "status": "PORTED", "impl": [ "extension/src/port/UserInterface/PythonSkill.cpp:skillIsStandingSkill" ] }, "skillCanUseSkill": { "status": "PORTED", "impl": [ "extension/src/port/UserInterface/PythonSkill.cpp:skillCanUseSkill" ] }, "skillIsLevelUpSkill": { "status": "PORTED", "impl": [ "extension/src/port/UserInterface/PythonSkill.cpp:skillIsLevelUpSkill" ] }, "skillGetIconName": { "status": "PORTED", "impl": [ "extension/src/port/UserInterface/PythonSkill.cpp:skillGetIconName" ] }, "skillGetIconImage": { "status": "ADAPTED", "impl": [ "extension/src/port/UserInterface/PythonSkill.cpp:skillGetIconImage" ], "note": "Returns/reads the pointer through Py_BuildPointer/PyTuple_GetPointer instead of Py_BuildValue(\"i\")/PyTuple_GetInteger: 40250 is ILP32, a 64-bit pointer truncated in \"i\" crashed wndMgr.SetSlot.", "test": "extension/tests/port_login_flow_test.cpp (port.login_flow in-game step: grade icon image + icon instance round trip)" }, "skillGetIconInstance": { "status": "ADAPTED", "impl": [ "extension/src/port/UserInterface/PythonSkill.cpp:skillGetIconInstance" ], "note": "Returns/reads the pointer through Py_BuildPointer/PyTuple_GetPointer instead of Py_BuildValue(\"i\")/PyTuple_GetInteger: 40250 is ILP32, a 64-bit pointer truncated in \"i\" crashed wndMgr.SetSlot.", "test": "extension/tests/port_login_flow_test.cpp (port.login_flow in-game step: grade icon image + icon instance round trip)" }, "skillGetIconImageNew": { "status": "ADAPTED", "impl": [ "extension/src/port/UserInterface/PythonSkill.cpp:skillGetIconImageNew" ], "note": "Returns/reads the pointer through Py_BuildPointer/PyTuple_GetPointer instead of Py_BuildValue(\"i\")/PyTuple_GetInteger: 40250 is ILP32, a 64-bit pointer truncated in \"i\" crashed wndMgr.SetSlot.", "test": "extension/tests/port_login_flow_test.cpp (port.login_flow in-game step: grade icon image + icon instance round trip)" }, "skillGetIconInstanceNew": { "status": "ADAPTED", "impl": [ "extension/src/port/UserInterface/PythonSkill.cpp:skillGetIconInstanceNew" ], "note": "Returns/reads the pointer through Py_BuildPointer/PyTuple_GetPointer instead of Py_BuildValue(\"i\")/PyTuple_GetInteger: 40250 is ILP32, a 64-bit pointer truncated in \"i\" crashed wndMgr.SetSlot.", "test": "extension/tests/port_login_flow_test.cpp (port.login_flow in-game step: grade icon image + icon instance round trip)" }, "skillDeleteIconInstance": { "status": "ADAPTED", "impl": [ "extension/src/port/UserInterface/PythonSkill.cpp:skillDeleteIconInstance" ], "note": "Returns/reads the pointer through Py_BuildPointer/PyTuple_GetPointer instead of Py_BuildValue(\"i\")/PyTuple_GetInteger: 40250 is ILP32, a 64-bit pointer truncated in \"i\" crashed wndMgr.SetSlot.", "test": "extension/tests/port_login_flow_test.cpp (port.login_flow in-game step: grade icon image + icon instance round trip)" }, "skillGetGradeData": { "status": "ADAPTED", "impl": [ "extension/src/port/UserInterface/PythonSkill.cpp:skillGetGradeData" ], "note": "40250 passes the non-trivial TGradeData through varargs (\"i\" reads its first 4 bytes); clang rejects that, so the same first 4 bytes are read explicitly. No root script calls skill.GetGradeData.", "test": "extension/tests/port_login_flow_test.cpp (module imports; function unused by root scripts)" }, "skillGetNewAffectDataCount": { "status": "PORTED", "impl": [ "extension/src/port/UserInterface/PythonSkill.cpp:skillGetNewAffectDataCount" ] }, "skillGetNewAffectData": { "status": "PORTED", "impl": [ "extension/src/port/UserInterface/PythonSkill.cpp:skillGetNewAffectData" ] }, "skillGetDuration": { "status": "PORTED", "impl": [ "extension/src/port/UserInterface/PythonSkill.cpp:skillGetDuration" ] }, "skillTEST": { "status": "PORTED", "impl": [ "extension/src/port/UserInterface/PythonSkill.cpp:skillTEST" ] }, "initskill": { "status": "PORTED", "impl": [ "extension/src/port/UserInterface/PythonSkill.cpp:initskill" ] } } }