Restructure repository to include all source folders
Move git root from Client/ to src/ to track all source code: - Client: Game client source (moved to Client/Client/) - Server: Game server source - GameTools: Development tools - CryptoSource: Encryption utilities - database: Database scripts - Script: Game scripts - rylCoder_16.02.2008_src: Legacy coder tools - GMFont, Game: Additional resources 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
107
Server/RylServerProject/RylGameLibrary/Item/ItemMgr.h
Normal file
107
Server/RylServerProject/RylGameLibrary/Item/ItemMgr.h
Normal file
@@ -0,0 +1,107 @@
|
||||
#ifndef _CITEM_MGR_H_
|
||||
#define _CITEM_MGR_H_
|
||||
|
||||
#define g_ItemMgr Item::CItemMgr::GetInstance()
|
||||
|
||||
#include <vector>
|
||||
#include <map>
|
||||
|
||||
#include "ItemStructure.h"
|
||||
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// class : CItemMgr ( must use in single thread )
|
||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>ũ<EFBFBD><C5A9>Ʈ<EFBFBD><C6AE> <20>ε<EFBFBD><CEB5>ϰ<EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD>ϰ<EFBFBD>, <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>Ѵ<EFBFBD>.
|
||||
|
||||
namespace Item
|
||||
{
|
||||
// <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
class CItem;
|
||||
|
||||
class CItemMgr
|
||||
{
|
||||
public:
|
||||
|
||||
static CItemMgr& GetInstance();
|
||||
|
||||
typedef std::map<ItemType::Type, unsigned char> RuneItemCnt;
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>ũ<EFBFBD><C5A9>Ʈ (ItemScript.txt)
|
||||
|
||||
bool LoadItemProtoType(const char* szFileName = NULL);
|
||||
bool LoadItemProtoTypeBinary(const char* szFileNameBinary = NULL);
|
||||
bool SaveItemProtoTypeBinary(const char* szFileNameBinary = NULL, const char* szTrashFile = NULL);
|
||||
|
||||
const ItemInfo* GetItemInfo(unsigned short usProtoTypeID);
|
||||
const ItemInfo* GetItemInfoFromItemName(const char* szItemName);
|
||||
const ItemInfo* GetItemInfoFromEquipName(const char* szEquipName);
|
||||
|
||||
const char* GetEquipName(const unsigned short usItemProtoTypeID);
|
||||
const unsigned short GetItemIDFromSkillID(const unsigned short usSkill_ID, const unsigned short unSkill_LockCount);
|
||||
|
||||
const unsigned short GetDropItem(const Item::ItemType::Type eItemType, const unsigned char cLevel);
|
||||
const unsigned short GetRingDropItem(const unsigned char cLevel, const unsigned char cGrade); //--//
|
||||
const unsigned short GetNecklaceDropItem(const unsigned char cLevel, const unsigned char cGrade); //--//
|
||||
const unsigned short GetRuneDropItem(const unsigned char cLevel, const unsigned char cGrade); //--//
|
||||
void PrintDropListByLevel(void);
|
||||
void PrintRingDropListByLevel(void); //--//
|
||||
void PrintNecklaceDropListByLevel(void); //--//
|
||||
void PrintRuneDropListByLevel(void); //--//
|
||||
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ռ<EFBFBD> <20><>ũ<EFBFBD><C5A9>Ʈ (ChemicalInfo.txt)
|
||||
|
||||
bool LoadItemChemical(const char* szFileName = NULL);
|
||||
bool LoadItemChemicalBinary(const char* szFileNameBinary = NULL);
|
||||
bool SaveItemChemicalBinary(const char* szFileNameBinary = NULL, const char* szTrashFile = NULL);
|
||||
|
||||
unsigned char GetChemicalResult(ChemicalInfo& chemical);
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><>ũ<EFBFBD><C5A9>Ʈ (SpeacialCompensation.txt)
|
||||
|
||||
bool LoadItemSpeacialCompensation(const char* szFileName = NULL);
|
||||
bool LoadItemSpeacialCompensationBinary(const char* szFileNameBinary = NULL);
|
||||
bool SaveItemSpeacialCompensationBinary(const char* szFileNameBinary = NULL, const char* szTrashFile = NULL);
|
||||
|
||||
unsigned short GetCompensationItem(unsigned char cItemType, short wLimitValue);
|
||||
|
||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Ÿ<>Կ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD> <20><><EFBFBD>밪.
|
||||
unsigned char GetMaxRuneSocket(ItemType::Type type);
|
||||
|
||||
private:
|
||||
|
||||
CItemMgr();
|
||||
~CItemMgr();
|
||||
|
||||
void DestoryItemInfo(void);
|
||||
void DestoryChemical(void);
|
||||
void DestoryCompensation(void);
|
||||
|
||||
static const char* ms_szChemicalScriptFileName;
|
||||
static const char* ms_szSpeacialCompensationFileName;
|
||||
|
||||
static CItemMgr ms_this;
|
||||
|
||||
size_t m_nItemNum;
|
||||
ItemInfo* m_ItemInfoArray;
|
||||
|
||||
typedef std::vector<unsigned short> ItemIDVector;
|
||||
|
||||
ItemIDVector m_vecDropListByLevel[Creature::MONSTER_MAX_LEVEL];
|
||||
ItemIDVector m_vecRingDropListByLevel[Creature::MONSTER_MAX_LEVEL][EquipType::MAX_GRADE]; //--//
|
||||
ItemIDVector m_vecNecklaceDropListByLevel[Creature::MONSTER_MAX_LEVEL][EquipType::MAX_GRADE]; //--//
|
||||
ItemIDVector m_vecRuneDropListByLevel[Creature::MONSTER_MAX_LEVEL][EquipType::MAX_GRADE]; //--//
|
||||
ItemIDVector m_vecCompensation[Compensation::MAX_CASE];
|
||||
|
||||
size_t m_nChemicalNum;
|
||||
ChemicalInfo* m_ChemicalArray;
|
||||
|
||||
RuneItemCnt m_mapRuneItemCnt; // <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ִ<EFBFBD> <20><><EFBFBD><EFBFBD>.
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user