Files
Sun1602/Tools/ItemDropTestTool/DropManager.h
T
2022-10-26 12:25:11 +08:00

65 lines
2.0 KiB
C++

#pragma once
#include "DropResult.h"
using namespace std;
typedef multimap< DWORD, CDropItem > DROPITEM_MAP;
typedef DROPITEM_MAP::iterator DROPITEM_ITER;
typedef multimap< DWORD, CDropResult > DROPRESULT_MAP;
typedef DROPRESULT_MAP::iterator DROPRESULT_ITER;
typedef list< BASE_NPCINFO* > MONSTER_LIST;
typedef MONSTER_LIST::iterator MONSTER_ITER;
class CDropManager
{
public:
CDropManager(void);
virtual ~CDropManager(void);
//method:
public:
vector<CString> GetProcessTitle(); //과정 타이틀
vector<CString> GetResultTitle(); //결과 티이틀
vector<CString> GetNameScriptType();
vector<CString> GetNameMonsterType();
BOOL Initialize();
BOOL DropItem( WORD wLowerLevel, WORD wUpperLevel, BYTE byGrade, DWORD dwNpcCount, BYTE byFieldType );
BOOL DropItemEx( DWORD dwNpcCode, DWORD dwNpcCount, BYTE byFieldType );
void SetScriptType(int nType);
int GetScriptType();
void CalcItemDropResult();
VOID DropMoney( MONEY DroppedMoney, MONEY & TotalMoney );
DROPITEM_MAP* GetDropItems(){ return &m_mapDropItem; }
DROPRESULT_MAP* GetResultDropItems(){ return &m_mapDropResult; }
void SetCntKillMonster( DWORD dwCntKillMonster ){ m_dwCntKillMonster = dwCntKillMonster; }
// CString GetItemType(eDROP_TYPE type);
CString GetItemType(eDROP_TYPE_ type);
CString GetRank( eRANK rank );
CString GetEnchantLevel(eENCHANTLEVEL level);
CString GetSaveDropInfo(int nViewOption);
void GetMonster( WORD wLowerLevel, WORD wUpperLevel, BYTE byGrade, MONSTER_LIST& listMonster );
//variable:
private:
int m_nScriptType; // 스트립트 타입 0 : 미션용, 1 : 헌팅용
DWORD m_dwCntKillMonster; // 죽이는 몬스터 개체수
DROPITEM_MAP m_mapDropItem;
DROPRESULT_MAP m_mapDropResult;
vector<DWORD> m_vecItemCode;
DropCore m_DropCore;
//method:
private:
void CalcStatistics(); // 코드기준 통계를 계산한다.
void CalcStatisticsEx(); // 세부항목별..
};