📄 i_role.h
字号:
else if(nFromY > nToY)
return 5;
else
return 6;
}
else if(nFromX > nToX)
{
if(nFromY < nToY)
return 1;
else if(nFromY > nToY)
return 3;
else
return 2;
}
else // if(nFromX == nToX)
{
if(nFromY < nToY)
return 0;
else if(nFromY > nToY)
return 4;
}
return MAX_DIRSIZE;
}
inline int MaskLook(int look) { return look/10; }
inline int MaskDir(int look) { return look%10; }
inline DWORD MakeLookFace(int nMaskLook, int nMaskDir) { return (nMaskLook*10) + (nMaskDir%10); }
inline float GetRadian(float posSourX, float posSourY, float posTargetX, float posTargetY)
{
CHECKF(posSourX != posTargetX || posSourY != posTargetY);
float PI = static_cast<float>(3.1415926535);
float fDeltaX = posTargetX - posSourX;
float fDeltaY = posTargetY - posSourY;
float fDistance = sqrt(fDeltaX*fDeltaX + fDeltaY*fDeltaY);
CHECKF(fDeltaX <= fDistance && fDistance > 0);
float fRadian = asin(fDeltaX / fDistance);
return fDeltaY > 0 ? (PI/2 - fRadian) : (PI + fRadian + PI/2);
}
//////////////////////////////////////////////////////////////////////
class IRole;
class IMapThing
{
public: // base
virtual void ReleaseByOwner() PURE_VIRTUAL_FUNCTION
virtual OBJID GetID() PURE_VIRTUAL_FUNCTION_0
virtual int GetObjType() PURE_VIRTUAL_FUNCTION_0
virtual int GetPosX() PURE_VIRTUAL_FUNCTION_0
virtual int GetPosY() PURE_VIRTUAL_FUNCTION_0
virtual void SendShow(IRole* pRole) PURE_VIRTUAL_FUNCTION
// return true: ppv返回对象指针
virtual bool QueryObj(OBJID idObjType, void** ppv) PURE_VIRTUAL_FUNCTION_0
virtual bool QueryRole(void** ppv) PURE_VIRTUAL_FUNCTION_0
};
//////////////////////////////////////////////////////////////////////
class IMapThing;
class IStatus;
class CTransformation;
class CTeam;
class CItem;
class CMagic;
class IRole
{
protected:
IRole(){}
~IRole(){}
public:
virtual void ReleaseByOwner () PURE_VIRTUAL_FUNCTION
public: // get attrib
virtual OBJID GetID () PURE_VIRTUAL_FUNCTION_0
virtual LPCTSTR GetName () PURE_VIRTUAL_FUNCTION_0
// virtual LPCTSTR GetMate () PURE_VIRTUAL_FUNCTION_0
virtual DWORD GetLookFace () PURE_VIRTUAL_FUNCTION_0
//以后要分解成下面两个接口
//virtual int GetLook () PURE_VIRTUAL_FUNCTION_0
//virtual int GetFace () PURE_VIRTUAL_FUNCTION_0
virtual DWORD GetHair () PURE_VIRTUAL_FUNCTION_0
virtual char GetLength () PURE_VIRTUAL_FUNCTION_0 // 取得角色高矮 -- zlong 2004-02-03
virtual char GetFat () PURE_VIRTUAL_FUNCTION_0 // 取得角色胖瘦 -- zlong 2004-02-03
virtual int GetPosX () PURE_VIRTUAL_FUNCTION_0
virtual int GetPosY () PURE_VIRTUAL_FUNCTION_0
virtual int GetDir () PURE_VIRTUAL_FUNCTION_0
// virtual BOOL CheckStatus (int nStatus) PURE_VIRTUAL_FUNCTION_0
virtual I64 GetEffect () PURE_VIRTUAL_FUNCTION_0
virtual int GetPose () PURE_VIRTUAL_FUNCTION_0
// virtual DWORD GetMoney () PURE_VIRTUAL_FUNCTION_0
// virtual DWORD GetMoneySaved () PURE_VIRTUAL_FUNCTION_0
// virtual int GetExp () PURE_VIRTUAL_FUNCTION_0
virtual DWORD GetLev () PURE_VIRTUAL_FUNCTION_0
virtual DWORD GetLife () PURE_VIRTUAL_FUNCTION_0
// virtual DWORD GetMana () PURE_VIRTUAL_FUNCTION_0
virtual DWORD GetMaxLife () PURE_VIRTUAL_FUNCTION_0
// virtual DWORD GetMaxMana () PURE_VIRTUAL_FUNCTION_0
virtual DWORD GetMinAtk () PURE_VIRTUAL_FUNCTION_0
virtual DWORD GetMaxAtk () PURE_VIRTUAL_FUNCTION_0
virtual DWORD GetMgcMinAtk () PURE_VIRTUAL_FUNCTION_0
virtual DWORD GetMgcMaxAtk () PURE_VIRTUAL_FUNCTION_0
virtual DWORD GetAttack () PURE_VIRTUAL_FUNCTION_0
virtual DWORD GetAtkHitRate () PURE_VIRTUAL_FUNCTION_0
virtual DWORD GetDef () PURE_VIRTUAL_FUNCTION_0
virtual DWORD GetDefence () PURE_VIRTUAL_FUNCTION_0
virtual DWORD GetDex () PURE_VIRTUAL_FUNCTION_0
virtual DWORD GetDexterity () PURE_VIRTUAL_FUNCTION_0
virtual DWORD GetDdg () PURE_VIRTUAL_FUNCTION_0
virtual DWORD GetDodge () PURE_VIRTUAL_FUNCTION_0
// virtual DWORD GetMagicAtk () PURE_VIRTUAL_FUNCTION_0
virtual DWORD GetMagicDef () PURE_VIRTUAL_FUNCTION_0
virtual DWORD GetInterAtkRate () PURE_VIRTUAL_FUNCTION_0
virtual DWORD GetIntervalAtkRate () PURE_VIRTUAL_FUNCTION_0
virtual int GetHelmetTypeID () PURE_VIRTUAL_FUNCTION_0
virtual int GetArmorTypeID () PURE_VIRTUAL_FUNCTION_0
virtual int GetWeaponRTypeID () PURE_VIRTUAL_FUNCTION_0
virtual int GetWeaponLTypeID () PURE_VIRTUAL_FUNCTION_0
// virtual int GetNecklaceTypeID () PURE_VIRTUAL_FUNCTION_0
// virtual int GetRingRTypeID () PURE_VIRTUAL_FUNCTION_0
// virtual int GetRingLTypeID () PURE_VIRTUAL_FUNCTION_0
// virtual int GetShoesTypeID () PURE_VIRTUAL_FUNCTION_0
virtual int GetMountTypeID () PURE_VIRTUAL_FUNCTION_0
virtual int GetMantleTypeID () PURE_VIRTUAL_FUNCTION_0
// virtual DWORD GetMedalSelect () PURE_VIRTUAL_FUNCTION_0
// virtual DWORD GetTitleSelect () PURE_VIRTUAL_FUNCTION_0
virtual int GetDistance (int x, int y) PURE_VIRTUAL_FUNCTION_0
virtual int GetDistance (IMapThing* pTarget) PURE_VIRTUAL_FUNCTION_0
virtual CGameMap* GetMap () PURE_VIRTUAL_FUNCTION_0
virtual DWORD GetSynID () PURE_VIRTUAL_FUNCTION_0
virtual DWORD GetSynRank () PURE_VIRTUAL_FUNCTION_0
virtual DWORD GetSynRankShow () PURE_VIRTUAL_FUNCTION_0
virtual bool IsSimpleMagicAtk () PURE_VIRTUAL_FUNCTION_0
virtual int GetSimpleMagicHitRate() PURE_VIRTUAL_FUNCTION_0
virtual int GetTutorExp () PURE_VIRTUAL_FUNCTION_0
virtual UCHAR GetTutorLevel () PURE_VIRTUAL_FUNCTION_0
virtual UCHAR GetMercenaryRank () PURE_VIRTUAL_FUNCTION_0
virtual DWORD GetMercenaryExp () PURE_VIRTUAL_FUNCTION_0
virtual UCHAR GetNobilityRank () PURE_VIRTUAL_FUNCTION_0
virtual DWORD GetExploit () PURE_VIRTUAL_FUNCTION_0
public: // const
// virtual int GetSex () PURE_VIRTUAL_FUNCTION_0
virtual bool IsAlive () PURE_VIRTUAL_FUNCTION_0
virtual bool IsTalkEnable () PURE_VIRTUAL_FUNCTION_0
virtual bool IsGM () PURE_VIRTUAL_FUNCTION_0
virtual bool IsPM () PURE_VIRTUAL_FUNCTION_0
virtual bool IsMonster () PURE_VIRTUAL_FUNCTION_0
// virtual bool IsScene () PURE_VIRTUAL_FUNCTION_0
virtual bool IsDelThis () PURE_VIRTUAL_FUNCTION_0
virtual bool IsVirtuous() PURE_VIRTUAL_FUNCTION_0
virtual bool IsEvil() PURE_VIRTUAL_FUNCTION_0
virtual bool IsBowman() PURE_VIRTUAL_FUNCTION_0
virtual bool IsShieldEquip() PURE_VIRTUAL_FUNCTION_0
virtual bool IsWing() PURE_VIRTUAL_FUNCTION_0
virtual bool IsSendBlockInfo () PURE_VIRTUAL_FUNCTION_0
// return true: ppv返回对象指针
virtual bool QueryObj (OBJID idObjType, void** ppv) PURE_VIRTUAL_FUNCTION_0
virtual IMapThing* QueryMapThing () PURE_VIRTUAL_FUNCTION_0
virtual IRole* FindAroundRole (OBJID id) PURE_VIRTUAL_FUNCTION_0
virtual CUser* QueryOwnerUser () PURE_VIRTUAL_FUNCTION_0
public: // modify attrib ------------------------------
virtual void SetDir (int nDir) PURE_VIRTUAL_FUNCTION
virtual void SetPose (int nPose) PURE_VIRTUAL_FUNCTION
// virtual void SetEmotion (int nEmotion) PURE_VIRTUAL_FUNCTION
virtual void SetStatus (int nStatus, bool bSynchro=true) PURE_VIRTUAL_FUNCTION
virtual void ClsStatus (int nStatus, bool bSynchro=true) PURE_VIRTUAL_FUNCTION
virtual bool AddAttrib (int idxAttr, __int64 i64Data, int bSynchro) PURE_VIRTUAL_FUNCTION_0
virtual void ProcessOnMove (int nMoveMode) PURE_VIRTUAL_FUNCTION
virtual void ProcessAfterMove () PURE_VIRTUAL_FUNCTION
virtual void GetFootPrint (int& x, int& y) PURE_VIRTUAL_FUNCTION
virtual bool SpendArrow () PURE_VIRTUAL_FUNCTION_0
virtual IStatus* QueryStatus(OBJID idType) PURE_VIRTUAL_FUNCTION_0
virtual IStatusSet* QueryStatusSet() PURE_VIRTUAL_FUNCTION_0
virtual void AwardBattleExp (int nExp, bool bGemEffect=true) PURE_VIRTUAL_FUNCTION
virtual int AdjustHitRate (int nHitRate) PURE_VIRTUAL_FUNCTION_0
virtual int AdjustAttack (int nAtk) PURE_VIRTUAL_FUNCTION_0
virtual int AdjustDefence (int nDef) PURE_VIRTUAL_FUNCTION_0
virtual int AdjustMagicAtk (int nAtk) PURE_VIRTUAL_FUNCTION_0
virtual int AdjustMagicDef (int nDef) PURE_VIRTUAL_FUNCTION_0
virtual int AdjustBowDefence (int nDef) PURE_VIRTUAL_FUNCTION_0
virtual int AdjustWeaponDamage (int nDamage) PURE_VIRTUAL_FUNCTION_0
virtual int AdjustMagicDamage (int nDamage) PURE_VIRTUAL_FUNCTION_0
virtual void SetFightPause (int nInterval) PURE_VIRTUAL_FUNCTION
virtual void SaveInfo () PURE_VIRTUAL_FUNCTION
public: // money --------------------------------
// virtual bool SpendMoney (DWORD nMoney, bool bSynchro) PURE_VIRTUAL_FUNCTION_0
// virtual bool GainMoney (DWORD nMoney, bool bSynchro) PURE_VIRTUAL_FUNCTION_0
public: // interactive
// virtual bool AddItem (CItem* pItem) PURE_VIRTUAL_FUNCTION_0
// virtual bool IsItemFull () PURE_VIRTUAL_FUNCTION_0
public: // system
virtual void BroadcastRoomMsg(CNetMsg* pMsg, bool bSendSelf = false) PURE_VIRTUAL_FUNCTION
virtual void BroadcastRoomMsg(LPCTSTR szMsg, bool bSendSelf = false) PURE_VIRTUAL_FUNCTION
// virtual void BroadcastMapMsg(CNetMsg* pMsg, bool bSendSelf = false) PURE_VIRTUAL_FUNCTION
// virtual void BroadcastMapMsg(LPCTSTR szMsg, bool bSendSelf = false) PURE_VIRTUAL_FUNCTION
virtual bool SendMsg(CNetMsg* pMsg) PURE_VIRTUAL_FUNCTION_0
virtual bool SendSysMsg(const char* fmt, ...) PURE_VIRTUAL_FUNCTION_0
virtual void OnTimer(time_t tCurr) PURE_VIRTUAL_FUNCTION
public: // map
virtual bool MoveToward(int nDir, bool bSync = true) PURE_VIRTUAL_FUNCTION_0
virtual void TransPos(int nPosX, int nPosY) PURE_VIRTUAL_FUNCTION
virtual void JumpPos(int nPosX, int nPosY) PURE_VIRTUAL_FUNCTION
virtual bool SyncTrackTo(int nPosX, int nPosY, int nDir, DWORD dwAction) PURE_VIRTUAL_FUNCTION_0
virtual void ActiveTransPos(int nPosX, int nPosY) PURE_VIRTUAL_FUNCTION
virtual bool SendSelfToBlock() PURE_VIRTUAL_FUNCTION_0
virtual void AddToBCRoleSet (OBJID idRole, bool bSendMsg) PURE_VIRTUAL_FUNCTION
virtual void RemoveFromBCRoleSet (OBJID idRole) PURE_VIRTUAL_FUNCTION
virtual void AddToBCMapItemSet (OBJID idMapItem) PURE_VIRTUAL_FUNCTION
virtual void RemoveFromBCMapItemSet (OBJID idMapItem) PURE_VIRTUAL_FUNCTION
public: // fight ------------------------------
virtual void ClrAttackTarget () PURE_VIRTUAL_FUNCTION
virtual bool SetAttackTarget(IRole* pTarget = NULL) PURE_VIRTUAL_FUNCTION_0
virtual bool AutoSkillAttack(IRole* pTarget) PURE_VIRTUAL_FUNCTION_0
virtual bool AdditionMagic(int nLifeLost, int nDamage) PURE_VIRTUAL_FUNCTION_0
virtual int Attack(IRole* pTarget) PURE_VIRTUAL_FUNCTION_0
virtual bool BeAttack(bool bMagic, IRole* pTarget, int nPower, bool bReflectEnable=true) PURE_VIRTUAL_FUNCTION_0
virtual bool MagicAttack(int nType, OBJID idTarget, int x, int y) PURE_VIRTUAL_FUNCTION_0
virtual void Kill(IRole* pTarget, DWORD dwDieWay) PURE_VIRTUAL_FUNCTION
virtual void BeKill(IRole* pTarget = NULL) PURE_VIRTUAL_FUNCTION
virtual bool IsAtkable(IRole* pTarget, bool bSendHint=false) PURE_VIRTUAL_FUNCTION_0
virtual bool IsBeAtkable() PURE_VIRTUAL_FUNCTION_0
virtual int GetAttackRange(int nTargetSizeAdd) PURE_VIRTUAL_FUNCTION_0
virtual int GetSizeAdd() PURE_VIRTUAL_FUNCTION_0
virtual int GetLuck () PURE_VIRTUAL_FUNCTION_0
virtual void SendDamageMsg(OBJID idTarget, int nDamage) PURE_VIRTUAL_FUNCTION
virtual bool TransferShield(bool bMagic, IRole* pAtker, int nDamage) PURE_VIRTUAL_FUNCTION_0
public: // 为了修改魔法系统而增加的部分,等魔法系统修改完再做整理
virtual void AwardSynWarScore(CNpc* pNpc, int nScore) PURE_VIRTUAL_FUNCTION
virtual bool IsImmunity(IRole* pRole) PURE_VIRTUAL_FUNCTION_0
virtual DWORD GetProfession() PURE_VIRTUAL_FUNCTION_0
virtual int GetGemExpEffect() PURE_VIRTUAL_FUNCTION_0
virtual int GetGemMgcExpEffect() PURE_VIRTUAL_FUNCTION_0
virtual bool SpendEquipItem(int nSubType, int nNum, bool bSynchro) PURE_VIRTUAL_FUNCTION_0
virtual int AdjustExp(IRole* pTarget, int nRawExp, bool bNewbieBonusMsg=false) PURE_VIRTUAL_FUNCTION_0
virtual bool DecEquipmentDurability(bool bBeAttack, bool bMagic, int bDurValue=1) PURE_VIRTUAL_FUNCTION_0
virtual void SendGemEffect() PURE_VIRTUAL_FUNCTION
virtual bool IsEmbedGemType(int nGemType) PURE_VIRTUAL_FUNCTION_0
virtual DWORD GetMana() PURE_VIRTUAL_FUNCTION_0
virtual DWORD GetMaxMana() PURE_VIRTUAL_FUNCTION_0
virtual int GetEnergy() PURE_VIRTUAL_FUNCTION_0
virtual bool CheckWeaponSubType(int nSubType, int nNum = 0) PURE_VIRTUAL_FUNCTION_0
virtual DWORD GetPotential() PURE_VIRTUAL_FUNCTION_0
virtual CTransformation* QueryTransformation() PURE_VIRTUAL_FUNCTION_0
virtual bool IsArrowPass(int x, int y, int nAlt=ARROW_FLY_ALT) PURE_VIRTUAL_FUNCTION_0
virtual CTeam* GetTeam() PURE_VIRTUAL_FUNCTION_0
virtual CItem* GetEquipItemByPos(int nPosition) PURE_VIRTUAL_FUNCTION_0
virtual bool CheckCrime(IRole* pRole) PURE_VIRTUAL_FUNCTION_0
virtual void SetDelay(int nDelay) PURE_VIRTUAL_FUNCTION
virtual CItem* GetWeaponR () PURE_VIRTUAL_FUNCTION_0
virtual CItem* GetWeaponL () PURE_VIRTUAL_FUNCTION_0
virtual bool DropItem(OBJID idItem, int x, int y) PURE_VIRTUAL_FUNCTION_0
virtual DWORD GetSoulSum() PURE_VIRTUAL_FUNCTION_0
virtual void AddEquipmentDurability(int nPosition, int nAddValue) PURE_VIRTUAL_FUNCTION
virtual bool SynPosition(int nPosX, int nPosY, int nMaxDislocation = 8) PURE_VIRTUAL_FUNCTION_0
virtual bool Transform(DWORD dwType, int nKeepSecs, bool bSynchro = true) PURE_VIRTUAL_FUNCTION_0
virtual bool IsInFan(POINT pos, POINT posSource, int nRange, int nWidth, POINT posCenter) PURE_VIRTUAL_FUNCTION_0
virtual bool AddItem (CItem* pItem, bool bSynchro, bool bUpdate = true) PURE_VIRTUAL_FUNCTION_0
virtual bool Synchro() PURE_VIRTUAL_FUNCTION_0
virtual int AdjustData(int nData, int nAdjust, int nMaxData=0) PURE_VIRTUAL_FUNCTION_0
virtual CItem* FindSpaceTransSpell() PURE_VIRTUAL_FUNCTION_0
virtual CMagic* QueryMagic() PURE_VIRTUAL_FUNCTION_0
};
#endif // !defined(I_ROLE_HEADER)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -