2V3-a: walk with the keyboard through the ported player chain
PythonPlayer, PythonPlayerInput{,Keyboard,Mouse}, PythonPlayerEventHandler,
PythonPlayerSkill, PythonPlayerModule and GameType are verbatim copies; the
`player` stub module and the pending PythonPlayer/GameType stand-ins are gone.
Unported callees (CPythonSkill, CItemData, CItemManager, CPythonItem, ...) are
pending stubs. 64-bit fixes: emotion icon handles use Py_BuildPointer, and
PyDict_Next takes Py_ssize_t.
The actor did not move because GrannyUpdateModelMatrix passed the model matrix
through. Walk/run motions use constant root-motion extraction
(AccumulationFlags=AccumulationExtracted, LoopTranslation e.g. (0,-300,0) for
the warrior run, same as the .msa Accumulation). libgr2 now reads both fields
from TrackGroups[0], and the runtime moves by LoopTranslation over each
control's local-clock span, blended by control weight. VDA extraction is not
implemented.
port.login_flow presses DIK_UP; the actor walks more than 100 cm, and the fake
server parses CG packets and sees CG_MOVE FUNC_MOVE, then FUNC_WAIT at the new
position. port.login_live against the real server walked 132 cm.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5.5
parent
157f7c3bb4
commit
ff0983d3c8
@@ -0,0 +1,800 @@
|
||||
{
|
||||
"reference": "UserInterface/PythonPlayerModule.cpp",
|
||||
"reference_sha256": "15416546cb584c518de5b984a7dc6ca3f1af1a093b028e834edb7e9c087a1c63",
|
||||
"priority": "P4",
|
||||
"contracts": [],
|
||||
"functions": {
|
||||
"playerPickCloseItem": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/UserInterface/PythonPlayerModule.cpp:playerPickCloseItem"
|
||||
]
|
||||
},
|
||||
"playerSetGameWindow": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/UserInterface/PythonPlayerModule.cpp:playerSetGameWindow"
|
||||
]
|
||||
},
|
||||
"playerSetQuickCameraMode": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/UserInterface/PythonPlayerModule.cpp:playerSetQuickCameraMode"
|
||||
]
|
||||
},
|
||||
"playerSetMainCharacterIndex": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/UserInterface/PythonPlayerModule.cpp:playerSetMainCharacterIndex"
|
||||
]
|
||||
},
|
||||
"playerGetMainCharacterIndex": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/UserInterface/PythonPlayerModule.cpp:playerGetMainCharacterIndex"
|
||||
]
|
||||
},
|
||||
"playerGetMainCharacterName": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/UserInterface/PythonPlayerModule.cpp:playerGetMainCharacterName"
|
||||
]
|
||||
},
|
||||
"playerGetMainCharacterPosition": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/UserInterface/PythonPlayerModule.cpp:playerGetMainCharacterPosition"
|
||||
]
|
||||
},
|
||||
"playerIsMainCharacterIndex": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/UserInterface/PythonPlayerModule.cpp:playerIsMainCharacterIndex"
|
||||
]
|
||||
},
|
||||
"playerCanAttackInstance": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/UserInterface/PythonPlayerModule.cpp:playerCanAttackInstance"
|
||||
]
|
||||
},
|
||||
"playerIsActingEmotion": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/UserInterface/PythonPlayerModule.cpp:playerIsActingEmotion"
|
||||
]
|
||||
},
|
||||
"playerIsPVPInstance": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/UserInterface/PythonPlayerModule.cpp:playerIsPVPInstance"
|
||||
]
|
||||
},
|
||||
"playerIsSameEmpire": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/UserInterface/PythonPlayerModule.cpp:playerIsSameEmpire"
|
||||
]
|
||||
},
|
||||
"playerIsChallengeInstance": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/UserInterface/PythonPlayerModule.cpp:playerIsChallengeInstance"
|
||||
]
|
||||
},
|
||||
"playerIsRevengeInstance": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/UserInterface/PythonPlayerModule.cpp:playerIsRevengeInstance"
|
||||
]
|
||||
},
|
||||
"playerIsCantFightInstance": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/UserInterface/PythonPlayerModule.cpp:playerIsCantFightInstance"
|
||||
]
|
||||
},
|
||||
"playerGetCharacterDistance": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/UserInterface/PythonPlayerModule.cpp:playerGetCharacterDistance"
|
||||
]
|
||||
},
|
||||
"playerIsInSafeArea": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/UserInterface/PythonPlayerModule.cpp:playerIsInSafeArea"
|
||||
]
|
||||
},
|
||||
"playerIsMountingHorse": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/UserInterface/PythonPlayerModule.cpp:playerIsMountingHorse"
|
||||
]
|
||||
},
|
||||
"playerIsObserverMode": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/UserInterface/PythonPlayerModule.cpp:playerIsObserverMode"
|
||||
]
|
||||
},
|
||||
"playerActEmotion": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/UserInterface/PythonPlayerModule.cpp:playerActEmotion"
|
||||
]
|
||||
},
|
||||
"playerShowPlayer": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/UserInterface/PythonPlayerModule.cpp:playerShowPlayer"
|
||||
]
|
||||
},
|
||||
"playerHidePlayer": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/UserInterface/PythonPlayerModule.cpp:playerHidePlayer"
|
||||
]
|
||||
},
|
||||
"playerComboAttack": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/UserInterface/PythonPlayerModule.cpp:playerComboAttack"
|
||||
]
|
||||
},
|
||||
"playerRegisterEffect": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/UserInterface/PythonPlayerModule.cpp:playerRegisterEffect"
|
||||
]
|
||||
},
|
||||
"playerRegisterCacheEffect": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/UserInterface/PythonPlayerModule.cpp:playerRegisterCacheEffect"
|
||||
]
|
||||
},
|
||||
"playerSetAttackKeyState": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/UserInterface/PythonPlayerModule.cpp:playerSetAttackKeyState"
|
||||
]
|
||||
},
|
||||
"playerSetSingleDIKKeyState": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/UserInterface/PythonPlayerModule.cpp:playerSetSingleDIKKeyState"
|
||||
]
|
||||
},
|
||||
"playerEndKeyWalkingImmediately": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/UserInterface/PythonPlayerModule.cpp:playerEndKeyWalkingImmediately"
|
||||
]
|
||||
},
|
||||
"playerStartMouseWalking": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/UserInterface/PythonPlayerModule.cpp:playerStartMouseWalking"
|
||||
]
|
||||
},
|
||||
"playerEndMouseWalking": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/UserInterface/PythonPlayerModule.cpp:playerEndMouseWalking"
|
||||
]
|
||||
},
|
||||
"playerResetCameraRotation": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/UserInterface/PythonPlayerModule.cpp:playerResetCameraRotation"
|
||||
]
|
||||
},
|
||||
"playerSetAutoCameraRotationSpeed": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/UserInterface/PythonPlayerModule.cpp:playerSetAutoCameraRotationSpeed"
|
||||
]
|
||||
},
|
||||
"playerSetMouseState": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/UserInterface/PythonPlayerModule.cpp:playerSetMouseState"
|
||||
]
|
||||
},
|
||||
"playerSetMouseFunc": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/UserInterface/PythonPlayerModule.cpp:playerSetMouseFunc"
|
||||
]
|
||||
},
|
||||
"playerGetMouseFunc": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/UserInterface/PythonPlayerModule.cpp:playerGetMouseFunc"
|
||||
]
|
||||
},
|
||||
"playerSetMouseMiddleButtonState": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/UserInterface/PythonPlayerModule.cpp:playerSetMouseMiddleButtonState"
|
||||
]
|
||||
},
|
||||
"playerGetName": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/UserInterface/PythonPlayerModule.cpp:playerGetName"
|
||||
]
|
||||
},
|
||||
"playerGetRace": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/UserInterface/PythonPlayerModule.cpp:playerGetRace"
|
||||
]
|
||||
},
|
||||
"playerGetJob": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/UserInterface/PythonPlayerModule.cpp:playerGetJob"
|
||||
]
|
||||
},
|
||||
"playerGetPlayTime": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/UserInterface/PythonPlayerModule.cpp:playerGetPlayTime"
|
||||
]
|
||||
},
|
||||
"playerSetPlayTime": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/UserInterface/PythonPlayerModule.cpp:playerSetPlayTime"
|
||||
]
|
||||
},
|
||||
"playerIsSkillCoolTime": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/UserInterface/PythonPlayerModule.cpp:playerIsSkillCoolTime"
|
||||
]
|
||||
},
|
||||
"playerGetSkillCoolTime": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/UserInterface/PythonPlayerModule.cpp:playerGetSkillCoolTime"
|
||||
]
|
||||
},
|
||||
"playerIsSkillActive": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/UserInterface/PythonPlayerModule.cpp:playerIsSkillActive"
|
||||
]
|
||||
},
|
||||
"playerUseGuildSkill": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/UserInterface/PythonPlayerModule.cpp:playerUseGuildSkill"
|
||||
]
|
||||
},
|
||||
"playerAffectIndexToSkillIndex": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/UserInterface/PythonPlayerModule.cpp:playerAffectIndexToSkillIndex"
|
||||
]
|
||||
},
|
||||
"playerGetEXP": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/UserInterface/PythonPlayerModule.cpp:playerGetEXP"
|
||||
]
|
||||
},
|
||||
"playerGetStatus": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/UserInterface/PythonPlayerModule.cpp:playerGetStatus"
|
||||
]
|
||||
},
|
||||
"playerSetStatus": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/UserInterface/PythonPlayerModule.cpp:playerSetStatus"
|
||||
]
|
||||
},
|
||||
"playerGetElk": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/UserInterface/PythonPlayerModule.cpp:playerGetElk"
|
||||
]
|
||||
},
|
||||
"playerGetGuildID": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/UserInterface/PythonPlayerModule.cpp:playerGetGuildID"
|
||||
]
|
||||
},
|
||||
"playerGetGuildName": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/UserInterface/PythonPlayerModule.cpp:playerGetGuildName"
|
||||
]
|
||||
},
|
||||
"playerGetAlignmentData": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/UserInterface/PythonPlayerModule.cpp:playerGetAlignmentData"
|
||||
]
|
||||
},
|
||||
"playerSetSkill": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/UserInterface/PythonPlayerModule.cpp:playerSetSkill"
|
||||
]
|
||||
},
|
||||
"playerGetSkillIndex": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/UserInterface/PythonPlayerModule.cpp:playerGetSkillIndex"
|
||||
]
|
||||
},
|
||||
"playerGetSkillSlotIndex": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/UserInterface/PythonPlayerModule.cpp:playerGetSkillSlotIndex"
|
||||
]
|
||||
},
|
||||
"playerGetSkillGrade": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/UserInterface/PythonPlayerModule.cpp:playerGetSkillGrade"
|
||||
]
|
||||
},
|
||||
"playerGetSkillLevel": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/UserInterface/PythonPlayerModule.cpp:playerGetSkillLevel"
|
||||
]
|
||||
},
|
||||
"playerGetSkillCurrentEfficientPercentage": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/UserInterface/PythonPlayerModule.cpp:playerGetSkillCurrentEfficientPercentage"
|
||||
]
|
||||
},
|
||||
"playerGetSkillNextEfficientPercentage": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/UserInterface/PythonPlayerModule.cpp:playerGetSkillNextEfficientPercentage"
|
||||
]
|
||||
},
|
||||
"playerClickSkillSlot": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/UserInterface/PythonPlayerModule.cpp:playerClickSkillSlot"
|
||||
]
|
||||
},
|
||||
"playerChangeCurrentSkillNumberOnly": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/UserInterface/PythonPlayerModule.cpp:playerChangeCurrentSkillNumberOnly"
|
||||
]
|
||||
},
|
||||
"playerClearSkillDict": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/UserInterface/PythonPlayerModule.cpp:playerClearSkillDict"
|
||||
]
|
||||
},
|
||||
"playerMoveItem": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/UserInterface/PythonPlayerModule.cpp:playerMoveItem"
|
||||
]
|
||||
},
|
||||
"playerSendClickItemPacket": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/UserInterface/PythonPlayerModule.cpp:playerSendClickItemPacket"
|
||||
]
|
||||
},
|
||||
"playerGetItemIndex": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/UserInterface/PythonPlayerModule.cpp:playerGetItemIndex"
|
||||
]
|
||||
},
|
||||
"playerGetItemFlags": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/UserInterface/PythonPlayerModule.cpp:playerGetItemFlags"
|
||||
]
|
||||
},
|
||||
"playerGetItemCount": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/UserInterface/PythonPlayerModule.cpp:playerGetItemCount"
|
||||
]
|
||||
},
|
||||
"playerSetItemCount": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/UserInterface/PythonPlayerModule.cpp:playerSetItemCount"
|
||||
]
|
||||
},
|
||||
"playerGetItemCountByVnum": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/UserInterface/PythonPlayerModule.cpp:playerGetItemCountByVnum"
|
||||
]
|
||||
},
|
||||
"playerGetItemMetinSocket": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/UserInterface/PythonPlayerModule.cpp:playerGetItemMetinSocket"
|
||||
]
|
||||
},
|
||||
"playerGetItemAttribute": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/UserInterface/PythonPlayerModule.cpp:playerGetItemAttribute"
|
||||
]
|
||||
},
|
||||
"playerGetItemLink": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/UserInterface/PythonPlayerModule.cpp:playerGetItemLink"
|
||||
]
|
||||
},
|
||||
"playerGetISellItemPrice": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/UserInterface/PythonPlayerModule.cpp:playerGetISellItemPrice"
|
||||
]
|
||||
},
|
||||
"playerGetQuickPage": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/UserInterface/PythonPlayerModule.cpp:playerGetQuickPage"
|
||||
]
|
||||
},
|
||||
"playerSetQuickPage": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/UserInterface/PythonPlayerModule.cpp:playerSetQuickPage"
|
||||
]
|
||||
},
|
||||
"playerLocalQuickSlotIndexToGlobalQuickSlotIndex": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/UserInterface/PythonPlayerModule.cpp:playerLocalQuickSlotIndexToGlobalQuickSlotIndex"
|
||||
]
|
||||
},
|
||||
"playerGetLocalQuickSlot": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/UserInterface/PythonPlayerModule.cpp:playerGetLocalQuickSlot"
|
||||
]
|
||||
},
|
||||
"playerGetGlobalQuickSlot": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/UserInterface/PythonPlayerModule.cpp:playerGetGlobalQuickSlot"
|
||||
]
|
||||
},
|
||||
"playerRequestAddLocalQuickSlot": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/UserInterface/PythonPlayerModule.cpp:playerRequestAddLocalQuickSlot"
|
||||
]
|
||||
},
|
||||
"playerRequestAddToEmptyLocalQuickSlot": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/UserInterface/PythonPlayerModule.cpp:playerRequestAddToEmptyLocalQuickSlot"
|
||||
]
|
||||
},
|
||||
"playerRequestDeleteGlobalQuickSlot": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/UserInterface/PythonPlayerModule.cpp:playerRequestDeleteGlobalQuickSlot"
|
||||
]
|
||||
},
|
||||
"playerRequestMoveGlobalQuickSlotToLocalQuickSlot": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/UserInterface/PythonPlayerModule.cpp:playerRequestMoveGlobalQuickSlotToLocalQuickSlot"
|
||||
]
|
||||
},
|
||||
"playerRequestUseLocalQuickSlot": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/UserInterface/PythonPlayerModule.cpp:playerRequestUseLocalQuickSlot"
|
||||
]
|
||||
},
|
||||
"playerRemoveQuickSlotByValue": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/UserInterface/PythonPlayerModule.cpp:playerRemoveQuickSlotByValue"
|
||||
]
|
||||
},
|
||||
"playerisItem": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/UserInterface/PythonPlayerModule.cpp:playerisItem"
|
||||
]
|
||||
},
|
||||
"playerIsBeltInventorySlot": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/UserInterface/PythonPlayerModule.cpp:playerIsBeltInventorySlot"
|
||||
]
|
||||
},
|
||||
"playerIsEquipmentSlot": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/UserInterface/PythonPlayerModule.cpp:playerIsEquipmentSlot"
|
||||
]
|
||||
},
|
||||
"playerIsDSEquipmentSlot": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/UserInterface/PythonPlayerModule.cpp:playerIsDSEquipmentSlot"
|
||||
]
|
||||
},
|
||||
"playerIsCostumeSlot": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/UserInterface/PythonPlayerModule.cpp:playerIsCostumeSlot"
|
||||
]
|
||||
},
|
||||
"playerIsOpenPrivateShop": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/UserInterface/PythonPlayerModule.cpp:playerIsOpenPrivateShop"
|
||||
]
|
||||
},
|
||||
"playerIsValuableItem": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/UserInterface/PythonPlayerModule.cpp:playerIsValuableItem"
|
||||
]
|
||||
},
|
||||
"GetItemGrade": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/UserInterface/PythonPlayerModule.cpp:GetItemGrade"
|
||||
]
|
||||
},
|
||||
"playerGetItemGrade": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/UserInterface/PythonPlayerModule.cpp:playerGetItemGrade"
|
||||
]
|
||||
},
|
||||
"playerGetItemUnbindTime": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/UserInterface/PythonPlayerModule.cpp:playerGetItemUnbindTime"
|
||||
]
|
||||
},
|
||||
"playerCanRefine": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/UserInterface/PythonPlayerModule.cpp:playerCanRefine"
|
||||
]
|
||||
},
|
||||
"playerCanAttachMetin": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/UserInterface/PythonPlayerModule.cpp:playerCanAttachMetin"
|
||||
]
|
||||
},
|
||||
"playerCanDetach": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/UserInterface/PythonPlayerModule.cpp:playerCanDetach"
|
||||
]
|
||||
},
|
||||
"playerCanUnlock": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/UserInterface/PythonPlayerModule.cpp:playerCanUnlock"
|
||||
]
|
||||
},
|
||||
"playerIsRefineGradeScroll": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/UserInterface/PythonPlayerModule.cpp:playerIsRefineGradeScroll"
|
||||
]
|
||||
},
|
||||
"playerUpdate": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/UserInterface/PythonPlayerModule.cpp:playerUpdate"
|
||||
]
|
||||
},
|
||||
"playerRender": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/UserInterface/PythonPlayerModule.cpp:playerRender"
|
||||
]
|
||||
},
|
||||
"playerClear": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/UserInterface/PythonPlayerModule.cpp:playerClear"
|
||||
]
|
||||
},
|
||||
"playerClearTarget": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/UserInterface/PythonPlayerModule.cpp:playerClearTarget"
|
||||
]
|
||||
},
|
||||
"playerSetTarget": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/UserInterface/PythonPlayerModule.cpp:playerSetTarget"
|
||||
]
|
||||
},
|
||||
"playerOpenCharacterMenu": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/UserInterface/PythonPlayerModule.cpp:playerOpenCharacterMenu"
|
||||
]
|
||||
},
|
||||
"playerIsPartyMember": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/UserInterface/PythonPlayerModule.cpp:playerIsPartyMember"
|
||||
]
|
||||
},
|
||||
"playerIsPartyLeader": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/UserInterface/PythonPlayerModule.cpp:playerIsPartyLeader"
|
||||
]
|
||||
},
|
||||
"playerIsPartyLeaderByPID": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/UserInterface/PythonPlayerModule.cpp:playerIsPartyLeaderByPID"
|
||||
]
|
||||
},
|
||||
"playerGetPartyMemberHPPercentage": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/UserInterface/PythonPlayerModule.cpp:playerGetPartyMemberHPPercentage"
|
||||
]
|
||||
},
|
||||
"playerGetPartyMemberState": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/UserInterface/PythonPlayerModule.cpp:playerGetPartyMemberState"
|
||||
]
|
||||
},
|
||||
"playerGetPartyMemberAffects": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/UserInterface/PythonPlayerModule.cpp:playerGetPartyMemberAffects"
|
||||
]
|
||||
},
|
||||
"playerRemovePartyMember": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/UserInterface/PythonPlayerModule.cpp:playerRemovePartyMember"
|
||||
]
|
||||
},
|
||||
"playerExitParty": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/UserInterface/PythonPlayerModule.cpp:playerExitParty"
|
||||
]
|
||||
},
|
||||
"playerGetPKMode": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/UserInterface/PythonPlayerModule.cpp:playerGetPKMode"
|
||||
]
|
||||
},
|
||||
"playerHasMobilePhoneNumber": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/UserInterface/PythonPlayerModule.cpp:playerHasMobilePhoneNumber"
|
||||
]
|
||||
},
|
||||
"playerSetWeaponAttackBonusFlag": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/UserInterface/PythonPlayerModule.cpp:playerSetWeaponAttackBonusFlag"
|
||||
]
|
||||
},
|
||||
"playerToggleCoolTime": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/UserInterface/PythonPlayerModule.cpp:playerToggleCoolTime"
|
||||
]
|
||||
},
|
||||
"playerToggleLevelLimit": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/UserInterface/PythonPlayerModule.cpp:playerToggleLevelLimit"
|
||||
]
|
||||
},
|
||||
"playerGetTargetVID": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/UserInterface/PythonPlayerModule.cpp:playerGetTargetVID"
|
||||
]
|
||||
},
|
||||
"playerRegisterEmotionIcon": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/UserInterface/PythonPlayerModule.cpp:playerRegisterEmotionIcon"
|
||||
]
|
||||
},
|
||||
"playerGetEmotionIconImage": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/UserInterface/PythonPlayerModule.cpp:playerGetEmotionIconImage"
|
||||
]
|
||||
},
|
||||
"playerSetItemData": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/UserInterface/PythonPlayerModule.cpp:playerSetItemData"
|
||||
]
|
||||
},
|
||||
"playerSetItemMetinSocket": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/UserInterface/PythonPlayerModule.cpp:playerSetItemMetinSocket"
|
||||
]
|
||||
},
|
||||
"playerSetItemAttribute": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/UserInterface/PythonPlayerModule.cpp:playerSetItemAttribute"
|
||||
]
|
||||
},
|
||||
"playerSetAutoPotionInfo": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/UserInterface/PythonPlayerModule.cpp:playerSetAutoPotionInfo"
|
||||
]
|
||||
},
|
||||
"playerGetAutoPotionInfo": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/UserInterface/PythonPlayerModule.cpp:playerGetAutoPotionInfo"
|
||||
]
|
||||
},
|
||||
"playerSlotTypeToInvenType": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/UserInterface/PythonPlayerModule.cpp:playerSlotTypeToInvenType"
|
||||
]
|
||||
},
|
||||
"playerIsEquippingBelt": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/UserInterface/PythonPlayerModule.cpp:playerIsEquippingBelt"
|
||||
]
|
||||
},
|
||||
"playerIsAvailableBeltInventoryCell": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/UserInterface/PythonPlayerModule.cpp:playerIsAvailableBeltInventoryCell"
|
||||
]
|
||||
},
|
||||
"playerSendDragonSoulRefine": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/UserInterface/PythonPlayerModule.cpp:playerSendDragonSoulRefine"
|
||||
]
|
||||
},
|
||||
"initPlayer": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/UserInterface/PythonPlayerModule.cpp:initPlayer"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user