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!!!!
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!Any solution for this problem ? The price for item suddenly became 0 after I merged this code .
Check Screen Shot
find@all
hi compiled done.
but how to align this
@all
hi compiled done.
but how to align this
#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:EFAULT );
}
else if ( nBasic )
{
Text.Format ( "%s: %d", strFormat, nBasic );
AddTextNoSplit ( Text, NS_UITEXTCOLOR:EFAULT );
}
}
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:EFAULT );
}
else if ( nBasic )
{
Text.Format ( "%s: %d", strFormat, nBasic );
APPEND_ITEM_GRADE ( Text, uGRADE );
AddTextNoSplit ( Text, NS_UITEXTCOLOR:EFAULT );
}
}
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:EFAULT );
}
else if ( nBasicMin || nBasicMax )
{
Text.Format ( "%s: %d~%d",strFormat, nBasicMin, nBasicMax );
APPEND_ITEM_GRADE ( Text, uGRADE );
AddTextNoSplit ( Text, NS_UITEXTCOLOR:EFAULT );
}
}
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:EFAULT);
}
}
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:ALEGREEN);
strText.Format("%s:%s",ID2GAMEWORD("SKILL_BASIC_INFO", 2), COMMENT::BRIGHT[pSkill->m_sLEARN.emBRIGHT].c_str());
AddTextNoSplit(strText,NS_UITEXTCOLOR:ALEGREEN);
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:EFAULT );
}
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:EFAULT );
}
}
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:EFAULT );
}
}
}
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:ALEGREEN);
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:ALEGREEN );
}
}
}
}
}
}
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:EFAULT );
}
else if ( uGRADE == 1 ){
AddTextNoSplit ( strText, NS_UITEXTCOLOR:ALEGREEN );
}
else if ( uGRADE == 2 ){
AddTextNoSplit ( strText, NS_UITEXTCOLOR:ALEGREEN );
}
else if ( uGRADE == 3 ){
AddTextNoSplit ( strText, NS_UITEXTCOLOR:ALEGREEN );
}
else if ( uGRADE == 4 ){
AddTextNoSplit ( strText, NS_UITEXTCOLOR:ALEGREEN );
}
else if ( uGRADE == 5 ){
AddTextNoSplit ( strText, NS_UITEXTCOLOR:ALEGREEN );
}
else if ( uGRADE == 6 ){
AddTextNoSplit ( strText, NS_UITEXTCOLOR:ALEGREEN );
}
else if ( uGRADE == 7 ){
AddTextNoSplit ( strText, NS_UITEXTCOLOR:ARKORANGE );
}
else if ( uGRADE == 8 ){
AddTextNoSplit ( strText, NS_UITEXTCOLOR:ARKORANGE );
}
else if ( uGRADE == 9 ){
AddTextNoSplit ( strText, NS_UITEXTCOLOR::GOLD );
}
else if ( uGRADE == 10 ){
AddTextNoSplit ( strText, NS_UITEXTCOLOR:ARKTURQUOISE );
}
else if ( uGRADE == 11 ){
AddTextNoSplit ( strText, NS_UITEXTCOLOR:ARKVIOLET );
}
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:ARKORANGE );
}
}
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:ALEGREEN;
}
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:ALEGREEN );
}
else if ( pItemData->sBasicOp.emLevel == LEVEL_PREMIUM_ITEM )
{
strText.Format( "%s:%s", ID2GAMEWORD("ITEM_BASIC_INFO", 15), strMoney );
AddTextNoSplit ( strText, NS_UITEXTCOLOR:ALEGREEN );
}
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:ALEGREEN );
}
}
}
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:ALEGREEN );
}
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:ARKORANGE );
}
}
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:ARKORANGE );
}
// ????
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:ARKORANGE );
}
//////////////////////////////////////////////////////////////////////////////////////////////////////
// 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:EFAULT );
}
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:EFAULT );
}
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:EFAULT );
}
AddTextNoSplit (strText, NS_UITEXTCOLOR:EFAULT );
// SP ??
const WORD wReqSP = sItemCustom.GETREQ_SP();
if ( 0 < wReqSP )
{
strText.Format("%s:%d", ID2GAMEWORD("ITEM_ADVANCED_INFO", 7), wReqSP );
AddTextNoSplit ( strText, NS_UITEXTCOLOR:EFAULT );
}
// ????-------------------------------------------------------------------------------------
// ????-???? ???
//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:RIVATE);
// }
// 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:RIVATE);
// }
// 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:RIVATE);
// }
// 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:RIVATE);
// }
// 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:RIVATE);
// }
//}
// ????
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:ALEGREEN);
}
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:ALEGREEN);
}
}
}
}
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:EFAULT);
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:EFAULT);
}
}
strText.Format( "%s %.2f%%", ID2GAMEWORD ("ITEM_VEHICLE_BATTERY",0), sVehicleItemInfo.m_nFull/10.0f );
AddTextNoSplit(strText,NS_UITEXTCOLOR:EFAULT);
}
}
}
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:EFAULT);
}
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:EFAULT);
}
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:EFAULT);
}
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:EFAULT);
}
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:EFAULT);
strText.Format( "%s %s", ID2GAMEWORD ("ITEM_PET_TYPE",0), COMMENT:ET_TYPE[sPetCardInfo.m_emTYPE].c_str() );
AddTextNoSplit(strText,NS_UITEXTCOLOR:EFAULT);
strText.Format( "%s %.2f%%", ID2GAMEWORD ("ITEM_PET_FULL",0), sPetCardInfo.m_nFull/10.0f );
AddTextNoSplit(strText,NS_UITEXTCOLOR:EFAULT);
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:EFAULT);
}
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:EFAULT);
}
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:EFAULT );
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:EFAULT);
}
}
}
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:EFAULT);
}
{
strText.Format("%s %s ", ID2GAMEWORD ("ITEM_SUMMON_INFO",1),COMMENT::SUMMONTYPE[pItemData->sBasicOp.m_emSumType].c_str() );
AddTextNoSplit(strText,NS_UITEXTCOLOR:EFAULT);
}
{
strText.Format("%s %d", ID2GAMEWORD ("ITEM_SUMMON_INFO",2), pCrow->m_sBasic.m_dwHP );
AddTextNoSplit(strText,NS_UITEXTCOLOR:EFAULT);
}
{
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:EFAULT);
}
}
}
}
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:EFAULT);
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:EFAULT);
}
}
}
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:EFAULT);
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:EFAULT);
}
}
}
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:EFAULT);
strText.Format( "%s:%d,%d", ID2GAMEWORD("ITEM_TELEPORT_MAP", 1 ), pItemData->sBasicOp.wPosX, pItemData->sBasicOp.wPosY );
AddTextNoSplit( strText, NS_UITEXTCOLOR:EFAULT);
}
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:ALEGREEN );
}
}
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:ISABLE ); }
}
}
CString strFoundCount;
strFoundCount.Format(ID2GAMEINTEXT("ITEMSETLIST_OPTION_INPUT_SHOWINFO"),dwFound,dwTotal);
AddTextNoSplit ( strFoundCount , NS_UITEXTCOLOR:ALEGOLDENROD );
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:ISABLE );
}
}
}
}
}
}
{ //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:ISABLE ); }
}
}
CString strFoundCount;
strFoundCount.Format(ID2GAMEINTEXT("ITEMSETLIST_OPTION_INPUT_SHOWINFO"),dwFound,dwTotal);
AddTextNoSplit ( strFoundCount , NS_UITEXTCOLOR:ALEGOLDENROD );
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:ISABLE );
}
}
}
}
}
}
}
/////////////////////////////////////////////////////////////////////////////////////////////////////////////
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 );
}
}
}
};
{ // 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 ;
}
}
did someone already fix the itemlink?