Files
Sun1602/Server/GameServer/MapNpc.h
T
2022-10-26 12:25:11 +08:00

42 lines
1.1 KiB
C++

#pragma once
#include "NPC.h"
#include "AppliedNpcDependencyChain.h"
class MapNpc : public NPC
{
public:
MapNpc();
virtual ~MapNpc();
void InitMapNPC(WORD NPCCode, MAPOBJECT_INFO *pMapInfo);
DWORD GetMapObjectID() { return m_pMapObjectInfo->dwMapObjectID; }
virtual BOOL Update(DWORD dwDeltaTick);
virtual VOID Reuse() { Release(); }
virtual VOID OnEnterField( GameField & IN rField, const WzVector & IN rwzVec, int iAngle=-1 );
virtual VOID OnLeaveField();
virtual VOID OnEnterObject( const Sector & IN rSector );
virtual VOID OnDead();
virtual eUSER_RELATION_TYPE IsFriend( Character *pTarget );
protected:
virtual void _Damaged(DamageArgs* damage_arg);
protected:
virtual BOOL Init();
virtual VOID Release();
__inline VOID SetMapObjectInfo(MAPOBJECT_INFO *pMapObjectInfo) { m_pMapObjectInfo = pMapObjectInfo; }
private:
eUSER_RELATION_TYPE IsFriend_FriendMapNpc(Character* pTarget);
eUSER_RELATION_TYPE IsFriend_DominationMapNpc(Character* pTarget);
//
// fields...
INpcLinkActionD m_LinkedAction;
MAPOBJECT_INFO* m_pMapObjectInfo;
};