forked from Tr0n/client
Solution refactoring and restructuring, removed Boost dependency, removed unused tools
This commit is contained in:
729
src/UserInterface/PythonNetworkStream.h
Normal file
729
src/UserInterface/PythonNetworkStream.h
Normal file
@ -0,0 +1,729 @@
|
||||
#pragma once
|
||||
|
||||
#include "../eterLib/FuncObject.h"
|
||||
#include "../eterlib/NetStream.h"
|
||||
#include "../eterLib/NetPacketHeaderMap.h"
|
||||
|
||||
#include "InsultChecker.h"
|
||||
|
||||
#include "packet.h"
|
||||
|
||||
class CInstanceBase;
|
||||
class CNetworkActorManager;
|
||||
struct SNetworkActorData;
|
||||
struct SNetworkUpdateActorData;
|
||||
|
||||
class CPythonNetworkStream : public CNetworkStream, public CSingleton<CPythonNetworkStream>
|
||||
{
|
||||
public:
|
||||
enum
|
||||
{
|
||||
SERVER_COMMAND_LOG_OUT = 0,
|
||||
SERVER_COMMAND_RETURN_TO_SELECT_CHARACTER = 1,
|
||||
SERVER_COMMAND_QUIT = 2,
|
||||
|
||||
MAX_ACCOUNT_PLAYER
|
||||
};
|
||||
|
||||
enum
|
||||
{
|
||||
ERROR_NONE,
|
||||
ERROR_UNKNOWN,
|
||||
ERROR_CONNECT_MARK_SERVER,
|
||||
ERROR_LOAD_MARK,
|
||||
ERROR_MARK_WIDTH,
|
||||
ERROR_MARK_HEIGHT,
|
||||
|
||||
// MARK_BUG_FIX
|
||||
ERROR_MARK_UPLOAD_NEED_RECONNECT,
|
||||
ERROR_MARK_CHECK_NEED_RECONNECT,
|
||||
// END_OF_MARK_BUG_FIX
|
||||
};
|
||||
|
||||
enum
|
||||
{
|
||||
ACCOUNT_CHARACTER_SLOT_ID,
|
||||
ACCOUNT_CHARACTER_SLOT_NAME,
|
||||
ACCOUNT_CHARACTER_SLOT_RACE,
|
||||
ACCOUNT_CHARACTER_SLOT_LEVEL,
|
||||
ACCOUNT_CHARACTER_SLOT_STR,
|
||||
ACCOUNT_CHARACTER_SLOT_DEX,
|
||||
ACCOUNT_CHARACTER_SLOT_HTH,
|
||||
ACCOUNT_CHARACTER_SLOT_INT,
|
||||
ACCOUNT_CHARACTER_SLOT_PLAYTIME,
|
||||
ACCOUNT_CHARACTER_SLOT_FORM,
|
||||
ACCOUNT_CHARACTER_SLOT_ADDR,
|
||||
ACCOUNT_CHARACTER_SLOT_PORT,
|
||||
ACCOUNT_CHARACTER_SLOT_GUILD_ID,
|
||||
ACCOUNT_CHARACTER_SLOT_GUILD_NAME,
|
||||
ACCOUNT_CHARACTER_SLOT_CHANGE_NAME_FLAG,
|
||||
ACCOUNT_CHARACTER_SLOT_HAIR,
|
||||
};
|
||||
|
||||
enum
|
||||
{
|
||||
PHASE_WINDOW_LOGO,
|
||||
PHASE_WINDOW_LOGIN,
|
||||
PHASE_WINDOW_SELECT,
|
||||
PHASE_WINDOW_CREATE,
|
||||
PHASE_WINDOW_LOAD,
|
||||
PHASE_WINDOW_GAME,
|
||||
PHASE_WINDOW_EMPIRE,
|
||||
PHASE_WINDOW_NUM,
|
||||
};
|
||||
|
||||
public:
|
||||
CPythonNetworkStream();
|
||||
virtual ~CPythonNetworkStream();
|
||||
|
||||
bool SendSpecial(int nLen, void * pvBuf);
|
||||
|
||||
void StartGame();
|
||||
void Warp(LONG lGlobalX, LONG lGlobalY);
|
||||
|
||||
void NotifyHack(const char* c_szMsg);
|
||||
void SetWaitFlag();
|
||||
|
||||
void SendEmoticon(UINT eEmoticon);
|
||||
|
||||
void ExitApplication();
|
||||
void ExitGame();
|
||||
void LogOutGame();
|
||||
void AbsoluteExitGame();
|
||||
void AbsoluteExitApplication();
|
||||
|
||||
void EnableChatInsultFilter(bool isEnable);
|
||||
bool IsChatInsultIn(const char* c_szMsg);
|
||||
bool IsInsultIn(const char* c_szMsg);
|
||||
|
||||
DWORD GetGuildID();
|
||||
|
||||
UINT UploadMark(const char* c_szImageFileName);
|
||||
UINT UploadSymbol(const char* c_szImageFileName);
|
||||
|
||||
bool LoadInsultList(const char* c_szInsultListFileName);
|
||||
bool LoadConvertTable(DWORD dwEmpireID, const char* c_szFileName);
|
||||
|
||||
UINT GetAccountCharacterSlotDatau(UINT iSlot, UINT eType);
|
||||
const char* GetAccountCharacterSlotDataz(UINT iSlot, UINT eType);
|
||||
|
||||
// SUPPORT_BGM
|
||||
const char* GetFieldMusicFileName();
|
||||
float GetFieldMusicVolume();
|
||||
// END_OF_SUPPORT_BGM
|
||||
|
||||
bool IsSelectedEmpire();
|
||||
|
||||
void ToggleGameDebugInfo();
|
||||
|
||||
void SetMarkServer(const char* c_szAddr, UINT uPort);
|
||||
void ConnectLoginServer(const char* c_szAddr, UINT uPort);
|
||||
void ConnectGameServer(UINT iChrSlot);
|
||||
|
||||
void SetLoginInfo(const char* c_szID, const char* c_szPassword);
|
||||
void SetLoginKey(DWORD dwLoginKey);
|
||||
void ClearLoginInfo( void );
|
||||
|
||||
void SetHandler(PyObject* poHandler);
|
||||
void SetPhaseWindow(UINT ePhaseWnd, PyObject* poPhaseWnd);
|
||||
void ClearPhaseWindow(UINT ePhaseWnd, PyObject* poPhaseWnd);
|
||||
void SetServerCommandParserWindow(PyObject* poPhaseWnd);
|
||||
|
||||
bool SendSyncPositionElementPacket(DWORD dwVictimVID, DWORD dwVictimX, DWORD dwVictimY);
|
||||
|
||||
bool SendAttackPacket(UINT uMotAttack, DWORD dwVIDVictim);
|
||||
bool SendCharacterStatePacket(const TPixelPosition& c_rkPPosDst, float fDstRot, UINT eFunc, UINT uArg);
|
||||
bool SendUseSkillPacket(DWORD dwSkillIndex, DWORD dwTargetVID=0);
|
||||
bool SendTargetPacket(DWORD dwVID);
|
||||
|
||||
// OLDCODE:
|
||||
bool SendCharacterStartWalkingPacket(float fRotation, long lx, long ly);
|
||||
bool SendCharacterEndWalkingPacket(float fRotation, long lx, long ly);
|
||||
bool SendCharacterCheckWalkingPacket(float fRotation, long lx, long ly);
|
||||
|
||||
bool SendCharacterPositionPacket(BYTE iPosition);
|
||||
|
||||
bool SendItemUsePacket(TItemPos pos);
|
||||
bool SendItemUseToItemPacket(TItemPos source_pos, TItemPos target_pos);
|
||||
bool SendItemDropPacket(TItemPos pos, DWORD elk);
|
||||
bool SendItemDropPacketNew(TItemPos pos, DWORD elk, DWORD count);
|
||||
bool SendItemMovePacket(TItemPos pos, TItemPos change_pos, BYTE num);
|
||||
bool SendItemPickUpPacket(DWORD vid);
|
||||
|
||||
bool SendQuickSlotAddPacket(BYTE wpos, BYTE type, BYTE pos);
|
||||
bool SendQuickSlotDelPacket(BYTE wpos);
|
||||
bool SendQuickSlotMovePacket(BYTE wpos, BYTE change_pos);
|
||||
|
||||
// PointReset <20><> <20>ӽ<EFBFBD>
|
||||
bool SendPointResetPacket();
|
||||
|
||||
// Shop
|
||||
bool SendShopEndPacket();
|
||||
bool SendShopBuyPacket(BYTE byCount);
|
||||
bool SendShopSellPacket(BYTE bySlot);
|
||||
bool SendShopSellPacketNew(BYTE bySlot, BYTE byCount);
|
||||
|
||||
// Exchange
|
||||
bool SendExchangeStartPacket(DWORD vid);
|
||||
bool SendExchangeItemAddPacket(TItemPos ItemPos, BYTE byDisplayPos);
|
||||
bool SendExchangeElkAddPacket(DWORD elk);
|
||||
bool SendExchangeItemDelPacket(BYTE pos);
|
||||
bool SendExchangeAcceptPacket();
|
||||
bool SendExchangeExitPacket();
|
||||
|
||||
// Quest
|
||||
bool SendScriptAnswerPacket(int iAnswer);
|
||||
bool SendScriptButtonPacket(unsigned int iIndex);
|
||||
bool SendAnswerMakeGuildPacket(const char * c_szName);
|
||||
bool SendQuestInputStringPacket(const char * c_szString);
|
||||
bool SendQuestConfirmPacket(BYTE byAnswer, DWORD dwPID);
|
||||
|
||||
// Event
|
||||
bool SendOnClickPacket(DWORD vid);
|
||||
|
||||
// Fly
|
||||
bool SendFlyTargetingPacket(DWORD dwTargetVID, const TPixelPosition& kPPosTarget);
|
||||
bool SendAddFlyTargetingPacket(DWORD dwTargetVID, const TPixelPosition& kPPosTarget);
|
||||
bool SendShootPacket(UINT uSkill);
|
||||
|
||||
// Command
|
||||
bool ClientCommand(const char * c_szCommand);
|
||||
void ServerCommand(char * c_szCommand);
|
||||
|
||||
// Emoticon
|
||||
void RegisterEmoticonString(const char * pcEmoticonString);
|
||||
|
||||
// Party
|
||||
bool SendPartyInvitePacket(DWORD dwVID);
|
||||
bool SendPartyInviteAnswerPacket(DWORD dwLeaderVID, BYTE byAccept);
|
||||
bool SendPartyRemovePacket(DWORD dwPID);
|
||||
bool SendPartySetStatePacket(DWORD dwVID, BYTE byState, BYTE byFlag);
|
||||
bool SendPartyUseSkillPacket(BYTE bySkillIndex, DWORD dwVID);
|
||||
bool SendPartyParameterPacket(BYTE byDistributeMode);
|
||||
|
||||
// SafeBox
|
||||
bool SendSafeBoxMoneyPacket(BYTE byState, DWORD dwMoney);
|
||||
bool SendSafeBoxCheckinPacket(TItemPos InventoryPos, BYTE bySafeBoxPos);
|
||||
bool SendSafeBoxCheckoutPacket(BYTE bySafeBoxPos, TItemPos InventoryPos);
|
||||
bool SendSafeBoxItemMovePacket(BYTE bySourcePos, BYTE byTargetPos, BYTE byCount);
|
||||
|
||||
// Mall
|
||||
bool SendMallCheckoutPacket(BYTE byMallPos, TItemPos InventoryPos);
|
||||
|
||||
// Guild
|
||||
bool SendGuildAddMemberPacket(DWORD dwVID);
|
||||
bool SendGuildRemoveMemberPacket(DWORD dwPID);
|
||||
bool SendGuildChangeGradeNamePacket(BYTE byGradeNumber, const char * c_szName);
|
||||
bool SendGuildChangeGradeAuthorityPacket(BYTE byGradeNumber, BYTE byAuthority);
|
||||
bool SendGuildOfferPacket(DWORD dwExperience);
|
||||
bool SendGuildPostCommentPacket(const char * c_szMessage);
|
||||
bool SendGuildDeleteCommentPacket(DWORD dwIndex);
|
||||
bool SendGuildRefreshCommentsPacket(DWORD dwHighestIndex);
|
||||
bool SendGuildChangeMemberGradePacket(DWORD dwPID, BYTE byGrade);
|
||||
bool SendGuildUseSkillPacket(DWORD dwSkillID, DWORD dwTargetVID);
|
||||
bool SendGuildChangeMemberGeneralPacket(DWORD dwPID, BYTE byFlag);
|
||||
bool SendGuildInvitePacket(DWORD dwVID);
|
||||
bool SendGuildInviteAnswerPacket(DWORD dwGuildID, BYTE byAnswer);
|
||||
bool SendGuildChargeGSPPacket(DWORD dwMoney);
|
||||
bool SendGuildDepositMoneyPacket(DWORD dwMoney);
|
||||
bool SendGuildWithdrawMoneyPacket(DWORD dwMoney);
|
||||
|
||||
// Mall
|
||||
bool RecvMallOpenPacket();
|
||||
bool RecvMallItemSetPacket();
|
||||
bool RecvMallItemDelPacket();
|
||||
|
||||
// Lover
|
||||
bool RecvLoverInfoPacket();
|
||||
bool RecvLovePointUpdatePacket();
|
||||
|
||||
// Dig
|
||||
bool RecvDigMotionPacket();
|
||||
|
||||
// Fishing
|
||||
bool SendFishingPacket(int iRotation);
|
||||
bool SendGiveItemPacket(DWORD dwTargetVID, TItemPos ItemPos, int iItemCount);
|
||||
|
||||
// Private Shop
|
||||
bool SendBuildPrivateShopPacket(const char * c_szName, const std::vector<TShopItemTable> & c_rSellingItemStock);
|
||||
|
||||
// Refine
|
||||
bool SendRefinePacket(BYTE byPos, BYTE byType);
|
||||
bool SendSelectItemPacket(DWORD dwItemPos);
|
||||
|
||||
// Client Version
|
||||
bool SendClientVersionPacket();
|
||||
|
||||
// CRC Report
|
||||
bool __SendCRCReportPacket();
|
||||
|
||||
// <20><>ȫ<EFBFBD><C8AB> <20><>ȭ
|
||||
bool SendDragonSoulRefinePacket(BYTE bRefineType, TItemPos* pos);
|
||||
|
||||
// Handshake
|
||||
bool RecvHandshakePacket();
|
||||
bool RecvHandshakeOKPacket();
|
||||
|
||||
bool RecvHybridCryptKeyPacket();
|
||||
bool RecvHybridCryptSDBPacket();
|
||||
|
||||
// ETC
|
||||
DWORD GetMainActorVID();
|
||||
DWORD GetMainActorRace();
|
||||
DWORD GetMainActorEmpire();
|
||||
DWORD GetMainActorSkillGroup();
|
||||
void SetEmpireID(DWORD dwEmpireID);
|
||||
DWORD GetEmpireID();
|
||||
void __TEST_SetSkillGroupFake(int iIndex);
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
// Phase <20><><EFBFBD><EFBFBD>
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
public:
|
||||
void SetOffLinePhase();
|
||||
void SetHandShakePhase();
|
||||
void SetLoginPhase();
|
||||
void SetSelectPhase();
|
||||
void SetLoadingPhase();
|
||||
void SetGamePhase();
|
||||
void ClosePhase();
|
||||
|
||||
// Login Phase
|
||||
bool SendLoginPacket(const char * c_szName, const char * c_szPassword);
|
||||
bool SendLoginPacketNew(const char * c_szName, const char * c_szPassword);
|
||||
bool SendChinaMatrixCardPacket(const char * c_szMatrixCardString);
|
||||
bool SendRunupMatrixAnswerPacket(const char * c_szMatrixCardString);
|
||||
bool SendNEWCIBNPasspodAnswerPacket(const char * answer);
|
||||
bool SendDirectEnterPacket(const char * c_szName, const char * c_szPassword, UINT uChrSlot);
|
||||
|
||||
bool SendEnterGame();
|
||||
|
||||
// Select Phase
|
||||
bool SendSelectEmpirePacket(DWORD dwEmpireID);
|
||||
bool SendSelectCharacterPacket(BYTE account_Index);
|
||||
bool SendChangeNamePacket(BYTE index, const char *name);
|
||||
bool SendCreateCharacterPacket(BYTE index, const char *name, BYTE job, BYTE shape, BYTE byStat1, BYTE byStat2, BYTE byStat3, BYTE byStat4);
|
||||
bool SendDestroyCharacterPacket(BYTE index, const char * szPrivateCode);
|
||||
|
||||
// Main Game Phase
|
||||
bool SendC2CPacket(DWORD dwSize, void * pData);
|
||||
bool SendChatPacket(const char * c_szChat, BYTE byType = CHAT_TYPE_TALKING);
|
||||
bool SendWhisperPacket(const char * name, const char * c_szChat);
|
||||
bool SendMobileMessagePacket(const char * name, const char * c_szChat);
|
||||
bool SendMessengerAddByVIDPacket(DWORD vid);
|
||||
bool SendMessengerAddByNamePacket(const char * c_szName);
|
||||
bool SendMessengerRemovePacket(const char * c_szKey, const char * c_szName);
|
||||
|
||||
protected:
|
||||
bool OnProcess(); // State<74><65><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Ѵ<EFBFBD>.
|
||||
void OffLinePhase();
|
||||
void HandShakePhase();
|
||||
void LoginPhase();
|
||||
void SelectPhase();
|
||||
void LoadingPhase();
|
||||
void GamePhase();
|
||||
|
||||
bool __IsNotPing();
|
||||
|
||||
void __DownloadMark();
|
||||
void __DownloadSymbol(const std::vector<DWORD> & c_rkVec_dwGuildID);
|
||||
|
||||
void __PlayInventoryItemUseSound(TItemPos uSlotPos);
|
||||
void __PlayInventoryItemDropSound(TItemPos uSlotPos);
|
||||
//void __PlayShopItemDropSound(UINT uSlotPos);
|
||||
void __PlaySafeBoxItemDropSound(UINT uSlotPos);
|
||||
void __PlayMallItemDropSound(UINT uSlotPos);
|
||||
|
||||
bool __CanActMainInstance();
|
||||
|
||||
enum REFRESH_WINDOW_TYPE
|
||||
{
|
||||
RefreshStatus = (1 << 0),
|
||||
RefreshAlignmentWindow = (1 << 1),
|
||||
RefreshCharacterWindow = (1 << 2),
|
||||
RefreshEquipmentWindow = (1 << 3),
|
||||
RefreshInventoryWindow = (1 << 4),
|
||||
RefreshExchangeWindow = (1 << 5),
|
||||
RefreshSkillWindow = (1 << 6),
|
||||
RefreshSafeboxWindow = (1 << 7),
|
||||
RefreshMessengerWindow = (1 << 8),
|
||||
RefreshGuildWindowInfoPage = (1 << 9),
|
||||
RefreshGuildWindowBoardPage = (1 << 10),
|
||||
RefreshGuildWindowMemberPage = (1 << 11),
|
||||
RefreshGuildWindowMemberPageGradeComboBox = (1 << 12),
|
||||
RefreshGuildWindowSkillPage = (1 << 13),
|
||||
RefreshGuildWindowGradePage = (1 << 14),
|
||||
RefreshTargetBoard = (1 << 15),
|
||||
RefreshMallWindow = (1 << 16),
|
||||
};
|
||||
|
||||
void __RefreshStatus();
|
||||
void __RefreshAlignmentWindow();
|
||||
void __RefreshCharacterWindow();
|
||||
void __RefreshEquipmentWindow();
|
||||
void __RefreshInventoryWindow();
|
||||
void __RefreshExchangeWindow();
|
||||
void __RefreshSkillWindow();
|
||||
void __RefreshSafeboxWindow();
|
||||
void __RefreshMessengerWindow();
|
||||
void __RefreshGuildWindowInfoPage();
|
||||
void __RefreshGuildWindowBoardPage();
|
||||
void __RefreshGuildWindowMemberPage();
|
||||
void __RefreshGuildWindowMemberPageGradeComboBox();
|
||||
void __RefreshGuildWindowSkillPage();
|
||||
void __RefreshGuildWindowGradePage();
|
||||
void __RefreshTargetBoardByVID(DWORD dwVID);
|
||||
void __RefreshTargetBoardByName(const char * c_szName);
|
||||
void __RefreshTargetBoard();
|
||||
void __RefreshMallWindow();
|
||||
|
||||
bool __SendHack(const char* c_szMsg);
|
||||
|
||||
protected:
|
||||
bool RecvObserverAddPacket();
|
||||
bool RecvObserverRemovePacket();
|
||||
bool RecvObserverMovePacket();
|
||||
|
||||
// Common
|
||||
bool RecvErrorPacket(int header);
|
||||
bool RecvPingPacket();
|
||||
bool RecvDefaultPacket(int header);
|
||||
bool RecvPhasePacket();
|
||||
|
||||
// Login Phase
|
||||
bool __RecvLoginSuccessPacket3();
|
||||
bool __RecvLoginSuccessPacket4();
|
||||
bool __RecvLoginFailurePacket();
|
||||
bool __RecvEmpirePacket();
|
||||
bool __RecvChinaMatrixCardPacket();
|
||||
bool __RecvRunupMatrixQuizPacket();
|
||||
bool __RecvNEWCIBNPasspodRequestPacket();
|
||||
bool __RecvNEWCIBNPasspodFailurePacket();
|
||||
bool __RecvLoginKeyPacket();
|
||||
|
||||
// Select Phase
|
||||
bool __RecvPlayerCreateSuccessPacket();
|
||||
bool __RecvPlayerCreateFailurePacket();
|
||||
bool __RecvPlayerDestroySuccessPacket();
|
||||
bool __RecvPlayerDestroyFailurePacket();
|
||||
bool __RecvPreserveItemPacket();
|
||||
bool __RecvPlayerPoints();
|
||||
bool __RecvChangeName();
|
||||
|
||||
// Loading Phase
|
||||
bool RecvMainCharacter();
|
||||
bool RecvMainCharacter2_EMPIRE();
|
||||
bool RecvMainCharacter3_BGM();
|
||||
bool RecvMainCharacter4_BGM_VOL();
|
||||
|
||||
void __SetFieldMusicFileName(const char* musicName);
|
||||
void __SetFieldMusicFileInfo(const char* musicName, float vol);
|
||||
// END_OF_SUPPORT_BGM
|
||||
|
||||
// Main Game Phase
|
||||
bool RecvWarpPacket();
|
||||
bool RecvPVPPacket();
|
||||
bool RecvDuelStartPacket();
|
||||
bool RecvGlobalTimePacket();
|
||||
bool RecvCharacterAppendPacket();
|
||||
bool RecvCharacterAdditionalInfo();
|
||||
bool RecvCharacterAppendPacketNew();
|
||||
bool RecvCharacterUpdatePacket();
|
||||
bool RecvCharacterUpdatePacketNew();
|
||||
bool RecvCharacterDeletePacket();
|
||||
bool RecvChatPacket();
|
||||
bool RecvOwnerShipPacket();
|
||||
bool RecvSyncPositionPacket();
|
||||
bool RecvWhisperPacket();
|
||||
bool RecvPointChange(); // Alarm to python
|
||||
bool RecvChangeSpeedPacket();
|
||||
|
||||
bool RecvStunPacket();
|
||||
bool RecvDeadPacket();
|
||||
bool RecvCharacterMovePacket();
|
||||
|
||||
bool RecvItemSetPacket(); // Alarm to python
|
||||
bool RecvItemSetPacket2(); // Alarm to python
|
||||
bool RecvItemUsePacket(); // Alarm to python
|
||||
bool RecvItemUpdatePacket(); // Alarm to python
|
||||
bool RecvItemGroundAddPacket();
|
||||
bool RecvItemGroundDelPacket();
|
||||
bool RecvItemOwnership();
|
||||
|
||||
bool RecvQuickSlotAddPacket(); // Alarm to python
|
||||
bool RecvQuickSlotDelPacket(); // Alarm to python
|
||||
bool RecvQuickSlotMovePacket(); // Alarm to python
|
||||
|
||||
bool RecvCharacterPositionPacket();
|
||||
bool RecvMotionPacket();
|
||||
|
||||
bool RecvShopPacket();
|
||||
bool RecvShopSignPacket();
|
||||
bool RecvExchangePacket();
|
||||
|
||||
// Quest
|
||||
bool RecvScriptPacket();
|
||||
bool RecvQuestInfoPacket();
|
||||
bool RecvQuestConfirmPacket();
|
||||
bool RecvRequestMakeGuild();
|
||||
|
||||
// Skill
|
||||
bool RecvSkillLevel();
|
||||
bool RecvSkillLevelNew();
|
||||
bool RecvSkillCoolTimeEnd();
|
||||
|
||||
// Target
|
||||
bool RecvTargetPacket();
|
||||
bool RecvViewEquipPacket();
|
||||
bool RecvDamageInfoPacket();
|
||||
|
||||
// Mount
|
||||
bool RecvMountPacket();
|
||||
|
||||
// Fly
|
||||
bool RecvCreateFlyPacket();
|
||||
bool RecvFlyTargetingPacket();
|
||||
bool RecvAddFlyTargetingPacket();
|
||||
|
||||
// Messenger
|
||||
bool RecvMessenger();
|
||||
|
||||
// Guild
|
||||
bool RecvGuild();
|
||||
|
||||
// Party
|
||||
bool RecvPartyInvite();
|
||||
bool RecvPartyAdd();
|
||||
bool RecvPartyUpdate();
|
||||
bool RecvPartyRemove();
|
||||
bool RecvPartyLink();
|
||||
bool RecvPartyUnlink();
|
||||
bool RecvPartyParameter();
|
||||
|
||||
// SafeBox
|
||||
bool RecvSafeBoxSetPacket();
|
||||
bool RecvSafeBoxDelPacket();
|
||||
bool RecvSafeBoxWrongPasswordPacket();
|
||||
bool RecvSafeBoxSizePacket();
|
||||
bool RecvSafeBoxMoneyChangePacket();
|
||||
|
||||
// Fishing
|
||||
bool RecvFishing();
|
||||
|
||||
// Dungeon
|
||||
bool RecvDungeon();
|
||||
|
||||
// Time
|
||||
bool RecvTimePacket();
|
||||
|
||||
// WalkMode
|
||||
bool RecvWalkModePacket();
|
||||
|
||||
// ChangeSkillGroup
|
||||
bool RecvChangeSkillGroupPacket();
|
||||
|
||||
// Refine
|
||||
bool RecvRefineInformationPacket();
|
||||
bool RecvRefineInformationPacketNew();
|
||||
|
||||
// Use Potion
|
||||
bool RecvSpecialEffect();
|
||||
|
||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>Ʈ <20>ߵ<EFBFBD> <20><>Ŷ.
|
||||
bool RecvSpecificEffect();
|
||||
|
||||
// <20><>ȥ<EFBFBD><C8A5> <20><><EFBFBD><EFBFBD>
|
||||
bool RecvDragonSoulRefine();
|
||||
|
||||
// MiniMap Info
|
||||
bool RecvNPCList();
|
||||
bool RecvLandPacket();
|
||||
bool RecvTargetCreatePacket();
|
||||
bool RecvTargetCreatePacketNew();
|
||||
bool RecvTargetUpdatePacket();
|
||||
bool RecvTargetDeletePacket();
|
||||
|
||||
// Affect
|
||||
bool RecvAffectAddPacket();
|
||||
bool RecvAffectRemovePacket();
|
||||
|
||||
// Channel
|
||||
bool RecvChannelPacket();
|
||||
|
||||
//Security
|
||||
bool RecvHSCheckRequest();
|
||||
bool RecvXTrapVerifyRequest();
|
||||
|
||||
protected:
|
||||
// <20≯<EFBFBD>Ƽ<EFBFBD><C6BC>
|
||||
bool ParseEmoticon(const char * pChatMsg, DWORD * pdwEmoticon);
|
||||
|
||||
// <20><><EFBFBD>̽<EFBFBD><CCBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ݵ<EFBFBD>
|
||||
void OnConnectFailure();
|
||||
void OnScriptEventStart(int iSkin, int iIndex);
|
||||
|
||||
void OnRemoteDisconnect();
|
||||
void OnDisconnect();
|
||||
|
||||
void SetGameOnline();
|
||||
void SetGameOffline();
|
||||
BOOL IsGameOnline();
|
||||
|
||||
protected:
|
||||
bool CheckPacket(TPacketHeader * pRetHeader);
|
||||
|
||||
void __InitializeGamePhase();
|
||||
void __InitializeMarkAuth();
|
||||
void __GlobalPositionToLocalPosition(LONG& rGlobalX, LONG& rGlobalY);
|
||||
void __LocalPositionToGlobalPosition(LONG& rLocalX, LONG& rLocalY);
|
||||
|
||||
bool __IsPlayerAttacking();
|
||||
bool __IsEquipItemInSlot(TItemPos Cell);
|
||||
|
||||
void __ShowMapName(LONG lLocalX, LONG lLocalY);
|
||||
|
||||
void __LeaveOfflinePhase() {}
|
||||
void __LeaveHandshakePhase() {}
|
||||
void __LeaveLoginPhase() {}
|
||||
void __LeaveSelectPhase() {}
|
||||
void __LeaveLoadingPhase() {}
|
||||
void __LeaveGamePhase();
|
||||
|
||||
void __ClearNetworkActorManager();
|
||||
|
||||
void __ClearSelectCharacterData();
|
||||
|
||||
// DELETEME
|
||||
//void __SendWarpPacket();
|
||||
|
||||
void __ConvertEmpireText(DWORD dwEmpireID, char* szText);
|
||||
|
||||
void __RecvCharacterAppendPacket(SNetworkActorData * pkNetActorData);
|
||||
void __RecvCharacterUpdatePacket(SNetworkUpdateActorData * pkNetUpdateActorData);
|
||||
|
||||
void __FilterInsult(char* szLine, UINT uLineLen);
|
||||
|
||||
void __SetGuildID(DWORD id);
|
||||
|
||||
protected:
|
||||
TPacketGCHandshake m_HandshakeData;
|
||||
DWORD m_dwChangingPhaseTime;
|
||||
DWORD m_dwBindupRetryCount;
|
||||
DWORD m_dwMainActorVID;
|
||||
DWORD m_dwMainActorRace;
|
||||
DWORD m_dwMainActorEmpire;
|
||||
DWORD m_dwMainActorSkillGroup;
|
||||
BOOL m_isGameOnline;
|
||||
BOOL m_isStartGame;
|
||||
|
||||
DWORD m_dwGuildID;
|
||||
DWORD m_dwEmpireID;
|
||||
|
||||
struct SServerTimeSync
|
||||
{
|
||||
DWORD m_dwChangeServerTime;
|
||||
DWORD m_dwChangeClientTime;
|
||||
} m_kServerTimeSync;
|
||||
|
||||
void __ServerTimeSync_Initialize();
|
||||
//DWORD m_dwBaseServerTime;
|
||||
//DWORD m_dwBaseClientTime;
|
||||
|
||||
DWORD m_dwLastGamePingTime;
|
||||
|
||||
std::string m_stID;
|
||||
std::string m_stPassword;
|
||||
std::string m_strLastCommand;
|
||||
std::string m_strPhase;
|
||||
DWORD m_dwLoginKey;
|
||||
BOOL m_isWaitLoginKey;
|
||||
|
||||
std::string m_stMarkIP;
|
||||
|
||||
CFuncObject<CPythonNetworkStream> m_phaseProcessFunc;
|
||||
CFuncObject<CPythonNetworkStream> m_phaseLeaveFunc;
|
||||
|
||||
PyObject* m_poHandler;
|
||||
PyObject* m_apoPhaseWnd[PHASE_WINDOW_NUM];
|
||||
PyObject* m_poSerCommandParserWnd;
|
||||
|
||||
TSimplePlayerInformation m_akSimplePlayerInfo[PLAYER_PER_ACCOUNT4];
|
||||
DWORD m_adwGuildID[PLAYER_PER_ACCOUNT4];
|
||||
std::string m_astrGuildName[PLAYER_PER_ACCOUNT4];
|
||||
bool m_bSimplePlayerInfo;
|
||||
|
||||
CRef<CNetworkActorManager> m_rokNetActorMgr;
|
||||
|
||||
bool m_isRefreshStatus;
|
||||
bool m_isRefreshCharacterWnd;
|
||||
bool m_isRefreshEquipmentWnd;
|
||||
bool m_isRefreshInventoryWnd;
|
||||
bool m_isRefreshExchangeWnd;
|
||||
bool m_isRefreshSkillWnd;
|
||||
bool m_isRefreshSafeboxWnd;
|
||||
bool m_isRefreshMallWnd;
|
||||
bool m_isRefreshMessengerWnd;
|
||||
bool m_isRefreshGuildWndInfoPage;
|
||||
bool m_isRefreshGuildWndBoardPage;
|
||||
bool m_isRefreshGuildWndMemberPage;
|
||||
bool m_isRefreshGuildWndMemberPageGradeComboBox;
|
||||
bool m_isRefreshGuildWndSkillPage;
|
||||
bool m_isRefreshGuildWndGradePage;
|
||||
|
||||
// Emoticon
|
||||
std::vector<std::string> m_EmoticonStringVector;
|
||||
|
||||
struct STextConvertTable
|
||||
{
|
||||
char acUpper[26];
|
||||
char acLower[26];
|
||||
BYTE aacHan[5000][2];
|
||||
} m_aTextConvTable[3];
|
||||
|
||||
|
||||
|
||||
struct SMarkAuth
|
||||
{
|
||||
CNetworkAddress m_kNetAddr;
|
||||
DWORD m_dwHandle;
|
||||
DWORD m_dwRandomKey;
|
||||
} m_kMarkAuth;
|
||||
|
||||
|
||||
|
||||
DWORD m_dwSelectedCharacterIndex;
|
||||
|
||||
CInsultChecker m_kInsultChecker;
|
||||
|
||||
bool m_isEnableChatInsultFilter;
|
||||
bool m_bComboSkillFlag;
|
||||
|
||||
std::deque<std::string> m_kQue_stHack;
|
||||
|
||||
private:
|
||||
struct SDirectEnterMode
|
||||
{
|
||||
bool m_isSet;
|
||||
DWORD m_dwChrSlotIndex;
|
||||
} m_kDirectEnterMode;
|
||||
|
||||
void __DirectEnterMode_Initialize();
|
||||
void __DirectEnterMode_Set(UINT uChrSlotIndex);
|
||||
bool __DirectEnterMode_IsSet();
|
||||
|
||||
public:
|
||||
DWORD EXPORT_GetBettingGuildWarValue(const char* c_szValueName);
|
||||
|
||||
private:
|
||||
struct SBettingGuildWar
|
||||
{
|
||||
DWORD m_dwBettingMoney;
|
||||
DWORD m_dwObserverCount;
|
||||
} m_kBettingGuildWar;
|
||||
|
||||
CInstanceBase * m_pInstTarget;
|
||||
|
||||
void __BettingGuildWar_Initialize();
|
||||
void __BettingGuildWar_SetObserverCount(UINT uObserverCount);
|
||||
void __BettingGuildWar_SetBettingMoney(UINT uBettingMoney);
|
||||
};
|
Reference in New Issue
Block a user