Welcome!

Join our community of MMO enthusiasts and game developers! By registering, you'll gain access to discussions on the latest developments in MMO server files and collaborate with like-minded individuals. Join us today and unlock the potential of MMO server development!

Join Today!

Item/Skill Image Render in Info

Junior Spellweaver
Joined
Jun 16, 2007
Messages
154
Reaction score
3
I thought it comes with the Text Format and Elements with Images. Anyway... Thank you TS! Pressed like already! SALUT!!!!
 
Experienced Elementalist
Joined
Mar 22, 2011
Messages
290
Reaction score
43
Any solution for this problem ? The price for item suddenly became 0 after I merged this code .
Check Screen Shot
janmaru5555 - Item/Skill Image Render in Info - RaGEZONE Forums
 
Newbie Spellweaver
Joined
Feb 23, 2008
Messages
36
Reaction score
0
Thanks. Sir. How to change fonts size of item name or skill name. Any tip how.
 
Experienced Elementalist
Joined
Nov 15, 2008
Messages
238
Reaction score
26
same problem.. can anyone guide us how to fix this problem??

Price Problem Fix
Icon Not Yet (Can anyone help me??)
 

Attachments

You must be registered for see attachments list
Last edited:
Newbie Spellweaver
Joined
Aug 18, 2009
Messages
42
Reaction score
0
sir why not work in juver source , after i put code Fix for Price bug , on uiinfoitemloader.cpp i got many eror :(
 
zZzZzZz
Loyal Member
Joined
Jun 30, 2013
Messages
1,035
Reaction score
92
@all

hi compiled done.

but how to align this

janmaru5555 - Item/Skill Image Render in Info - RaGEZONE Forums

You Can Align Skill Text (Information) in gui find this in gameword.xml <WORD Ver="1" Id="SKILL_CATEGORY">

Then Change
<VALUE Lang="pe" Index="0">Information</VALUE>

to

<VALUE Lang="pe" Index="0">]]]]]]] Information</VALUE> (or you can replace ]]] with space)
 
Experienced Elementalist
Joined
Nov 15, 2008
Messages
238
Reaction score
26
@sexual123

sir this is my UiItemInfoLoader but theres no
strColorName[ColorGrade]
AddTextNoSplit ( " "+strText+" ", strColorName[ColorGrade] );
#include "StdAfx.h"
#include "UIInfoLoader.h"
#include "GLGaeaClient.h"
#include "GLItemMan.h"
#include "GLItemDef.h"
#include "GLItem.h"
#include "GameTextControl.h"
#include "UITextControl.h"
#include "InnerInterface.h"

#include "../RanClientLib/G-Logic/CItemSetLists.h" //add giftset
#include "../RanClientLib/G-Logic/CItemSetListOption.h" //add giftset

#ifdef _DEBUG
#define new DEBUG_NEW
#endif

namespace NS_ITEMINFO
{
SITEMCUSTOM m_sItemCustomBACK;
BOOL m_bShopOpenBACK;
BOOL m_bInMarketBACK;
BOOL m_bInPrivateMarketBACK;
BOOL m_bIsWEAR_ITEMBACK;
WORD m_wPosXBACK;
WORD m_wPosYBACK;

void AddItemRender ( SNATIVEID sICONINDEX, const char* szTexture )
{
CInnerInterface::GetInstance().ADDITEM_RENDER ( sICONINDEX, szTexture );
}
void ResetItemRender ()
{
CInnerInterface::GetInstance().RESETITEM_RENDER ();
}

void RESET ()
{
m_sItemCustomBACK.sNativeID = NATIVEID_NULL ();
m_bShopOpenBACK = FALSE;
m_bInMarketBACK = FALSE;
m_bInPrivateMarketBACK = FALSE;
m_bIsWEAR_ITEMBACK = FALSE;
ResetItemRender ();
}

void AddTextNoSplit ( CString strText, D3DCOLOR dwColor )
{
CInnerInterface::GetInstance().ADDTEXT_NOSPLIT ( strText, dwColor );
}

void AddTextLongestLineSplit ( CString strText, D3DCOLOR dwColor )
{
CInnerInterface::GetInstance().ADDTEXT_LONGESTLINE_SPLIT ( strText, dwColor );
}

void RemoveAllInfo ()
{
CInnerInterface::GetInstance().CLEAR_TEXT ();
}

char* GetNumberWithSign ( int nValue )
{
static char szNumber[128];

if ( 0 < nValue )
{
StringCchPrintf ( szNumber, 128, "(+%d)", nValue );
}
else if ( nValue < 0 )
{
StringCchPrintf ( szNumber, 128, "(%d)", nValue );
}

return szNumber;
}

void AddInfoItemAddon ( int nBasic, int nAddon, CString strFormat )
{
CString Text;
if ( nAddon )
{
Text.Format ( "%s: %d%s", strFormat, nBasic, GetNumberWithSign ( nAddon ) );
AddTextNoSplit ( Text, NS_UITEXTCOLOR::DEFAULT );
}
else if ( nBasic )
{
Text.Format ( "%s: %d", strFormat, nBasic );
AddTextNoSplit ( Text, NS_UITEXTCOLOR::DEFAULT );
}
}

void APPEND_ITEM_GRADE ( CString& strOrigin, BYTE uGRADE )
{
if ( !uGRADE ) return ;

CString strGRADE;
strGRADE.Format ( " +%d", uGRADE );
strOrigin += strGRADE;
}

void AddInfoItemAddon ( int nBasic, int nAddon, BYTE uGRADE, CString strFormat )
{
CString Text;
if ( nAddon )
{
Text.Format ( "%s: %d%s", strFormat, nBasic, GetNumberWithSign( nAddon ) );
APPEND_ITEM_GRADE ( Text, uGRADE );
AddTextNoSplit ( Text, NS_UITEXTCOLOR::DEFAULT );
}
else if ( nBasic )
{
Text.Format ( "%s: %d", strFormat, nBasic );
APPEND_ITEM_GRADE ( Text, uGRADE );
AddTextNoSplit ( Text, NS_UITEXTCOLOR::DEFAULT );
}
}

void AddInfoItemAddonRange ( int nBasicMin, int nBasicMax, int nAddon, BYTE uGRADE, CString strFormat )
{
CString Text;
if ( nAddon )
{
Text.Format ( "%s: %d%s~%d%s", strFormat, nBasicMin, GetNumberWithSign( nAddon ), nBasicMax, GetNumberWithSign( nAddon ) );
APPEND_ITEM_GRADE ( Text, uGRADE );
AddTextNoSplit ( Text, NS_UITEXTCOLOR::DEFAULT );
}
else if ( nBasicMin || nBasicMax )
{
Text.Format ( "%s: %d~%d",strFormat, nBasicMin, nBasicMax );
APPEND_ITEM_GRADE ( Text, uGRADE );
AddTextNoSplit ( Text, NS_UITEXTCOLOR::DEFAULT );
}
}

void AddItemTurnInfo ( const SITEMCUSTOM &sItemCustom, const BOOL bInMarket, const BOOL bInPrivateMarket )
{
SITEM* pItemData = GLItemMan::GetInstance().GetItem ( sItemCustom.sNativeID );
CString strText;

if ( pItemData->sDrugOp.wPileNum > 1 )
{
WORD wPileNum = pItemData->sDrugOp.wPileNum;
WORD wTurnNum = sItemCustom.wTurnNum;
if ( bInPrivateMarket ) // °³ÀÎ »óÁ¡
{
strText.Format("%s:%d", ID2GAMEWORD("ITEM_TURN_INFO", 0 ), wTurnNum);
AddTextNoSplit(strText,NS_UITEXTCOLOR::CHARTREUSE);
return ;
}

if ( bInMarket ) wTurnNum = pItemData->GETAPPLYNUM();
strText.Format("%s:%d/%d", ID2GAMEWORD("ITEM_TURN_INFO", 0 ), wTurnNum, wPileNum);
AddTextNoSplit(strText,NS_UITEXTCOLOR::DEFAULT);
}
}

void AddInfoPetSkillItem( const SITEMCUSTOM &sItemCustom )
{
CString strText;

SNATIVEID sNativeID = sItemCustom.sNativeID;
GLPetClient* pPetClient = GLGaeaClient::GetInstance().GetPetClient();
SITEM* pItemData = GLItemMan::GetInstance().GetItem ( sNativeID );
SNATIVEID sSkillID = pItemData->sSkillBookOp.sSkill_ID;

PGLSKILL pSkill = GLSkillMan::GetInstance().GetData ( sSkillID.wMainID, sSkillID.wSubID );
if ( pSkill )
{
if ( pPetClient->ISLEARNED_SKILL( sSkillID ) )
{
AddTextNoSplit ( ID2GAMEWORD ( "ITEM_SKILL_CONDITION", 0 ), NS_UITEXTCOLOR::RED );
return ;
}
}
}

void AddInfoSkillItem ( const SITEMCUSTOM &sItemCustom )
{
CString strText;

SNATIVEID sNativeID = sItemCustom.sNativeID;
GLCharacter* pCharacter = GLGaeaClient::GetInstance().GetCharacter();
SITEM* pItemData = GLItemMan::GetInstance().GetItem ( sNativeID );
SNATIVEID sSkillID = pItemData->sSkillBookOp.sSkill_ID;

PGLSKILL pSkill = GLSkillMan::GetInstance().GetData ( sSkillID.wMainID, sSkillID.wSubID );
if ( pSkill )
{
{
strText.Format("%s:%d",ID2GAMEWORD("SKILL_BASIC_INFO", 1), pSkill->m_sBASIC.dwGRADE);
AddTextNoSplit(strText,NS_UITEXTCOLOR::pALEGREEN);

strText.Format("%s:%s",ID2GAMEWORD("SKILL_BASIC_INFO", 2), COMMENT::BRIGHT[pSkill->m_sLEARN.emBRIGHT].c_str());
AddTextNoSplit(strText,NS_UITEXTCOLOR::pALEGREEN);

strText.Format ("%s:", ID2GAMEWORD("SKILL_BASIC_INFO", 3) );
if ( pSkill->m_sLEARN.dwCLASS & GLCC_FIGHTER_M ) strText.AppendFormat ( "%s", COMMENT::CHARCLASS[0].c_str() );
if ( pSkill->m_sLEARN.dwCLASS & GLCC_FIGHTER_W ) strText.AppendFormat ( "%s", COMMENT::CHARCLASS[6].c_str() );
if ( pSkill->m_sLEARN.dwCLASS & GLCC_ARMS_M ) strText.AppendFormat ( "%s", COMMENT::CHARCLASS[1].c_str() );
if ( pSkill->m_sLEARN.dwCLASS & GLCC_ARMS_W ) strText.AppendFormat ( "%s", COMMENT::CHARCLASS[7].c_str() );
if ( pSkill->m_sLEARN.dwCLASS & GLCC_ARCHER_M ) strText.AppendFormat ( "%s", COMMENT::CHARCLASS[8].c_str() );
if ( pSkill->m_sLEARN.dwCLASS & GLCC_ARCHER_W ) strText.AppendFormat ( "%s", COMMENT::CHARCLASS[2].c_str() );
if ( pSkill->m_sLEARN.dwCLASS & GLCC_SPIRIT_M ) strText.AppendFormat ( "%s", COMMENT::CHARCLASS[9].c_str() );
if ( pSkill->m_sLEARN.dwCLASS & GLCC_SPIRIT_W ) strText.AppendFormat ( "%s", COMMENT::CHARCLASS[3].c_str() );
if ( pSkill->m_sLEARN.dwCLASS & GLCC_EXTREME_M ) strText.AppendFormat ( "%s", COMMENT::CHARCLASS[4].c_str() );
if ( pSkill->m_sLEARN.dwCLASS & GLCC_EXTREME_W ) strText.AppendFormat ( "%s", COMMENT::CHARCLASS[5].c_str() );
if ( pSkill->m_sLEARN.dwCLASS & GLCC_SCIENCE_M ) strText.AppendFormat ( "%s", COMMENT::CHARCLASS[10].c_str() );
if ( pSkill->m_sLEARN.dwCLASS & GLCC_SCIENCE_W ) strText.AppendFormat ( "%s", COMMENT::CHARCLASS[11].c_str() );
if ( pSkill->m_sLEARN.dwCLASS & GLCC_ASSASIN_M ) strText.AppendFormat ( "%s", COMMENT::CHARCLASS[12].c_str() );
if ( pSkill->m_sLEARN.dwCLASS & GLCC_ASSASIN_W ) strText.AppendFormat ( "%s", COMMENT::CHARCLASS[13].c_str() );
if ( pSkill->m_sLEARN.dwCLASS & GLCC_TESTING_M ) strText.AppendFormat ( "%s", COMMENT::CHARCLASS[14].c_str() );
if ( pSkill->m_sLEARN.dwCLASS & GLCC_TESTING_W ) strText.AppendFormat ( "%s", COMMENT::CHARCLASS[15].c_str() );

AddTextNoSplit(strText,NS_UITEXTCONTROL::GetEvaluateColor ( pItemData->sBasicOp.dwReqCharClass & pCharacter->m_emClass ) );
}

{
const SKILL::SBASIC& sBASIC = pSkill->m_sBASIC;

if ( sBASIC.wTARRANGE )
{
strText.Format("%s:%d",ID2GAMEWORD( "SKILL_ADVANCED_TARGET_RANGE", 0), sBASIC.wTARRANGE);
AddTextNoSplit(strText, NS_UITEXTCOLOR::DEFAULT );
}

if ( (sBASIC.emUSE_LITEM && (sBASIC.emUSE_LITEM != ITEMATT_NOCARE)) ||
(sBASIC.emUSE_RITEM && (sBASIC.emUSE_RITEM != ITEMATT_NOCARE)) )
{
AddTextNoSplit(ID2GAMEWORD("SKILL_CATEGORY", 1),NS_UITEXTCOLOR::LIGHTSKYBLUE);
}

CString strUSEITEM;
if ( sBASIC.emUSE_LITEM )
{
if ( sBASIC.emUSE_LITEM != ITEMATT_NOCARE )
{
strText.Format( "%s:%s",
ID2GAMEWORD( "SKILL_ADVANCED_USE_ITEM_LR_HAND", 0),
ID2GAMEWORD( "SKILL_ADVANCED_USE_ITEM", sBASIC.emUSE_LITEM - 1 ) );
AddTextNoSplit(strText, NS_UITEXTCOLOR::DEFAULT );
}
}

if ( sBASIC.emUSE_RITEM )
{
if ( sBASIC.emUSE_RITEM != ITEMATT_NOCARE )
{
strText.Format ( "%s:%s",
ID2GAMEWORD( "SKILL_ADVANCED_USE_ITEM_LR_HAND", 1),
ID2GAMEWORD( "SKILL_ADVANCED_USE_ITEM", sBASIC.emUSE_RITEM - 1 ) );
AddTextNoSplit(strText, NS_UITEXTCOLOR::DEFAULT );
}
}
}

if ( pCharacter->GETLEARNED_SKILL ( sSkillID ) )
{
AddTextNoSplit ( ID2GAMEWORD ( "ITEM_SKILL_CONDITION", 0 ), NS_UITEXTCOLOR::RED );
return ;
}

{
AddTextNoSplit( ID2GAMEWORD("SKILL_CATEGORY", 7), NS_UITEXTCOLOR::LIGHTSKYBLUE);

const WORD wLevel = 0;
SKILL::SLEARN& sLEARN = pSkill->m_sLEARN;
SKILL::SLEARN_LVL& sLVL = sLEARN.sLVL_STEP[wLevel];

SNATIVEID NeedSkillID = pSkill->m_sLEARN.sSKILL;
if ( NeedSkillID != NATIVEID_NULL() )
{
BOOL bVALID = FALSE;
BOOL bNeedSkillLevel = FALSE;

CString strNeedSkillName;
CString strNeedSkillLevel;

PGLSKILL pNeedSkill = GLSkillMan::GetInstance().GetData ( NeedSkillID.wMainID, NeedSkillID.wSubID );
strNeedSkillName.Format("%s:%s", ID2GAMEWORD( "SKILL_ADVANCED_INFO", 0), pNeedSkill->GetName() );
bVALID = pCharacter->ISLEARNED_SKILL ( NeedSkillID );

if ( 0 < sLVL.dwSKILL_LVL )
{
strNeedSkillLevel.Format("%s:%d",ID2GAMEWORD( "SKILL_ADVANCED_INFO", 1), (sLVL.dwSKILL_LVL + 1) );
bNeedSkillLevel = TRUE;

SCHARDATA2::SKILL_MAP& map = pCharacter->m_ExpSkills;
SCHARDATA2::SKILL_MAP_ITER iter = map.find ( NeedSkillID.dwID );
if ( iter != map.end() )
{
SCHARSKILL& rCharSkill = (*iter).second;
bVALID = rCharSkill.wLevel >= sLVL.dwSKILL_LVL;
}
}

AddTextNoSplit(strNeedSkillName,NS_UITEXTCONTROL::GetEvaluateColor ( bVALID ));

if ( bNeedSkillLevel )
AddTextNoSplit(strNeedSkillLevel, NS_UITEXTCONTROL::GetEvaluateColor ( bVALID ) );
}

if ( 0 < sLVL.dwSKP )
{
strText.Format("%s:%d",ID2GAMEWORD( "SKILL_ADVANCED_INFO", 2), sLVL.dwSKP);
AddTextNoSplit(strText, NS_UITEXTCONTROL::GetEvaluateColor ( pCharacter->m_dwSkillPoint >= sLVL.dwSKP ) );
}

// 4. ¿ä±¸·¹º§
if ( 0 < sLVL.dwLEVEL )
{
strText.Format("%s:%d",ID2GAMEWORD( "SKILL_ADVANCED_INFO", 3), sLVL.dwLEVEL);
AddTextNoSplit(strText, NS_UITEXTCONTROL::GetEvaluateColor ( pCharacter->GETLEVEL () >= int(sLVL.dwLEVEL) ) );
}

if ( 0 < sLVL.dwREBORN )
{
strText.Format("%s:%d",ID2GAMEWORD( "SKILL_ADVANCED_INFO", 4), sLVL.dwREBORN);
AddTextNoSplit(strText, NS_UITEXTCONTROL::GetEvaluateColor ( pCharacter->GETREBORN () >= int(sLVL.dwREBORN) ) );
}

if ( 0 < sLVL.dwMoneyReq )
{
strText.Format("%s:%d",ID2GAMEWORD( "SKILL_ADVANCED_INFO", 5), sLVL.dwMoneyReq );
AddTextNoSplit(strText, NS_UITEXTCONTROL::GetEvaluateColor ( pCharacter->m_lnMoney >= int(sLVL.dwMoneyReq ) ) );
}
if ( 0 < sLVL.dwPremPoint )
{
strText.Format("%s:%d",ID2GAMEWORD( "SKILL_ADVANCED_INFO", 6), sLVL.dwPremPoint );
AddTextNoSplit(strText, NS_UITEXTCONTROL::GetEvaluateColor ( pCharacter->m_lnPremP >= int(sLVL.dwPremPoint ) ) );
}
if ( 0 < sLVL.dwVotePoint )
{
strText.Format("%s:%d",ID2GAMEWORD( "SKILL_ADVANCED_INFO", 7), sLVL.dwVotePoint );
AddTextNoSplit(strText, NS_UITEXTCONTROL::GetEvaluateColor ( pCharacter->m_lnVoteP >= int(sLVL.dwVotePoint ) ) );
}

BOOL bValue = TRUE;
strText.Format ( "%s", COMMENT::BRIGHT[pItemData->sBasicOp.emReqBright].c_str() );
if ( pItemData->sBasicOp.emReqBright != BRIGHT_BOTH )
{
if ( pCharacter->GETBRIGHT() != pItemData->sBasicOp.emReqBright )
{
bValue = FALSE;
}
}
AddTextNoSplit ( strText, NS_UITEXTCONTROL::GetEvaluateColor ( bValue ) );

if ( 0 < sLVL.sSTATS.dwPow )
{
strText.Format("%s:%d",ID2GAMEWORD( "SKILL_ADVANCED_INFO_STATS", 0), sLVL.sSTATS.dwPow);
AddTextNoSplit(strText, NS_UITEXTCONTROL::GetEvaluateColor ( pCharacter->m_sSUMSTATS.dwPow >= sLVL.sSTATS.dwPow ) );
}

if ( 0 < sLVL.sSTATS.dwStr )
{
strText.Format("%s:%d",ID2GAMEWORD( "SKILL_ADVANCED_INFO_STATS", 1), sLVL.sSTATS.dwStr);
AddTextNoSplit(strText, NS_UITEXTCONTROL::GetEvaluateColor ( pCharacter->m_sSUMSTATS.dwStr >= sLVL.sSTATS.dwStr ) );
}

if ( 0 < sLVL.sSTATS.dwSpi )
{
strText.Format("%s:%d",ID2GAMEWORD( "SKILL_ADVANCED_INFO_STATS", 2), sLVL.sSTATS.dwSpi);
AddTextNoSplit(strText, NS_UITEXTCONTROL::GetEvaluateColor ( pCharacter->m_sSUMSTATS.dwSpi >= sLVL.sSTATS.dwSpi ));
}

// 4. ¿ä±¸¹Îø
if ( 0 < sLVL.sSTATS.dwDex )
{
strText.Format("%s:%d",ID2GAMEWORD( "SKILL_ADVANCED_INFO_STATS", 3), sLVL.sSTATS.dwDex);
AddTextNoSplit(strText, NS_UITEXTCONTROL::GetEvaluateColor ( pCharacter->m_sSUMSTATS.dwDex >= sLVL.sSTATS.dwDex ) );
}

// 5. ¿ä±¸Áö·Â
if ( 0 < sLVL.sSTATS.dwInt )
{
strText.Format("%s:%d",ID2GAMEWORD( "SKILL_ADVANCED_INFO_STATS", 4), sLVL.sSTATS.dwInt);
AddTextNoSplit(strText, NS_UITEXTCONTROL::GetEvaluateColor ( pCharacter->m_sSUMSTATS.dwInt >= sLVL.sSTATS.dwInt ) );
}

// 6. ¿ä±¸±Ù·Â
if ( 0 < sLVL.sSTATS.dwSta )
{
strText.Format("%s:%d",ID2GAMEWORD( "SKILL_ADVANCED_INFO_STATS", 5), sLVL.sSTATS.dwSta);
AddTextNoSplit(strText, NS_UITEXTCONTROL::GetEvaluateColor ( pCharacter->m_sSUMSTATS.dwSta >= sLVL.sSTATS.dwSta ) );
}
}
}
}

void AddTextAddValue( const SITEMCUSTOM & sItemCustom, const ITEM::SSUIT & sSUIT )
{
CString strText;
BOOL bLEAST_HAVE_ONE(TRUE);
BOOL bLEAST_HAVE_ONE1(TRUE);
BOOL bADD_HP(FALSE), bADD_MP(FALSE), bADD_SP(FALSE), bADD_MA(FALSE);
INT arrVALUE[EMADD_SIZE];
SecureZeroMemory( arrVALUE, sizeof(arrVALUE) );

for ( int i = 0; i < ITEM::SSUIT::ADDON_SIZE; ++i )
{
EMITEM_ADDON emTYPE = sSUIT.sADDON.emTYPE;

if ( emTYPE != EMADD_NONE )
{
if ( bLEAST_HAVE_ONE )
{
//AddTextNoSplit( ID2GAMEWORD ( "ITEM_CATEGORY", 10 ),NS_UITEXTCOLOR::LIGHTSKYBLUE);
bLEAST_HAVE_ONE = FALSE;
}

int nVALUE = sSUIT.sADDON.nVALUE;

switch ( emTYPE )
{
case EMADD_HP:
if( !bADD_HP )
{
arrVALUE[EMADD_HP] = sItemCustom.GETADDHP();
bADD_HP = TRUE;
}
break;
case EMADD_MP:
if( !bADD_MP )
{
arrVALUE[EMADD_MP] = sItemCustom.GETADDMP();
bADD_MP = TRUE;
}
break;
case EMADD_SP:
if( !bADD_SP )
{
arrVALUE[EMADD_SP] = sItemCustom.GETADDSP();
bADD_SP = TRUE;
}
break;
case EMADD_MA:
if( !bADD_MA )
{
arrVALUE[EMADD_MA] = sItemCustom.GETADDMA();
bADD_MA = TRUE;
}
break;
case EMADD_HITRATE: arrVALUE[EMADD_HITRATE] += nVALUE; break;
case EMADD_AVOIDRATE: arrVALUE[EMADD_AVOIDRATE] += nVALUE; break;
case EMADD_DAMAGE: arrVALUE[EMADD_DAMAGE] += nVALUE; break;
case EMADD_DEFENSE: arrVALUE[EMADD_DEFENSE] += nVALUE; break;
case EMADD_STATS_POW: arrVALUE[EMADD_STATS_POW] += nVALUE; break;
case EMADD_STATS_STR: arrVALUE[EMADD_STATS_STR] += nVALUE; break;
case EMADD_STATS_SPI: arrVALUE[EMADD_STATS_SPI] += nVALUE; break;
case EMADD_STATS_DEX: arrVALUE[EMADD_STATS_DEX] += nVALUE; break;
case EMADD_STATS_INT: arrVALUE[EMADD_STATS_INT] += nVALUE; break;
case EMADD_STATS_STA: arrVALUE[EMADD_STATS_STA] += nVALUE; break;
case EMADD_PA: arrVALUE[EMADD_PA] += nVALUE; break;
case EMADD_SA: arrVALUE[EMADD_SA] += nVALUE; break;
case EMADD_CP: arrVALUE[EMADD_CP] += nVALUE; break; //add cp
};
}
}

for( int i=1; i<EMADD_SIZE; ++i)
{
if( arrVALUE != 0 )
{
strText.Format( "%s:%s", ID2GAMEWORD( "ITEM_ADDON_INFO", i ), GetNumberWithSign( arrVALUE ) );
AddTextNoSplit( strText, NS_UITEXTCOLOR::LIME );
}
}

if ( sItemCustom.nidDISGUISE!=SNATIVEID(false) )
{
SITEM* pJDisguiseData = GLItemMan::GetInstance().GetItem ( sItemCustom.nidDISGUISE );
if ( pJDisguiseData )
{
if ( pJDisguiseData->sBasicOp.IsCostumeCombine() )
{
//add jitem
INT arrVALUECOS[EMADD_SIZE];
SecureZeroMemory( arrVALUECOS, sizeof(arrVALUECOS) );

for ( int j = 0; j < ITEM::SSUIT::ADDON_SIZE; ++j )
{
EMITEM_ADDON emTYPEJ = pJDisguiseData->sSuitOp.sADDON[j].emTYPE;

if ( emTYPEJ != EMADD_NONE )
{
if ( bLEAST_HAVE_ONE1 )
{
//AddTextNoSplit( ID2GAMEWORD ( "ITEM_CATEGORY", 13 ),NS_UITEXTCOLOR::pALEGREEN);
bLEAST_HAVE_ONE1 = FALSE;
}

int nVALUECOS = pJDisguiseData->sSuitOp.sADDON[j].nVALUE;
switch ( emTYPEJ )
{
case EMADD_HP: arrVALUECOS[EMADD_HP] += nVALUECOS; break;
case EMADD_MP: arrVALUECOS[EMADD_MP] += nVALUECOS; break;
case EMADD_SP: arrVALUECOS[EMADD_SP] += nVALUECOS; break;
case EMADD_MA: arrVALUECOS[EMADD_MA] += nVALUECOS; break;
case EMADD_HITRATE: arrVALUECOS[EMADD_HITRATE] += nVALUECOS; break;
case EMADD_AVOIDRATE: arrVALUECOS[EMADD_AVOIDRATE] += nVALUECOS; break;
case EMADD_DAMAGE: arrVALUECOS[EMADD_DAMAGE] += nVALUECOS; break;
case EMADD_DEFENSE: arrVALUECOS[EMADD_DEFENSE] += nVALUECOS; break;
case EMADD_STATS_POW: arrVALUECOS[EMADD_STATS_POW] += nVALUECOS; break;
case EMADD_STATS_STR: arrVALUECOS[EMADD_STATS_STR] += nVALUECOS; break;
case EMADD_STATS_SPI: arrVALUECOS[EMADD_STATS_SPI] += nVALUECOS; break;
case EMADD_STATS_DEX: arrVALUECOS[EMADD_STATS_DEX] += nVALUECOS; break;
case EMADD_STATS_INT: arrVALUECOS[EMADD_STATS_INT] += nVALUECOS; break;
case EMADD_STATS_STA: arrVALUECOS[EMADD_STATS_STA] += nVALUECOS; break;
case EMADD_PA: arrVALUECOS[EMADD_PA] += nVALUECOS; break;
case EMADD_SA: arrVALUECOS[EMADD_SA] += nVALUECOS; break;
case EMADD_CP: arrVALUECOS[EMADD_CP] += nVALUECOS; break; //add cp
};
}
}

CString strTextCos;
for( int i=1; i<EMADD_SIZE; ++i)
{
if( arrVALUECOS != 0 )
{
strTextCos.Format( "%s:%s", ID2GAMEWORD( "ITEM_ADDON_INFOCOS", i ), GetNumberWithSign( arrVALUECOS ) );
AddTextNoSplit( strTextCos, NS_UITEXTCOLOR::pALEGREEN );
}
}
}
}
}
}

void LOAD_SIMPLE ( const SITEMCUSTOM &sItemCustom )
{
if ( m_sItemCustomBACK == sItemCustom ) return ;

m_sItemCustomBACK = sItemCustom;

RemoveAllInfo();

SITEM* pItemData = GLItemMan::GetInstance().GetItem ( sItemCustom.sNativeID );
if ( !pItemData ) return ;

DWORD dwLevel = pItemData->sBasicOp.emLevel;
// À̸§
AddTextNoSplit ( pItemData->GetName(), COMMENT::ITEMCOLOR[dwLevel] );
}

void LOAD ( const SITEMCUSTOM &sItemCustom, const BOOL bShopOpen, const BOOL bInMarket, const BOOL bInPrivateMarket, const BOOL bIsWEAR_ITEM, WORD wPosX, WORD wPosY, SNATIVEID sNpcNativeID )
{
if ( m_sItemCustomBACK == sItemCustom && m_bShopOpenBACK == bShopOpen
&& m_bInMarketBACK == bInMarket && m_bInPrivateMarketBACK == bInPrivateMarket
&& m_bIsWEAR_ITEMBACK == bIsWEAR_ITEM && m_wPosXBACK == wPosX && m_wPosYBACK == wPosY) return ;

m_sItemCustomBACK = sItemCustom;
m_bShopOpenBACK = bShopOpen;
m_bInMarketBACK = bInMarket;
m_bInPrivateMarketBACK = bInPrivateMarket;
m_bIsWEAR_ITEMBACK = bIsWEAR_ITEM;
m_wPosXBACK = wPosX;
m_wPosYBACK = wPosY;

RemoveAllInfo();

if ( bIsWEAR_ITEM )
{
AddTextNoSplit ( ID2GAMEWORD ("WEAR_ITEM" ), NS_UITEXTCOLOR::RED );
}

CString strText, strText2;
BOOL bValue = FALSE;
int nExtraValue = 0;

GLCharacter* pCharacter = GLGaeaClient::GetInstance().GetCharacter();
SITEM* pItemData = GLItemMan::GetInstance().GetItem ( sItemCustom.sNativeID );


{
//AddTextNoSplit ( ID2GAMEWORD ( "ITEM_CATEGORY", 0 ), NS_UITEXTCOLOR::LIGHTSKYBLUE );

BOOL bInsert = FALSE;

//strText.Format ( "%s:%s", ID2GAMEWORD ( "ITEM_BASIC_INFO", 0 ), pItemData->GetName() );

strText.Format ( "%s "/*, ID2GAMEWORD ( "ITEM_BASIC_INFO", 0 )*/, pItemData->GetName() );
BYTE uGRADE = sItemCustom.GETGRADE(EMGRINDING_NUNE);
APPEND_ITEM_GRADE ( strText, uGRADE );
/////////////////////////////////////////GRADE COLOR EFFECT/////////////////////////////////////////
if ( uGRADE == 0 ){
AddTextNoSplit ( strText, NS_UITEXTCOLOR::DEFAULT );
}
else if ( uGRADE == 1 ){
AddTextNoSplit ( strText, NS_UITEXTCOLOR::pALEGREEN );
}
else if ( uGRADE == 2 ){
AddTextNoSplit ( strText, NS_UITEXTCOLOR::pALEGREEN );
}
else if ( uGRADE == 3 ){
AddTextNoSplit ( strText, NS_UITEXTCOLOR::pALEGREEN );
}
else if ( uGRADE == 4 ){
AddTextNoSplit ( strText, NS_UITEXTCOLOR::pALEGREEN );
}
else if ( uGRADE == 5 ){
AddTextNoSplit ( strText, NS_UITEXTCOLOR::pALEGREEN );
}
else if ( uGRADE == 6 ){
AddTextNoSplit ( strText, NS_UITEXTCOLOR::pALEGREEN );
}
else if ( uGRADE == 7 ){
AddTextNoSplit ( strText, NS_UITEXTCOLOR::DARKORANGE );
}
else if ( uGRADE == 8 ){
AddTextNoSplit ( strText, NS_UITEXTCOLOR::DARKORANGE );
}
else if ( uGRADE == 9 ){
AddTextNoSplit ( strText, NS_UITEXTCOLOR::GOLD );
}
else if ( uGRADE == 10 ){
AddTextNoSplit ( strText, NS_UITEXTCOLOR::DARKTURQUOISE );
}
else if ( uGRADE == 11 ){
AddTextNoSplit ( strText, NS_UITEXTCOLOR::DARKVIOLET );
}
else if ( uGRADE == 12 ){
AddTextNoSplit ( strText, NS_UITEXTCOLOR::LIME );
}
else if ( uGRADE == 13 ){
AddTextNoSplit ( strText, NS_UITEXTCOLOR::RED );
}
else if ( uGRADE == 14 ){
AddTextNoSplit ( strText, NS_UITEXTCOLOR::HOTPINK );
}
else if ( uGRADE == 15 ){
AddTextNoSplit ( strText, NS_UITEXTCOLOR::LIGHTYELLOW );
}
else if ( uGRADE == 16 || 17 || 18 || 19 || 20 || 21 || 22 || 23 || 24 || 25 || 26 || 27 || 28 || 29 ||
30 || 31 || 32 || 33 || 34 || 35 || 36 || 37 || 38 || 39 ||
40 || 41 || 42 || 43 || 44 || 45 || 46 || 47 || 48 || 49 ||
50 || 51 || 52 || 53 || 54 || 55 || 56 || 57 || 58 || 59 || 60 ){
AddTextNoSplit ( strText, NS_UITEXTCOLOR::AQUA );
}
/////////////////////////////////////////GRADE COLOR EFFECT/////////////////////////////////////////


//DWORD dwLevel = (DWORD)pItemData->sBasicOp.emLevel;
//AddTextNoSplit ( strText, COMMENT::ITEMCOLOR[dwLevel] );

if( sItemCustom.nidDISGUISE != NATIVEID_NULL())
{
SITEM* pItemDisguise = GLItemMan::GetInstance().GetItem ( sItemCustom.nidDISGUISE );
DWORD dwReqCharClass_Disguise = pItemDisguise->sBasicOp.dwReqCharClass;
DWORD dwReqCharClass = pItemData->sBasicOp.dwReqCharClass;
CString szClass;

if( dwReqCharClass )
{
//if ( (dwReqCharClass==GLCC_ALL_NEWSEX) && (dwReqCharClass_Disguise==GLCC_ALL_NEWSEX) )
//add class
if ( (dwReqCharClass==GLCC_ALL_2012) && (dwReqCharClass_Disguise==GLCC_ALL_2012) )
{
szClass = ("All Classes");
}
else if (((dwReqCharClass&GLCC_FIGHTER_M) && (dwReqCharClass_Disguise&GLCC_FIGHTER_M) &&
(dwReqCharClass&GLCC_ARMS_M) && (dwReqCharClass_Disguise&GLCC_ARMS_M) &&
(dwReqCharClass&GLCC_ARCHER_M) && (dwReqCharClass_Disguise&GLCC_ARCHER_M) &&
(dwReqCharClass&GLCC_SPIRIT_M) && (dwReqCharClass_Disguise&GLCC_SPIRIT_M) &&
(dwReqCharClass&GLCC_EXTREME_M) && (dwReqCharClass_Disguise&GLCC_EXTREME_M) &&
(dwReqCharClass&GLCC_SCIENCE_M) && (dwReqCharClass_Disguise&GLCC_SCIENCE_M) &&
(dwReqCharClass&GLCC_ASSASIN_M) && (dwReqCharClass_Disguise&GLCC_ASSASIN_M) &&
(dwReqCharClass&GLCC_TESTING_M) && (dwReqCharClass_Disguise&GLCC_TESTING_M))
||
((dwReqCharClass&GLCC_FIGHTER_M) && (dwReqCharClass_Disguise&GLCC_FIGHTER_M) &&
(dwReqCharClass&GLCC_ARMS_M) && (dwReqCharClass_Disguise&GLCC_ARMS_M) &&
(dwReqCharClass&GLCC_ARCHER_M) && (dwReqCharClass_Disguise&GLCC_ARCHER_M) &&
(dwReqCharClass&GLCC_SPIRIT_M) && (dwReqCharClass_Disguise&GLCC_SPIRIT_M) &&
(dwReqCharClass&GLCC_EXTREME_M) && (dwReqCharClass_Disguise&GLCC_EXTREME_M) &&
(dwReqCharClass&GLCC_SCIENCE_M) && (dwReqCharClass_Disguise&GLCC_SCIENCE_M) &&
(dwReqCharClass&GLCC_ASSASIN_M) && (dwReqCharClass_Disguise&GLCC_ASSASIN_M)) )
{
szClass = ("All Male Classes");
}
else if (((dwReqCharClass&GLCC_FIGHTER_W) && (dwReqCharClass_Disguise&GLCC_FIGHTER_W) &&
(dwReqCharClass&GLCC_ARMS_W) && (dwReqCharClass_Disguise&GLCC_ARMS_W) &&
(dwReqCharClass&GLCC_ARCHER_W) && (dwReqCharClass_Disguise&GLCC_ARCHER_W) &&
(dwReqCharClass&GLCC_SPIRIT_W) && (dwReqCharClass_Disguise&GLCC_SPIRIT_W) &&
(dwReqCharClass&GLCC_EXTREME_W) && (dwReqCharClass_Disguise&GLCC_EXTREME_W) &&
(dwReqCharClass&GLCC_SCIENCE_W) && (dwReqCharClass_Disguise&GLCC_SCIENCE_W) &&
(dwReqCharClass&GLCC_ASSASIN_W) && (dwReqCharClass_Disguise&GLCC_ASSASIN_W) &&
(dwReqCharClass&GLCC_TESTING_W) && (dwReqCharClass_Disguise&GLCC_TESTING_W))
||
((dwReqCharClass&GLCC_FIGHTER_W) && (dwReqCharClass_Disguise&GLCC_FIGHTER_W) &&
(dwReqCharClass&GLCC_ARMS_W) && (dwReqCharClass_Disguise&GLCC_ARMS_W) &&
(dwReqCharClass&GLCC_ARCHER_W) && (dwReqCharClass_Disguise&GLCC_ARCHER_W) &&
(dwReqCharClass&GLCC_SPIRIT_W) && (dwReqCharClass_Disguise&GLCC_SPIRIT_W) &&
(dwReqCharClass&GLCC_EXTREME_W) && (dwReqCharClass_Disguise&GLCC_EXTREME_W) &&
(dwReqCharClass&GLCC_SCIENCE_W) && (dwReqCharClass_Disguise&GLCC_SCIENCE_W) &&
(dwReqCharClass&GLCC_ASSASIN_W) && (dwReqCharClass_Disguise&GLCC_ASSASIN_W)) )
{
szClass = ("All Female Classes");
}
else
{
if ( (dwReqCharClass&GLCC_FIGHTER_M) && (dwReqCharClass_Disguise&GLCC_FIGHTER_M) &&
(dwReqCharClass&GLCC_FIGHTER_W) && (dwReqCharClass_Disguise&GLCC_FIGHTER_W))
{
szClass+="/Brawler";
}
if ( (dwReqCharClass&GLCC_ARMS_M) && (dwReqCharClass_Disguise&GLCC_ARMS_M) &&
(dwReqCharClass&GLCC_ARMS_W) && (dwReqCharClass_Disguise&GLCC_ARMS_W))
{
szClass+="/Swordie";
}
if ( (dwReqCharClass&GLCC_ARCHER_M) && (dwReqCharClass_Disguise&GLCC_ARCHER_M) &&
(dwReqCharClass&GLCC_ARCHER_W) && (dwReqCharClass_Disguise&GLCC_ARCHER_W))
{
szClass+="/Archer";
}
if ( (dwReqCharClass&GLCC_SPIRIT_M) && (dwReqCharClass_Disguise&GLCC_SPIRIT_M) &&
(dwReqCharClass&GLCC_SPIRIT_W) && (dwReqCharClass_Disguise&GLCC_SPIRIT_W))
{
szClass+="/Shamman";
}
if ( (dwReqCharClass&GLCC_EXTREME_M) && (dwReqCharClass_Disguise&GLCC_EXTREME_M) &&
(dwReqCharClass&GLCC_EXTREME_W) && (dwReqCharClass_Disguise&GLCC_EXTREME_W))
{
szClass+="/Extreme";
}
//add class
if ( (dwReqCharClass&GLCC_SCIENCE_M) && (dwReqCharClass_Disguise&GLCC_SCIENCE_M) &&
(dwReqCharClass&GLCC_SCIENCE_W) && (dwReqCharClass_Disguise&GLCC_SCIENCE_W))
{
szClass+="/Gunner";
}
if ( (dwReqCharClass&GLCC_ASSASIN_M) && (dwReqCharClass_Disguise&GLCC_ASSASIN_M) &&
(dwReqCharClass&GLCC_ASSASIN_W) && (dwReqCharClass_Disguise&GLCC_ASSASIN_W))
{
szClass+="/Assassin";
}
if ( (dwReqCharClass&GLCC_TESTING_M) && (dwReqCharClass_Disguise&GLCC_TESTING_M) &&
(dwReqCharClass&GLCC_TESTING_W) && (dwReqCharClass_Disguise&GLCC_TESTING_W))
{
szClass+="/Testing";
}
}

DWORD dwReqSchool = pItemData->sBasicOp.dwReqSchool;
CString strSchool, strText;
if ( dwReqSchool )
{
if ( dwReqSchool==GLSCHOOL_ALL ) //if (( dwReqSchool == GLSCHOOL_00)&&( dwReqSchool == GLSCHOOL_01)&&( dwReqSchool == GLSCHOOL_02))
{
strSchool+="All Campuses";
strText.AppendFormat ("%s", strSchool.GetString());
}
else
{
if ( dwReqSchool == GLSCHOOL_00)
{
strSchool+="Sacred Gate";
strText.AppendFormat ("%s", strSchool.GetString());
}
if ( dwReqSchool == GLSCHOOL_01)
{
strSchool+="Mystic Peak";
strText.AppendFormat ("%s", strSchool.GetString());
}
if ( dwReqSchool == GLSCHOOL_02)
{
strSchool+="Phoenix";
strText.AppendFormat ("%s", strSchool.GetString());
}

//AddTextNoSplit ( strText, NS_UITEXTCONTROL::GetEvaluateColor ( dwReqSchool & index2school(pCharacter->m_wSchool) ) );
}
}

strText.Format( "%s", szClass.GetString() );
AddTextNoSplit ( strText, NS_UITEXTCONTROL::GetEvaluateColor((dwReqCharClass&pCharacter->m_emClass) && (dwReqCharClass_Disguise&pCharacter->m_emClass)&&(dwReqSchool & index2school(pCharacter->m_wSchool))));
}
}
else
{
DWORD dwReqCharClass = pItemData->sBasicOp.dwReqCharClass;
CString szClass;

if( dwReqCharClass )
{
//if ( dwReqCharClass==GLCC_ALL_NEWSEX)
//add class
if ( dwReqCharClass==GLCC_ALL_2012)
{
szClass = ("/All Classes");
}
else if ((( dwReqCharClass & GLCC_FIGHTER_M) && ( dwReqCharClass & GLCC_ARMS_M) &&
( dwReqCharClass & GLCC_ARCHER_M) && ( dwReqCharClass & GLCC_SPIRIT_M) &&
( dwReqCharClass & GLCC_EXTREME_M) && ( dwReqCharClass & GLCC_SCIENCE_M) &&
( dwReqCharClass & GLCC_ASSASIN_M) && ( dwReqCharClass & GLCC_TESTING_M))
||
(( dwReqCharClass & GLCC_FIGHTER_M) && ( dwReqCharClass & GLCC_ARMS_M) &&
( dwReqCharClass & GLCC_ARCHER_M) && ( dwReqCharClass & GLCC_SPIRIT_M) &&
( dwReqCharClass & GLCC_EXTREME_M) && ( dwReqCharClass & GLCC_SCIENCE_M) &&
( dwReqCharClass & GLCC_ASSASIN_M)) )
{
szClass = ("/All Male Classes");
}
else if ((( dwReqCharClass & GLCC_FIGHTER_W) && ( dwReqCharClass & GLCC_ARMS_W) &&
( dwReqCharClass & GLCC_ARCHER_W) && ( dwReqCharClass & GLCC_SPIRIT_W) &&
( dwReqCharClass & GLCC_EXTREME_W) && ( dwReqCharClass & GLCC_SCIENCE_W) &&
( dwReqCharClass & GLCC_ASSASIN_W) && ( dwReqCharClass & GLCC_TESTING_W))
||
(( dwReqCharClass & GLCC_FIGHTER_W) && ( dwReqCharClass & GLCC_ARMS_W) &&
( dwReqCharClass & GLCC_ARCHER_W) && ( dwReqCharClass & GLCC_SPIRIT_W) &&
( dwReqCharClass & GLCC_EXTREME_W) && ( dwReqCharClass & GLCC_SCIENCE_W) &&
( dwReqCharClass & GLCC_ASSASIN_W)) )
{
szClass = ("/All Female Classes");
}
else if ( dwReqCharClass==GLCC_FIGHTER_M)
{
szClass = ("/All Classes");
}
else
{
if (( dwReqCharClass & GLCC_FIGHTER_M)&&( dwReqCharClass & GLCC_FIGHTER_W))
{
szClass+="/Brawler";
}
if (( dwReqCharClass & GLCC_ARMS_M)&&( dwReqCharClass & GLCC_ARMS_W))
{
szClass+="/Swordie";
}
if (( dwReqCharClass & GLCC_ARCHER_M)&&( dwReqCharClass & GLCC_ARCHER_W))
{
szClass+="/Archer";
}
if (( dwReqCharClass & GLCC_SPIRIT_M)&&( dwReqCharClass & GLCC_SPIRIT_W))
{
szClass+="/Shamman";
}
if (( dwReqCharClass & GLCC_EXTREME_M)&&( dwReqCharClass & GLCC_EXTREME_W))
{
szClass+="/Extreme";
}
//add class
if (( dwReqCharClass & GLCC_SCIENCE_M)&&( dwReqCharClass & GLCC_SCIENCE_W))
{
szClass+="/Gunner";
}
if (( dwReqCharClass & GLCC_ASSASIN_M)&&( dwReqCharClass & GLCC_ASSASIN_W))
{
szClass+="/Assassin";
}
if (( dwReqCharClass & GLCC_TESTING_M)&&( dwReqCharClass & GLCC_TESTING_W))
{
szClass+="/Testing";
}

}

DWORD dwReqSchool = pItemData->sBasicOp.dwReqSchool;
CString strSchool, strText;
if ( dwReqSchool )
{
if ( dwReqSchool==GLSCHOOL_ALL ) //if (( dwReqSchool == GLSCHOOL_00)&&( dwReqSchool == GLSCHOOL_01)&&( dwReqSchool == GLSCHOOL_02))
{
strSchool+="All Campuses";
strText.AppendFormat ("%s", strSchool.GetString());
}
else
{
if ( dwReqSchool == GLSCHOOL_00)
{
strSchool+="Sacred Gate";
strText.AppendFormat ("%s", strSchool.GetString());
}
if ( dwReqSchool == GLSCHOOL_01)
{
strSchool+="Mystic Peak";
strText.AppendFormat ("%s", strSchool.GetString());
}
if ( dwReqSchool == GLSCHOOL_02)
{
strSchool+="Phoenix";
strText.AppendFormat ("%s", strSchool.GetString());
}

//AddTextNoSplit ( strText, NS_UITEXTCONTROL::GetEvaluateColor ( dwReqSchool & index2school(pCharacter->m_wSchool) ) );
}
}

strText.AppendFormat( "%s", szClass.GetString() );
AddTextNoSplit ( strText, NS_UITEXTCONTROL::GetEvaluateColor ( (dwReqCharClass & pCharacter->m_emClass)&&(dwReqSchool & index2school(pCharacter->m_wSchool))));
}
}

// ÄÚ½ºÃã
if ( sItemCustom.nidDISGUISE!=SNATIVEID(false) )
{
SITEM* pDisguiseData = GLItemMan::GetInstance().GetItem ( sItemCustom.nidDISGUISE );

strText.Format ( "Costume: %s"/*, ID2GAMEWORD ( "ITEM_BASIC_INFO", 3 )*/, pDisguiseData->GetName() );
AddTextNoSplit ( strText, NS_UITEXTCOLOR::GREENYELLOW );
}

if ( sItemCustom.tDISGUISE!=0 )
{
CTime cTime(sItemCustom.tDISGUISE);
if ( cTime.GetYear()!=1970 )
{
CString strExpireDate;
strExpireDate = CInnerInterface::GetInstance().MakeString( ID2GAMEWORD("ITEM_EXPIRE_DATE"),
(cTime.GetYear ()%2000),
cTime.GetMonth (),
cTime.GetDay (),
cTime.GetHour (),
cTime.GetMinute () );

strText.Format ( "%s:%s", ID2GAMEWORD ( "ITEM_BASIC_INFO", 7 ), strExpireDate );
AddTextNoSplit ( strText, NS_UITEXTCOLOR::DARKORANGE );
}
}

DWORD dwCOMMISSION_MONEY = 0;

if ( pItemData->sBasicOp.dwBuyPrice || bInPrivateMarket )
{
if ( bInPrivateMarket )
{
bool bOPENER;
DWORD dwPrivateMarketID;
CInnerInterface::GetInstance().GetPrivateMarketInfo ( bOPENER, dwPrivateMarketID );
if ( bOPENER )
{
GLPrivateMarket &sPMarket = GLGaeaClient::GetInstance().GetCharacter()->m_sPMarket;

const SSALEITEM *pSALE = sPMarket.GetItem ( SNATIVEID(wPosX,wPosY) );
if ( pSALE )
{
CString strMoney = NS_UITEXTCONTROL::MAKE_MONEY_FORMAT ( pSALE->llPRICE, 3, "," );
strText.Format ( "%s:%s", ID2GAMEWORD ( "ITEM_BASIC_INFO", 5 ), strMoney );
AddTextNoSplit ( strText, NS_UITEXTCOLOR::GOLD );
}
}
else
{
PGLCHARCLIENT pCLIENT = GLGaeaClient::GetInstance().GetChar ( dwPrivateMarketID );
if ( !pCLIENT ) return ;

GLPrivateMarket &sPMarket = pCLIENT->m_sPMarket;

const SSALEITEM *pSALE = sPMarket.GetItem ( SNATIVEID(wPosX,wPosY) );
if ( pSALE )
{
CString strMoney = NS_UITEXTCONTROL::MAKE_MONEY_FORMAT ( pSALE->llPRICE, 3, "," );
strText.Format ( "%s:%s", ID2GAMEWORD ( "ITEM_BASIC_INFO", 5 ), strMoney );
AddTextNoSplit ( strText, NS_UITEXTCOLOR::GOLD );
}
}
}
else if ( bShopOpen && bInMarket ) // npc open , check item inside inventory ( item price inside npc)
{
LONGLONG dwNpcSellPrice = 0;

volatile LONGLONG dwPrice = 0;
volatile float fSHOP_RATE = GLGaeaClient::GetInstance().GetCharacter()->GetBuyRate();
volatile float fSHOP_RATE_C = fSHOP_RATE * 0.01f;

PCROWDATA pCrowData = GLCrowDataMan::GetInstance().GetCrowData ( sNpcNativeID );
if( pCrowData )
{
LONGLONG dwNpcPrice = pCrowData->GetNpcSellPrice( pItemData->sBasicOp.sNativeID.dwID );

if ( pItemData->sBasicOp.emLevel == LEVEL_VOTE_ITEM ) //add money 2 //no tax for vote item
{
dwPrice = pItemData->sBasicOp.dwBuyPrice;
}
else if ( pItemData->sBasicOp.emLevel == LEVEL_PREMIUM_ITEM ) //add money 3 //no tax for premium item
{
dwPrice = pItemData->sBasicOp.dwBuyPrice;
}
else
{
if( dwNpcPrice == 0 )
{
dwNpcSellPrice = pItemData->sBasicOp.dwBuyPrice;
dwPrice = DWORD ( (float)dwNpcSellPrice * fSHOP_RATE_C );
}
else
{
dwNpcSellPrice = dwNpcPrice;
dwPrice = dwNpcSellPrice;
}
}
}

CString strMoney = NS_UITEXTCONTROL::MAKE_MONEY_FORMAT ( dwPrice, 3, "," );

//checking price red
if ( pItemData->sBasicOp.emLevel == LEVEL_VOTE_ITEM || pItemData->sBasicOp.emLevel == LEVEL_PREMIUM_ITEM ) //add money 2 //addmoney 3//no tax for vote item
{
dwCOMMISSION_MONEY = 0;
}
else
{
dwCOMMISSION_MONEY = dwPrice - dwNpcSellPrice;
}

D3DCOLOR dwColor = NS_UITEXTCOLOR::RED;

// done price color respond with item gold price or item premium price
if ( pItemData->sBasicOp.emLevel == LEVEL_VOTE_ITEM ) //add money 2 // check price color for premium items
{
strText.Format( "%s:%s", ID2GAMEWORD("ITEM_BASIC_INFO", 11), strMoney );
if( dwPrice <= GLGaeaClient::GetInstance().GetCharacterLogic().m_lnVoteP ) dwColor = NS_UITEXTCOLOR::LIGHTSKYBLUE;
}
else if ( pItemData->sBasicOp.emLevel == LEVEL_PREMIUM_ITEM ) //add money 3 // check price color for premium items
{
strText.Format( "%s:%s", ID2GAMEWORD("ITEM_BASIC_INFO", 13), strMoney );
if( dwPrice <= GLGaeaClient::GetInstance().GetCharacterLogic().m_lnPremP ) dwColor = NS_UITEXTCOLOR::LIGHTSKYBLUE;
}
else
{
strText.Format( "%s:%s", ID2GAMEWORD("ITEM_BASIC_INFO", 1), strMoney );
if( dwPrice <= GLGaeaClient::GetInstance().GetCharacterLogic().m_lnMoney ) dwColor = NS_UITEXTCOLOR::pALEGREEN;
}

AddTextNoSplit ( strText, dwColor );
}
else if ( bShopOpen ) // npc open (check item price of items inside inventory not inside npc) //
{
if ( pItemData->sBasicOp.IsPointRecover() ) //add and modified for //add point sell
{
volatile DWORD dwPrice = pItemData->GETSELLPRICE ( sItemCustom.wTurnNum );
dwCOMMISSION_MONEY = 0;
CString strMoney = NS_UITEXTCONTROL::MAKE_MONEY_FORMAT ( dwPrice, 3, "," );
if ( pItemData->sBasicOp.emLevel == LEVEL_VOTE_ITEM )
{
strText.Format( "%s:%s", ID2GAMEWORD("ITEM_BASIC_INFO", 14), strMoney );
AddTextNoSplit ( strText, NS_UITEXTCOLOR::pALEGREEN );
}
else if ( pItemData->sBasicOp.emLevel == LEVEL_PREMIUM_ITEM )
{
strText.Format( "%s:%s", ID2GAMEWORD("ITEM_BASIC_INFO", 15), strMoney );
AddTextNoSplit ( strText, NS_UITEXTCOLOR::pALEGREEN );
}
else
{
AddTextNoSplit ( "Wrong item setting, enable only point recover if item is set to premium or vote", NS_UITEXTCOLOR::RED );
}
}
else
{//default
volatile float fSHOP_RATE = GLGaeaClient::GetInstance().GetCharacter()->GetSaleRate();
volatile float fSALE_DISCOUNT = fSHOP_RATE * 0.01f;
volatile DWORD dwPrice = pItemData->GETSELLPRICE ( sItemCustom.wTurnNum );
volatile DWORD dwSALE_PRICE = DWORD ( dwPrice * fSALE_DISCOUNT );
volatile DWORD dwDISPRICE = pItemData->GETSELLPRICE ( sItemCustom.wTurnNum );
dwCOMMISSION_MONEY = dwDISPRICE - dwSALE_PRICE;

CString strMoney = NS_UITEXTCONTROL::MAKE_MONEY_FORMAT ( dwSALE_PRICE, 3, "," );
strText.Format( "%s:%s", ID2GAMEWORD("ITEM_BASIC_INFO", 12), strMoney );
AddTextNoSplit ( strText, NS_UITEXTCOLOR::pALEGREEN );
}
}
}

if ( dwCOMMISSION_MONEY )
{
CString strMoney = NS_UITEXTCONTROL::MAKE_MONEY_FORMAT ( dwCOMMISSION_MONEY, 3, "," );
strText.Format( "%s:%s", ID2GAMEWORD("ITEM_BASIC_INFO", 6), strMoney );

AddTextNoSplit ( strText, NS_UITEXTCOLOR::pALEGREEN );
}

AddItemTurnInfo ( sItemCustom, bInMarket, bInPrivateMarket );

if ( pItemData->IsTIMELMT () )
{
CTime cTime(sItemCustom.tBORNTIME);
if ( cTime.GetYear()!=1970 )
{
CTimeSpan sLMT(pItemData->sDrugOp.tTIME_LMT);
cTime += sLMT;

CString strExpireDate;
strExpireDate = CInnerInterface::GetInstance().MakeString ( ID2GAMEWORD("ITEM_EXPIRE_DATE"),
(cTime.GetYear ()%2000), cTime.GetMonth (), cTime.GetDay (), cTime.GetHour (), cTime.GetMinute () );

strText.Format ( "%s:%s", ID2GAMEWORD ( "ITEM_BASIC_INFO", 4 ), strExpireDate );
AddTextNoSplit ( strText, NS_UITEXTCOLOR::DARKORANGE );
}
}

if ( pItemData->sBasicOp.wReqLevelDW || pItemData->sBasicOp.wReqLevelUP )
{
bool bReqLevel = true;
strText.Format( "%s:%d", ID2GAMEWORD("ITEM_ADVANCED_INFO_CONDITION", 0), pItemData->sBasicOp.wReqLevelDW );

if ( pItemData->sBasicOp.wReqLevelUP )
{
strText2.Format ( "~%d",pItemData->sBasicOp.wReqLevelUP );
strText += strText2;
bReqLevel = (pItemData->sBasicOp.wReqLevelUP >= pCharacter->m_wLevel);
}

AddTextNoSplit(strText, NS_UITEXTCONTROL::GetEvaluateColor ( pItemData->sBasicOp.wReqLevelDW <= pCharacter->m_wLevel && bReqLevel ) );
}

if ( pItemData->sBasicOp.dwRebornReq ) //add reborn req
{
strText.Format( "%s:%d", ID2GAMEWORD("ITEM_ADVANCED_INFO_CONDITION", 3), pItemData->sBasicOp.dwRebornReq );
AddTextNoSplit(strText, NS_UITEXTCONTROL::GetEvaluateColor ( pItemData->sBasicOp.dwRebornReq <= pCharacter->m_dwReborn ) );
}

// ??? ????
if ( pItemData->sBasicOp.IsCoolTime() )
{
CString strTime = "";
CTimeSpan cCoolTime( pItemData->sBasicOp.dwCoolTime );

if ( cCoolTime.GetHours() > 0 )
strTime += CInnerInterface::GetInstance().MakeString( "%d%s ", cCoolTime.GetHours(), ID2GAMEWORD ( "ITEM_BASIC_TIME", 0 ) );
if ( cCoolTime.GetMinutes() > 0 )
strTime += CInnerInterface::GetInstance().MakeString( "%d%s ", cCoolTime.GetMinutes(), ID2GAMEWORD ( "ITEM_BASIC_TIME", 1 ) );
if ( cCoolTime.GetSeconds() > 0 )
strTime += CInnerInterface::GetInstance().MakeString( "%d%s ", cCoolTime.GetSeconds(), ID2GAMEWORD ( "ITEM_BASIC_TIME", 2 ) );

strText.Format ( "%s : %s", ID2GAMEWORD ( "ITEM_BASIC_INFO", 8 ), strTime );
AddTextNoSplit ( strText, NS_UITEXTCOLOR::DARKORANGE );
}

// ????
GLCharacter* pCharacter = GLGaeaClient::GetInstance().GetCharacter();
if ( pCharacter && pCharacter->IsCoolTime( pItemData->sBasicOp.sNativeID ) )
{
CString strTime = "";
__time64_t tCurTime = GLGaeaClient::GetInstance().GetCurrentTime().GetTime();
__time64_t tCoolTime = pCharacter->GetMaxCoolTime( pItemData->sBasicOp.sNativeID );

CTimeSpan cReTime( tCoolTime - tCurTime );

if ( cReTime.GetHours() > 0 )
strTime += CInnerInterface::GetInstance().MakeString( "%d%s ", cReTime.GetHours(), ID2GAMEWORD ( "ITEM_BASIC_TIME", 0 ) );
if ( cReTime.GetMinutes() > 0 )
strTime += CInnerInterface::GetInstance().MakeString( "%d%s ", cReTime.GetMinutes(), ID2GAMEWORD ( "ITEM_BASIC_TIME", 1 ) );
if ( cReTime.GetSeconds() > 0 )
strTime += CInnerInterface::GetInstance().MakeString( "%d%s ", cReTime.GetSeconds(), ID2GAMEWORD ( "ITEM_BASIC_TIME", 2 ) );

strText.Format ( "%s : %s", ID2GAMEWORD ( "ITEM_BASIC_INFO", 9 ), strTime );
AddTextNoSplit ( strText, NS_UITEXTCOLOR::DARKORANGE );
}

//////////////////////////////////////////////////////////////////////////////////////////////////////
// AdvInfo
SCHARSTATS& rItemStats = pItemData->sBasicOp.sReqStats;
SCHARSTATS& rCharStats = pCharacter->m_sSUMSTATS;
EMITEM_TYPE emItemType = pItemData->sBasicOp.emItemType;
BOOL bSetItemList(FALSE);//add giftset

switch ( emItemType )
{
case ITEM_SUIT:
case ITEM_REVIVE:
case ITEM_ANTI_DISAPPEAR:
case ITEM_ANTI_REVERT:
case ITEM_VEHICLE: //part of directval project
{
bSetItemList = TRUE;//add giftset

//AddTextNoSplit ( ID2GAMEWORD ( "ITEM_CATEGORY", 1 ), NS_UITEXTCOLOR::LIGHTSKYBLUE );
BYTE uGRADE = 0;

GLPADATA &sDamage = sItemCustom.getdamage();
nExtraValue = sItemCustom.GETGRADE_DAMAGE();
uGRADE = sItemCustom.GETGRADE(EMGRINDING_DAMAGE);
AddInfoItemAddonRange ( sDamage.dwLow, sDamage.dwHigh, nExtraValue, uGRADE, ID2GAMEWORD("ITEM_ADVANCED_INFO", 0) );

nExtraValue = sItemCustom.GETGRADE_DAMAGE();
if ( nExtraValue )
{
uGRADE = sItemCustom.GETGRADE(EMGRINDING_DAMAGE);
strText.Format ( "%s:+%d", ID2GAMEWORD("ITEM_ADVANCED_INFO", 8), nExtraValue );
APPEND_ITEM_GRADE ( strText, uGRADE );
AddTextNoSplit ( strText, NS_UITEXTCOLOR::DEFAULT );
}

short nDefense = sItemCustom.getdefense();
nExtraValue = sItemCustom.GETGRADE_DEFENSE();
uGRADE = sItemCustom.GETGRADE(EMGRINDING_DEFENSE);
AddInfoItemAddon ( nDefense, nExtraValue, uGRADE, ID2GAMEWORD("ITEM_ADVANCED_INFO", 1) );

if ( sItemCustom.GETATTRANGE() )
{
strText.Format("%s:%d",ID2GAMEWORD("ITEM_ADVANCED_INFO", 2), sItemCustom.GETATTRANGE() );
AddTextNoSplit ( strText, NS_UITEXTCOLOR::DEFAULT );
}

if ( sItemCustom.GETHITRATE() )
{
nExtraValue = 0;
AddInfoItemAddon ( sItemCustom.GETHITRATE(), nExtraValue, ID2GAMEWORD("ITEM_ADVANCED_INFO", 3) );
}

// ???
if ( sItemCustom.GETAVOIDRATE() )
{
nExtraValue = 0;
AddInfoItemAddon ( sItemCustom.GETAVOIDRATE(), nExtraValue, ID2GAMEWORD("ITEM_ADVANCED_INFO", 4) );
}

// ????
strText.Format("%s:%s", ID2GAMEWORD("ITEM_ADVANCED_INFO", 5), COMMENT::ITEMSUIT[pItemData->sSuitOp.emSuit].c_str() );


// ?? ??
if ( pItemData->sSuitOp.emAttack != ITEMATT_NOTHING )
{
//strText.Format("%s:%s", ID2GAMEWORD("ITEM_ADVANCED_INFO", 6), COMMENT::ITEMATTACK[pItemData->sSuitOp.emAttack].c_str() );
strText.AppendFormat("/%s", COMMENT::ITEMATTACK[pItemData->sSuitOp.emAttack].c_str() );
//AddTextNoSplit ( strText, NS_UITEXTCOLOR::DEFAULT );
}
AddTextNoSplit (strText, NS_UITEXTCOLOR::DEFAULT );

// SP ??
const WORD wReqSP = sItemCustom.GETREQ_SP();
if ( 0 < wReqSP )
{
strText.Format("%s:%d", ID2GAMEWORD("ITEM_ADVANCED_INFO", 7), wReqSP );
AddTextNoSplit ( strText, NS_UITEXTCOLOR::DEFAULT );
}

// ????-------------------------------------------------------------------------------------
// ????-???? ???
//AddTextNoSplit( ID2GAMEWORD ( "ITEM_CATEGORY", 2 ), NS_UITEXTCOLOR::LIGHTSKYBLUE );

//if ( pItemData->sBasicOp.dwReqSchool!=GLSCHOOL_ALL )
//{
// CString strSchool;
// if ( pItemData->sBasicOp.dwReqSchool & GLSCHOOL_00)
// {
// strSchool+=GLCONST_CHAR::strSCHOOLNAME[school2index(GLSCHOOL_00)].c_str();
// strSchool+=" ";
// }
// if ( pItemData->sBasicOp.dwReqSchool & GLSCHOOL_01)
// {
// strSchool+=GLCONST_CHAR::strSCHOOLNAME[school2index(GLSCHOOL_01)].c_str();
// strSchool+=" ";
// }
// if ( pItemData->sBasicOp.dwReqSchool & GLSCHOOL_02)
// {
// strSchool+=GLCONST_CHAR::strSCHOOLNAME[school2index(GLSCHOOL_02)].c_str();
// strSchool+=" ";
// }
// AddTextNoSplit ( strSchool, NS_UITEXTCONTROL::GetEvaluateColor ( pItemData->sBasicOp.dwReqSchool & index2school(pCharacter->m_wSchool) ) );
//}

//Remove iWareZ


//if( sItemCustom.nidDISGUISE != NATIVEID_NULL() )
//{
// SITEM* pItemDisguise = GLItemMan::GetInstance().GetItem ( sItemCustom.nidDISGUISE );
// DWORD dwReqCharClass_Disguise = pItemDisguise->sBasicOp.dwReqCharClass;
// DWORD dwReqCharClass = pItemData->sBasicOp.dwReqCharClass;
// CString szClass;

// if( dwReqCharClass )
// {
// if ( (dwReqCharClass==GLCC_ALL_2012) && (dwReqCharClass_Disguise==GLCC_ALL_2012) )
// {
// szClass = ID2GAMEWORD("ITEM_ALL_CLASS");
// }
// else
// {
// if ( (dwReqCharClass&GLCC_FIGHTER_M) && (dwReqCharClass_Disguise&GLCC_FIGHTER_M) )
// {
// szClass+=COMMENT::CHARCLASS[CharClassToIndex(GLCC_FIGHTER_M)].c_str();
// szClass+=" ";
// }
// if ( (dwReqCharClass&GLCC_FIGHTER_W) && (dwReqCharClass_Disguise&GLCC_FIGHTER_W) )
// {
// szClass+=COMMENT::CHARCLASS[CharClassToIndex(GLCC_FIGHTER_W)].c_str();
// szClass+=" ";
// }

// if ( (dwReqCharClass&GLCC_ARMS_M) && (dwReqCharClass_Disguise&GLCC_ARMS_M) )
// {
// szClass+=COMMENT::CHARCLASS[CharClassToIndex(GLCC_ARMS_M)].c_str();
// szClass+=" ";
// }
// if ( (dwReqCharClass&GLCC_ARMS_W) && (dwReqCharClass_Disguise&GLCC_ARMS_W) )
// {
// szClass+=COMMENT::CHARCLASS[CharClassToIndex(GLCC_ARMS_W)].c_str();
// szClass+=" ";
// }
// if ( (dwReqCharClass&GLCC_ARCHER_M) && (dwReqCharClass_Disguise&GLCC_ARCHER_M) )
// {
// szClass+=COMMENT::CHARCLASS[CharClassToIndex(GLCC_ARCHER_M)].c_str();
// szClass+=" ";
// }
// if ( (dwReqCharClass&GLCC_ARCHER_W) && (dwReqCharClass_Disguise&GLCC_ARCHER_W) )
// {
// szClass+=COMMENT::CHARCLASS[CharClassToIndex(GLCC_ARCHER_W)].c_str();
// szClass+=" ";
// }
// if ( (dwReqCharClass&GLCC_SPIRIT_M) && (dwReqCharClass_Disguise&GLCC_SPIRIT_M) )
// {
// szClass+=COMMENT::CHARCLASS[CharClassToIndex(GLCC_SPIRIT_M)].c_str();
// szClass+=" ";
// }
// if ( (dwReqCharClass&GLCC_SPIRIT_W) && (dwReqCharClass_Disguise&GLCC_SPIRIT_W) )
// {
// szClass+=COMMENT::CHARCLASS[CharClassToIndex(GLCC_SPIRIT_W)].c_str();
// szClass+=" ";
// }
// if ( (dwReqCharClass&GLCC_EXTREME_M) && (dwReqCharClass_Disguise&GLCC_EXTREME_M) )
// {
// szClass+=COMMENT::CHARCLASS[CharClassToIndex(GLCC_EXTREME_M)].c_str();
// szClass+=" ";
// }
// if ( (dwReqCharClass&GLCC_EXTREME_W) && (dwReqCharClass_Disguise&GLCC_EXTREME_W) )
// {
// szClass+=COMMENT::CHARCLASS[CharClassToIndex(GLCC_EXTREME_W)].c_str();
// }
// //add class
// if ( (dwReqCharClass&GLCC_SCIENCE_M) && (dwReqCharClass_Disguise&GLCC_SCIENCE_M) )
// {
// szClass+=COMMENT::CHARCLASS[CharClassToIndex(GLCC_SCIENCE_M)].c_str();
// }
// if ( (dwReqCharClass&GLCC_SCIENCE_W) && (dwReqCharClass_Disguise&GLCC_SCIENCE_W) )
// {
// szClass+=COMMENT::CHARCLASS[CharClassToIndex(GLCC_SCIENCE_W)].c_str();
// }
// if ( (dwReqCharClass&GLCC_ASSASIN_M) && (dwReqCharClass_Disguise&GLCC_ASSASIN_M) )
// {
// szClass+=COMMENT::CHARCLASS[CharClassToIndex(GLCC_ASSASIN_M)].c_str();
// }
// if ( (dwReqCharClass&GLCC_ASSASIN_W) && (dwReqCharClass_Disguise&GLCC_ASSASIN_W) )
// {
// szClass+=COMMENT::CHARCLASS[CharClassToIndex(GLCC_ASSASIN_W)].c_str();
// }
// if ( (dwReqCharClass&GLCC_TESTING_M) && (dwReqCharClass_Disguise&GLCC_TESTING_M) )
// {
// szClass+=COMMENT::CHARCLASS[CharClassToIndex(GLCC_TESTING_M)].c_str();
// }
// if ( (dwReqCharClass&GLCC_TESTING_W) && (dwReqCharClass_Disguise&GLCC_TESTING_W) )
// {
// szClass+=COMMENT::CHARCLASS[CharClassToIndex(GLCC_TESTING_W)].c_str();
// }
// }

// strText.Format( "%s", szClass.GetString() );
// AddTextNoSplit ( strText, NS_UITEXTCONTROL::GetEvaluateColor(
// (dwReqCharClass&pCharacter->m_emClass) && (dwReqCharClass_Disguise&pCharacter->m_emClass) ) );
// }
//}
//else
//{
// DWORD dwReqCharClass = pItemData->sBasicOp.dwReqCharClass;
// CString szClass;
//
// if( dwReqCharClass )
// {
// //add class
// if ( dwReqCharClass==GLCC_ALL_2012)
// {
// szClass = ID2GAMEWORD("ITEM_ALL_CLASS");
// }
// else
// {
// if ( dwReqCharClass & GLCC_FIGHTER_M)
// {
// szClass+=COMMENT::CHARCLASS[CharClassToIndex(GLCC_FIGHTER_M)].c_str();
// szClass+=" ";
// }
// if ( dwReqCharClass & GLCC_FIGHTER_W)
// {
// szClass+=COMMENT::CHARCLASS[CharClassToIndex(GLCC_FIGHTER_W)].c_str();
// szClass+=" ";
// }
// if ( dwReqCharClass & GLCC_ARMS_M)
// {
// szClass+=COMMENT::CHARCLASS[CharClassToIndex(GLCC_ARMS_M)].c_str();
// szClass+=" ";
// }
// if ( dwReqCharClass & GLCC_ARMS_W)
// {
// szClass+=COMMENT::CHARCLASS[CharClassToIndex(GLCC_ARMS_W)].c_str();
// szClass+=" ";
// }
// if ( dwReqCharClass & GLCC_ARCHER_M)
// {
// szClass+=COMMENT::CHARCLASS[CharClassToIndex(GLCC_ARCHER_M)].c_str();
// szClass+=" ";
// }
// if ( dwReqCharClass & GLCC_ARCHER_W)
// {
// szClass+=COMMENT::CHARCLASS[CharClassToIndex(GLCC_ARCHER_W)].c_str();
// szClass+=" ";
// }
// if ( dwReqCharClass & GLCC_SPIRIT_M)
// {
// szClass+=COMMENT::CHARCLASS[CharClassToIndex(GLCC_SPIRIT_M)].c_str();
// szClass+=" ";
// }
// if ( dwReqCharClass & GLCC_SPIRIT_W)
// {
// szClass+=COMMENT::CHARCLASS[CharClassToIndex(GLCC_SPIRIT_W)].c_str();
// szClass+=" ";
// }
// if ( dwReqCharClass & GLCC_EXTREME_M)
// {
// szClass+=COMMENT::CHARCLASS[CharClassToIndex(GLCC_EXTREME_M)].c_str();
// szClass+=" ";
// }
// if ( dwReqCharClass & GLCC_EXTREME_W)
// {
// szClass+=COMMENT::CHARCLASS[CharClassToIndex(GLCC_EXTREME_W)].c_str();
// }
// //add class
// if ( dwReqCharClass & GLCC_SCIENCE_M)
// {
// szClass+=COMMENT::CHARCLASS[CharClassToIndex(GLCC_SCIENCE_M)].c_str();
// }
// if ( dwReqCharClass & GLCC_SCIENCE_W)
// {
// szClass+=COMMENT::CHARCLASS[CharClassToIndex(GLCC_SCIENCE_W)].c_str();
// }
// if ( dwReqCharClass & GLCC_ASSASIN_M)
// {
// szClass+=COMMENT::CHARCLASS[CharClassToIndex(GLCC_ASSASIN_M)].c_str();
// }
// if ( dwReqCharClass & GLCC_ASSASIN_W)
// {
// szClass+=COMMENT::CHARCLASS[CharClassToIndex(GLCC_ASSASIN_W)].c_str();
// }
// if ( dwReqCharClass & GLCC_TESTING_M)
// {
// szClass+=COMMENT::CHARCLASS[CharClassToIndex(GLCC_TESTING_M)].c_str();
// }
// if ( dwReqCharClass & GLCC_TESTING_W)
// {
// szClass+=COMMENT::CHARCLASS[CharClassToIndex(GLCC_TESTING_W)].c_str();
// }
// //
// }

// strText.Format( "%s", szClass.GetString() );
// AddTextNoSplit ( strText, NS_UITEXTCONTROL::GetEvaluateColor ( dwReqCharClass & pCharacter->m_emClass ) );
// }
//}


// ?? - ??
bValue = TRUE;
strText.Format ( "%s", COMMENT::BRIGHT[pItemData->sBasicOp.emReqBright].c_str() );
if ( pItemData->sBasicOp.emReqBright != BRIGHT_BOTH )
{
if ( pCharacter->GETBRIGHT() != pItemData->sBasicOp.emReqBright )
{
bValue = FALSE;
}
}
AddTextNoSplit ( strText, NS_UITEXTCONTROL::GetEvaluateColor ( bValue ) );
strText.Format( " " );
AddTextNoSplit ( strText, NS_UITEXTCONTROL::WHITE );

// ????->???
if ( pItemData->sBasicOp.wReqPA )
{
strText.Format("%s:%d", ID2GAMEWORD("ITEM_ADVANCED_INFO_CONDITION", 1), pItemData->sBasicOp.wReqPA );
AddTextNoSplit ( strText, NS_UITEXTCONTROL::GetEvaluateColor ( pItemData->sBasicOp.wReqPA <= pCharacter->m_wSUM_PA ) );
}
// ????->???
if ( pItemData->sBasicOp.wReqSA )
{
strText.Format("%s:%d", ID2GAMEWORD("ITEM_ADVANCED_INFO_CONDITION", 2 ), pItemData->sBasicOp.wReqSA );
AddTextNoSplit(strText,NS_UITEXTCONTROL::GetEvaluateColor ( pItemData->sBasicOp.wReqSA <= pCharacter->m_wSUM_SA ));
}

// Stats
// ????->?
if ( rItemStats.dwPow )
{
strText.Format( "%s:%d", ID2GAMEWORD("ITEM_ADVANCED_INFO_CONDITION_STATS", 0 ), rItemStats.dwPow );
AddTextNoSplit ( strText, NS_UITEXTCONTROL::GetEvaluateColor ( rItemStats.dwPow <= rCharStats.dwPow ) );
}
// ????->??
if ( rItemStats.dwStr )
{
strText.Format("%s:%d", ID2GAMEWORD("ITEM_ADVANCED_INFO_CONDITION_STATS", 1 ), rItemStats.dwStr );
AddTextNoSplit(strText, NS_UITEXTCONTROL::GetEvaluateColor ( rItemStats.dwStr <= rCharStats.dwStr ) );
}
// ????->???
if ( rItemStats.dwSpi)
{
strText.Format("%s:%d", ID2GAMEWORD("ITEM_ADVANCED_INFO_CONDITION_STATS", 2 ), rItemStats.dwSpi );
AddTextNoSplit(strText, NS_UITEXTCONTROL::GetEvaluateColor ( rItemStats.dwSpi <= rCharStats.dwSpi ) );
}
// ????->???
if ( rItemStats.dwDex )
{
strText.Format("%s:%d", ID2GAMEWORD("ITEM_ADVANCED_INFO_CONDITION_STATS", 3 ), rItemStats.dwDex );
AddTextNoSplit(strText, NS_UITEXTCONTROL::GetEvaluateColor ( rItemStats.dwDex <= rCharStats.dwDex ) );
}
// ????->??
if ( rItemStats.dwInt )
{
strText.Format("%s:%d", ID2GAMEWORD("ITEM_ADVANCED_INFO_CONDITION_STATS", 4 ), rItemStats.dwInt );
AddTextNoSplit(strText, NS_UITEXTCONTROL::GetEvaluateColor ( rItemStats.dwInt <= rCharStats.dwInt ) );
}
// ????->??
if ( rItemStats.dwSta )
{
strText.Format("%s:%d", ID2GAMEWORD("ITEM_ADVANCED_INFO_CONDITION_STATS", 5 ), rItemStats.dwSta );
AddTextNoSplit ( strText, NS_UITEXTCONTROL::GetEvaluateColor ( rItemStats.dwSta <= rCharStats.dwSta ) );
}

//-----------------------------------------------------------------------------------------------
// ???

//const int nELEC = sItemCustom.GETRESIST_ELEC();
//const int nFIRE = sItemCustom.GETRESIST_FIRE();
//const int nICE = sItemCustom.GETRESIST_ICE();
//const int nPOISON = sItemCustom.GETRESIST_POISON();
//const int nSPIRIT = sItemCustom.GETRESIST_SPIRIT();

//if ( nELEC || nFIRE || nICE || nPOISON || nSPIRIT )
//{
// AddTextNoSplit ( ID2GAMEWORD ( "ITEM_CATEGORY", 3 ), NS_UITEXTCOLOR::LIGHTSKYBLUE );

// if ( nELEC )
// {
// strText.Format("%s:%d", ID2GAMEWORD("ITEM_ADVANCED_INFO_RESIST", 0 ), nELEC );
// BYTE uGRADE = sItemCustom.GETGRADE(EMGRINDING_RESIST_ELEC);
// APPEND_ITEM_GRADE ( strText, uGRADE );
// AddTextNoSplit(strText,NS_UITEXTCOLOR::pRIVATE);
// }
// if ( nFIRE )
// {
// strText.Format("%s:%d", ID2GAMEWORD("ITEM_ADVANCED_INFO_RESIST", 1 ), nFIRE );
// BYTE uGRADE = sItemCustom.GETGRADE(EMGRINDING_RESIST_FIRE);
// APPEND_ITEM_GRADE ( strText, uGRADE );
// AddTextNoSplit(strText,NS_UITEXTCOLOR::pRIVATE);
// }
// if ( nICE )
// {
// strText.Format("%s:%d", ID2GAMEWORD("ITEM_ADVANCED_INFO_RESIST", 2 ), nICE );
// BYTE uGRADE = sItemCustom.GETGRADE(EMGRINDING_RESIST_ICE);
// APPEND_ITEM_GRADE ( strText, uGRADE );
// AddTextNoSplit(strText,NS_UITEXTCOLOR::pRIVATE);
// }
// if ( nPOISON )
// {
// strText.Format("%s:%d", ID2GAMEWORD("ITEM_ADVANCED_INFO_RESIST", 3 ), nPOISON );
// BYTE uGRADE = sItemCustom.GETGRADE(EMGRINDING_RESIST_POISON);
// APPEND_ITEM_GRADE ( strText, uGRADE );
// AddTextNoSplit(strText,NS_UITEXTCOLOR::pRIVATE);
// }
// if ( nSPIRIT )
// {
// strText.Format("%s:%d", ID2GAMEWORD("ITEM_ADVANCED_INFO_RESIST", 4 ), nSPIRIT );
// BYTE uGRADE = sItemCustom.GETGRADE(EMGRINDING_RESIST_SPIRIT);
// APPEND_ITEM_GRADE ( strText, uGRADE );
// AddTextNoSplit(strText,NS_UITEXTCOLOR::pRIVATE);
// }
//}


// ????
EMSTATE_BLOW emBLOW = pItemData->sSuitOp.sBLOW.emTYPE;
if ( emBLOW !=EMBLOW_NONE )
{
//AddTextNoSplit ( ID2GAMEWORD ( "ITEM_CATEGORY", 4 ), NS_UITEXTCOLOR::LIGHTSKYBLUE );

strText.Format("%s:%s", ID2GAMEWORD("ITEM_ADVANCED_INFO_ABNORMAL", 0 ), COMMENT::BLOW[emBLOW].c_str() );
AddTextNoSplit(strText,NS_UITEXTCOLOR::LIME);

strText.Format("%s:%.2f", ID2GAMEWORD("ITEM_ADVANCED_INFO_ABNORMAL", 1 ),pItemData->sSuitOp.sBLOW.fLIFE );
AddTextNoSplit(strText,NS_UITEXTCOLOR::LIME);

strText.Format("%s:%.2f%%", ID2GAMEWORD("ITEM_ADVANCED_INFO_ABNORMAL", 2 ),pItemData->sSuitOp.sBLOW.fRATE );
AddTextNoSplit(strText,NS_UITEXTCOLOR::LIME);

{
float fVAR1 = pItemData->sSuitOp.sBLOW.fVAR1 * COMMENT::BLOW_VAR1_SCALE[emBLOW];

if( fVAR1 != 0.0f )
{
if ( COMMENT::IsBLOW1_PER(emBLOW) )
strText.Format("%s:%.2f%%", COMMENT::BLOW_VAR1[emBLOW].c_str(), fVAR1 );
else
strText.Format("%s:%.2f", COMMENT::BLOW_VAR1[emBLOW].c_str(), fVAR1 );

AddTextNoSplit(strText,NS_UITEXTCOLOR::LIME);
}
}

{
float fVAR2 = pItemData->sSuitOp.sBLOW.fVAR2 * COMMENT::BLOW_VAR2_SCALE[emBLOW];

if( fVAR2 != 0.0f )
{
if ( COMMENT::IsBLOW2_PER(emBLOW) )
strText.Format("%s:%.2f%%", COMMENT::BLOW_VAR2[emBLOW].c_str(), fVAR2 );
else
strText.Format("%s:%.2f", COMMENT::BLOW_VAR2[emBLOW].c_str(), fVAR2 );

AddTextNoSplit(strText,NS_UITEXTCOLOR::LIME);
}
}
}

AddTextAddValue( sItemCustom, pItemData->sSuitOp );

{
BOOL bSPAC = sItemCustom.GETINCHP() || sItemCustom.GETINCMP() || sItemCustom.GETINCSP() || sItemCustom.GETINCAP();
BOOL bVAR_HP(FALSE), bVAR_MP(FALSE), bVAR_SP(FALSE), bVAR_AP(FALSE);

EMITEM_VAR emITEM_VAR = pItemData->sSuitOp.sVARIATE.emTYPE;
EMITEM_VAR emITEM_VOL = pItemData->sSuitOp.sVOLUME.emTYPE;
if ( (emITEM_VAR!=EMVAR_NONE) || (emITEM_VOL!=EMVAR_NONE) || bSPAC )
{
//AddTextNoSplit ( ID2GAMEWORD ( "ITEM_CATEGORY", 5 ), NS_UITEXTCOLOR::LIGHTSKYBLUE );
}

if ( sItemCustom.nidDISGUISE!=SNATIVEID(false) )
{
SITEM* pJDisguiseData = GLItemMan::GetInstance().GetItem ( sItemCustom.nidDISGUISE );
if ( pJDisguiseData )
{
if ( pJDisguiseData->sBasicOp.IsCostumeCombine() )
{
EMITEM_VAR emITEMCOS_VAR = pJDisguiseData->sSuitOp.sVARIATE.emTYPE;
EMITEM_VAR emITEMCOS_VOL = pJDisguiseData->sSuitOp.sVOLUME.emTYPE;
//add jitem

float fVAR_SCALE(0);
if ( emITEMCOS_VAR != EMVAR_NONE )
{
fVAR_SCALE = pJDisguiseData->sSuitOp.sVARIATE.fVariate;
CString strText2;
fVAR_SCALE *= COMMENT::ITEMVAR_SCALE[emITEMCOS_VAR];
strText2.Format("Costume ADD:%s %2.2f", ID2GAMEWORD("ITEM_ADVANCED_INFO_SPECIAL_ADD", emITEMCOS_VAR ), fVAR_SCALE );
if ( COMMENT::IsITEMVAR_SCALE(emITEMCOS_VAR) ) strText2 += "%";
AddTextNoSplit(strText2,NS_UITEXTCOLOR::pALEGREEN);
}

if ( emITEMCOS_VOL != EMVAR_NONE)
{
CString strText3;
float fVOLUME = pJDisguiseData->sSuitOp.sVOLUME.fVolume;
strText3.Format("Costume ADD:%s %.2f", ID2GAMEWORD("ITEM_ADVANCED_INFO_SPECIAL_ADD_VOL", emITEMCOS_VOL ), fVOLUME );
AddTextNoSplit(strText3,NS_UITEXTCOLOR::pALEGREEN);
}
}
}
}

float fVAR_SCALE(0);
if ( emITEM_VAR != EMVAR_NONE )
{
switch ( emITEM_VAR )
{
case EMVAR_HP:
bVAR_HP = TRUE;
fVAR_SCALE = sItemCustom.GETINCHP();
break;
case EMVAR_MP:
bVAR_MP = TRUE;
fVAR_SCALE = sItemCustom.GETINCMP();
break;
case EMVAR_SP:
bVAR_SP = TRUE;
fVAR_SCALE = sItemCustom.GETINCSP();
break;
case EMVAR_AP:
bVAR_AP = TRUE;
fVAR_SCALE = sItemCustom.GETINCAP();
break;
default:
fVAR_SCALE = pItemData->sSuitOp.sVARIATE.fVariate;
break;
};

fVAR_SCALE *= COMMENT::ITEMVAR_SCALE[emITEM_VAR];
strText.Format("%s %2.2f", ID2GAMEWORD("ITEM_ADVANCED_INFO_SPECIAL_ADD", emITEM_VAR ), fVAR_SCALE );
if ( COMMENT::IsITEMVAR_SCALE(emITEM_VAR) ) strText += "%";
AddTextNoSplit(strText,NS_UITEXTCOLOR::LIME);
}

if ( !bVAR_HP && sItemCustom.GETINCHP() )
{
fVAR_SCALE = sItemCustom.GETINCHP();
emITEM_VAR = EMVAR_HP;
fVAR_SCALE *= COMMENT::ITEMVAR_SCALE[emITEM_VAR];
strText.Format("%s %2.2f", ID2GAMEWORD("ITEM_ADVANCED_INFO_SPECIAL_ADD", emITEM_VAR ), fVAR_SCALE );
if ( COMMENT::IsITEMVAR_SCALE(emITEM_VAR) ) strText += "%";
AddTextNoSplit(strText,NS_UITEXTCOLOR::LIME);
}

if ( !bVAR_MP && sItemCustom.GETINCMP() )
{
fVAR_SCALE = sItemCustom.GETINCMP();
emITEM_VAR = EMVAR_MP;
fVAR_SCALE *= COMMENT::ITEMVAR_SCALE[emITEM_VAR];
strText.Format("%s %2.2f", ID2GAMEWORD("ITEM_ADVANCED_INFO_SPECIAL_ADD", emITEM_VAR ), fVAR_SCALE );
if ( COMMENT::IsITEMVAR_SCALE(emITEM_VAR) ) strText += "%";
AddTextNoSplit(strText,NS_UITEXTCOLOR::LIME);
}

if ( !bVAR_SP && sItemCustom.GETINCSP() )
{
fVAR_SCALE = sItemCustom.GETINCSP();
emITEM_VAR = EMVAR_SP;
fVAR_SCALE *= COMMENT::ITEMVAR_SCALE[emITEM_VAR];
strText.Format("%s %2.2f", ID2GAMEWORD("ITEM_ADVANCED_INFO_SPECIAL_ADD", emITEM_VAR ), fVAR_SCALE );
if ( COMMENT::IsITEMVAR_SCALE(emITEM_VAR) ) strText += "%";
AddTextNoSplit(strText,NS_UITEXTCOLOR::LIME);
}

if ( !bVAR_AP && sItemCustom.GETINCAP() )
{
fVAR_SCALE = sItemCustom.GETINCAP();
emITEM_VAR = EMVAR_AP;
fVAR_SCALE *= COMMENT::ITEMVAR_SCALE[emITEM_VAR];
strText.Format("%s %2.2f", ID2GAMEWORD("ITEM_ADVANCED_INFO_SPECIAL_ADD", emITEM_VAR ), fVAR_SCALE );
if ( COMMENT::IsITEMVAR_SCALE(emITEM_VAR) ) strText += "%";
AddTextNoSplit(strText,NS_UITEXTCOLOR::LIME);
}

float fExpMultiple = pItemData->GetExpMultiple();
if( fExpMultiple != 1.0f )
{
strText.Format("%s %2.2f%s",
ID2GAMEWORD( "ITEM_ADVANCED_INFO_SPECIAL_EX", 0 ),
fExpMultiple,
ID2GAMEWORD( "ITEM_ADVANCED_INFO_SPECIAL_EX", 1 ) );

AddTextNoSplit(strText,NS_UITEXTCOLOR::LIME);
}

if ( emITEM_VOL != EMVAR_NONE)
{
if ( emITEM_VOL == EMVAR_MOVE_SPEED )
{
float fVOLUME = sItemCustom.GETMOVESPEED();
strText.Format("%s %.2f", ID2GAMEWORD("ITEM_ADVANCED_INFO_SPECIAL_ADD_VOL", emITEM_VOL ), fVOLUME );
AddTextNoSplit(strText,NS_UITEXTCOLOR::LIME);
}
else
{
float fVOLUME = pItemData->sSuitOp.sVOLUME.fVolume;
strText.Format("%s %.2f", ID2GAMEWORD("ITEM_ADVANCED_INFO_SPECIAL_ADD_VOL", emITEM_VOL ), fVOLUME );
AddTextNoSplit(strText,NS_UITEXTCOLOR::LIME);
}

}
}

// Note : ?? ??
if( sItemCustom.IsSetRandOpt() )
{
CString strDescText;

AddTextNoSplit( ID2GAMEWORD ( "ITEM_CATEGORY", 11 ), NS_UITEXTCOLOR::LIGHTSKYBLUE );

INT nRandOptType = sItemCustom.GETOptTYPE1();
if( (EMR_OPT_NULL < nRandOptType) && (nRandOptType < EMR_OPT_SIZE) )
{
strDescText.Format( "%s:", ID2GAMEWORD("ITEM_RANDOM_OPTION", nRandOptType ) );

float fVal = sItemCustom.GETOptVALUE1();
if( fVal != 0.0f )
{
if( fVal > 0.0f) strDescText += _T('+');

strDescText.AppendFormat( "%.2f", fVal );
if( sItemCustom.IsPerRandOpt( nRandOptType ) ) strDescText += _T('%');

AddTextNoSplit( strDescText, NS_UITEXTCOLOR::AQUA );
}
}

nRandOptType = sItemCustom.GETOptTYPE2();
if( (EMR_OPT_NULL < nRandOptType) && (nRandOptType < EMR_OPT_SIZE) )
{
strDescText.Format( "%s:", ID2GAMEWORD("ITEM_RANDOM_OPTION", nRandOptType ) );

float fVal = sItemCustom.GETOptVALUE2();
if( fVal != 0.0f )
{
if( fVal > 0.0f) strDescText += _T('+');

strDescText.AppendFormat( "%.2f", fVal );
if( sItemCustom.IsPerRandOpt( nRandOptType ) ) strDescText += _T('%');

AddTextNoSplit( strDescText, NS_UITEXTCOLOR::AQUA );
}
}

nRandOptType = sItemCustom.GETOptTYPE3();
if( (EMR_OPT_NULL < nRandOptType) && (nRandOptType < EMR_OPT_SIZE) )
{
strDescText.Format( "%s:", ID2GAMEWORD("ITEM_RANDOM_OPTION", nRandOptType ) );

float fVal = sItemCustom.GETOptVALUE3();
if( fVal != 0.0f )
{
if( fVal > 0.0f) strDescText += _T('+');

strDescText.AppendFormat( "%.2f", fVal );
if( sItemCustom.IsPerRandOpt( nRandOptType ) ) strDescText += _T('%');

AddTextNoSplit( strDescText, NS_UITEXTCOLOR::AQUA );
}
}

nRandOptType = sItemCustom.GETOptTYPE4();
if( (EMR_OPT_NULL < nRandOptType) && (nRandOptType < EMR_OPT_SIZE) )
{
strDescText.Format( "%s:", ID2GAMEWORD("ITEM_RANDOM_OPTION", nRandOptType ) );

float fVal = sItemCustom.GETOptVALUE4();
if( fVal != 0.0f )
{
if( fVal > 0.0f) strDescText += _T('+');

strDescText.AppendFormat( "%.2f", fVal );
if( sItemCustom.IsPerRandOpt( nRandOptType ) ) strDescText += _T('%');

AddTextNoSplit( strDescText, NS_UITEXTCOLOR::AQUA );
}
}
}

if ( pItemData->sBasicOp.emItemType == ITEM_VEHICLE )
{
strText.Format(ID2GAMEWORD ("ITEM_VEHICLE_TYPE_INFO", 0) , COMMENT::VEHICLE_TYPE[pItemData->sVehicle.emVehicleType].c_str() );
AddTextNoSplit(strText,NS_UITEXTCOLOR::LIGHTSKYBLUE);

strText.Format( "%s %s", ID2GAMEWORD ("ITEM_VEHICLE_NAME",0), COMMENT::VEHICLE_TYPE[pItemData->sVehicle.emVehicleType].c_str() );
AddTextNoSplit(strText,NS_UITEXTCOLOR::DEFAULT);

bool bInfo(true);

VEHICLEITEMINFO_MAP_ITER iter = GLGaeaClient::GetInstance().GetCharacter()->m_mapVEHICLEItemInfo.find ( sItemCustom.dwVehicleID );
if ( iter == GLGaeaClient::GetInstance().GetCharacter()->m_mapVEHICLEItemInfo.end() )
{
iter = GLGaeaClient::GetInstance().GetCharacter()->m_mapVEHICLEItemInfoTemp.find ( sItemCustom.dwVehicleID );
if ( iter == GLGaeaClient::GetInstance().GetCharacter()->m_mapVEHICLEItemInfoTemp.end() ) bInfo = false;
}

if ( bInfo )
{
SVEHICLEITEMINFO sVehicleItemInfo = (*iter).second;
for ( int i = 0; i < VEHICLE_ACCETYPE_SIZE; ++i )
{
SITEM* pItem = GLItemMan::GetInstance().GetItem ( sVehicleItemInfo.m_PutOnItems.sNativeID );
if ( pItem )
{
strText.Format("%s %s", ID2GAMEWORD ("ITEM_VEHICLE_SLOT",i), pItem->GetName () );
AddTextNoSplit(strText,NS_UITEXTCOLOR::DEFAULT);
}
}

strText.Format( "%s %.2f%%", ID2GAMEWORD ("ITEM_VEHICLE_BATTERY",0), sVehicleItemInfo.m_nFull/10.0f );
AddTextNoSplit(strText,NS_UITEXTCOLOR::DEFAULT);
}
}
}
break;

case ITEM_CHARM:
{
AddTextNoSplit ( ID2GAMEWORD ( "ITEM_CATEGORY", 1 ), NS_UITEXTCOLOR::LIGHTSKYBLUE );

// ???
GLPADATA &sDAMAGE = sItemCustom.GETDAMAGE();
if ( sDAMAGE.dwLow || sDAMAGE.dwHigh )
{
strText.Format("Talisman %s:%s~%s ", ID2GAMEWORD("ITEM_ARROW_INFO", 0 ),
GetNumberWithSign ( sDAMAGE.dwLow ),
GetNumberWithSign ( sDAMAGE.dwHigh ) );

AddTextNoSplit(strText,NS_UITEXTCOLOR::DEFAULT);
}

AddTextAddValue( sItemCustom, pItemData->sSuitOp );
}
break;

case ITEM_ARROW:
{
AddTextNoSplit ( ID2GAMEWORD ( "ITEM_CATEGORY", 1 ), NS_UITEXTCOLOR::LIGHTSKYBLUE );

// ???
GLPADATA &sDAMAGE = sItemCustom.GETDAMAGE();
if ( sDAMAGE.dwLow || sDAMAGE.dwHigh )
{
strText.Format("Arrow %s:%s~%s ", ID2GAMEWORD("ITEM_ARROW_INFO", 0 ),
GetNumberWithSign ( sDAMAGE.dwLow ),
GetNumberWithSign ( sDAMAGE.dwHigh ) );

AddTextNoSplit(strText,NS_UITEXTCOLOR::DEFAULT);
}

AddTextAddValue( sItemCustom, pItemData->sSuitOp );
}
break;
//add bullet
case ITEM_BULLET:
{
AddTextNoSplit ( ID2GAMEWORD ( "ITEM_CATEGORY", 1 ), NS_UITEXTCOLOR::LIGHTSKYBLUE );
GLPADATA &sDAMAGE = sItemCustom.GETDAMAGE();
if ( sDAMAGE.dwLow || sDAMAGE.dwHigh )
{
strText.Format("Bullet %s:%s~%s ", ID2GAMEWORD("ITEM_ARROW_INFO", 0 ),
GetNumberWithSign ( sDAMAGE.dwLow ),
GetNumberWithSign ( sDAMAGE.dwHigh ) );

AddTextNoSplit(strText,NS_UITEXTCOLOR::DEFAULT);
}

AddTextAddValue( sItemCustom, pItemData->sSuitOp );
}
break;

case ITEM_CURE:
{
AddTextNoSplit ( ID2GAMEWORD ( "ITEM_CATEGORY", 7 ), NS_UITEXTCOLOR::LIGHTSKYBLUE );

if( pItemData->sDrugOp.wCureVolume == 0 )
{
strText.Format("%s",COMMENT::ITEMDRUG[pItemData->sDrugOp.emDrug].c_str());
}
else
{
strText.Format("%s:%d",COMMENT::ITEMDRUG[pItemData->sDrugOp.emDrug].c_str(), pItemData->sDrugOp.wCureVolume);
}

AddTextNoSplit(strText, NS_UITEXTCOLOR::DEFAULT);
}
break;

case ITEM_SKILL:
{
AddInfoSkillItem ( sItemCustom );
}
break;

case ITEM_PET_SKILL:
{
AddInfoPetSkillItem( sItemCustom );
}
break;

case ITEM_GRINDING:
{
AddTextNoSplit ( ID2GAMEWORD ( "ITEM_CATEGORY_EX", 0 ), NS_UITEXTCOLOR::LIGHTSKYBLUE );
}
break;

// ??? ?? ?? ??
case ITEM_VIETNAM_EXPGET:
{
if ( pItemData->sDrugOp.bRatio )
{
strText.Format(ID2GAMEWORD ("ITEM_CATEGORY_VIETNAM_EXP", 1) , pItemData->sDrugOp.wCureVolume );
}
else
{
strText.Format(ID2GAMEWORD ("ITEM_CATEGORY_VIETNAM_EXP", 0), pItemData->sDrugOp.wCureVolume );
}

AddTextNoSplit(strText,NS_UITEXTCOLOR::LIGHTSKYBLUE);
}
break;
// ??? ?? ?? ??
case ITEM_VIETNAM_ITEMGET:
{
strText.Format(ID2GAMEWORD ("ITEM_CATEGORY_VIETNAM_ITEM", 0) , pItemData->sDrugOp.wCureVolume );
AddTextNoSplit(strText,NS_UITEXTCOLOR::LIGHTSKYBLUE);
}
break;

case ITEM_PET_CARD:
{
if ( sItemCustom.dwPetID == 0 ) break;
PETCARDINFO_MAP_ITER iter = GLGaeaClient::GetInstance().GetCharacter()->m_mapPETCardInfo.find ( sItemCustom.dwPetID );
if ( iter == GLGaeaClient::GetInstance().GetCharacter()->m_mapPETCardInfo.end() )
{
iter = GLGaeaClient::GetInstance().GetCharacter()->m_mapPETCardInfoTemp.find ( sItemCustom.dwPetID );
if ( iter == GLGaeaClient::GetInstance().GetCharacter()->m_mapPETCardInfoTemp.end() ) break;
}

SPETCARDINFO sPetCardInfo = (*iter).second;

strText.Format(ID2GAMEWORD ("ITEM_PET_INFO", 0 ));
AddTextNoSplit(strText,NS_UITEXTCOLOR::LIGHTSKYBLUE);

strText.Format( "%s %s", ID2GAMEWORD ("ITEM_PET_NAME",0), sPetCardInfo.m_szName );
AddTextNoSplit(strText,NS_UITEXTCOLOR::DEFAULT);

strText.Format( "%s %s", ID2GAMEWORD ("ITEM_PET_TYPE",0), COMMENT::pET_TYPE[sPetCardInfo.m_emTYPE].c_str() );
AddTextNoSplit(strText,NS_UITEXTCOLOR::DEFAULT);

strText.Format( "%s %.2f%%", ID2GAMEWORD ("ITEM_PET_FULL",0), sPetCardInfo.m_nFull/10.0f );
AddTextNoSplit(strText,NS_UITEXTCOLOR::DEFAULT);

SITEM* pItem = GLItemMan::GetInstance().GetItem ( sPetCardInfo.m_PutOnItems[PET_ACCETYPE_A].sNativeID );
if ( pItem )
{
strText.Format("%s %s", ID2GAMEWORD ("ITEM_PET_SLOTA",0), pItem->GetName () );
AddTextNoSplit(strText,NS_UITEXTCOLOR::DEFAULT);
}

pItem = GLItemMan::GetInstance().GetItem ( sPetCardInfo.m_PutOnItems[PET_ACCETYPE_B].sNativeID );
if ( pItem )
{
strText.Format("%s %s", ID2GAMEWORD ("ITEM_PET_SLOTB",0), pItem->GetName () );
AddTextNoSplit(strText,NS_UITEXTCOLOR::DEFAULT);
}

if ( sItemCustom.tDISGUISE != 0 )
{
CTime currentTime = GLGaeaClient::GetInstance().GetCurrentTime();
CTime startTime = sItemCustom.tBORNTIME;
CTimeSpan timeSpan = currentTime - startTime;
if( timeSpan.GetTotalSeconds() < sItemCustom.tDISGUISE )
{
strText.Format("[%s]", ID2GAMEWORD ("ITEM_PET_USE_SKINPACK",0) );
AddTextNoSplit(strText,NS_UITEXTCOLOR::GOLD);
strText.Format("%s : %dsec", ID2GAMEWORD ("CLUB_BATTLE_TIME",0), sItemCustom.tDISGUISE - timeSpan.GetTotalSeconds() );
AddTextNoSplit(strText,NS_UITEXTCOLOR::GOLD);
}
}

AddTextNoSplit( ID2GAMEWORD ("ITEM_PET_SKILLS", 0 ), NS_UITEXTCOLOR::DEFAULT );

PETSKILL_MAP_CITER pos = sPetCardInfo.m_ExpSkills.begin();
PETSKILL_MAP_CITER pos_end = sPetCardInfo.m_ExpSkills.end();
for ( ;pos != pos_end; ++pos )
{
const PETSKILL& sPetSkill = (*pos).second;
PGLSKILL pSKILL = GLSkillMan::GetInstance().GetData( sPetSkill.sNativeID );
if ( pSKILL )
{
strText.Format("%s", pSKILL->GetName() );
AddTextNoSplit(strText,NS_UITEXTCOLOR::DEFAULT);
}
}
}
break;

/////////
case ITEM_SUMMON_CARD:
{
if ( pItemData->sBasicOp.sSumID!=SNATIVEID(false) )
{
SCROWDATA* pCrow =GLCrowDataMan::GetInstance().GetCrowData ( pItemData->sBasicOp.sSumID );

if (pCrow)
{
{
strText.Format("%s %s ", ID2GAMEWORD ("ITEM_SUMMON_INFO",0), pCrow->GetName () );
AddTextNoSplit(strText,NS_UITEXTCOLOR::DEFAULT);
}

{
strText.Format("%s %s ", ID2GAMEWORD ("ITEM_SUMMON_INFO",1),COMMENT::SUMMONTYPE[pItemData->sBasicOp.m_emSumType].c_str() );
AddTextNoSplit(strText,NS_UITEXTCOLOR::DEFAULT);
}

{
strText.Format("%s %d", ID2GAMEWORD ("ITEM_SUMMON_INFO",2), pCrow->m_sBasic.m_dwHP );
AddTextNoSplit(strText,NS_UITEXTCOLOR::DEFAULT);
}

{
strText.Format("%s %d ~ %d"
, ID2GAMEWORD ("ITEM_SUMMON_INFO",3)
, pCrow->m_sCrowAttack[0].sDamage.dwLow
, pCrow->m_sCrowAttack[0].sDamage.dwHigh
);
AddTextNoSplit(strText,NS_UITEXTCOLOR::DEFAULT);
}
}
}
}
break;
///////////
}

// Resistance
const int nELEC = sItemCustom.GETRESIST_ELEC();
const int nFIRE = sItemCustom.GETRESIST_FIRE();
const int nICE = sItemCustom.GETRESIST_ICE();
const int nPOISON = sItemCustom.GETRESIST_POISON();
const int nSPIRIT = sItemCustom.GETRESIST_SPIRIT();

if ( (nELEC) && (nFIRE) && (nICE) && (nPOISON) && (nSPIRIT) )
{
strText.Format("Resistance: Elec(%d) Fire(%d) Ice(%d) Poi(%d) Spi(%d)", nELEC, nFIRE, nICE, nPOISON, nSPIRIT );
BYTE uGRADE = ( (sItemCustom.GETGRADE(EMGRINDING_RESIST_ELEC)) &&
(sItemCustom.GETGRADE(EMGRINDING_RESIST_FIRE)) &&
(sItemCustom.GETGRADE(EMGRINDING_RESIST_ICE)) &&
(sItemCustom.GETGRADE(EMGRINDING_RESIST_POISON)) &&
(sItemCustom.GETGRADE(EMGRINDING_RESIST_SPIRIT)));
APPEND_ITEM_GRADE ( strText, uGRADE );
AddTextNoSplit(strText,NS_UITEXTCOLOR::LIME);
}

if( emItemType != ITEM_PET_SKILL )
{
//AddTextNoSplit( ID2GAMEWORD( "ITEM_CATEGORY", 8 ), NS_UITEXTCOLOR::LIGHTSKYBLUE );

// Note : ??/?? ??? ??? ?? ??
if( pItemData->sDrugOp.emDrug == ITEM_DRUG_CALL_REGEN )
{
GLCharacter* pCharacter = GLGaeaClient::GetInstance().GetCharacter();

CString strName( GLGaeaClient::GetInstance().GetMapName( pCharacter->m_sStartMapID ) );
if( strName == _T("(null)") ) strName.Empty();

strText.Format( "%s:%s", ID2GAMEWORD("ITEM_CALL_MAP", 0 ), strName );
AddTextNoSplit( strText, NS_UITEXTCOLOR::DEFAULT);

SMAPNODE *pMapNode = GLGaeaClient::GetInstance().FindMapNode ( pCharacter->m_sStartMapID );
if( pMapNode )
{
GLLevelFile cLevelFile;
BOOL bOk = cLevelFile.LoadFile( pMapNode->strFile.c_str(), TRUE, NULL );
if( bOk )
{
D3DXVECTOR3 vStartPos;
PDXLANDGATE pGate = cLevelFile.GetLandGateMan().FindLandGate( pCharacter->m_dwStartGate );
if( pGate )
{
vStartPos = pGate->GetGenPos ( DxLandGate::GEN_RENDUM );
}
else
{
pGate = cLevelFile.GetLandGateMan().FindLandGate( DWORD(0) );
if( pGate ) vStartPos = pGate->GetGenPos ( DxLandGate::GEN_RENDUM );
}

int nPosX(0), nPosY(0);
cLevelFile.GetMapAxisInfo().Convert2MapPos( vStartPos.x, vStartPos.z, nPosX, nPosY );

strText.Format( "%s:%d,%d", ID2GAMEWORD("ITEM_CALL_MAP", 1 ), nPosX, nPosY );
AddTextNoSplit( strText, NS_UITEXTCOLOR::DEFAULT);
}
}
}
else if( pItemData->sDrugOp.emDrug == ITEM_DRUG_CALL_LASTCALL )
{
GLCharacter* pCharacter = GLGaeaClient::GetInstance().GetCharacter();

if( pCharacter->m_sLastCallMapID.IsValidNativeID() )
{
CString strName( GLGaeaClient::GetInstance().GetMapName( pCharacter->m_sLastCallMapID ) );
if( strName == _T("(null)") ) strName.Empty();

strText.Format( "%s:%s", ID2GAMEWORD("ITEM_CALL_MAP", 0 ), strName );
AddTextNoSplit( strText, NS_UITEXTCOLOR::DEFAULT);

SMAPNODE *pMapNode = GLGaeaClient::GetInstance().FindMapNode ( pCharacter->m_sLastCallMapID );
if( pMapNode )
{
GLLevelFile cLevelFile;
BOOL bOk = cLevelFile.LoadFile( pMapNode->strFile.c_str(), TRUE, NULL );
if( bOk )
{
int nPosX(0), nPosY(0);
cLevelFile.GetMapAxisInfo().Convert2MapPos( pCharacter->m_vLastCallPos.x, pCharacter->m_vLastCallPos.z, nPosX, nPosY );

strText.Format( "%s:%d,%d", ID2GAMEWORD("ITEM_CALL_MAP", 1 ), nPosX, nPosY );
AddTextNoSplit( strText, NS_UITEXTCOLOR::DEFAULT);
}
}
}
else
{
AddTextNoSplit( ID2GAMEWORD("ITEM_CALL_MAP", 2 ), NS_UITEXTCOLOR::RED);
}
}
else if ( pItemData->sDrugOp.emDrug == ITEM_DRUG_CALL_TELEPORT )
{
CString strName( GLGaeaClient::GetInstance().GetMapName( pItemData->sBasicOp.sSubID ) );
if( strName == _T("(null)") ) strName.Empty();

strText.Format( "%s:%s", ID2GAMEWORD("ITEM_TELEPORT_MAP", 0 ), strName );
AddTextNoSplit( strText, NS_UITEXTCOLOR::DEFAULT);

strText.Format( "%s:%d,%d", ID2GAMEWORD("ITEM_TELEPORT_MAP", 1 ), pItemData->sBasicOp.wPosX, pItemData->sBasicOp.wPosY );
AddTextNoSplit( strText, NS_UITEXTCOLOR::DEFAULT);
}

BOOL bAccept(FALSE);

if( sItemCustom.nidDISGUISE != NATIVEID_NULL() )
{
bAccept = pCharacter->ACCEPT_ITEM( sItemCustom.sNativeID, sItemCustom.nidDISGUISE );
}
else
{
bAccept = pCharacter->ACCEPT_ITEM( sItemCustom.sNativeID );
}

if ( bAccept )
{
strText.Format ( "[%s]", ID2GAMEWORD("ITEM_USABLE", 0 ) );
AddTextNoSplit(strText, NS_UITEXTCOLOR::ENABLE );

DWORD dwNeedSP = pCharacter->CALC_ACCEPTP ( sItemCustom.sNativeID );
if ( 0 < dwNeedSP )
{
strText.Format ( "%s:%d", ID2GAMEWORD("ITEM_NEEDSP" ), dwNeedSP );
AddTextNoSplit(strText, NS_UITEXTCOLOR::pALEGREEN );
}
}
else
{
strText.Format ( "[%s]", ID2GAMEWORD("ITEM_USABLE", 1 ) );
AddTextNoSplit(strText, NS_UITEXTCOLOR::RED );
}
}

{ // ??
const TCHAR * pszComment(NULL);

if ( (emItemType != ITEM_SKILL) || (emItemType != ITEM_PET_SKILL) )
{
pszComment = pItemData->GetComment();
}
else
{
SNATIVEID sNativeID = sItemCustom.sNativeID;
SITEM* pItemData = GLItemMan::GetInstance().GetItem ( sNativeID );
SNATIVEID sSkillID = pItemData->sSkillBookOp.sSkill_ID;

// Note : ?? ?? ???.
PGLSKILL pSkill = GLSkillMan::GetInstance().GetData ( sSkillID.wMainID, sSkillID.wSubID );
if ( pSkill )
{
pszComment = pSkill->GetDesc();
}
}

if( pszComment )
{
int StrLength = static_cast<int>( strlen( pszComment ) );
if( StrLength )
{
AddTextNoSplit ( ID2GAMEWORD( "ITEM_CATEGORY", 9 ), NS_UITEXTCOLOR::LIGHTSKYBLUE );
AddTextLongestLineSplit( pszComment, NS_UITEXTCOLOR::GOLD );
}
}
}




//add money 2
{
DWORD dwFlags = pItemData->sBasicOp.dwFlags;
CString szFlag;
bool bShowFlag = false;

if( dwFlags ){
if ( dwFlags & TRADE_SALE) {
szFlag+=( ID2GAMEWORD( "ITEM_FLAG", 0 ));
szFlag+=", ";
bShowFlag = true; }
if ( dwFlags & TRADE_EXCHANGE) {
szFlag+=( ID2GAMEWORD( "ITEM_FLAG", 1 ));
szFlag+=", ";
bShowFlag = true; }
if ( dwFlags & TRADE_THROW) {
szFlag+=( ID2GAMEWORD( "ITEM_FLAG", 2 ));
szFlag+=", ";
bShowFlag = true; }
if ( dwFlags & TRADE_EVENT_SGL) {
szFlag+=( ID2GAMEWORD( "ITEM_FLAG", 3 ));
szFlag+=", ";
bShowFlag = true; }
if ( dwFlags & TRADE_GARBAGE) {
szFlag+=( ID2GAMEWORD( "ITEM_FLAG", 4 ));
szFlag+=", ";
bShowFlag = true; }
if ( dwFlags & TRADE_LOCKER) {
szFlag+=( ID2GAMEWORD( "ITEM_FLAG", 5 ));
szFlag+=", ";
bShowFlag = true; }
if ( dwFlags & ITEM_OWNERSHIP) {
szFlag+=( ID2GAMEWORD( "ITEM_FLAG", 8 ));
szFlag+=", ";
bShowFlag = true; }
if ( dwFlags & ITEM_POINT_RECOVER) {
szFlag+=( ID2GAMEWORD( "ITEM_FLAG", 9 ));
szFlag+=", ";
bShowFlag = true; }
if ( dwFlags & ITEM_COSTUME_COMBINE) {
szFlag+=( ID2GAMEWORD( "ITEM_FLAG", 10 ));
szFlag+=", ";
bShowFlag = true; }
//add nofailups
if ( dwFlags & ITEM_NO_FAIL ) {
szFlag+=( ID2GAMEWORD( "ITEM_FLAG", 11 ));
szFlag+=", ";
bShowFlag = true; }
//add itemcolor
if ( dwFlags & ITEM_COLORING ) {
szFlag+=( ID2GAMEWORD( "ITEM_FLAG", 12 ));
szFlag+=", ";
bShowFlag = true; }
}
if (pItemData->sBasicOp.emLevel == LEVEL_VOTE_ITEM ) {
szFlag+=( ID2GAMEWORD( "ITEM_FLAG", 6 ));
szFlag+=", ";
bShowFlag = true; }
if (pItemData->sBasicOp.emLevel == LEVEL_PREMIUM_ITEM ) {
szFlag+=( ID2GAMEWORD( "ITEM_FLAG", 7 ));
szFlag+=", ";
bShowFlag = true; }

if (bShowFlag ) {
strText.Format( "%s", szFlag.GetString() );
AddTextNoSplit ( strText, NS_UITEXTCOLOR::ENABLE ); }
}
//add ownership
{
DWORD dwOwner = sItemCustom.dwOwnerID;
DWORD dwOwnerID = GLGaeaClient::GetInstance().GetCharacter()->m_dwCharID;

if ( pItemData->sBasicOp.IsOwner() )
{
if (pItemData->sBasicOp.emLevel == LEVEL_VOTE_ITEM )
{
strText.Format( "Vote Item Owner ID: %d", dwOwner );
if ( dwOwnerID != dwOwner ) AddTextNoSplit ( strText, NS_UITEXTCOLOR::RED );
else AddTextNoSplit ( strText, NS_UITEXTCOLOR::LIGHTSKYBLUE );
}
if (pItemData->sBasicOp.emLevel == LEVEL_PREMIUM_ITEM )
{
strText.Format( "Premium Item Owner ID: %d", dwOwner );
if ( dwOwnerID != dwOwner ) AddTextNoSplit ( strText, NS_UITEXTCOLOR::RED );
else AddTextNoSplit ( strText, NS_UITEXTCOLOR::LIGHTSKYBLUE );
}
}
}

if ( bSetItemList )
{
//add giftset
{
CItemSetLists::ITEMSETLISTOPTION_LIST_ITER iter = CItemSetLists::GetInstance().m_listItemSet.begin();
CItemSetLists::ITEMSETLISTOPTION_LIST_ITER iter_end = CItemSetLists::GetInstance().m_listItemSet.end();
for( ; iter != iter_end; ++iter )
{
CItemSetListsOption * pItemSetListsOption = *iter;
for( DWORD i = 0 ; i < CItemSetListsOption::SLOT_MAX ; i ++ )
{
if ( pItemSetListsOption->m_sItemSetLists[ i ].fMainID > -1 && pItemSetListsOption->m_sItemSetLists[ i ].fSubID > -1 )
{
SNATIVEID sID = SNATIVEID( (WORD) pItemSetListsOption->m_sItemSetLists[ i ].fMainID , (WORD) pItemSetListsOption->m_sItemSetLists[ i ].fSubID );
if ( sID == pItemData->sBasicOp.sNativeID )
{
DWORD dwTotal = 0;
DWORD dwFound = 0;
AddTextNoSplit ( ID2GAMEWORD( "ITEM_CATEGORY", 14 ), NS_UITEXTCOLOR::LIGHTSKYBLUE );
for( DWORD i = 0 ; i < CItemSetListsOption::SLOT_MAX ; i ++ )
{
bool bFound = false;
if ( pItemSetListsOption->m_sItemSetLists[ i ].fMainID > -1 && pItemSetListsOption->m_sItemSetLists[ i ].fSubID > -1 )
{
dwTotal +=1;
SNATIVEID sID2 = SNATIVEID( (WORD) pItemSetListsOption->m_sItemSetLists[ i ].fMainID , (WORD) pItemSetListsOption->m_sItemSetLists[ i ].fSubID );
SITEMCUSTOM sSLotItem = SITEMCUSTOM( NATIVEID_NULL() );
for( DWORD i = 0 ; i < SLOT_TSIZE ; i ++ )
{
sSLotItem = GLGaeaClient::GetInstance().GetCharacter()->GET_SLOT_ITEM ( (EMSLOT) i );
if ( sID2 == sSLotItem.sNativeID )
{
bFound = true;
dwFound +=1;
}
}

SITEM* pMemberItem = GLItemMan::GetInstance().GetItem(sID2);
if (pMemberItem) {
CString strMember;
strMember.Format( "%s", pMemberItem->GetName() );
if ( bFound ) AddTextNoSplit ( strMember, NS_UITEXTCOLOR::GREENYELLOW );
else AddTextNoSplit ( strMember, NS_UITEXTCOLOR::DISABLE ); }
}
}

CString strFoundCount;
strFoundCount.Format(ID2GAMEINTEXT("ITEMSETLIST_OPTION_INPUT_SHOWINFO"),dwFound,dwTotal);
AddTextNoSplit ( strFoundCount , NS_UITEXTCOLOR::pALEGOLDENROD );

AddTextNoSplit ( ID2GAMEWORD( "ITEM_CATEGORY", 15 ), NS_UITEXTCOLOR::LIGHTSKYBLUE );
for( DWORD i = 0 ; i < pItemSetListsOption->m_dwOptionCount ; i ++ )
{
CString strTempOption("");
strTempOption.Format( ID2GAMEINTEXT("ITEMSETLIST_OPTION_INPUT_SHOWINFOWORK")
, i+1
, COMMENT::ITEMADDON[ (EMITEM_ADDON) pItemSetListsOption->m_sPartOption[ i ].dwType ].c_str()
, pItemSetListsOption->m_sPartOption[ i ].dwValue
);
if ( dwFound != 0 && dwFound == dwTotal ) AddTextNoSplit ( strTempOption , NS_UITEXTCOLOR::GREENYELLOW );
else AddTextNoSplit ( strTempOption , NS_UITEXTCOLOR::DISABLE );
}
}
}
}
}
}

{ //Costume
CItemSetLists::ITEMSETLISTOPTION_LIST_ITER iter = CItemSetLists::GetInstance().m_listItemSet.begin();
CItemSetLists::ITEMSETLISTOPTION_LIST_ITER iter_end = CItemSetLists::GetInstance().m_listItemSet.end();
for( ; iter != iter_end; ++iter )
{
CItemSetListsOption * pItemSetListsOption = *iter;
for( DWORD i = 0 ; i < CItemSetListsOption::SLOT_MAX ; i ++ )
{
if ( pItemSetListsOption->m_sItemSetLists[ i ].fMainID > -1 && pItemSetListsOption->m_sItemSetLists[ i ].fSubID > -1 )
{
SNATIVEID sID = SNATIVEID( (WORD) pItemSetListsOption->m_sItemSetLists[ i ].fMainID , (WORD) pItemSetListsOption->m_sItemSetLists[ i ].fSubID );
if ( sID == sItemCustom.nidDISGUISE )
{
DWORD dwTotal = 0;
DWORD dwFound = 0;
AddTextNoSplit ( ID2GAMEWORD( "ITEM_CATEGORY", 14 ), NS_UITEXTCOLOR::LIGHTSKYBLUE );
for( DWORD i = 0 ; i < CItemSetListsOption::SLOT_MAX ; i ++ )
{
bool bFound = false;
if ( pItemSetListsOption->m_sItemSetLists[ i ].fMainID > -1 && pItemSetListsOption->m_sItemSetLists[ i ].fSubID > -1 )
{
dwTotal +=1;
SNATIVEID sID2 = SNATIVEID( (WORD) pItemSetListsOption->m_sItemSetLists[ i ].fMainID , (WORD) pItemSetListsOption->m_sItemSetLists[ i ].fSubID );
SITEMCUSTOM sSLotItem = SITEMCUSTOM( NATIVEID_NULL() );
for( DWORD i = 0 ; i < SLOT_TSIZE ; i ++ )
{
sSLotItem = GLGaeaClient::GetInstance().GetCharacter()->GET_SLOT_ITEM ( (EMSLOT) i );
if ( sID2 == sSLotItem.nidDISGUISE )
{
bFound = true;
dwFound +=1;
}
}

SITEM* pMemberItem = GLItemMan::GetInstance().GetItem(sID2);
if (pMemberItem) {
CString strMember;
strMember.Format( "%s", pMemberItem->GetName() );
if ( bFound ) AddTextNoSplit ( strMember, NS_UITEXTCOLOR::GREENYELLOW );
else AddTextNoSplit ( strMember, NS_UITEXTCOLOR::DISABLE ); }
}
}

CString strFoundCount;
strFoundCount.Format(ID2GAMEINTEXT("ITEMSETLIST_OPTION_INPUT_SHOWINFO"),dwFound,dwTotal);
AddTextNoSplit ( strFoundCount , NS_UITEXTCOLOR::pALEGOLDENROD );

AddTextNoSplit ( ID2GAMEWORD( "ITEM_CATEGORY", 15 ), NS_UITEXTCOLOR::LIGHTSKYBLUE );
for( DWORD i = 0 ; i < pItemSetListsOption->m_dwOptionCount ; i ++ )
{
CString strTempOption("");
strTempOption.Format( ID2GAMEINTEXT("ITEMSETLIST_OPTION_INPUT_SHOWINFOWORK")
, i+1
, COMMENT::ITEMADDON[ (EMITEM_ADDON) pItemSetListsOption->m_sPartOption[ i ].dwType ].c_str()
, pItemSetListsOption->m_sPartOption[ i ].dwValue
);
if ( dwFound != 0 && dwFound == dwTotal ) AddTextNoSplit ( strTempOption , NS_UITEXTCOLOR::GREENYELLOW );
else AddTextNoSplit ( strTempOption , NS_UITEXTCOLOR::DISABLE );
}
}
}
}
}
}
}
/////////////////////////////////////////////////////////////////////////////////////////////////////////////
if ( sNpcNativeID != sItemCustom.sNativeID )
{
sNpcNativeID = sItemCustom.sNativeID;

if ( sNpcNativeID.IsValidNativeID() )
{
SITEM* pItem = GLItemMan::GetInstance().GetItem ( sNpcNativeID );
if ( !pItem )
{
GASSERT ( 0 && " " );
return ;
ResetItemRender ();
}
ResetItemRender ();
AddItemRender ( pItem->sBasicOp.sICONID, pItem->GetInventoryFile() );
}
}
/////////////////////////////////////////////////////////////////////////////////////////////////////////////
if ( pItemData->sBasicOp.IsCanColor() )
{
WORD wItemColor = sItemCustom.wColor;

WORD wR, wG, wB;
wR = wItemColor >> 10;
wG = wItemColor >> 5;
wG = wG&0x1f;
wB = wItemColor&0x1f;

wR = (WORD)( wR * 8.225806f );
wG = (WORD)( wG * 8.225806f );
wB = (WORD)( wB * 8.225806f );

DWORD dwItemColor = 0xff000000 + (wR<<16) + (wG<<8) + wB;

AddTextNoSplit ( "ITEM COLOR", dwItemColor );
}
}
}
};
 
Newbie Spellweaver
Joined
Apr 24, 2009
Messages
54
Reaction score
18
L3XJxHr - Item/Skill Image Render in Info - RaGEZONE Forums
 

Attachments

You must be registered for see attachments list
Newbie Spellweaver
Joined
Apr 24, 2009
Messages
54
Reaction score
18
{ // test Item Link
if ( DxInputDevice::GetInstance().GetKeyState ( DIK_LCONTROL ) & DXKEY_PRESSED )
{
if ( dwMsg & UIMSG_LB_UP )
{
CString strCombine;
strCombine.Format ( "<%s>", pItemData->GetName() );
CInnerInterface::GetInstance().SetItemLink ( strCombine, sInvenItem );
}
return ;
}
}
mnMMfXR - Item/Skill Image Render in Info - RaGEZONE Forums
 

Attachments

You must be registered for see attachments list
Back
Top