Files
2022-10-26 12:25:11 +08:00

883 lines
18 KiB
C++

#include "StdAfx.h"
#include ".\item.h"
CItem::CItem(void)
{
}
CItem::~CItem(void)
{
}
BOOL CItem::SetCode (VARIANT value, int& nErrorCode)
{
m_Code = CheckWORD(value, nErrorCode);
if(nErrorCode == ERROR_NOTHING)
return TRUE;
else
return FALSE;
}
BOOL CItem::SetpszName (VARIANT value, int& nErrorCode)
{
m_pszName = CheckString(value, nErrorCode);
if(nErrorCode == ERROR_NOTHING)
return TRUE;
else
return FALSE;
}
BOOL CItem::SetNcode1 (VARIANT value, int& nErrorCode)
{
m_Ncode1 = CheckWORD(value, nErrorCode);
if(nErrorCode == ERROR_NOTHING)
return TRUE;
else
return FALSE;
}
BOOL CItem::SetNcode2 (VARIANT value, int& nErrorCode)
{
m_Ncode2 = CheckWORD(value, nErrorCode);
if(nErrorCode == ERROR_NOTHING)
return TRUE;
else
return FALSE;
}
BOOL CItem::Setd_Ncode3 (VARIANT value, int& nErrorCode)
{
m_d_Ncode3 = CheckWORD(value, nErrorCode);
if(nErrorCode == ERROR_NOTHING)
return TRUE;
else
return FALSE;
}
BOOL CItem::SetwIcode (VARIANT value, int& nErrorCode)
{
m_wIcode = CheckWORD(value, nErrorCode);
if(nErrorCode == ERROR_NOTHING)
return TRUE;
else
return FALSE;
}
BOOL CItem::SetvIcode (VARIANT value, int& nErrorCode)
{
m_vIcode = CheckWORD(value, nErrorCode);
if(nErrorCode == ERROR_NOTHING)
return TRUE;
else
return FALSE;
}
BOOL CItem::SetdIcode (VARIANT value, int& nErrorCode)
{
m_dIcode = CheckWORD(value, nErrorCode);
if(nErrorCode == ERROR_NOTHING)
return TRUE;
else
return FALSE;
}
BOOL CItem::SetbyType (VARIANT value, int& nErrorCode)
{
m_byType = CheckWORD(value, nErrorCode);
if(nErrorCode == ERROR_NOTHING)
return TRUE;
else
return FALSE;
}
BOOL CItem::SetLV (VARIANT value, int& nErrorCode)
{
m_LV = CheckBYTE(value, nErrorCode);
if(nErrorCode == ERROR_NOTHING)
return TRUE;
else
return FALSE;
}
BOOL CItem::SetDura (VARIANT value, int& nErrorCode)
{
m_Dura = CheckBYTE(value, nErrorCode);
if(nErrorCode == ERROR_NOTHING)
return TRUE;
else
return FALSE;
}
BOOL CItem::SetDropLV (VARIANT value, int& nErrorCode)
{
m_DropLV = CheckWORD(value, nErrorCode);
if(nErrorCode == ERROR_NOTHING)
return TRUE;
else
return FALSE;
}
BOOL CItem::SetbyIsDrop (VARIANT value, int& nErrorCode)
{
m_byIsDrop = CheckBYTE(value, nErrorCode);
if(nErrorCode == ERROR_NOTHING)
return TRUE;
else
return FALSE;
}
BOOL CItem::SetbyMaterialType (VARIANT value, int& nErrorCode)
{
m_byMaterialType = CheckBYTE(value, nErrorCode);
if(nErrorCode == ERROR_NOTHING)
return TRUE;
else
return FALSE;
}
BOOL CItem::SetLimitEqLevel (VARIANT value, int& nErrorCode)
{
m_LimitEqLevel = CheckWORD(value, nErrorCode);
if(nErrorCode == ERROR_NOTHING)
return TRUE;
else
return FALSE;
}
BOOL CItem::SetLimitStr (VARIANT value, int& nErrorCode)
{
m_LimitStr = CheckWORD(value, nErrorCode);
if(nErrorCode == ERROR_NOTHING)
return TRUE;
else
return FALSE;
}
BOOL CItem::SetLimitDex (VARIANT value, int& nErrorCode)
{
m_LimitDex = CheckWORD(value, nErrorCode);
if(nErrorCode == ERROR_NOTHING)
return TRUE;
else
return FALSE;
}
BOOL CItem::SetLimitInt (VARIANT value, int& nErrorCode)
{
m_LimitInt = CheckWORD(value, nErrorCode);
if(nErrorCode == ERROR_NOTHING)
return TRUE;
else
return FALSE;
}
BOOL CItem::SetLimitSkill1(VARIANT value, int& nErrorCode)
{
m_LimitSkill1 = CheckWORD(value, nErrorCode);
if(nErrorCode == ERROR_NOTHING)
return TRUE;
else
return FALSE;
}
BOOL CItem::SetLimitSkill2(VARIANT value, int& nErrorCode)
{
m_LimitSkill2 = CheckWORD(value, nErrorCode);
if(nErrorCode == ERROR_NOTHING)
return TRUE;
else
return FALSE;
}
BOOL CItem::SetMinDamage (VARIANT value, int& nErrorCode)
{
m_MinDamage = CheckWORD(value, nErrorCode);
if(nErrorCode == ERROR_NOTHING)
return TRUE;
else
return FALSE;
}
BOOL CItem::SetMaxDamage (VARIANT value, int& nErrorCode)
{
m_MaxDamage = CheckWORD(value, nErrorCode);
if(nErrorCode == ERROR_NOTHING)
return TRUE;
else
return FALSE;
}
BOOL CItem::SetPhyAttRate (VARIANT value, int& nErrorCode)
{
m_PhyAttRate = CheckWORD(value, nErrorCode);
if(nErrorCode == ERROR_NOTHING)
return TRUE;
else
return FALSE;
}
BOOL CItem::SetPhyAttSpeed (VARIANT value, int& nErrorCode)
{
m_PhyAttSpeed = CheckWORD(value, nErrorCode);
if(nErrorCode == ERROR_NOTHING)
return TRUE;
else
return FALSE;
}
BOOL CItem::SetPhyDef (VARIANT value, int& nErrorCode)
{
m_PhyDef = CheckWORD(value, nErrorCode);
if(nErrorCode == ERROR_NOTHING)
return TRUE;
else
return FALSE;
}
BOOL CItem::SetPhyAvoid (VARIANT value, int& nErrorCode)
{
m_PhyAvoid = CheckBYTE(value, nErrorCode);
if(nErrorCode == ERROR_NOTHING)
return TRUE;
else
return FALSE;
}
BOOL CItem::SetAttType (VARIANT value, int& nErrorCode)
{
m_AttType = CheckBYTE(value, nErrorCode);
if(nErrorCode == ERROR_NOTHING)
return TRUE;
else
return FALSE;
}
BOOL CItem::SetAttRange (VARIANT value, int& nErrorCode)
{
m_AttRange = CheckFLOAT(value, nErrorCode);
if(nErrorCode == ERROR_NOTHING)
return TRUE;
else
return FALSE;
}
BOOL CItem::SetDefType (VARIANT value, int& nErrorCode)
{
m_DefType = CheckBYTE(value, nErrorCode);
if(nErrorCode == ERROR_NOTHING)
return TRUE;
else
return FALSE;
}
BOOL CItem::SetMagicAttMinDamgage (VARIANT value, int& nErrorCode)
{
m_MagicAttMinDamgage = CheckWORD(value, nErrorCode);
if(nErrorCode == ERROR_NOTHING)
return TRUE;
else
return FALSE;
}
BOOL CItem::SetMagicAttMaxDamgage (VARIANT value, int& nErrorCode)
{
m_MagicAttMaxDamgage = CheckWORD(value, nErrorCode);
if(nErrorCode == ERROR_NOTHING)
return TRUE;
else
return FALSE;
}
BOOL CItem::SetMagicAttSpeed (VARIANT value, int& nErrorCode)
{
m_MagicAttSpeed = CheckWORD(value, nErrorCode);
if(nErrorCode == ERROR_NOTHING)
return TRUE;
else
return FALSE;
}
BOOL CItem::SetMagicDef (VARIANT value, int& nErrorCode)
{
m_MagicDef = CheckWORD(value, nErrorCode);
if(nErrorCode == ERROR_NOTHING)
return TRUE;
else
return FALSE;
}
BOOL CItem::SetSpeed (VARIANT value, int& nErrorCode)
{
m_Speed = CheckWORD(value, nErrorCode);
if(nErrorCode == ERROR_NOTHING)
return TRUE;
else
return FALSE;
}
BOOL CItem::SetEqClass1 (VARIANT value, int& nErrorCode)
{
m_EqClass1 = CheckBYTE(value, nErrorCode);
if(nErrorCode == ERROR_NOTHING)
return TRUE;
else
return FALSE;
}
BOOL CItem::SetEqClass2 (VARIANT value, int& nErrorCode)
{
m_EqClass2 = CheckBYTE(value, nErrorCode);
if(nErrorCode == ERROR_NOTHING)
return TRUE;
else
return FALSE;
}
BOOL CItem::SetEqClass3 (VARIANT value, int& nErrorCode)
{
m_EqClass3 = CheckBYTE(value, nErrorCode);
if(nErrorCode == ERROR_NOTHING)
return TRUE;
else
return FALSE;
}
BOOL CItem::SetEqClass4 (VARIANT value, int& nErrorCode)
{
m_EqClass4 = CheckBYTE(value, nErrorCode);
if(nErrorCode == ERROR_NOTHING)
return TRUE;
else
return FALSE;
}
BOOL CItem::SetEqClass5 (VARIANT value, int& nErrorCode)
{
m_EqClass5 = CheckBYTE(value, nErrorCode);
if(nErrorCode == ERROR_NOTHING)
return TRUE;
else
return FALSE;
}
BOOL CItem::SetEqPos (VARIANT value, int& nErrorCode)
{
m_EqPos = CheckBYTE(value, nErrorCode);
if(nErrorCode == ERROR_NOTHING)
return TRUE;
else
return FALSE;
}
BOOL CItem::SetMaxRank (VARIANT value, int& nErrorCode)
{
m_MaxRank = CheckBYTE(value, nErrorCode);
if(nErrorCode == ERROR_NOTHING)
return TRUE;
else
return FALSE;
}
BOOL CItem::SetSocketNum (VARIANT value, int& nErrorCode)
{
m_SocketNum = CheckBYTE(value, nErrorCode);
if(nErrorCode == ERROR_NOTHING)
return TRUE;
else
return FALSE;
}
BOOL CItem::SetOptionKind1 (VARIANT value, int& nErrorCode)
{
m_OptionKind1 = CheckBYTE(value, nErrorCode);
if(nErrorCode == ERROR_NOTHING)
return TRUE;
else
return FALSE;
}
BOOL CItem::SetOption1 (VARIANT value, int& nErrorCode)
{
m_Option1 = CheckBYTE(value, nErrorCode);
if(nErrorCode == ERROR_NOTHING)
return TRUE;
else
return FALSE;
}
BOOL CItem::SetOptionKind2 (VARIANT value, int& nErrorCode)
{
m_OptionKind2 = CheckBYTE(value, nErrorCode);
if(nErrorCode == ERROR_NOTHING)
return TRUE;
else
return FALSE;
}
BOOL CItem::SetOption2 (VARIANT value, int& nErrorCode)
{
m_Option2 = CheckBYTE(value, nErrorCode);
if(nErrorCode == ERROR_NOTHING)
return TRUE;
else
return FALSE;
}
BOOL CItem::SetMissile (VARIANT value, int& nErrorCode)
{
m_Missile = CheckWORD(value, nErrorCode);
if(nErrorCode == ERROR_NOTHING)
return TRUE;
else
return FALSE;
}
BOOL CItem::SetbyDupNum (VARIANT value, int& nErrorCode)
{
m_byDupNum = CheckBYTE(value, nErrorCode);
if(nErrorCode == ERROR_NOTHING)
return TRUE;
else
return FALSE;
}
BOOL CItem::SetWasteType (VARIANT value, int& nErrorCode)
{
m_WasteType = CheckWORD(value, nErrorCode);
if(nErrorCode == ERROR_NOTHING)
return TRUE;
else
return FALSE;
}
BOOL CItem::SetHeal (VARIANT value, int& nErrorCode)
{
m_Heal = CheckWORD(value, nErrorCode);
if(nErrorCode == ERROR_NOTHING)
return TRUE;
else
return FALSE;
}
BOOL CItem::SetHealTime (VARIANT value, int& nErrorCode)
{
m_HealTime = CheckWORD(value, nErrorCode);
if(nErrorCode == ERROR_NOTHING)
return TRUE;
else
return FALSE;
}
BOOL CItem::SetTimes (VARIANT value, int& nErrorCode)
{
m_Times = CheckWORD(value, nErrorCode);
if(nErrorCode == ERROR_NOTHING)
return TRUE;
else
return FALSE;
}
BOOL CItem::SetCoolTime (VARIANT value, int& nErrorCode)
{
m_CoolTime = CheckDWORD(value, nErrorCode);
if(nErrorCode == ERROR_NOTHING)
return TRUE;
else
return FALSE;
}
BOOL CItem::SetSpecialEffect (VARIANT value, int& nErrorCode)
{
m_SpecialEffect = CheckWORD(value, nErrorCode);
if(nErrorCode == ERROR_NOTHING)
return TRUE;
else
return FALSE;
}
BOOL CItem::SetMaterialCode (VARIANT value, int& nErrorCode)
{
m_MaterialCode = CheckWORD(value, nErrorCode);
if(nErrorCode == ERROR_NOTHING)
return TRUE;
else
return FALSE;
}
CString CItem::GetContentsAll()
{
CString str, str2;
int nColCount = GetColumnCount(); //컬럼의 개수를 리턴한다.
for(int i = 1; i <= nColCount; i++)
{
str2 = GetItem(i);
if(i == nColCount)
str2 += "\r\n";
else
str2 += "\t";
str += str2;
}
return str;
}
BOOL CItem::SaveData(int nCol, COleVariant value, int& nErrorCode)
{
BOOL bSuccess = FALSE;
unsigned int nNumCol = 1;
if(nCol == nNumCol++)
bSuccess = SetCode ( value, nErrorCode );
else if(nCol == nNumCol++)
bSuccess = SetpszName ( value, nErrorCode );
else if(nCol == nNumCol++)
bSuccess = SetNcode1 ( value, nErrorCode );
else if(nCol == nNumCol++)
bSuccess = SetNcode2 ( value, nErrorCode );
else if(nCol == nNumCol++)
bSuccess = Setd_Ncode3 ( value, nErrorCode );
else if(nCol == nNumCol++)
bSuccess = SetwIcode ( value, nErrorCode );
else if(nCol == nNumCol++)
bSuccess = SetvIcode ( value, nErrorCode );
else if(nCol == nNumCol++)
bSuccess = SetdIcode ( value, nErrorCode );
else if(nCol == nNumCol++)
bSuccess = SetbyType ( value, nErrorCode );
else if(nCol == nNumCol++)
bSuccess = SetLV ( value, nErrorCode );
else if(nCol == nNumCol++)
bSuccess = SetDura ( value, nErrorCode );
else if(nCol == nNumCol++)
bSuccess = SetDropLV ( value, nErrorCode );
else if(nCol == nNumCol++)
bSuccess = SetbyIsDrop ( value, nErrorCode );
else if(nCol == nNumCol++)
bSuccess = SetbyMaterialType ( value, nErrorCode );
else if(nCol == nNumCol++)
bSuccess = SetLimitEqLevel ( value, nErrorCode );
else if(nCol == nNumCol++)
bSuccess = SetLimitStr ( value, nErrorCode );
else if(nCol == nNumCol++)
bSuccess = SetLimitDex ( value, nErrorCode );
else if(nCol == nNumCol++)
bSuccess = SetLimitInt ( value, nErrorCode );
else if(nCol == nNumCol++)
bSuccess = SetLimitSkill1 ( value, nErrorCode );
else if(nCol == nNumCol++)
bSuccess = SetLimitSkill2 ( value, nErrorCode );
else if(nCol == nNumCol++)
bSuccess = SetMinDamage ( value, nErrorCode);
else if(nCol == nNumCol++)
bSuccess = SetMaxDamage ( value, nErrorCode);
else if(nCol == nNumCol++)
bSuccess = SetPhyAttRate ( value, nErrorCode);
else if(nCol == nNumCol++)
bSuccess = SetPhyAttSpeed ( value, nErrorCode);
else if(nCol == nNumCol++)
bSuccess = SetPhyDef ( value, nErrorCode);
else if(nCol == nNumCol++)
bSuccess = SetPhyAvoid ( value, nErrorCode);
else if(nCol == nNumCol++)
bSuccess = SetAttType ( value, nErrorCode);
else if(nCol == nNumCol++)
bSuccess = SetAttRange ( value, nErrorCode);
else if(nCol == nNumCol++)
bSuccess = SetDefType ( value, nErrorCode);
else if(nCol == nNumCol++)
bSuccess = SetMagicAttMinDamgage ( value, nErrorCode);
else if(nCol == nNumCol++)
bSuccess = SetMagicAttMaxDamgage ( value, nErrorCode);
else if(nCol == nNumCol++)
bSuccess = SetMagicAttSpeed ( value, nErrorCode);
else if(nCol == nNumCol++)
bSuccess = SetMagicDef ( value, nErrorCode);
else if(nCol == nNumCol++)
bSuccess = SetSpeed ( value, nErrorCode);
else if(nCol == nNumCol++)
bSuccess = SetEqClass1 ( value, nErrorCode);
else if(nCol == nNumCol++)
bSuccess = SetEqClass2 ( value, nErrorCode);
else if(nCol == nNumCol++)
bSuccess = SetEqClass3 ( value, nErrorCode);
else if(nCol == nNumCol++)
bSuccess = SetEqClass4 ( value, nErrorCode);
else if(nCol == nNumCol++)
bSuccess = SetEqClass5 ( value, nErrorCode);
else if(nCol == nNumCol++)
bSuccess = SetEqPos ( value, nErrorCode);
else if(nCol == nNumCol++)
bSuccess = SetMaxRank ( value, nErrorCode);
else if(nCol == nNumCol++)
bSuccess = SetSocketNum ( value, nErrorCode);
else if(nCol == nNumCol++)
bSuccess = SetOptionKind1 ( value, nErrorCode);
else if(nCol == nNumCol++)
bSuccess = SetOption1 ( value, nErrorCode);
else if(nCol == nNumCol++)
bSuccess = SetOptionKind2 ( value, nErrorCode);
else if(nCol == nNumCol++)
bSuccess = SetOption2 ( value, nErrorCode);
else if(nCol == nNumCol++)
bSuccess = SetMissile ( value, nErrorCode);
else if(nCol == nNumCol++)
bSuccess = SetbyDupNum ( value, nErrorCode);
else if(nCol == nNumCol++)
bSuccess = SetWasteType ( value, nErrorCode);
else if(nCol == nNumCol++)
bSuccess = SetHeal ( value, nErrorCode);
else if(nCol == nNumCol++)
bSuccess = SetHealTime ( value, nErrorCode);
else if(nCol == nNumCol++)
bSuccess = SetTimes ( value, nErrorCode);
else if(nCol == nNumCol++)
bSuccess = SetCoolTime ( value, nErrorCode);
else if(nCol == nNumCol++)
bSuccess = SetSpecialEffect ( value, nErrorCode);
else if(nCol == nNumCol++)
bSuccess = SetMaterialCode ( value, nErrorCode);
return bSuccess;
}
//컬럼 넘버에 의해 아이템을 얻는다.
CString CItem::GetItem(int nCol)
{
int nNum = 1;
CString str;
if(nCol == nNum++)
str = GetTextFromWORD(m_Code);
else if(nCol == nNum++)
str = m_pszName;
else if(nCol == nNum++)
str = GetTextFromWORD(m_Ncode1);
else if(nCol == nNum++)
str = GetTextFromWORD(m_Ncode2);
else if(nCol == nNum++)
str = GetTextFromWORD(m_d_Ncode3);
else if(nCol == nNum++)
str = GetTextFromWORD(m_wIcode);
else if(nCol == nNum++)
str = GetTextFromWORD(m_vIcode);
else if(nCol == nNum++)
str = GetTextFromWORD(m_dIcode);
else if(nCol == nNum++)
str = GetTextFromWORD(m_byType);
else if(nCol == nNum++)
str = GetTextFromBYTE(m_LV);
else if(nCol == nNum++)
str = GetTextFromBYTE(m_Dura);
else if(nCol == nNum++)
str = GetTextFromWORD(m_DropLV);
else if(nCol == nNum++)
str = GetTextFromBYTE(m_byIsDrop);
else if(nCol == nNum++)
str = GetTextFromBYTE(m_byMaterialType);
else if(nCol == nNum++)
str = GetTextFromWORD(m_LimitEqLevel);
else if(nCol == nNum++)
str = GetTextFromWORD(m_LimitStr);
else if(nCol == nNum++)
str = GetTextFromWORD(m_LimitDex);
else if(nCol == nNum++)
str = GetTextFromWORD(m_LimitInt);
else if(nCol == nNum++)
str = GetTextFromWORD(m_LimitSkill1);
else if(nCol == nNum++)
str = GetTextFromWORD(m_LimitSkill2);
else if(nCol == nNum++)
str = GetTextFromWORD(m_MinDamage);
else if(nCol == nNum++)
str = GetTextFromWORD(m_MaxDamage);
else if(nCol == nNum++)
str = GetTextFromWORD(m_PhyAttRate);
else if(nCol == nNum++)
str = GetTextFromWORD(m_PhyAttSpeed);
else if(nCol == nNum++)
str = GetTextFromWORD(m_PhyDef);
else if(nCol == nNum++)
str = GetTextFromBYTE(m_PhyAvoid);
else if(nCol == nNum++)
str = GetTextFromBYTE(m_AttType);
else if(nCol == nNum++)
str = GetTextFromFLOAT(m_AttRange);
else if(nCol == nNum++)
str = GetTextFromBYTE(m_DefType);
else if(nCol == nNum++)
str = GetTextFromWORD(m_MagicAttMinDamgage);
else if(nCol == nNum++)
str = GetTextFromWORD(m_MagicAttMaxDamgage);
else if(nCol == nNum++)
str = GetTextFromWORD(m_MagicAttSpeed);
else if(nCol == nNum++)
str = GetTextFromWORD(m_MagicDef);
else if(nCol == nNum++)
str = GetTextFromWORD(m_Speed);
else if(nCol == nNum++)
str = GetTextFromBYTE(m_EqClass1);
else if(nCol == nNum++)
str = GetTextFromBYTE(m_EqClass2);
else if(nCol == nNum++)
str = GetTextFromBYTE(m_EqClass3);
else if(nCol == nNum++)
str = GetTextFromBYTE(m_EqClass4);
else if(nCol == nNum++)
str = GetTextFromBYTE(m_EqClass5);
else if(nCol == nNum++)
str = GetTextFromBYTE(m_EqPos);
else if(nCol == nNum++)
str = GetTextFromBYTE(m_MaxRank);
else if(nCol == nNum++)
str = GetTextFromBYTE(m_SocketNum);
else if(nCol == nNum++)
str = GetTextFromBYTE(m_OptionKind1);
else if(nCol == nNum++)
str = GetTextFromBYTE(m_Option1);
else if(nCol == nNum++)
str = GetTextFromBYTE(m_OptionKind2);
else if(nCol == nNum++)
str = GetTextFromBYTE(m_Option2);
else if(nCol == nNum++)
str = GetTextFromWORD(m_Missile);
else if(nCol == nNum++)
str = GetTextFromBYTE(m_byDupNum);
else if(nCol == nNum++)
str = GetTextFromWORD(m_WasteType);
else if(nCol == nNum++)
str = GetTextFromWORD(m_Heal);
else if(nCol == nNum++)
str = GetTextFromWORD(m_HealTime);
else if(nCol == nNum++)
str = GetTextFromWORD(m_Times);
else if(nCol == nNum++)
str = GetTextFromDWORD(m_CoolTime);
else if(nCol == nNum++)
str = GetTextFromWORD(m_SpecialEffect);
else if(nCol == nNum++)
str = GetTextFromWORD(m_MaterialCode);
return str;
}