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
@@ -7,14 +7,8 @@
|
||||
#include "UserInterface/PythonBackground.h"
|
||||
#include "EterLib/StateManager.h"
|
||||
#include "GameLib/MapOutdoor.h"
|
||||
#include "UserInterface/PythonChat.h"
|
||||
#include "UserInterface/PythonItem.h"
|
||||
#include "GameLib/ItemManager.h"
|
||||
#include "UserInterface/PythonCharacterManager.h"
|
||||
#include "UserInterface/PythonNonPlayer.h"
|
||||
#include "UserInterface/InstanceBase.h"
|
||||
#include "GameLib/RaceManager.h"
|
||||
#include "EffectLib/EffectManager.h"
|
||||
#include "UserInterface/PythonCharacterManager.h"
|
||||
#include "UserInterface/PythonEventManager.h"
|
||||
#include "UserInterface/PythonNetworkStream.h"
|
||||
#include "GameLib/GameEventManager.h"
|
||||
@@ -25,10 +19,13 @@
|
||||
#include "UserInterface/MarkManager.h"
|
||||
#include "UserInterface/PythonIME.h"
|
||||
#include "UserInterface/PythonApplication.h"
|
||||
#include "UserInterface/PythonItem.h"
|
||||
#include "GameLib/ItemManager.h"
|
||||
#include "UserInterface/InstanceBase.h"
|
||||
#include "UserInterface/AbstractApplication.h"
|
||||
#include "UserInterface/PythonMessenger.h"
|
||||
#include "UserInterface/PythonMiniMap.h"
|
||||
#include "UserInterface/PythonPlayer.h"
|
||||
#include "UserInterface/PythonNonPlayer.h"
|
||||
#include "EterLib/Profiler.h"
|
||||
#include "UserInterface/PythonQuest.h"
|
||||
#include "UserInterface/PythonSafeBox.h"
|
||||
@@ -36,6 +33,7 @@
|
||||
#include "UserInterface/PythonSkill.h"
|
||||
#include "EterBase/Poly/Poly.h"
|
||||
#include "EterPack/EterPackManager.h"
|
||||
#include "UserInterface/PythonPlayer.h"
|
||||
#include "UserInterface/PythonTextTail.h"
|
||||
|
||||
// 40250 UserInterface/ServerStateCheckerModule.cpp
|
||||
@@ -473,279 +471,6 @@ void AddStubConstants_nonplayer(PyObject* poModule)
|
||||
PyModule_AddIntConstant(poModule, "KING", 5);
|
||||
}
|
||||
|
||||
// 40250 UserInterface/PythonPlayerModule.cpp
|
||||
extern const DWORD c_iSkillIndex_Tongsol = 121;
|
||||
extern const DWORD c_iSkillIndex_Combo = 122;
|
||||
extern const DWORD c_iSkillIndex_Fishing = 123;
|
||||
extern const DWORD c_iSkillIndex_Mining = 124;
|
||||
extern const DWORD c_iSkillIndex_Making = 125;
|
||||
extern const DWORD c_iSkillIndex_Language1 = 126;
|
||||
extern const DWORD c_iSkillIndex_Language2 = 127;
|
||||
extern const DWORD c_iSkillIndex_Language3 = 128;
|
||||
extern const DWORD c_iSkillIndex_Polymorph = 129;
|
||||
extern const DWORD c_iSkillIndex_Riding = 130;
|
||||
extern const DWORD c_iSkillIndex_Summon = 131;
|
||||
enum
|
||||
{
|
||||
EMOTION_CLAP = 1,
|
||||
EMOTION_CHEERS_1,
|
||||
EMOTION_CHEERS_2,
|
||||
EMOTION_DANCE_1,
|
||||
EMOTION_DANCE_2,
|
||||
EMOTION_DANCE_3,
|
||||
EMOTION_DANCE_4,
|
||||
EMOTION_DANCE_5,
|
||||
EMOTION_DANCE_6, // 강남스타일
|
||||
EMOTION_CONGRATULATION,
|
||||
EMOTION_FORGIVE,
|
||||
EMOTION_ANGRY,
|
||||
|
||||
EMOTION_ATTRACTIVE,
|
||||
EMOTION_SAD,
|
||||
EMOTION_SHY,
|
||||
EMOTION_CHEERUP,
|
||||
EMOTION_BANTER,
|
||||
EMOTION_JOY,
|
||||
|
||||
EMOTION_KISS = 51,
|
||||
EMOTION_FRENCH_KISS,
|
||||
EMOTION_SLAP,
|
||||
|
||||
};
|
||||
|
||||
enum
|
||||
{
|
||||
REFINE_SCROLL_TYPE_MAKE_SOCKET = 1,
|
||||
REFINE_SCROLL_TYPE_UP_GRADE = 2,
|
||||
};
|
||||
|
||||
enum
|
||||
{
|
||||
REFINE_CANT,
|
||||
REFINE_OK,
|
||||
REFINE_ALREADY_MAX_SOCKET_COUNT,
|
||||
REFINE_NEED_MORE_GOOD_SCROLL,
|
||||
REFINE_CANT_MAKE_SOCKET_ITEM,
|
||||
REFINE_NOT_NEXT_GRADE_ITEM,
|
||||
REFINE_CANT_REFINE_METIN_TO_EQUIPMENT,
|
||||
REFINE_CANT_REFINE_ROD,
|
||||
};
|
||||
|
||||
enum
|
||||
{
|
||||
ATTACH_METIN_CANT,
|
||||
ATTACH_METIN_OK,
|
||||
ATTACH_METIN_NOT_MATCHABLE_ITEM,
|
||||
ATTACH_METIN_NO_MATCHABLE_SOCKET,
|
||||
ATTACH_METIN_NOT_EXIST_GOLD_SOCKET,
|
||||
ATTACH_METIN_CANT_ATTACH_TO_EQUIPMENT,
|
||||
};
|
||||
|
||||
enum
|
||||
{
|
||||
DETACH_METIN_CANT,
|
||||
DETACH_METIN_OK,
|
||||
};
|
||||
|
||||
// 40250 UserInterface/PythonPlayerModule.cpp
|
||||
void AddStubConstants_player(PyObject* poModule)
|
||||
{
|
||||
(void) poModule;
|
||||
PyModule_AddIntConstant(poModule, "LEVEL", POINT_LEVEL);
|
||||
PyModule_AddIntConstant(poModule, "VOICE", POINT_VOICE);
|
||||
PyModule_AddIntConstant(poModule, "EXP", POINT_EXP);
|
||||
PyModule_AddIntConstant(poModule, "NEXT_EXP", POINT_NEXT_EXP);
|
||||
PyModule_AddIntConstant(poModule, "HP", POINT_HP);
|
||||
PyModule_AddIntConstant(poModule, "MAX_HP", POINT_MAX_HP);
|
||||
PyModule_AddIntConstant(poModule, "SP", POINT_SP);
|
||||
PyModule_AddIntConstant(poModule, "MAX_SP", POINT_MAX_SP);
|
||||
PyModule_AddIntConstant(poModule, "STAMINA", POINT_STAMINA);
|
||||
PyModule_AddIntConstant(poModule, "MAX_STAMINA", POINT_MAX_STAMINA);
|
||||
PyModule_AddIntConstant(poModule, "ELK", POINT_GOLD);
|
||||
PyModule_AddIntConstant(poModule, "ST", POINT_ST);
|
||||
PyModule_AddIntConstant(poModule, "HT", POINT_HT);
|
||||
PyModule_AddIntConstant(poModule, "DX", POINT_DX);
|
||||
PyModule_AddIntConstant(poModule, "IQ", POINT_IQ);
|
||||
PyModule_AddIntConstant(poModule, "ATT_POWER", POINT_ATT_POWER);
|
||||
PyModule_AddIntConstant(poModule, "ATT_MIN", POINT_MIN_ATK);
|
||||
PyModule_AddIntConstant(poModule, "ATT_MAX", POINT_MAX_ATK);
|
||||
PyModule_AddIntConstant(poModule, "MIN_MAGIC_WEP", POINT_MIN_MAGIC_WEP);
|
||||
PyModule_AddIntConstant(poModule, "MAX_MAGIC_WEP", POINT_MAX_MAGIC_WEP);
|
||||
PyModule_AddIntConstant(poModule, "ATT_SPEED", POINT_ATT_SPEED);
|
||||
PyModule_AddIntConstant(poModule, "ATT_BONUS", POINT_ATT_GRADE_BONUS);
|
||||
PyModule_AddIntConstant(poModule, "EVADE_RATE", POINT_EVADE_RATE);
|
||||
PyModule_AddIntConstant(poModule, "MOVING_SPEED", POINT_MOV_SPEED);
|
||||
PyModule_AddIntConstant(poModule, "DEF_GRADE", POINT_DEF_GRADE);
|
||||
PyModule_AddIntConstant(poModule, "DEF_BONUS", POINT_DEF_GRADE_BONUS);
|
||||
PyModule_AddIntConstant(poModule, "CASTING_SPEED", POINT_CASTING_SPEED);
|
||||
PyModule_AddIntConstant(poModule, "MAG_ATT", POINT_MAGIC_ATT_GRADE);
|
||||
PyModule_AddIntConstant(poModule, "MAG_DEF", POINT_MAGIC_DEF_GRADE);
|
||||
PyModule_AddIntConstant(poModule, "EMPIRE_POINT", POINT_EMPIRE_POINT);
|
||||
PyModule_AddIntConstant(poModule, "STAT", POINT_STAT);
|
||||
PyModule_AddIntConstant(poModule, "SKILL_PASSIVE", POINT_SUB_SKILL);
|
||||
PyModule_AddIntConstant(poModule, "SKILL_SUPPORT", POINT_SUB_SKILL);
|
||||
PyModule_AddIntConstant(poModule, "SKILL_ACTIVE", POINT_SKILL);
|
||||
PyModule_AddIntConstant(poModule, "SKILL_HORSE", POINT_HORSE_SKILL);
|
||||
PyModule_AddIntConstant(poModule, "PLAYTIME", POINT_PLAYTIME);
|
||||
PyModule_AddIntConstant(poModule, "BOW_DISTANCE", POINT_BOW_DISTANCE);
|
||||
PyModule_AddIntConstant(poModule, "HP_RECOVERY", POINT_HP_RECOVERY);
|
||||
PyModule_AddIntConstant(poModule, "SP_RECOVERY", POINT_SP_RECOVERY);
|
||||
PyModule_AddIntConstant(poModule, "ATTACKER_BONUS", POINT_PARTY_ATT_GRADE);
|
||||
PyModule_AddIntConstant(poModule, "MAX_NUM", POINT_MAX_NUM);
|
||||
PyModule_AddIntConstant(poModule, "POINT_CRITICAL_PCT", POINT_CRITICAL_PCT);
|
||||
PyModule_AddIntConstant(poModule, "POINT_PENETRATE_PCT", POINT_PENETRATE_PCT);
|
||||
PyModule_AddIntConstant(poModule, "POINT_MALL_ATTBONUS", POINT_MALL_ATTBONUS);
|
||||
PyModule_AddIntConstant(poModule, "POINT_MALL_DEFBONUS", POINT_MALL_DEFBONUS);
|
||||
PyModule_AddIntConstant(poModule, "POINT_MALL_EXPBONUS", POINT_MALL_EXPBONUS);
|
||||
PyModule_AddIntConstant(poModule, "POINT_MALL_ITEMBONUS", POINT_MALL_ITEMBONUS);
|
||||
PyModule_AddIntConstant(poModule, "POINT_MALL_GOLDBONUS", POINT_MALL_GOLDBONUS);
|
||||
PyModule_AddIntConstant(poModule, "POINT_MAX_HP_PCT", POINT_MAX_HP_PCT);
|
||||
PyModule_AddIntConstant(poModule, "POINT_MAX_SP_PCT", POINT_MAX_SP_PCT);
|
||||
PyModule_AddIntConstant(poModule, "POINT_SKILL_DAMAGE_BONUS", POINT_SKILL_DAMAGE_BONUS);
|
||||
PyModule_AddIntConstant(poModule, "POINT_NORMAL_HIT_DAMAGE_BONUS", POINT_NORMAL_HIT_DAMAGE_BONUS);
|
||||
PyModule_AddIntConstant(poModule, "POINT_SKILL_DEFEND_BONUS", POINT_SKILL_DEFEND_BONUS);
|
||||
PyModule_AddIntConstant(poModule, "POINT_NORMAL_HIT_DEFEND_BONUS", POINT_NORMAL_HIT_DEFEND_BONUS);
|
||||
PyModule_AddIntConstant(poModule, "POINT_PC_BANG_EXP_BONUS", POINT_PC_BANG_EXP_BONUS);
|
||||
PyModule_AddIntConstant(poModule, "POINT_PC_BANG_DROP_BONUS", POINT_PC_BANG_DROP_BONUS);
|
||||
PyModule_AddIntConstant(poModule, "ENERGY", POINT_ENERGY);
|
||||
PyModule_AddIntConstant(poModule, "ENERGY_END_TIME", POINT_ENERGY_END_TIME);
|
||||
PyModule_AddIntConstant(poModule, "SKILL_GRADE_NORMAL", CPythonPlayer::SKILL_NORMAL);
|
||||
PyModule_AddIntConstant(poModule, "SKILL_GRADE_MASTER", CPythonPlayer::SKILL_MASTER);
|
||||
PyModule_AddIntConstant(poModule, "SKILL_GRADE_GRAND_MASTER", CPythonPlayer::SKILL_GRAND_MASTER);
|
||||
PyModule_AddIntConstant(poModule, "SKILL_GRADE_PERFECT_MASTER", CPythonPlayer::SKILL_PERFECT_MASTER);
|
||||
PyModule_AddIntConstant(poModule, "CATEGORY_ACTIVE", CPythonPlayer::CATEGORY_ACTIVE);
|
||||
PyModule_AddIntConstant(poModule, "CATEGORY_PASSIVE", CPythonPlayer::CATEGORY_PASSIVE);
|
||||
PyModule_AddIntConstant(poModule, "INVENTORY_PAGE_SIZE", c_Inventory_Page_Size);
|
||||
PyModule_AddIntConstant(poModule, "INVENTORY_PAGE_COUNT", c_Inventory_Page_Count);
|
||||
PyModule_AddIntConstant(poModule, "INVENTORY_SLOT_COUNT", c_Inventory_Count);
|
||||
PyModule_AddIntConstant(poModule, "EQUIPMENT_SLOT_START", c_Equipment_Start);
|
||||
PyModule_AddIntConstant(poModule, "EQUIPMENT_PAGE_COUNT", c_Equipment_Count);
|
||||
#ifdef ENABLE_NEW_EQUIPMENT_SYSTEM
|
||||
PyModule_AddIntConstant(poModule, "NEW_EQUIPMENT_SLOT_START", c_New_Equipment_Start);
|
||||
PyModule_AddIntConstant(poModule, "NEW_EQUIPMENT_SLOT_COUNT", c_New_Equipment_Count);
|
||||
#endif
|
||||
PyModule_AddIntConstant(poModule, "MBF_SKILL", CPythonPlayer::MBF_SKILL);
|
||||
PyModule_AddIntConstant(poModule, "MBF_ATTACK", CPythonPlayer::MBF_ATTACK);
|
||||
PyModule_AddIntConstant(poModule, "MBF_CAMERA", CPythonPlayer::MBF_CAMERA);
|
||||
PyModule_AddIntConstant(poModule, "MBF_SMART", CPythonPlayer::MBF_SMART);
|
||||
PyModule_AddIntConstant(poModule, "MBF_MOVE", CPythonPlayer::MBF_MOVE);
|
||||
PyModule_AddIntConstant(poModule, "MBF_AUTO", CPythonPlayer::MBF_AUTO);
|
||||
PyModule_AddIntConstant(poModule, "MBS_PRESS", CPythonPlayer::MBS_PRESS);
|
||||
PyModule_AddIntConstant(poModule, "MBS_CLICK", CPythonPlayer::MBS_CLICK);
|
||||
PyModule_AddIntConstant(poModule, "MBT_RIGHT", CPythonPlayer::MBT_RIGHT);
|
||||
PyModule_AddIntConstant(poModule, "MBT_LEFT", CPythonPlayer::MBT_LEFT);
|
||||
PyModule_AddIntConstant(poModule, "SLOT_TYPE_NONE", SLOT_TYPE_NONE);
|
||||
PyModule_AddIntConstant(poModule, "SLOT_TYPE_INVENTORY", SLOT_TYPE_INVENTORY);
|
||||
PyModule_AddIntConstant(poModule, "SLOT_TYPE_SKILL", SLOT_TYPE_SKILL);
|
||||
PyModule_AddIntConstant(poModule, "SLOT_TYPE_SHOP", SLOT_TYPE_SHOP);
|
||||
PyModule_AddIntConstant(poModule, "SLOT_TYPE_EXCHANGE_OWNER", SLOT_TYPE_EXCHANGE_OWNER);
|
||||
PyModule_AddIntConstant(poModule, "SLOT_TYPE_EXCHANGE_TARGET", SLOT_TYPE_EXCHANGE_TARGET);
|
||||
PyModule_AddIntConstant(poModule, "SLOT_TYPE_QUICK_SLOT", SLOT_TYPE_QUICK_SLOT);
|
||||
PyModule_AddIntConstant(poModule, "SLOT_TYPE_SAFEBOX", SLOT_TYPE_SAFEBOX);
|
||||
PyModule_AddIntConstant(poModule, "SLOT_TYPE_PRIVATE_SHOP", SLOT_TYPE_PRIVATE_SHOP);
|
||||
PyModule_AddIntConstant(poModule, "SLOT_TYPE_MALL", SLOT_TYPE_MALL);
|
||||
PyModule_AddIntConstant(poModule, "SLOT_TYPE_EMOTION", SLOT_TYPE_EMOTION);
|
||||
PyModule_AddIntConstant(poModule, "SLOT_TYPE_DRAGON_SOUL_INVENTORY", SLOT_TYPE_DRAGON_SOUL_INVENTORY);
|
||||
PyModule_AddIntConstant(poModule, "RESERVED_WINDOW", RESERVED_WINDOW);
|
||||
PyModule_AddIntConstant(poModule, "INVENTORY", INVENTORY);
|
||||
PyModule_AddIntConstant(poModule, "EQUIPMENT", EQUIPMENT);
|
||||
PyModule_AddIntConstant(poModule, "SAFEBOX", SAFEBOX);
|
||||
PyModule_AddIntConstant(poModule, "MALL", MALL);
|
||||
PyModule_AddIntConstant(poModule, "DRAGON_SOUL_INVENTORY", DRAGON_SOUL_INVENTORY);
|
||||
PyModule_AddIntConstant(poModule, "GROUND", GROUND);
|
||||
PyModule_AddIntConstant(poModule, "ITEM_MONEY", -1);
|
||||
PyModule_AddIntConstant(poModule, "SKILL_SLOT_COUNT", SKILL_MAX_NUM);
|
||||
PyModule_AddIntConstant(poModule, "EFFECT_PICK", CPythonPlayer::EFFECT_PICK);
|
||||
PyModule_AddIntConstant(poModule, "METIN_SOCKET_TYPE_NONE", CPythonPlayer::METIN_SOCKET_TYPE_NONE);
|
||||
PyModule_AddIntConstant(poModule, "METIN_SOCKET_TYPE_SILVER", CPythonPlayer::METIN_SOCKET_TYPE_SILVER);
|
||||
PyModule_AddIntConstant(poModule, "METIN_SOCKET_TYPE_GOLD", CPythonPlayer::METIN_SOCKET_TYPE_GOLD);
|
||||
PyModule_AddIntConstant(poModule, "METIN_SOCKET_MAX_NUM", ITEM_SOCKET_SLOT_MAX_NUM);
|
||||
PyModule_AddIntConstant(poModule, "ATTRIBUTE_SLOT_MAX_NUM", ITEM_ATTRIBUTE_SLOT_MAX_NUM);
|
||||
PyModule_AddIntConstant(poModule, "REFINE_CANT", REFINE_CANT);
|
||||
PyModule_AddIntConstant(poModule, "REFINE_OK", REFINE_OK);
|
||||
PyModule_AddIntConstant(poModule, "REFINE_ALREADY_MAX_SOCKET_COUNT", REFINE_ALREADY_MAX_SOCKET_COUNT);
|
||||
PyModule_AddIntConstant(poModule, "REFINE_NEED_MORE_GOOD_SCROLL", REFINE_NEED_MORE_GOOD_SCROLL);
|
||||
PyModule_AddIntConstant(poModule, "REFINE_CANT_MAKE_SOCKET_ITEM", REFINE_CANT_MAKE_SOCKET_ITEM);
|
||||
PyModule_AddIntConstant(poModule, "REFINE_NOT_NEXT_GRADE_ITEM", REFINE_NOT_NEXT_GRADE_ITEM);
|
||||
PyModule_AddIntConstant(poModule, "REFINE_CANT_REFINE_METIN_TO_EQUIPMENT", REFINE_CANT_REFINE_METIN_TO_EQUIPMENT);
|
||||
PyModule_AddIntConstant(poModule, "REFINE_CANT_REFINE_ROD", REFINE_CANT_REFINE_ROD);
|
||||
PyModule_AddIntConstant(poModule, "ATTACH_METIN_CANT", ATTACH_METIN_CANT);
|
||||
PyModule_AddIntConstant(poModule, "ATTACH_METIN_OK", ATTACH_METIN_OK);
|
||||
PyModule_AddIntConstant(poModule, "ATTACH_METIN_NOT_MATCHABLE_ITEM", ATTACH_METIN_NOT_MATCHABLE_ITEM);
|
||||
PyModule_AddIntConstant(poModule, "ATTACH_METIN_NO_MATCHABLE_SOCKET", ATTACH_METIN_NO_MATCHABLE_SOCKET);
|
||||
PyModule_AddIntConstant(poModule, "ATTACH_METIN_NOT_EXIST_GOLD_SOCKET", ATTACH_METIN_NOT_EXIST_GOLD_SOCKET);
|
||||
PyModule_AddIntConstant(poModule, "ATTACH_METIN_CANT_ATTACH_TO_EQUIPMENT", ATTACH_METIN_CANT_ATTACH_TO_EQUIPMENT);
|
||||
PyModule_AddIntConstant(poModule, "DETACH_METIN_CANT", DETACH_METIN_CANT);
|
||||
PyModule_AddIntConstant(poModule, "DETACH_METIN_OK", DETACH_METIN_OK);
|
||||
PyModule_AddIntConstant(poModule, "PARTY_STATE_NORMAL", CPythonPlayer::PARTY_ROLE_NORMAL);
|
||||
PyModule_AddIntConstant(poModule, "PARTY_STATE_LEADER", CPythonPlayer::PARTY_ROLE_LEADER);
|
||||
PyModule_AddIntConstant(poModule, "PARTY_STATE_ATTACKER", CPythonPlayer::PARTY_ROLE_ATTACKER);
|
||||
PyModule_AddIntConstant(poModule, "PARTY_STATE_TANKER", CPythonPlayer::PARTY_ROLE_TANKER);
|
||||
PyModule_AddIntConstant(poModule, "PARTY_STATE_BUFFER", CPythonPlayer::PARTY_ROLE_BUFFER);
|
||||
PyModule_AddIntConstant(poModule, "PARTY_STATE_SKILL_MASTER", CPythonPlayer::PARTY_ROLE_SKILL_MASTER);
|
||||
PyModule_AddIntConstant(poModule, "PARTY_STATE_BERSERKER", CPythonPlayer::PARTY_ROLE_BERSERKER);
|
||||
PyModule_AddIntConstant(poModule, "PARTY_STATE_DEFENDER", CPythonPlayer::PARTY_ROLE_DEFENDER);
|
||||
PyModule_AddIntConstant(poModule, "PARTY_STATE_MAX_NUM", CPythonPlayer::PARTY_ROLE_MAX_NUM);
|
||||
PyModule_AddIntConstant(poModule, "SKILL_INDEX_TONGSOL", c_iSkillIndex_Tongsol);
|
||||
PyModule_AddIntConstant(poModule, "SKILL_INDEX_FISHING", c_iSkillIndex_Fishing);
|
||||
PyModule_AddIntConstant(poModule, "SKILL_INDEX_MINING", c_iSkillIndex_Mining);
|
||||
PyModule_AddIntConstant(poModule, "SKILL_INDEX_MAKING", c_iSkillIndex_Making);
|
||||
PyModule_AddIntConstant(poModule, "SKILL_INDEX_COMBO", c_iSkillIndex_Combo);
|
||||
PyModule_AddIntConstant(poModule, "SKILL_INDEX_LANGUAGE1", c_iSkillIndex_Language1);
|
||||
PyModule_AddIntConstant(poModule, "SKILL_INDEX_LANGUAGE2", c_iSkillIndex_Language2);
|
||||
PyModule_AddIntConstant(poModule, "SKILL_INDEX_LANGUAGE3", c_iSkillIndex_Language3);
|
||||
PyModule_AddIntConstant(poModule, "SKILL_INDEX_POLYMORPH", c_iSkillIndex_Polymorph);
|
||||
PyModule_AddIntConstant(poModule, "SKILL_INDEX_RIDING", c_iSkillIndex_Riding);
|
||||
PyModule_AddIntConstant(poModule, "SKILL_INDEX_SUMMON", c_iSkillIndex_Summon);
|
||||
PyModule_AddIntConstant(poModule, "PK_MODE_PEACE", PK_MODE_PEACE);
|
||||
PyModule_AddIntConstant(poModule, "PK_MODE_REVENGE", PK_MODE_REVENGE);
|
||||
PyModule_AddIntConstant(poModule, "PK_MODE_FREE", PK_MODE_FREE);
|
||||
PyModule_AddIntConstant(poModule, "PK_MODE_PROTECT", PK_MODE_PROTECT);
|
||||
PyModule_AddIntConstant(poModule, "PK_MODE_GUILD", PK_MODE_GUILD);
|
||||
PyModule_AddIntConstant(poModule, "PK_MODE_MAX_NUM", PK_MODE_MAX_NUM);
|
||||
PyModule_AddIntConstant(poModule, "BLOCK_EXCHANGE", BLOCK_EXCHANGE);
|
||||
PyModule_AddIntConstant(poModule, "BLOCK_PARTY", BLOCK_PARTY_INVITE);
|
||||
PyModule_AddIntConstant(poModule, "BLOCK_GUILD", BLOCK_GUILD_INVITE);
|
||||
PyModule_AddIntConstant(poModule, "BLOCK_WHISPER", BLOCK_WHISPER);
|
||||
PyModule_AddIntConstant(poModule, "BLOCK_FRIEND", BLOCK_MESSENGER_INVITE);
|
||||
PyModule_AddIntConstant(poModule, "BLOCK_PARTY_REQUEST", BLOCK_PARTY_REQUEST);
|
||||
PyModule_AddIntConstant(poModule, "PARTY_EXP_NON_DISTRIBUTION", PARTY_EXP_DISTRIBUTION_NON_PARITY);
|
||||
PyModule_AddIntConstant(poModule, "PARTY_EXP_DISTRIBUTION_PARITY", PARTY_EXP_DISTRIBUTION_PARITY);
|
||||
PyModule_AddIntConstant(poModule, "EMOTION_CLAP", EMOTION_CLAP);
|
||||
PyModule_AddIntConstant(poModule, "EMOTION_CHEERS_1", EMOTION_CHEERS_1);
|
||||
PyModule_AddIntConstant(poModule, "EMOTION_CHEERS_2", EMOTION_CHEERS_2);
|
||||
PyModule_AddIntConstant(poModule, "EMOTION_DANCE_1", EMOTION_DANCE_1);
|
||||
PyModule_AddIntConstant(poModule, "EMOTION_DANCE_2", EMOTION_DANCE_2);
|
||||
PyModule_AddIntConstant(poModule, "EMOTION_DANCE_3", EMOTION_DANCE_3);
|
||||
PyModule_AddIntConstant(poModule, "EMOTION_DANCE_4", EMOTION_DANCE_4);
|
||||
PyModule_AddIntConstant(poModule, "EMOTION_DANCE_5", EMOTION_DANCE_5);
|
||||
PyModule_AddIntConstant(poModule, "EMOTION_DANCE_6", EMOTION_DANCE_6); // PSY 강남스타일
|
||||
PyModule_AddIntConstant(poModule, "EMOTION_CONGRATULATION", EMOTION_CONGRATULATION);
|
||||
PyModule_AddIntConstant(poModule, "EMOTION_FORGIVE", EMOTION_FORGIVE);
|
||||
PyModule_AddIntConstant(poModule, "EMOTION_ANGRY", EMOTION_ANGRY);
|
||||
PyModule_AddIntConstant(poModule, "EMOTION_ATTRACTIVE", EMOTION_ATTRACTIVE);
|
||||
PyModule_AddIntConstant(poModule, "EMOTION_SAD", EMOTION_SAD);
|
||||
PyModule_AddIntConstant(poModule, "EMOTION_SHY", EMOTION_SHY);
|
||||
PyModule_AddIntConstant(poModule, "EMOTION_CHEERUP", EMOTION_CHEERUP);
|
||||
PyModule_AddIntConstant(poModule, "EMOTION_BANTER", EMOTION_BANTER);
|
||||
PyModule_AddIntConstant(poModule, "EMOTION_JOY", EMOTION_JOY);
|
||||
PyModule_AddIntConstant(poModule, "EMOTION_KISS", EMOTION_KISS);
|
||||
PyModule_AddIntConstant(poModule, "EMOTION_FRENCH_KISS", EMOTION_FRENCH_KISS);
|
||||
PyModule_AddIntConstant(poModule, "EMOTION_SLAP", EMOTION_SLAP);
|
||||
PyModule_AddIntConstant(poModule, "AUTO_POTION_TYPE_HP", CPythonPlayer::AUTO_POTION_TYPE_HP);
|
||||
PyModule_AddIntConstant(poModule, "AUTO_POTION_TYPE_SP", CPythonPlayer::AUTO_POTION_TYPE_SP);
|
||||
PyModule_AddIntConstant(poModule, "DRAGON_SOUL_PAGE_SIZE", c_DragonSoul_Inventory_Box_Size);
|
||||
PyModule_AddIntConstant(poModule, "DRAGON_SOUL_PAGE_COUNT", DRAGON_SOUL_GRADE_MAX);
|
||||
PyModule_AddIntConstant(poModule, "DRAGON_SOUL_SLOT_COUNT", c_DragonSoul_Inventory_Count);
|
||||
PyModule_AddIntConstant(poModule, "DRAGON_SOUL_EQUIPMENT_SLOT_START", c_DragonSoul_Equip_Start);
|
||||
PyModule_AddIntConstant(poModule, "DRAGON_SOUL_EQUIPMENT_PAGE_COUNT", DS_DECK_MAX_NUM);
|
||||
PyModule_AddIntConstant(poModule, "DRAGON_SOUL_EQUIPMENT_FIRST_SIZE", c_DragonSoul_Equip_Slot_Max);
|
||||
PyModule_AddIntConstant(poModule, "DRAGON_SOUL_REFINE_CLOSE", DS_SUB_HEADER_CLOSE);
|
||||
PyModule_AddIntConstant(poModule, "DS_SUB_HEADER_DO_UPGRADE", DS_SUB_HEADER_DO_UPGRADE);
|
||||
PyModule_AddIntConstant(poModule, "DS_SUB_HEADER_DO_IMPROVEMENT", DS_SUB_HEADER_DO_IMPROVEMENT);
|
||||
PyModule_AddIntConstant(poModule, "DS_SUB_HEADER_DO_REFINE", DS_SUB_HEADER_DO_REFINE);
|
||||
}
|
||||
|
||||
// 40250 UserInterface/PythonProfilerModule.cpp
|
||||
void AddStubConstants_profiler(PyObject* poModule)
|
||||
{
|
||||
|
||||
@@ -18,7 +18,6 @@ void AddStubConstants_item(PyObject* poModule);
|
||||
void AddStubConstants_messenger(PyObject* poModule);
|
||||
void AddStubConstants_miniMap(PyObject* poModule);
|
||||
void AddStubConstants_nonplayer(PyObject* poModule);
|
||||
void AddStubConstants_player(PyObject* poModule);
|
||||
void AddStubConstants_profiler(PyObject* poModule);
|
||||
void AddStubConstants_quest(PyObject* poModule);
|
||||
void AddStubConstants_safebox(PyObject* poModule);
|
||||
@@ -579,272 +578,6 @@ PyMethodDef methods_nonplayer[] = {
|
||||
{ "LoadNonPlayerData", stub_nonplayer_LoadNonPlayerData, METH_VARARGS },
|
||||
{ NULL, NULL }
|
||||
};
|
||||
// 40250 UserInterface/PythonPlayerModule.cpp: player export names.
|
||||
PyObject* stub_player_GetAutoPotionInfo(PyObject*, PyObject*) { return stub_call_named("player.GetAutoPotionInfo", Py_BuildValue("biii", 0, 0, 0, 0)); }
|
||||
PyObject* stub_player_SetAutoPotionInfo(PyObject*, PyObject*) { return stub_call_named("player.SetAutoPotionInfo", Py_BuildNone()); }
|
||||
PyObject* stub_player_PickCloseItem(PyObject*, PyObject*) { return stub_call_named("player.PickCloseItem", Py_BuildNone()); }
|
||||
PyObject* stub_player_SetGameWindow(PyObject*, PyObject*) { return stub_call_named("player.SetGameWindow", Py_BuildNone()); }
|
||||
PyObject* stub_player_RegisterEffect(PyObject*, PyObject*) { return stub_call_named("player.RegisterEffect", Py_BuildNone()); }
|
||||
PyObject* stub_player_RegisterCacheEffect(PyObject*, PyObject*) { return stub_call_named("player.RegisterCacheEffect", Py_BuildNone()); }
|
||||
PyObject* stub_player_SetMouseState(PyObject*, PyObject*) { return stub_call_named("player.SetMouseState", Py_BuildNone()); }
|
||||
PyObject* stub_player_SetMouseFunc(PyObject*, PyObject*) { return stub_call_named("player.SetMouseFunc", Py_BuildNone()); }
|
||||
PyObject* stub_player_GetMouseFunc(PyObject*, PyObject*) { return stub_call_named("player.GetMouseFunc", Py_BuildValue("i", 0)); }
|
||||
PyObject* stub_player_SetMouseMiddleButtonState(PyObject*, PyObject*) { return stub_call_named("player.SetMouseMiddleButtonState", Py_BuildNone()); }
|
||||
PyObject* stub_player_SetMainCharacterIndex(PyObject*, PyObject*) { return stub_call_named("player.SetMainCharacterIndex", Py_BuildNone()); }
|
||||
PyObject* stub_player_GetMainCharacterIndex(PyObject*, PyObject*) { return stub_call_named("player.GetMainCharacterIndex", Py_BuildValue("i", 0)); }
|
||||
PyObject* stub_player_GetMainCharacterName(PyObject*, PyObject*) { return stub_call_named("player.GetMainCharacterName", Py_BuildValue("s", "")); }
|
||||
PyObject* stub_player_GetMainCharacterPosition(PyObject*, PyObject*) { return stub_call_named("player.GetMainCharacterPosition", Py_BuildValue("fff", 0.0, 0.0, 0.0)); }
|
||||
PyObject* stub_player_IsMainCharacterIndex(PyObject*, PyObject*) { return stub_call_named("player.IsMainCharacterIndex", Py_BuildValue("i", 0)); }
|
||||
PyObject* stub_player_CanAttackInstance(PyObject*, PyObject*) { return stub_call_named("player.CanAttackInstance", Py_BuildValue("i", 0)); }
|
||||
PyObject* stub_player_IsActingEmotion(PyObject*, PyObject*) { return stub_call_named("player.IsActingEmotion", Py_BuildValue("i", 0)); }
|
||||
PyObject* stub_player_IsPVPInstance(PyObject*, PyObject*) { return stub_call_named("player.IsPVPInstance", Py_BuildValue("i", 0)); }
|
||||
PyObject* stub_player_IsSameEmpire(PyObject*, PyObject*) { return stub_call_named("player.IsSameEmpire", Py_BuildValue("i", 0)); }
|
||||
PyObject* stub_player_IsChallengeInstance(PyObject*, PyObject*) { return stub_call_named("player.IsChallengeInstance", Py_BuildValue("i", 0)); }
|
||||
PyObject* stub_player_IsRevengeInstance(PyObject*, PyObject*) { return stub_call_named("player.IsRevengeInstance", Py_BuildValue("i", 0)); }
|
||||
PyObject* stub_player_IsCantFightInstance(PyObject*, PyObject*) { return stub_call_named("player.IsCantFightInstance", Py_BuildValue("i", 0)); }
|
||||
PyObject* stub_player_GetCharacterDistance(PyObject*, PyObject*) { return stub_call_named("player.GetCharacterDistance", Py_BuildValue("f", 0.0)); }
|
||||
PyObject* stub_player_IsInSafeArea(PyObject*, PyObject*) { return stub_call_named("player.IsInSafeArea", Py_BuildValue("i", 0)); }
|
||||
PyObject* stub_player_IsMountingHorse(PyObject*, PyObject*) { return stub_call_named("player.IsMountingHorse", Py_BuildValue("i", 0)); }
|
||||
PyObject* stub_player_IsObserverMode(PyObject*, PyObject*) { return stub_call_named("player.IsObserverMode", Py_BuildValue("i", 0)); }
|
||||
PyObject* stub_player_ActEmotion(PyObject*, PyObject*) { return stub_call_named("player.ActEmotion", Py_BuildNone()); }
|
||||
PyObject* stub_player_ShowPlayer(PyObject*, PyObject*) { return stub_call_named("player.ShowPlayer", Py_BuildNone()); }
|
||||
PyObject* stub_player_HidePlayer(PyObject*, PyObject*) { return stub_call_named("player.HidePlayer", Py_BuildNone()); }
|
||||
PyObject* stub_player_ComboAttack(PyObject*, PyObject*) { return stub_call_named("player.ComboAttack", Py_BuildNone()); }
|
||||
PyObject* stub_player_SetAutoCameraRotationSpeed(PyObject*, PyObject*) { return stub_call_named("player.SetAutoCameraRotationSpeed", Py_BuildNone()); }
|
||||
PyObject* stub_player_SetAttackKeyState(PyObject*, PyObject*) { return stub_call_named("player.SetAttackKeyState", Py_BuildNone()); }
|
||||
PyObject* stub_player_SetSingleDIKKeyState(PyObject*, PyObject*) { return stub_call_named("player.SetSingleDIKKeyState", Py_BuildNone()); }
|
||||
PyObject* stub_player_EndKeyWalkingImmediately(PyObject*, PyObject*) { return stub_call_named("player.EndKeyWalkingImmediately", Py_BuildNone()); }
|
||||
PyObject* stub_player_StartMouseWalking(PyObject*, PyObject*) { return stub_call_named("player.StartMouseWalking", Py_BuildNone()); }
|
||||
PyObject* stub_player_EndMouseWalking(PyObject*, PyObject*) { return stub_call_named("player.EndMouseWalking", Py_BuildNone()); }
|
||||
PyObject* stub_player_ResetCameraRotation(PyObject*, PyObject*) { return stub_call_named("player.ResetCameraRotation", Py_BuildNone()); }
|
||||
PyObject* stub_player_SetQuickCameraMode(PyObject*, PyObject*) { return stub_call_named("player.SetQuickCameraMode", Py_BuildNone()); }
|
||||
PyObject* stub_player_SetSkill(PyObject*, PyObject*) { return stub_call_named("player.SetSkill", Py_BuildNone()); }
|
||||
PyObject* stub_player_GetSkillIndex(PyObject*, PyObject*) { return stub_call_named("player.GetSkillIndex", Py_BuildValue("i", 0)); }
|
||||
PyObject* stub_player_GetSkillSlotIndex(PyObject*, PyObject*) { return stub_call_named("player.GetSkillSlotIndex", Py_BuildValue("i", 0)); }
|
||||
PyObject* stub_player_GetSkillGrade(PyObject*, PyObject*) { return stub_call_named("player.GetSkillGrade", Py_BuildValue("i", 0)); }
|
||||
PyObject* stub_player_GetSkillLevel(PyObject*, PyObject*) { return stub_call_named("player.GetSkillLevel", Py_BuildValue("i", 0)); }
|
||||
PyObject* stub_player_GetSkillCurrentEfficientPercentage(PyObject*, PyObject*) { return stub_call_named("player.GetSkillCurrentEfficientPercentage", Py_BuildValue("f", 0.0)); }
|
||||
PyObject* stub_player_GetSkillNextEfficientPercentage(PyObject*, PyObject*) { return stub_call_named("player.GetSkillNextEfficientPercentage", Py_BuildValue("f", 0.0)); }
|
||||
PyObject* stub_player_ClickSkillSlot(PyObject*, PyObject*) { return stub_call_named("player.ClickSkillSlot", Py_BuildNone()); }
|
||||
PyObject* stub_player_ChangeCurrentSkillNumberOnly(PyObject*, PyObject*) { return stub_call_named("player.ChangeCurrentSkillNumberOnly", Py_BuildNone()); }
|
||||
PyObject* stub_player_ClearSkillDict(PyObject*, PyObject*) { return stub_call_named("player.ClearSkillDict", Py_BuildNone()); }
|
||||
PyObject* stub_player_GetItemIndex(PyObject*, PyObject*) { return stub_call_named("player.GetItemIndex", Py_BuildValue("i", 0)); }
|
||||
PyObject* stub_player_GetItemFlags(PyObject*, PyObject*) { return stub_call_named("player.GetItemFlags", Py_BuildValue("i", 0)); }
|
||||
PyObject* stub_player_GetItemCount(PyObject*, PyObject*) { return stub_call_named("player.GetItemCount", Py_BuildValue("i", 0)); }
|
||||
PyObject* stub_player_GetItemCountByVnum(PyObject*, PyObject*) { return stub_call_named("player.GetItemCountByVnum", Py_BuildValue("i", 0)); }
|
||||
PyObject* stub_player_GetItemMetinSocket(PyObject*, PyObject*) { return stub_call_named("player.GetItemMetinSocket", Py_BuildValue("i", 0)); }
|
||||
PyObject* stub_player_GetItemAttribute(PyObject*, PyObject*) { return stub_call_named("player.GetItemAttribute", Py_BuildValue("ii", 0, 0)); }
|
||||
PyObject* stub_player_GetItemUnbindTime(PyObject*, PyObject*) { return stub_call_named("player.GetItemUnbindTime", Py_BuildValue("i", 0)); }
|
||||
PyObject* stub_player_GetISellItemPrice(PyObject*, PyObject*) { return stub_call_named("player.GetISellItemPrice", Py_BuildValue("i", 0)); }
|
||||
PyObject* stub_player_MoveItem(PyObject*, PyObject*) { return stub_call_named("player.MoveItem", Py_BuildNone()); }
|
||||
PyObject* stub_player_SendClickItemPacket(PyObject*, PyObject*) { return stub_call_named("player.SendClickItemPacket", Py_BuildNone()); }
|
||||
PyObject* stub_player_GetName(PyObject*, PyObject*) { return stub_call_named("player.GetName", Py_BuildValue("s", "")); }
|
||||
PyObject* stub_player_GetJob(PyObject*, PyObject*) { return stub_call_named("player.GetJob", Py_BuildValue("i", 0)); }
|
||||
PyObject* stub_player_GetRace(PyObject*, PyObject*) { return stub_call_named("player.GetRace", Py_BuildValue("i", 0)); }
|
||||
PyObject* stub_player_GetPlayTime(PyObject*, PyObject*) { return stub_call_named("player.GetPlayTime", Py_BuildValue("i", 0)); }
|
||||
PyObject* stub_player_SetPlayTime(PyObject*, PyObject*) { return stub_call_named("player.SetPlayTime", Py_BuildNone()); }
|
||||
PyObject* stub_player_IsSkillCoolTime(PyObject*, PyObject*) { return stub_call_named("player.IsSkillCoolTime", Py_BuildValue("i", 0)); }
|
||||
PyObject* stub_player_GetSkillCoolTime(PyObject*, PyObject*) { return stub_call_named("player.GetSkillCoolTime", Py_BuildValue("ff", 0.0, 0.0)); }
|
||||
PyObject* stub_player_IsSkillActive(PyObject*, PyObject*) { return stub_call_named("player.IsSkillActive", Py_BuildValue("i", 0)); }
|
||||
PyObject* stub_player_UseGuildSkill(PyObject*, PyObject*) { return stub_call_named("player.UseGuildSkill", Py_BuildNone()); }
|
||||
PyObject* stub_player_AffectIndexToSkillIndex(PyObject*, PyObject*) { return stub_call_named("player.AffectIndexToSkillIndex", Py_BuildValue("i", 0)); }
|
||||
PyObject* stub_player_GetEXP(PyObject*, PyObject*) { return stub_call_named("player.GetEXP", Py_BuildValue("l", 0L)); }
|
||||
PyObject* stub_player_GetStatus(PyObject*, PyObject*) { return stub_call_named("player.GetStatus", Py_BuildValue("i", 0)); }
|
||||
PyObject* stub_player_SetStatus(PyObject*, PyObject*) { return stub_call_named("player.SetStatus", Py_BuildNone()); }
|
||||
PyObject* stub_player_GetElk(PyObject*, PyObject*) { return stub_call_named("player.GetElk", Py_BuildValue("i", 0)); }
|
||||
PyObject* stub_player_GetMoney(PyObject*, PyObject*) { return stub_call_named("player.GetMoney", Py_BuildValue("i", 0)); }
|
||||
PyObject* stub_player_GetGuildID(PyObject*, PyObject*) { return stub_call_named("player.GetGuildID", Py_BuildValue("i", 0)); }
|
||||
PyObject* stub_player_GetGuildName(PyObject*, PyObject*) { return stub_call_named("player.GetGuildName", Py_BuildValue("s", "")); }
|
||||
PyObject* stub_player_GetAlignmentData(PyObject*, PyObject*) { return stub_call_named("player.GetAlignmentData", Py_BuildValue("ii", 0, 0)); }
|
||||
PyObject* stub_player_RequestAddLocalQuickSlot(PyObject*, PyObject*) { return stub_call_named("player.RequestAddLocalQuickSlot", Py_BuildNone()); }
|
||||
PyObject* stub_player_RequestAddToEmptyLocalQuickSlot(PyObject*, PyObject*) { return stub_call_named("player.RequestAddToEmptyLocalQuickSlot", Py_BuildNone()); }
|
||||
PyObject* stub_player_RequestDeleteGlobalQuickSlot(PyObject*, PyObject*) { return stub_call_named("player.RequestDeleteGlobalQuickSlot", Py_BuildNone()); }
|
||||
PyObject* stub_player_RequestMoveGlobalQuickSlotToLocalQuickSlot(PyObject*, PyObject*) { return stub_call_named("player.RequestMoveGlobalQuickSlotToLocalQuickSlot", Py_BuildNone()); }
|
||||
PyObject* stub_player_RequestUseLocalQuickSlot(PyObject*, PyObject*) { return stub_call_named("player.RequestUseLocalQuickSlot", Py_BuildNone()); }
|
||||
PyObject* stub_player_LocalQuickSlotIndexToGlobalQuickSlotIndex(PyObject*, PyObject*) { return stub_call_named("player.LocalQuickSlotIndexToGlobalQuickSlotIndex", Py_BuildValue("i", 0)); }
|
||||
PyObject* stub_player_GetQuickPage(PyObject*, PyObject*) { return stub_call_named("player.GetQuickPage", Py_BuildValue("i", 0)); }
|
||||
PyObject* stub_player_SetQuickPage(PyObject*, PyObject*) { return stub_call_named("player.SetQuickPage", Py_BuildNone()); }
|
||||
PyObject* stub_player_GetLocalQuickSlot(PyObject*, PyObject*) { return stub_call_named("player.GetLocalQuickSlot", Py_BuildValue("ii", 0, 0)); }
|
||||
PyObject* stub_player_GetGlobalQuickSlot(PyObject*, PyObject*) { return stub_call_named("player.GetGlobalQuickSlot", Py_BuildValue("ii", 0, 0)); }
|
||||
PyObject* stub_player_RemoveQuickSlotByValue(PyObject*, PyObject*) { return stub_call_named("player.RemoveQuickSlotByValue", Py_BuildNone()); }
|
||||
PyObject* stub_player_isItem(PyObject*, PyObject*) { return stub_call_named("player.isItem", Py_BuildValue("i", 0)); }
|
||||
PyObject* stub_player_IsEquipmentSlot(PyObject*, PyObject*) { return stub_call_named("player.IsEquipmentSlot", Py_BuildValue("i", 0)); }
|
||||
PyObject* stub_player_IsDSEquipmentSlot(PyObject*, PyObject*) { return stub_call_named("player.IsDSEquipmentSlot", Py_BuildValue("i", 0)); }
|
||||
PyObject* stub_player_IsCostumeSlot(PyObject*, PyObject*) { return stub_call_named("player.IsCostumeSlot", Py_BuildValue("i", 0)); }
|
||||
PyObject* stub_player_IsValuableItem(PyObject*, PyObject*) { return stub_call_named("player.IsValuableItem", Py_BuildValue("i", 0)); }
|
||||
PyObject* stub_player_IsOpenPrivateShop(PyObject*, PyObject*) { return stub_call_named("player.IsOpenPrivateShop", Py_BuildValue("i", 0)); }
|
||||
PyObject* stub_player_IsBeltInventorySlot(PyObject*, PyObject*) { return stub_call_named("player.IsBeltInventorySlot", Py_BuildValue("i", 0)); }
|
||||
PyObject* stub_player_IsEquippingBelt(PyObject*, PyObject*) { return stub_call_named("player.IsEquippingBelt", Py_BuildValue("b", 0)); }
|
||||
PyObject* stub_player_IsAvailableBeltInventoryCell(PyObject*, PyObject*) { return stub_call_named("player.IsAvailableBeltInventoryCell", Py_BuildValue("b", 0)); }
|
||||
PyObject* stub_player_GetItemGrade(PyObject*, PyObject*) { return stub_call_named("player.GetItemGrade", Py_BuildValue("i", 0)); }
|
||||
PyObject* stub_player_CanRefine(PyObject*, PyObject*) { return stub_call_named("player.CanRefine", Py_BuildValue("i", 0)); }
|
||||
PyObject* stub_player_CanDetach(PyObject*, PyObject*) { return stub_call_named("player.CanDetach", Py_BuildValue("i", 0)); }
|
||||
PyObject* stub_player_CanUnlock(PyObject*, PyObject*) { return stub_call_named("player.CanUnlock", Py_BuildValue("i", 0)); }
|
||||
PyObject* stub_player_CanAttachMetin(PyObject*, PyObject*) { return stub_call_named("player.CanAttachMetin", Py_BuildValue("i", 0)); }
|
||||
PyObject* stub_player_IsRefineGradeScroll(PyObject*, PyObject*) { return stub_call_named("player.IsRefineGradeScroll", Py_BuildValue("i", 0)); }
|
||||
PyObject* stub_player_ClearTarget(PyObject*, PyObject*) { return stub_call_named("player.ClearTarget", Py_BuildNone()); }
|
||||
PyObject* stub_player_SetTarget(PyObject*, PyObject*) { return stub_call_named("player.SetTarget", Py_BuildNone()); }
|
||||
PyObject* stub_player_OpenCharacterMenu(PyObject*, PyObject*) { return stub_call_named("player.OpenCharacterMenu", Py_BuildNone()); }
|
||||
PyObject* stub_player_Update(PyObject*, PyObject*) { return stub_call_named("player.Update", Py_BuildNone()); }
|
||||
PyObject* stub_player_Render(PyObject*, PyObject*) { return stub_call_named("player.Render", Py_BuildNone()); }
|
||||
PyObject* stub_player_Clear(PyObject*, PyObject*) { return stub_call_named("player.Clear", Py_BuildNone()); }
|
||||
PyObject* stub_player_IsPartyMember(PyObject*, PyObject*) { return stub_call_named("player.IsPartyMember", Py_BuildValue("i", 0)); }
|
||||
PyObject* stub_player_IsPartyLeader(PyObject*, PyObject*) { return stub_call_named("player.IsPartyLeader", Py_BuildValue("i", 0)); }
|
||||
PyObject* stub_player_IsPartyLeaderByPID(PyObject*, PyObject*) { return stub_call_named("player.IsPartyLeaderByPID", Py_BuildValue("i", 0)); }
|
||||
PyObject* stub_player_GetPartyMemberHPPercentage(PyObject*, PyObject*) { return stub_call_named("player.GetPartyMemberHPPercentage", Py_BuildValue("i", 0)); }
|
||||
PyObject* stub_player_GetPartyMemberState(PyObject*, PyObject*) { return stub_call_named("player.GetPartyMemberState", Py_BuildValue("i", 0)); }
|
||||
PyObject* stub_player_GetPartyMemberAffects(PyObject*, PyObject*) { return stub_call_named("player.GetPartyMemberAffects", Py_BuildValue("iiiiiii", 0, 0, 0, 0, 0, 0, 0)); }
|
||||
PyObject* stub_player_RemovePartyMember(PyObject*, PyObject*) { return stub_call_named("player.RemovePartyMember", Py_BuildNone()); }
|
||||
PyObject* stub_player_ExitParty(PyObject*, PyObject*) { return stub_call_named("player.ExitParty", Py_BuildNone()); }
|
||||
PyObject* stub_player_GetPKMode(PyObject*, PyObject*) { return stub_call_named("player.GetPKMode", Py_BuildValue("i", 0)); }
|
||||
PyObject* stub_player_HasMobilePhoneNumber(PyObject*, PyObject*) { return stub_call_named("player.HasMobilePhoneNumber", Py_BuildValue("i", 0)); }
|
||||
PyObject* stub_player_RegisterEmotionIcon(PyObject*, PyObject*) { return stub_call_named("player.RegisterEmotionIcon", Py_BuildNone()); }
|
||||
PyObject* stub_player_GetEmotionIconImage(PyObject*, PyObject*) { return stub_call_named("player.GetEmotionIconImage", Py_BuildValue("i", 0)); }
|
||||
PyObject* stub_player_SetWeaponAttackBonusFlag(PyObject*, PyObject*) { return stub_call_named("player.SetWeaponAttackBonusFlag", Py_BuildNone()); }
|
||||
PyObject* stub_player_ToggleCoolTime(PyObject*, PyObject*) { return stub_call_named("player.ToggleCoolTime", Py_BuildValue("i", 0)); }
|
||||
PyObject* stub_player_ToggleLevelLimit(PyObject*, PyObject*) { return stub_call_named("player.ToggleLevelLimit", Py_BuildValue("i", 0)); }
|
||||
PyObject* stub_player_GetTargetVID(PyObject*, PyObject*) { return stub_call_named("player.GetTargetVID", Py_BuildValue("i", 0)); }
|
||||
PyObject* stub_player_SetItemData(PyObject*, PyObject*) { return stub_call_named("player.SetItemData", Py_BuildNone()); }
|
||||
PyObject* stub_player_SetItemMetinSocket(PyObject*, PyObject*) { return stub_call_named("player.SetItemMetinSocket", Py_BuildNone()); }
|
||||
PyObject* stub_player_SetItemAttribute(PyObject*, PyObject*) { return stub_call_named("player.SetItemAttribute", Py_BuildNone()); }
|
||||
PyObject* stub_player_SetItemCount(PyObject*, PyObject*) { return stub_call_named("player.SetItemCount", Py_BuildNone()); }
|
||||
PyObject* stub_player_GetItemLink(PyObject*, PyObject*) { return stub_call_named("player.GetItemLink", Py_BuildValue("s", "")); }
|
||||
PyObject* stub_player_SlotTypeToInvenType(PyObject*, PyObject*) { return stub_call_named("player.SlotTypeToInvenType", Py_BuildValue("i", 0)); }
|
||||
PyObject* stub_player_SendDragonSoulRefine(PyObject*, PyObject*) { return stub_call_named("player.SendDragonSoulRefine", Py_BuildNone()); }
|
||||
PyMethodDef methods_player[] = {
|
||||
{ "GetAutoPotionInfo", stub_player_GetAutoPotionInfo, METH_VARARGS },
|
||||
{ "SetAutoPotionInfo", stub_player_SetAutoPotionInfo, METH_VARARGS },
|
||||
{ "PickCloseItem", stub_player_PickCloseItem, METH_VARARGS },
|
||||
{ "SetGameWindow", stub_player_SetGameWindow, METH_VARARGS },
|
||||
{ "RegisterEffect", stub_player_RegisterEffect, METH_VARARGS },
|
||||
{ "RegisterCacheEffect", stub_player_RegisterCacheEffect, METH_VARARGS },
|
||||
{ "SetMouseState", stub_player_SetMouseState, METH_VARARGS },
|
||||
{ "SetMouseFunc", stub_player_SetMouseFunc, METH_VARARGS },
|
||||
{ "GetMouseFunc", stub_player_GetMouseFunc, METH_VARARGS },
|
||||
{ "SetMouseMiddleButtonState", stub_player_SetMouseMiddleButtonState, METH_VARARGS },
|
||||
{ "SetMainCharacterIndex", stub_player_SetMainCharacterIndex, METH_VARARGS },
|
||||
{ "GetMainCharacterIndex", stub_player_GetMainCharacterIndex, METH_VARARGS },
|
||||
{ "GetMainCharacterName", stub_player_GetMainCharacterName, METH_VARARGS },
|
||||
{ "GetMainCharacterPosition", stub_player_GetMainCharacterPosition, METH_VARARGS },
|
||||
{ "IsMainCharacterIndex", stub_player_IsMainCharacterIndex, METH_VARARGS },
|
||||
{ "CanAttackInstance", stub_player_CanAttackInstance, METH_VARARGS },
|
||||
{ "IsActingEmotion", stub_player_IsActingEmotion, METH_VARARGS },
|
||||
{ "IsPVPInstance", stub_player_IsPVPInstance, METH_VARARGS },
|
||||
{ "IsSameEmpire", stub_player_IsSameEmpire, METH_VARARGS },
|
||||
{ "IsChallengeInstance", stub_player_IsChallengeInstance, METH_VARARGS },
|
||||
{ "IsRevengeInstance", stub_player_IsRevengeInstance, METH_VARARGS },
|
||||
{ "IsCantFightInstance", stub_player_IsCantFightInstance, METH_VARARGS },
|
||||
{ "GetCharacterDistance", stub_player_GetCharacterDistance, METH_VARARGS },
|
||||
{ "IsInSafeArea", stub_player_IsInSafeArea, METH_VARARGS },
|
||||
{ "IsMountingHorse", stub_player_IsMountingHorse, METH_VARARGS },
|
||||
{ "IsObserverMode", stub_player_IsObserverMode, METH_VARARGS },
|
||||
{ "ActEmotion", stub_player_ActEmotion, METH_VARARGS },
|
||||
{ "ShowPlayer", stub_player_ShowPlayer, METH_VARARGS },
|
||||
{ "HidePlayer", stub_player_HidePlayer, METH_VARARGS },
|
||||
{ "ComboAttack", stub_player_ComboAttack, METH_VARARGS },
|
||||
{ "SetAutoCameraRotationSpeed", stub_player_SetAutoCameraRotationSpeed, METH_VARARGS },
|
||||
{ "SetAttackKeyState", stub_player_SetAttackKeyState, METH_VARARGS },
|
||||
{ "SetSingleDIKKeyState", stub_player_SetSingleDIKKeyState, METH_VARARGS },
|
||||
{ "EndKeyWalkingImmediately", stub_player_EndKeyWalkingImmediately, METH_VARARGS },
|
||||
{ "StartMouseWalking", stub_player_StartMouseWalking, METH_VARARGS },
|
||||
{ "EndMouseWalking", stub_player_EndMouseWalking, METH_VARARGS },
|
||||
{ "ResetCameraRotation", stub_player_ResetCameraRotation, METH_VARARGS },
|
||||
{ "SetQuickCameraMode", stub_player_SetQuickCameraMode, METH_VARARGS },
|
||||
{ "SetSkill", stub_player_SetSkill, METH_VARARGS },
|
||||
{ "GetSkillIndex", stub_player_GetSkillIndex, METH_VARARGS },
|
||||
{ "GetSkillSlotIndex", stub_player_GetSkillSlotIndex, METH_VARARGS },
|
||||
{ "GetSkillGrade", stub_player_GetSkillGrade, METH_VARARGS },
|
||||
{ "GetSkillLevel", stub_player_GetSkillLevel, METH_VARARGS },
|
||||
{ "GetSkillCurrentEfficientPercentage", stub_player_GetSkillCurrentEfficientPercentage, METH_VARARGS },
|
||||
{ "GetSkillNextEfficientPercentage", stub_player_GetSkillNextEfficientPercentage, METH_VARARGS },
|
||||
{ "ClickSkillSlot", stub_player_ClickSkillSlot, METH_VARARGS },
|
||||
{ "ChangeCurrentSkillNumberOnly", stub_player_ChangeCurrentSkillNumberOnly, METH_VARARGS },
|
||||
{ "ClearSkillDict", stub_player_ClearSkillDict, METH_VARARGS },
|
||||
{ "GetItemIndex", stub_player_GetItemIndex, METH_VARARGS },
|
||||
{ "GetItemFlags", stub_player_GetItemFlags, METH_VARARGS },
|
||||
{ "GetItemCount", stub_player_GetItemCount, METH_VARARGS },
|
||||
{ "GetItemCountByVnum", stub_player_GetItemCountByVnum, METH_VARARGS },
|
||||
{ "GetItemMetinSocket", stub_player_GetItemMetinSocket, METH_VARARGS },
|
||||
{ "GetItemAttribute", stub_player_GetItemAttribute, METH_VARARGS },
|
||||
{ "GetItemUnbindTime", stub_player_GetItemUnbindTime, METH_VARARGS },
|
||||
{ "GetISellItemPrice", stub_player_GetISellItemPrice, METH_VARARGS },
|
||||
{ "MoveItem", stub_player_MoveItem, METH_VARARGS },
|
||||
{ "SendClickItemPacket", stub_player_SendClickItemPacket, METH_VARARGS },
|
||||
{ "GetName", stub_player_GetName, METH_VARARGS },
|
||||
{ "GetJob", stub_player_GetJob, METH_VARARGS },
|
||||
{ "GetRace", stub_player_GetRace, METH_VARARGS },
|
||||
{ "GetPlayTime", stub_player_GetPlayTime, METH_VARARGS },
|
||||
{ "SetPlayTime", stub_player_SetPlayTime, METH_VARARGS },
|
||||
{ "IsSkillCoolTime", stub_player_IsSkillCoolTime, METH_VARARGS },
|
||||
{ "GetSkillCoolTime", stub_player_GetSkillCoolTime, METH_VARARGS },
|
||||
{ "IsSkillActive", stub_player_IsSkillActive, METH_VARARGS },
|
||||
{ "UseGuildSkill", stub_player_UseGuildSkill, METH_VARARGS },
|
||||
{ "AffectIndexToSkillIndex", stub_player_AffectIndexToSkillIndex, METH_VARARGS },
|
||||
{ "GetEXP", stub_player_GetEXP, METH_VARARGS },
|
||||
{ "GetStatus", stub_player_GetStatus, METH_VARARGS },
|
||||
{ "SetStatus", stub_player_SetStatus, METH_VARARGS },
|
||||
{ "GetElk", stub_player_GetElk, METH_VARARGS },
|
||||
{ "GetMoney", stub_player_GetMoney, METH_VARARGS },
|
||||
{ "GetGuildID", stub_player_GetGuildID, METH_VARARGS },
|
||||
{ "GetGuildName", stub_player_GetGuildName, METH_VARARGS },
|
||||
{ "GetAlignmentData", stub_player_GetAlignmentData, METH_VARARGS },
|
||||
{ "RequestAddLocalQuickSlot", stub_player_RequestAddLocalQuickSlot, METH_VARARGS },
|
||||
{ "RequestAddToEmptyLocalQuickSlot", stub_player_RequestAddToEmptyLocalQuickSlot, METH_VARARGS },
|
||||
{ "RequestDeleteGlobalQuickSlot", stub_player_RequestDeleteGlobalQuickSlot, METH_VARARGS },
|
||||
{ "RequestMoveGlobalQuickSlotToLocalQuickSlot", stub_player_RequestMoveGlobalQuickSlotToLocalQuickSlot, METH_VARARGS },
|
||||
{ "RequestUseLocalQuickSlot", stub_player_RequestUseLocalQuickSlot, METH_VARARGS },
|
||||
{ "LocalQuickSlotIndexToGlobalQuickSlotIndex", stub_player_LocalQuickSlotIndexToGlobalQuickSlotIndex, METH_VARARGS },
|
||||
{ "GetQuickPage", stub_player_GetQuickPage, METH_VARARGS },
|
||||
{ "SetQuickPage", stub_player_SetQuickPage, METH_VARARGS },
|
||||
{ "GetLocalQuickSlot", stub_player_GetLocalQuickSlot, METH_VARARGS },
|
||||
{ "GetGlobalQuickSlot", stub_player_GetGlobalQuickSlot, METH_VARARGS },
|
||||
{ "RemoveQuickSlotByValue", stub_player_RemoveQuickSlotByValue, METH_VARARGS },
|
||||
{ "isItem", stub_player_isItem, METH_VARARGS },
|
||||
{ "IsEquipmentSlot", stub_player_IsEquipmentSlot, METH_VARARGS },
|
||||
{ "IsDSEquipmentSlot", stub_player_IsDSEquipmentSlot, METH_VARARGS },
|
||||
{ "IsCostumeSlot", stub_player_IsCostumeSlot, METH_VARARGS },
|
||||
{ "IsValuableItem", stub_player_IsValuableItem, METH_VARARGS },
|
||||
{ "IsOpenPrivateShop", stub_player_IsOpenPrivateShop, METH_VARARGS },
|
||||
{ "IsBeltInventorySlot", stub_player_IsBeltInventorySlot, METH_VARARGS },
|
||||
{ "IsEquippingBelt", stub_player_IsEquippingBelt, METH_VARARGS },
|
||||
{ "IsAvailableBeltInventoryCell", stub_player_IsAvailableBeltInventoryCell, METH_VARARGS },
|
||||
{ "GetItemGrade", stub_player_GetItemGrade, METH_VARARGS },
|
||||
{ "CanRefine", stub_player_CanRefine, METH_VARARGS },
|
||||
{ "CanDetach", stub_player_CanDetach, METH_VARARGS },
|
||||
{ "CanUnlock", stub_player_CanUnlock, METH_VARARGS },
|
||||
{ "CanAttachMetin", stub_player_CanAttachMetin, METH_VARARGS },
|
||||
{ "IsRefineGradeScroll", stub_player_IsRefineGradeScroll, METH_VARARGS },
|
||||
{ "ClearTarget", stub_player_ClearTarget, METH_VARARGS },
|
||||
{ "SetTarget", stub_player_SetTarget, METH_VARARGS },
|
||||
{ "OpenCharacterMenu", stub_player_OpenCharacterMenu, METH_VARARGS },
|
||||
{ "Update", stub_player_Update, METH_VARARGS },
|
||||
{ "Render", stub_player_Render, METH_VARARGS },
|
||||
{ "Clear", stub_player_Clear, METH_VARARGS },
|
||||
{ "IsPartyMember", stub_player_IsPartyMember, METH_VARARGS },
|
||||
{ "IsPartyLeader", stub_player_IsPartyLeader, METH_VARARGS },
|
||||
{ "IsPartyLeaderByPID", stub_player_IsPartyLeaderByPID, METH_VARARGS },
|
||||
{ "GetPartyMemberHPPercentage", stub_player_GetPartyMemberHPPercentage, METH_VARARGS },
|
||||
{ "GetPartyMemberState", stub_player_GetPartyMemberState, METH_VARARGS },
|
||||
{ "GetPartyMemberAffects", stub_player_GetPartyMemberAffects, METH_VARARGS },
|
||||
{ "RemovePartyMember", stub_player_RemovePartyMember, METH_VARARGS },
|
||||
{ "ExitParty", stub_player_ExitParty, METH_VARARGS },
|
||||
{ "GetPKMode", stub_player_GetPKMode, METH_VARARGS },
|
||||
{ "HasMobilePhoneNumber", stub_player_HasMobilePhoneNumber, METH_VARARGS },
|
||||
{ "RegisterEmotionIcon", stub_player_RegisterEmotionIcon, METH_VARARGS },
|
||||
{ "GetEmotionIconImage", stub_player_GetEmotionIconImage, METH_VARARGS },
|
||||
{ "SetWeaponAttackBonusFlag", stub_player_SetWeaponAttackBonusFlag, METH_VARARGS },
|
||||
{ "ToggleCoolTime", stub_player_ToggleCoolTime, METH_VARARGS },
|
||||
{ "ToggleLevelLimit", stub_player_ToggleLevelLimit, METH_VARARGS },
|
||||
{ "GetTargetVID", stub_player_GetTargetVID, METH_VARARGS },
|
||||
{ "SetItemData", stub_player_SetItemData, METH_VARARGS },
|
||||
{ "SetItemMetinSocket", stub_player_SetItemMetinSocket, METH_VARARGS },
|
||||
{ "SetItemAttribute", stub_player_SetItemAttribute, METH_VARARGS },
|
||||
{ "SetItemCount", stub_player_SetItemCount, METH_VARARGS },
|
||||
{ "GetItemLink", stub_player_GetItemLink, METH_VARARGS },
|
||||
{ "SlotTypeToInvenType", stub_player_SlotTypeToInvenType, METH_VARARGS },
|
||||
{ "SendDragonSoulRefine", stub_player_SendDragonSoulRefine, METH_VARARGS },
|
||||
{ NULL, NULL }
|
||||
};
|
||||
// 40250 UserInterface/PythonProfilerModule.cpp: profiler export names.
|
||||
PyObject* stub_profiler_Push(PyObject*, PyObject*) { return stub_call_named("profiler.Push", Py_BuildNone()); }
|
||||
PyObject* stub_profiler_Pop(PyObject*, PyObject*) { return stub_call_named("profiler.Pop", Py_BuildNone()); }
|
||||
@@ -1252,11 +985,6 @@ void init_2v0_gameplay_stubs() {
|
||||
PyModule_AddIntConstant(module, "__port_stub__", 1);
|
||||
AddStubConstants_nonplayer(module);
|
||||
}
|
||||
{
|
||||
PyObject* module = Py_InitModule("player", methods_player);
|
||||
PyModule_AddIntConstant(module, "__port_stub__", 1);
|
||||
AddStubConstants_player(module);
|
||||
}
|
||||
{
|
||||
PyObject* module = Py_InitModule("profiler", methods_profiler);
|
||||
PyModule_AddIntConstant(module, "__port_stub__", 1);
|
||||
|
||||
@@ -341,6 +341,7 @@ bool run_main_script_body(const char* lpCmdLine, std::string* error)
|
||||
initapp();
|
||||
initchr();
|
||||
initchrmgr();
|
||||
initPlayer();
|
||||
initChat();
|
||||
initnet();
|
||||
init_2v0_gameplay_stubs();
|
||||
|
||||
Reference in New Issue
Block a user