DragonNest/Server/DNGameServer/RevengeSystem.h

32 lines
973 B
C
Raw Permalink Normal View History

#pragma once
#if defined(PRE_ADD_REVENGE)
class CPvPGameMode;
class CDNUserSession;
class CRevengeSystem : public TBoostMemoryPool<CRevengeSystem> //<2F>޸<EFBFBD><DEB8><EFBFBD> Ǯ <20>ʿ<EFBFBD><CABF>Ѱ<EFBFBD>??
{
public:
CRevengeSystem(CPvPGameMode* pGameMode);
virtual ~CRevengeSystem();
bool CheckRevenge( CDNUserSession *pGameSession, CDNUserSession *pHitterSession );
void LeaveUser(UINT nSessionID);
private:
UINT GetRevengeTargetSessionID(UINT nSessionID) { return m_MapRevengeTarget[nSessionID]; }
void SetRevengeTargetSessionID(UINT nSessionID, UINT nTargetSessionID) { m_MapRevengeTarget[nSessionID] = nTargetSessionID; }
int IncreaseRevengeConditionCount(UINT nSessionID, UINT nTargetSessionID);
void ResetRevengeConditionCount(UINT nSessionID);
void ResetRevengeConditionTarget(UINT nSessionID);
void ResetAllRevengeConditionCount();
protected:
CPvPGameMode * m_pGameMode;
std::map<UINT,std::map<UINT,int>> m_MapRevengeConditions;
std::map<UINT, UINT> m_MapRevengeTarget;
};
#endif