📄 actor.h
字号:
/******************************************************************************************************************
CHero Class
*******************************************************************************************************************/
#pragma pack(1)
typedef struct tagFEATUREEX
{
BYTE bHorse;
BYTE wHairColor;
BYTE wDressColor;
}FEATUREEX, *LPFEATUREEX;
#pragma pack(8)
class CHero : public CActor
{
private:
public:
FEATUREEX m_stFeatureEx;
BYTE m_bWeaponImgIdx; // 泅犁 Actor 公扁啊 啊龙 捞固瘤备炼眉狼 锅龋.
BYTE m_bHairImgIdx; // 泅犁 Actor 赣府啊 啊龙 捞固瘤备炼眉狼 锅龋.
BYTE m_bHorseImgIdx; // 泅犁 Actor 富捞 啊龙 捞固瘤备炼眉狼 锅龋.
BYTE m_bYedoCnt;
BYTE m_bFireHitCnt;
BOOL m_bUseBanwol;
BOOL m_bUseErgum;
RECT m_rcHair;
RECT m_rcWeapon;
RECT m_rcHorse;
CWHWilImageData* m_pxHairImage;
CWHWilImageData* m_pxWeaponImage;
CWHWilImageData* m_pxHorseImage;
DWORD m_dwCurrHairFrame;
DWORD m_dwCurrWeaponFrame;
DWORD m_dwCurrHorseFrame;
BYTE m_bShieldCurrFrm;
WORD m_wShieldCurrDelay;
SHORT m_shHitSpeed;
BOOL m_bIsMon;
SHORT m_shCurrMagicID;
protected:
public:
CHero();
~CHero();
virtual VOID InitActor();
virtual VOID DestroyActor();
VOID ShowShield();
VOID PlayMoveSound();
virtual VOID PlayActSound();
virtual BOOL ChangeFeature(FEATURE stFeature, FEATUREEX stFeatureEx);
virtual BOOL Create(CImageHandler* pxImgHandler, BYTE bMtn, BYTE bDir, WORD wPosX, WORD wPosY, FEATURE* pstFeature, FEATUREEX* pstFeatureEx);
virtual BOOL UpdatePacketState();
virtual VOID UpdateMotionState(INT nLoopTime, BOOL bIsMoveTime);
virtual BOOL UpdateMove(BOOL bIsMoveTime);
virtual VOID OnRun(LPPACKETMSG lpPacketMsg);
virtual VOID OnRush(LPPACKETMSG lpPacketMsg);
virtual VOID OnMagicFire(LPPACKETMSG lpPacketMsg);
virtual VOID OnSpell(LPPACKETMSG lpPacketMsg);
virtual VOID OnCharDescPacket(LPPACKETMSG lpPacketMsg);
virtual VOID OnFeatureChanged(LPPACKETMSG lpPacketMsg);
virtual VOID OnCharStatusChanged(LPPACKETMSG lpPacketMsg);
virtual VOID OnBackStep(LPPACKETMSG lpPacketMsg);
virtual VOID OnDeath(LPPACKETMSG lpPacketMsg);
virtual VOID OnWalk(LPPACKETMSG lpPacketMsg);
virtual VOID OnTurn(LPPACKETMSG lpPacketMsg);
virtual VOID OnStruck(LPPACKETMSG lpPacketMsg);
virtual VOID OnHit(LPPACKETMSG lpPacketMsg);
virtual VOID OnButch(LPPACKETMSG lpPacketMsg);
virtual BOOL DrawActor(CMapHandler* pxMap, BOOL bFocused = FALSE, BOOL bShadowAblended = FALSE,
BOOL bUseScrnPos = TRUE, BOOL bDrawShadow = TRUE);
};
/******************************************************************************************************************
CMyHero Class
*******************************************************************************************************************/
#pragma pack(1)
typedef struct tagACTORABILITY
{
WORD wAC;
WORD wMAC;
WORD wDC;
WORD wMC;
WORD wSC;
WORD wHP;
WORD wMP;
WORD wMaxHP;
WORD wMaxMP;
WORD wWeight;
BYTE bExpCount;
BYTE bExpMaxCount;
BYTE bLevel;
BYTE bReserved1;
BYTE bWearWeight;
BYTE bMaxWearWeight;
BYTE bHandWeight;
BYTE bMaxHandWeight;
DWORD dwExp;
DWORD dwMaxExp;
WORD wMaxWeight;
}ACTORABILITY, *LPACTORABILITY;
typedef struct tagACTORSUBABILITY
{
WORD wAntiMagic; // 付过雀乔.
BYTE bHitPoint; // 沥犬.
BYTE bSpeedPoint; // 刮酶.
BYTE bAntiPoison; // 吝刀雀乔.
BYTE bPoisonRecover; // 吝刀雀汗.
BYTE bHealthRecover; // 眉仿雀汗.
BYTE bSpellRecover; // 付仿雀汗.
}ACTORSUBABILITY, *LPACTORSUBABILITY;
#pragma pack(8)
class CMyHero : public CHero
{
private:
public:
//---------------------------------------------------------------------------------------------------------------//
// 某腐磐 焊沥侩 函荐.
DWORD m_dwMotionLockTime;
BOOL m_bInputLock; // 某腐磐啊 悼累登搁 绢恫涝仿档 罐瘤 臼绰促.
BOOL m_bMotionLock; // 某腐磐狼 悼累捞 技泼登搁 辑滚俊辑 悼累铰牢捞 坷扁傈鳖柳 绢恫悼累档 罐瘤 臼绰促.
//---------------------------------------------------------------------------------------------------------------//
CMapHandler* m_pxMap;
BOOL m_bCanRun;
BYTE m_bAttackMode;
ACTORABILITY m_stAbility;
ACTORSUBABILITY m_stSubAbility;
BYTE m_bJob;
UINT m_nGlod;
CWHQueue m_xPriorPacketQueue; // Actor啊 贸府秦具瞪 皋矫瘤甫 历厘窍绊 乐绰 钮.
//---------------------------------------------------------------------------------------------------------------//
// 某腐磐 Delay包访 函荐.
DWORD m_dwLastHitTime; // 漠龙捞 甸绢艾阑锭狼 平 焊包蔼.
DWORD m_dwLastSpellTime; // 付过捞 甸绢艾阑锭狼 平 焊包蔼.
DWORD m_dwLastMagicTime; // 堪拳搬 矫傈饶狼 平焊包蔼.
DWORD m_dwLastStruckTime; // 嘎疽阑锭狼 平 焊包蔼.
DWORD m_dwLastPKStruckTime;
DWORD m_dwLastRushTime; // 公怕焊 矫傈饶狼 平焊包蔼.
DWORD m_dwLastFireHitTime; // 堪拳搬 矫傈饶狼 平焊包蔼.
WORD m_wMagicPKDelayTime; // 付过栏肺 荤恩阑 傍拜沁阑锭狼 菩澄萍Delay.(叭扁客 顿扁俊 利侩等促.)
WORD m_wMagicDelayTime; // 付过阑静绊 抄饶 促澜付过捞 甸绢哎锭鳖瘤狼 Delay.
//---------------------------------------------------------------------------------------------------------------//
protected:
public:
CMyHero();
~CMyHero();
virtual VOID InitActor();
virtual VOID DestroyActor();
VOID SetMotionState(BYTE bMtn, BYTE bDir, INT nMouseTargetID = NULL, BOOL bIsDead = FALSE, LPPOINT lpptPos = NULL, SHORT shSkill = -1);
VOID SetMapHandler(CMapHandler* pxMap);
VOID SetMagic(LPCLIENTMAGICRCD pstMagic, BYTE bKeyNum, BYTE bDir, INT nTargetID, FEATURE stTargetFeature, POINT ptTargetPos);
BOOL SetOldPosition();
BOOL CheckMyPostion();
VOID AdjustMyPostion();
BYTE CalcDirection(INT nTargetTileX, INT nTargetTileY);
POINT GetPosMouseToTile(INT nXPos, INT nYPos);
virtual BOOL Create(CImageHandler* pxImgHandler, BYTE bMtn, BYTE bDir, WORD wPosX, WORD wPosY, FEATURE* pstFeature, FEATUREEX* pstFeatureEx);
virtual VOID OnHealthSpellChanged(LPPACKETMSG lpPacketMsg);
virtual BOOL UpdatePacketState();
virtual VOID UpdateMotionState(INT nLoopTime, BOOL bIsMoveTime);
virtual BOOL UpdateMove(BOOL bIsMoveTime);
virtual BOOL DrawActor(BOOL bFocused = FALSE, BOOL bShadowAblended = FALSE,
BOOL bUseScrnPos = FALSE, BOOL bDrawShadow = TRUE);
__inline virtual BOOL ChangeFeature(FEATURE stFeature, FEATUREEX stFeatureEx)
{
if ( m_bIsMon )
{
if ( CActor::ChangeFeature(stFeature) ) return TRUE;
}
else
{
if ( CHero::ChangeFeature(stFeature, stFeatureEx) ) return TRUE;
}
return FALSE;
}
//---------------------------------------------------------------------------------------------------------------//
// 某腐磐 Delay包访 窃荐.
BOOL CanNextHit(); // 瘤陛 漠龙且荐 乐唱狼 咯何. 饭骇苞 馒侩公霸俊 蝶扼 崔扼柳促.
BOOL CanWalk(); // Delay客 包访瘤绢辑 某腐磐啊 框流老荐 乐绰瘤狼 咯何.
BOOL CanRun(); // Delay客 包访瘤绢辑 某腐磐啊 框流老荐 乐绰瘤狼 咯何.
//---------------------------------------------------------------------------------------------------------------//
//---------------------------------------------------------------------------------------------------------------//
// 蜡历 涝仿窃荐.
BOOL OnLButtonDown(POINT ptMouse, INT nTargetID = -1, BOOL bIsDead = FALSE, POINT* lpptTargetPos = NULL);
BOOL OnRButtonDown(POINT ptMouse);
BOOL OnKeyDown(WPARAM wParam, LPARAM lParam, POINT ptMouse, POINT ptTargetPos, INT nMosueTargetID, FEATURE stTargetFeature);
//---------------------------------------------------------------------------------------------------------------//
};
#endif // _CACTOR_H
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -