212 lines
4.3 KiB
C++
212 lines
4.3 KiB
C++
|
|
#pragma once
|
|
|
|
//#include <string>
|
|
//#include <vector>
|
|
#include <map>
|
|
#include <tchar.h>
|
|
|
|
#include <toolkit/khash.h>
|
|
#include <mmo/ArTime.h>
|
|
#include "SkillBaseFile.h"
|
|
|
|
using std::map;
|
|
using std::set;
|
|
using std::vector;
|
|
using std::string;
|
|
|
|
//////////////////////////////////////////////////////////////////////////
|
|
class SSkillDB
|
|
{
|
|
public:
|
|
SSkillDB();
|
|
~SSkillDB();
|
|
|
|
long GetCastingTime( int nSkillID, int nSkill_lv ); /// 2011.05.27 AR_TIME -> long - prodongi
|
|
bool IsNeedTarget( int nSkillID );
|
|
struct SkillBaseEx* GetSkillData( int nSkillID );
|
|
int GetToolTipID( int nSkillID );
|
|
int GetStringID( int nSkillID );
|
|
int GetIconID( int nSkillID );
|
|
const char * GetIconName( int nSkillID );
|
|
|
|
protected:
|
|
void Init();
|
|
void Destroy();
|
|
void Load();
|
|
|
|
KHash< SkillBaseEx*, hashPr_mod_int> m_hashSkill;
|
|
|
|
private:
|
|
|
|
public:
|
|
static SSkillDB* m_pThis;
|
|
};
|
|
|
|
SSkillDB & GetSkillDB();
|
|
|
|
//////////////////////////////////////////////////////////////////////////
|
|
//////////////////////////////////////////////////////////////////////////
|
|
|
|
class SSkillTreeDisplayDB
|
|
{
|
|
public:
|
|
SSkillTreeDisplayDB();
|
|
~SSkillTreeDisplayDB();
|
|
|
|
void GetSkillTree( int nJobID, std::vector<SkillTreeDisplay* >& skill_tree );
|
|
|
|
protected:
|
|
|
|
struct SKILL_TREE
|
|
{
|
|
~SKILL_TREE();
|
|
|
|
int nJobID;
|
|
std::vector<SkillTreeDisplay* > job_tree_list;
|
|
};
|
|
|
|
void Init();
|
|
void Destroy();
|
|
void Load();
|
|
|
|
void addTreeData( const SkillTreeDisplay* pData );
|
|
|
|
std::vector< SKILL_TREE* > tree_list;
|
|
};
|
|
|
|
SSkillTreeDisplayDB & GetSkillTreeDisplayDB();
|
|
|
|
|
|
//-----------------------------------------------------------------------------------------------------------------
|
|
// 스킬 트리 DB Struct
|
|
//-----------------------------------------------------------------------------------------------------------------
|
|
class SSkillTreeDB
|
|
{
|
|
|
|
public:
|
|
|
|
SSkillTreeDB( void );
|
|
~SSkillTreeDB( void );
|
|
|
|
const std::vector< SkillTreeEx >* GetSkillTreeData( int nSkillTree );
|
|
int GetSkillMaxLevel( int nSkillTree, int nSkillId );
|
|
void GetJobList_hasSkill( int nSkillID, std::vector<int> & jobList );
|
|
|
|
|
|
protected:
|
|
|
|
|
|
void Init( void );
|
|
void Load( void );
|
|
|
|
|
|
protected:
|
|
|
|
|
|
std::map< int, std::vector< SkillTreeEx >* > m_mapSkillTreeList;
|
|
|
|
};
|
|
|
|
SSkillTreeDB & GetSkillTreeDB();
|
|
|
|
|
|
|
|
class SSkillStageDB
|
|
{
|
|
protected:
|
|
KHash< _SKILL_FX*, hashPr_mod_int> m_hashSkillFx;
|
|
public:
|
|
void Init();
|
|
void Load();
|
|
void Destroy();
|
|
public:
|
|
_SKILL_FX* GetSkillStageData( int nSkillID);
|
|
public:
|
|
SSkillStageDB();
|
|
~SSkillStageDB();
|
|
};
|
|
|
|
SSkillStageDB & GetSkillStageDB();
|
|
|
|
//////////////////////////////////////////////////////////////////////////
|
|
//////////////////////////////////////////////////////////////////////////
|
|
|
|
class SFieldTypeMaterialDB
|
|
{
|
|
protected:
|
|
KHash< _FIELD_TYPE_MATERIAL*, hashPr_mod_int> m_hashFieldTypeMaterial;
|
|
protected:
|
|
void Init();
|
|
void Destroy();
|
|
void Load();
|
|
public:
|
|
SFieldTypeMaterialDB();
|
|
~SFieldTypeMaterialDB();
|
|
};
|
|
|
|
|
|
SFieldTypeMaterialDB & GetFieldTypeMaterialDB();
|
|
|
|
|
|
//-----------------------------------------------------------------------------------------------------------------
|
|
// 소환수 랜덤 스킬 DB Struct
|
|
//-----------------------------------------------------------------------------------------------------------------
|
|
namespace nsSummonRandomSkillDB
|
|
{
|
|
typedef struct stSummonRandomSkill
|
|
{
|
|
vector<UINT> vecSkillID;
|
|
|
|
stSummonRandomSkill()
|
|
{
|
|
}
|
|
|
|
~stSummonRandomSkill()
|
|
{
|
|
vecSkillID.clear();
|
|
}
|
|
|
|
}SUMMON_RANDOM_SKILL_ID, *PSUMMON_RANDOM_SKILL_ID;
|
|
};
|
|
|
|
using namespace nsSummonRandomSkillDB;
|
|
|
|
|
|
//-----------------------------------------------------------------------------------------------------------------
|
|
// 소환수 랜덤 스킬 DB Class
|
|
//-----------------------------------------------------------------------------------------------------------------
|
|
class SSummonRandomSkillDB
|
|
{
|
|
|
|
public:
|
|
|
|
|
|
SSummonRandomSkillDB( void );
|
|
~SSummonRandomSkillDB( void );
|
|
|
|
|
|
typedef map< UINT, PSUMMON_RANDOM_SKILL_ID > SUMMON_RANDOM_SKILL_LIST;
|
|
typedef map< UINT, PSUMMON_RANDOM_SKILL_ID >::iterator SUMMON_RANDOM_SKILL_ITER;
|
|
|
|
const SUMMON_RANDOM_SKILL_ID* const GetRandomSkillIDList( const int nGroupID );
|
|
|
|
|
|
private:
|
|
|
|
|
|
bool Load( void );
|
|
void Destroy( void );
|
|
|
|
|
|
private:
|
|
|
|
|
|
SUMMON_RANDOM_SKILL_LIST m_mapSummonRandomSkill;
|
|
|
|
};
|
|
|
|
SSummonRandomSkillDB & GetSummonRandomSkillDB();
|
|
|
|
|