#include "SunClientPrecompiledHeader.h" #include "equipmentcontainer.h" #include "Player.h" #include "ObjectManager.h" #include "SlotKeyGenerator.h" #include "ItemUnitRenderer.h" #include "StringTableInfo.h" #include "InterfaceManager.h" #include "GlobalFunc.h" #include "SCItemSlot.h" #include "Hero.h" #include "Interface/uiToolTipMan/uiToolTipMan.h" WzID EquipmentContainer::m_wzId[EQUIP_MAX] = { StrToWzID("B003"), //EQUIP_WEAPON1, //eEQUIPCONTAINER_WEAPON = 0, StrToWzID("B013"), //EQUIP_ARMOR, //eEQUIPCONTAINER_ARMOR, StrToWzID("B015"), //EQUIP_PROTECTOR, //eEQUIPCONTAINER_PROTECTOR, StrToWzID("B001"), //EQUIP_HELMET, //eEQUIPCONTAINER_HELMET, StrToWzID("B005"), //EQUIP_PANTS, //eEQUIPCONTAINER_PANTS, StrToWzID("B006"), //EQUIP_BOOTS, //eEQUIPCONTAINER_BOOTS, StrToWzID("B012"), //EQUIP_GLOVE, //eEQUIPCONTAINER_GLOVE, StrToWzID("B004"), //EQUIP_BELT, //eEQUIPCONTAINER_BELT, StrToWzID("B002"), //EQUIP_SHIRTS, //eEQUIPCONTAINER_SHIRTS, StrToWzID("B008"), //EQUIP_RING1, //eEQUIPCONTAINER_RING1, StrToWzID("B009"), //EQUIP_RING2, //eEQUIPCONTAINER_RING2, StrToWzID("B011"), //EQUIP_NECKLACE, //eEQUIPCONTAINER_NECKLACE, StrToWzID("0000"), //EQUIP_BOW, //eEQUIPCONTAINER_BOW, // ¾È¾²Áö¸¸ ¼ø¼­ ¸ÂÃç¼­ ³Ö¾îµÎÀÚ. StrToWzID("B018"), //EQUIP_SACCESSORY1,//eEQUIPCONTAINER_SACCESSORY1, StrToWzID("B017"), //EQUIP_SACCESSORY2,//eEQUIPCONTAINER_SACCESSORY2, StrToWzID("B016"), //EQUIP_SACCESSORY3,//eEQUIPCONTAINER_SACCESSORY3, StrToWzID("B019"), //EQUIP_CHARGE1, StrToWzID("B020"), //EQUIP_CHARGE2, StrToWzID("B021"), //EQUIP_CHARGE3, StrToWzID("BT00"), //EQUIP_CHARGE4 StrToWzID("BT01"), //EQUIP_CHARGE5 #ifdef _GS_GSP_REMOVE_PCROOM_SLOT //no operation #else StrToWzID("BT02"), //EQUIP_PC_ROOM1 StrToWzID("BT03"), //EQUIP_PC_ROOM2 StrToWzID("B010"), //EQUIP_PC_ROOM3 #endif//_GS_GSP_REMOVE_PCROOM_SLOT #ifdef _NA_000000_20130114_RENEWER_UI StrToWzID("PI02"), //EQUIP_PIC_CHARGE4 StrToWzID("P003"), //EQUIP_PIC_CHARGE5 #else StrToWzID("PI01"), //EQUIP_PIC_CHARGE4 StrToWzID("PI02"), //EQUIP_PIC_CHARGE5 #endif #ifdef _NA_000000_20130114_RENEWER_UI StrToWzID("P004"), //EQUIP_SCORE_BG, StrToWzID("P005"), //EQUIP_SCORE_NUMBER1, StrToWzID("P006"), //EQUIP_SCORE_NUMBER2, StrToWzID("P007"), //EQUIP_SCORE_NUMBER3, StrToWzID("P008"), //EQUIP_SCORE_NUMBER4, StrToWzID("P009"), //EQUIP_SCORE_NUMBER5, #else #ifdef _NA_002935_20110704_ITEM_SCORE StrToWzID("P001"), //EQUIP_SCORE_BG, StrToWzID("P002"), //EQUIP_SCORE_NUMBER1, StrToWzID("P007"), //EQUIP_SCORE_NUMBER2, StrToWzID("P008"), //EQUIP_SCORE_NUMBER3, StrToWzID("P009"), //EQUIP_SCORE_NUMBER4, StrToWzID("P010"), //EQUIP_SCORE_NUMBER5, #endif //_NA_002935_20110704_ITEM_SCORE #endif StrToWzID("B999"), StrToWzID("PI00"), StrToWzID("T999"), //EQUIP_TXT_TITLE, #ifdef _NA_000000_20130114_RENEWER_UI StrToWzID("C000"), StrToWzID("P010"),//EQUIP_HIDE_HELMET_P010 #endif }; EquipmentContainer::EquipmentContainer() { m_TabNum = 0; m_dwOwnerKey = 0; Init(MAX_EQUIPMENT_SLOT_NUM, SI_EQUIPMENT); m_UseTooltipCtrls.clear(); m_iTooltipStringCode = 0; m_UseTooltipCtrls[EQUIP_WEAPON1] = eST_WEAPON_STRING_INDEX; m_UseTooltipCtrls[EQUIP_ARMOR] = eST_ARMOR_STRING_INDEX; m_UseTooltipCtrls[EQUIP_PROTECTOR] = eST_PROTECTOR_STRING_INDEX; m_UseTooltipCtrls[EQUIP_HELMET] = eST_HELMET_STRING_INDEX; m_UseTooltipCtrls[EQUIP_PANTS] = eST_PANTS_STRING_INDEX; m_UseTooltipCtrls[EQUIP_BOOTS] = eST_BOOTS_STRING_INDEX; m_UseTooltipCtrls[EQUIP_GLOVE] = eST_GLOVE_STRING_INDEX; m_UseTooltipCtrls[EQUIP_BELT] = eST_BELT_STRING_INDEX; m_UseTooltipCtrls[EQUIP_SHIRTS] = eST_SHIRTS_STRING_INDEX; m_UseTooltipCtrls[EQUIP_RING1] = eST_RING_STRING_INDEX; m_UseTooltipCtrls[EQUIP_RING2] = eST_RING_STRING_INDEX; m_UseTooltipCtrls[EQUIP_NECKLACE] = eST_NECKLACE_STRING_INDEX; m_UseTooltipCtrls[EQUIP_SACCESSORY1] = 40017; // Ư¼ö ¾Ç¼¼»ç¸® m_UseTooltipCtrls[EQUIP_SACCESSORY2] = 40017; m_UseTooltipCtrls[EQUIP_SACCESSORY3] = 40017; m_UseTooltipCtrls[EQUIP_CHARGE1] = 40022; // Ư¼ö ¾Ç¼¼»ç¸® m_UseTooltipCtrls[EQUIP_CHARGE2] = 40022; m_UseTooltipCtrls[EQUIP_CHARGE3] = 40022; m_UseTooltipCtrls[EQUIP_CHARGE4] = 40022; m_UseTooltipCtrls[EQUIP_CHARGE5] = 40022; #ifdef _GS_GSP_REMOVE_PCROOM_SLOT //no operation #else m_UseTooltipCtrls[EQUIP_PC_ROOM1] = 40027; //PC¹æ Àü¿ë ¾ÆÀÌÅÛ m_UseTooltipCtrls[EQUIP_PC_ROOM2] = 40027; m_UseTooltipCtrls[EQUIP_PC_ROOM3] = 40027; #endif//_GS_GSP_REMOVE_PCROOM_SLOT } EquipmentContainer::~EquipmentContainer() { m_UseTooltipCtrls.clear(); Release(); } //------------------------------------------------------------------------------------------- /** */ void EquipmentContainer::Release() { for ( POSTYPE pos = 0; pos < GetMaxSlotNum(); ++pos ) { JustDeleteSlot(pos, NULL); } } //------------------------------------------------------------------------------ int EquipmentContainer::getTooltipString(POSTYPE pos) { USE_TOOLTIP_CTRL_EQUIP_WINDOW::iterator iter; iter = m_UseTooltipCtrls.find(pos); if (iter != m_UseTooltipCtrls.end()) { return iter->second; } else { return 0; } } //------------------------------------------------------------------------------ POSTYPE EquipmentContainer::getCtrlIDToPos( WzID wzId ) { for( POSTYPE i = 0 ; i < EQUIP_MAX ; ++i ) { if( m_wzId[i] == wzId ) return i; } return EQUIP_MAX; } //------------------------------------------------------------------------------ /** ÆÄÃ÷À妽º¸¦ ÅëÇØ ÀÌÅ¢½½·Ô À妽º ¾ò±â */ int EquipmentContainer::GetEquipPosByParts(POSTYPE parts_position) { switch (parts_position) { //Ư¼ö¾Ç¼¼»ç¸®0 case BP_SPECIAL_ACCESSORY1: return EQUIP_SACCESSORY1; //Ư¼ö¾Ç¼¼»ç¸®1 case BP_SPECIAL_ACCESSORY2: return EQUIP_SACCESSORY2; //Ư¼ö¾Ç¼¼»ç¸®2 case BP_SPECIAL_ACCESSORY3: return EQUIP_SACCESSORY3; //¹«±â case BP_WEAPON: return EQUIP_WEAPON1; //ºÎÃ÷ case BP_BOOTS: return EQUIP_BOOTS; //¹ÙÁö case BP_PANTS: return EQUIP_PANTS; //°¡½¿ÆÄÃ÷ case BP_ARMOR: return EQUIP_ARMOR; //Åõ±¸ case BP_HELM: return EQUIP_HELMET; //Àå°© case BP_GLOVE: return EQUIP_GLOVE; default: return EQUIP_MAX; } } //------------------------------------------------------------------------------ /** ´Ü¼ø ½½·Ô»ðÀÔ */ void EquipmentContainer::JustInsertSlot(POSTYPE insert_position, SCSlot& slot_info) { //slot_safe_code:¾ÈÀüÇÑ ½½·Ôüũ ±¸¹®(»ðÀÔ) if (ValidPos(insert_position) == false) { return; } // Ãß°¡ RC::eSLOT_INSERT_RESULT slot_result = SCSlotContainer::InsertSlot(insert_position, slot_info); // ½Ã¸®¾ó ¹ß±Þ ¼³Á¤ SCSlot& insert_slot = GetSlot(insert_position); DBSERIAL item_serial = g_SlotKeyGenerator.GetKey(); insert_slot.SetSerial(item_serial); // Ç÷¹À̾îÀÇ Ã³¸® // Ŭ¶ó¿¡¼­ µû·Î ½Ã¸®¾óÀ» ¹ß±ÞÇÑ´Ù. Player* player_ptr = g_ObjectManager.GetPlayer(m_dwOwnerKey); if (player_ptr == NULL) { return; } //slot_safe_code:½ÇÁ¦»ðÀÔ ¼º°ø½Ã¿¡¸¸ µ¥ÀÌÅÍó¸® if (slot_result != RC::RC_INSERT_SLOT_SUCCESS) { return; } player_ptr->SetRealEquipFlag(insert_position, true); if( player_ptr->IsMyHero() ) g_pHero->ItemAttrCalculatorByItemslot(insert_slot, true, insert_position); if (insert_position == eEQUIPCONTAINER_WEAPON) { player_ptr->SetWeaponKind(player_ptr->GetWeaponKind()); } player_ptr->OnUseItem(insert_slot.GetCode()); } //------------------------------------------------------------------------------ /** ij½¬ + PC_ROOM ½½·Ô ¼ÂÆÃ */ void EquipmentContainer::SetDeleteChargeSlot(Character* character_ptr, POSTYPE delete_position) { if( delete_position==eEQUIPCONTAINER_CHARGE1|| delete_position==eEQUIPCONTAINER_CHARGE2|| delete_position==eEQUIPCONTAINER_CHARGE4|| delete_position==eEQUIPCONTAINER_CHARGE5|| delete_position==eEQUIPCONTAINER_CHARGE3) { if (IsEmpty(eEQUIPCONTAINER_CHARGE1) == FALSE) { SCSlot& slot_info = GetSlot(eEQUIPCONTAINER_CHARGE1); character_ptr->OnUseItem(slot_info.GetCode()); } else if (IsEmpty(eEQUIPCONTAINER_CHARGE1) == FALSE) { SCSlot& slot_info = GetSlot(eEQUIPCONTAINER_CHARGE1); character_ptr->OnUseItem(slot_info.GetCode()); } else if (IsEmpty(eEQUIPCONTAINER_CHARGE2) == FALSE) { SCSlot& slot_info = GetSlot(eEQUIPCONTAINER_CHARGE2); character_ptr->OnUseItem(slot_info.GetCode()); } else if (IsEmpty(eEQUIPCONTAINER_CHARGE3) == FALSE) { SCSlot& slot_info = GetSlot(eEQUIPCONTAINER_CHARGE3); character_ptr->OnUseItem(slot_info.GetCode()); } else if (IsEmpty(eEQUIPCONTAINER_CHARGE4) == FALSE) { SCSlot& slot_info = GetSlot(eEQUIPCONTAINER_CHARGE4); character_ptr->OnUseItem(slot_info.GetCode()); } else if (IsEmpty(eEQUIPCONTAINER_CHARGE5) == FALSE) { SCSlot& slot_info = GetSlot(eEQUIPCONTAINER_CHARGE5); character_ptr->OnUseItem(slot_info.GetCode()); } } if ((delete_position == eEQUIPCONTAINER_PC_ROOM1) || (delete_position == eEQUIPCONTAINER_PC_ROOM2) || (delete_position == eEQUIPCONTAINER_PC_ROOM3)) { if (IsEmpty(eEQUIPCONTAINER_PC_ROOM1) == FALSE) { SCSlot& slot_info = GetSlot(eEQUIPCONTAINER_PC_ROOM1); character_ptr->OnUseItem(slot_info.GetCode()); } else if(IsEmpty(eEQUIPCONTAINER_PC_ROOM2) == FALSE) { SCSlot& slot_info = GetSlot(eEQUIPCONTAINER_PC_ROOM2); character_ptr->OnUseItem(slot_info.GetCode()); } else if(IsEmpty(eEQUIPCONTAINER_PC_ROOM3) == FALSE) { SCSlot& slot_info = GetSlot(eEQUIPCONTAINER_PC_ROOM3); character_ptr->OnUseItem(slot_info.GetCode()); } } } //------------------------------------------------------------------------------ /** ´Ü¼ø ½½·Ô Á¦°Å */ bool EquipmentContainer::JustDeleteSlot(POSTYPE delete_position, SCSlot* slot_info_ptr) { //slot_safe_code:¾ÈÀüÇÑ ½½·Ôüũ ±¸¹®(»èÁ¦) if ((ValidPos(delete_position) == false) || IsEmpty(delete_position)) { return false; } // render unit ¸¦ ¸ÕÀú Áö¿î´Ù. SCSlot& current_slot = GetSlot(delete_position); // ½Ã¸®¾ó ȸ¼ö g_SlotKeyGenerator.Restore((DWORD)current_slot.GetSerial()); // Á¦°Å SCItemSlot temp_slot; if (SCSlotContainer::DeleteSlot(delete_position, &temp_slot) == FALSE) { return false; } // Ç÷¹À̾îÀÇ Ã³¸® Player* player_ptr = g_ObjectManager.GetPlayer(m_dwOwnerKey); if (player_ptr == NULL) { return false; } player_ptr->OnUnUseItem(current_slot.GetCode()); if (slot_info_ptr) { static_cast(slot_info_ptr)->Copy(temp_slot); } if (player_ptr->GetRealEquipFlag(delete_position)) { player_ptr->SetRealEquipFlag(delete_position, false); if( player_ptr->IsMyHero() ) g_pHero->ItemAttrCalculatorByItemslot(temp_slot, false, delete_position); } if (delete_position == eEQUIPCONTAINER_WEAPON) { player_ptr->SetWeaponKind(player_ptr->GetWeaponKind()); player_ptr->DestoryEtherWeaponEffect(); } //charge+pcroom ½½·Ô OnUse¼ÂÆÃ SetDeleteChargeSlot(player_ptr, delete_position); return true; } RC::eSLOT_INSERT_RESULT EquipmentContainer::InsertSlot( POSTYPE AtPos, SCSlot & rSlot ) { //slot_safe_code:¾ÈÀüÇÑ ½½·Ôüũ ±¸¹®(»ðÀÔ) if (ValidPos(AtPos) == false) { return RC::RC_INSERT_SLOT_FAILED; } // Ãß°¡ RC::eSLOT_INSERT_RESULT slot_result = SCSlotContainer::InsertSlot( AtPos, rSlot ); //slot_safe_code:½ÇÁ¦»ðÀÔ ¼º°ø½Ã¿¡¸¸ µ¥ÀÌÅÍó¸® if (slot_result != RC::RC_INSERT_SLOT_SUCCESS) { return slot_result; } // ½Ã¸®¾ó ¹ß±Þ / ¼³Á¤ SCSlot & rSetSlot = GetSlot(AtPos); DBSERIAL dwSerial = g_SlotKeyGenerator.GetKey(); rSetSlot.SetSerial(dwSerial); // Ŭ¶ó¿¡¼­ µû·Î ½Ã¸®¾óÀ» ¹ß±ÞÇÑ´Ù. Player* player_ptr = g_ObjectManager.GetPlayer(m_dwOwnerKey); if (player_ptr == NULL) { return RC::RC_INSERT_SLOT_FAILED; } player_ptr->SetRealEquipFlag(AtPos, true); if( player_ptr->IsMyHero() ) g_pHero->ItemAttrCalculatorByItemslot(rSetSlot, true, AtPos); if( AtPos == eEQUIPCONTAINER_WEAPON ) { player_ptr->SetWeaponKind(player_ptr->GetWeaponKind()); } player_ptr->UpdateSkillAttr(); //¿ëº¯½Å & ¿ÜÇü°ú »ó°ü¾ø´Â½½·ÔÀ§Ä¡¿¡¼­´Â °»½Å¾ÈÇÔ if ((player_ptr->IsTransForm() == false) && (player_ptr->GetTransformData().GetTransFormProcessType() == TRANSFORM_PROCESS_NONE)) { player_ptr->RefreshAppearRender(); } player_ptr->OnUseItem(rSetSlot.GetCode()); if(player_ptr->IsEtherDeviecBulletChargeing()) { player_ptr->CreateEtherWeaponEffect(0,TRUE); } return slot_result; } BOOL EquipmentContainer::DeleteSlot( POSTYPE AtPos, SCSlot * pSlotOut ) { //safe_code:ºñ¾îÀְųª À¯È¿ÇÑÀ§Ä¡°¡ ¾Æ´Ï¶ó¸é ¸®ÅÏÇÑ´Ù if ((ValidPos(AtPos) == false) || IsEmpty(AtPos)) { return FALSE; } // render unit ¸¦ ¸ÕÀú Áö¿î´Ù. SCSlot & rSlot = GetSlot(AtPos); // ½Ã¸®¾ó ȸ¼ö g_SlotKeyGenerator.Restore((DWORD)rSlot.GetSerial()); // Á¦°Å SCItemSlot TmpDeleteItemSlot; if( !SCSlotContainer::DeleteSlot( AtPos, &TmpDeleteItemSlot ) ) { return FALSE; } if( pSlotOut ) { ((SCItemSlot*)pSlotOut)->Copy(TmpDeleteItemSlot); } // Ç÷¹À̾îÀÏ °æ¿ì Ãß°¡ ó¸® Player* pPlayer = g_ObjectManager.GetPlayer(m_dwOwnerKey); if( pPlayer == NULL ) { return FALSE; } pPlayer->OnUnUseItem(rSlot.GetCode()); if( pPlayer->GetRealEquipFlag(AtPos) ) { pPlayer->SetRealEquipFlag(AtPos, false); if( pPlayer->IsMyHero() ) g_pHero->ItemAttrCalculatorByItemslot(TmpDeleteItemSlot, false, AtPos); } if( AtPos == eEQUIPCONTAINER_WEAPON ) { pPlayer->SetWeaponKind(pPlayer->GetWeaponKind()); pPlayer->DestoryEtherWeaponEffect(); } pPlayer->UpdateItemAttrCalculator(); pPlayer->UpdateSkillAttr(); //¿ëº¯½Å & ¿ÜÇü°ú »ó°ü¾ø´Â½½·ÔÀ§Ä¡¿¡¼­´Â °»½Å¾ÈÇÔ if ((pPlayer->IsTransForm() == false) && (pPlayer->GetTransformData().GetTransFormProcessType() == TRANSFORM_PROCESS_NONE)) { pPlayer->RefreshAppearRender(); } SetDeleteChargeSlot(pPlayer, AtPos); return TRUE; } VOID EquipmentContainer::UpdateSlot( POSTYPE AtPos,SCSlot & rSlot ) { Player* pPlayer = g_ObjectManager.GetPlayer(m_dwOwnerKey); if (!pPlayer) { return; } // render unit ¸¦ ¸ÕÀú Áö¿î´Ù. SCSlot & slot = GetSlot(AtPos); slot.Copy(rSlot); pPlayer->UpdateSkillAttr(); pPlayer->RefreshAppearRender(); } // ½ÇÁ¦ ½½·ÔÁ¤º¸°ü·ÃÇÑ À§Ä¡ POSTYPE EquipmentContainer::GetRealSlotPos( POSTYPE pos ) { return m_TabNum + pos; } // ÀÎÅÍÆäÀ̽º ÄÁÆ®·Ñ À§Ä¡. POSTYPE EquipmentContainer::GetRelativeSlotPos( POSTYPE pos ) { // È®½ÇÇÑ return ((pos + m_TabNum) % (EQUIP_SLOT_END+1)); } void EquipmentContainer::SetOwnerKey(DWORD dwOwnerKey) { m_dwOwnerKey = dwOwnerKey; } //------------------------------------------------------------------------------ bool EquipmentContainer::IsEquipItem(eITEMTYPE item_type, OUT SLOTCODE* item_code) { for (int i = 0; i < EQUIP_MAX; ++i) { SCSlot& slot = GetSlot(i); if (slot.GetSlotType() != ST_ITEM) { continue; } SCItemSlot& item_slot = static_cast(slot); const BASE_ITEMINFO* item_info = item_slot.GetItemInfo(); if ((item_info != NULL) && (item_info->m_wType == item_type)) { if (item_code != NULL) { *item_code = item_slot.GetCode(); } return true; } } return false; } SCItemSlotContainer* EquipmentContainer::GetEquipmentSlotContainer() { return this; } ns_formula::EquipSlotsManageInfo* EquipmentContainer::GetEquipmentManageInfo() { return &equip_slot_manage_info_; } bool EquipmentContainer::CheckEquipDefaultValidationWithoutStats(POSTYPE at_pos, const SCItemSlot& IN check_slot) { if (check_slot.CanEquip() && equip_slot_manage_info_.CanEquipmentsDependency(check_slot)) { return true; } else { return false; } } bool EquipmentContainer::CanEquip(POSTYPE at_pos, const SCItemSlot& IN check_slot) { if (CheckEquipDefaultValidationWithoutStats(at_pos, check_slot) && ValidLimitStats(check_slot)) { return true; } return false; } bool EquipmentContainer::ValidLimitStats(const SCItemSlot& item_slot) const { PlayerAttributes& player_attributes = *(g_pHero->GetPlayerAttribute()); if (ItemAttrCalculator::CanEquipmentValidStats(item_slot, player_attributes, g_pHero->GetLevel()) == false) { return false; } return true; } bool EquipmentContainer::OnChangedEquipItemDurability(const SCItemSlot& item_slot) { const SLOTIDX slot_index = item_slot.GetSlotIdx(); if (FlowControl::FCAssert(slot_index == SI_EQUIPMENT) == false) { return false; } const POSTYPE pos = item_slot.GetPos(); if (FlowControl::FCAssert(pos < MAX_EQUIPMENT_SLOT_NUM) == false) { return false; } bool pc_room_status = (g_pHero->GetPCBangMode() != FALSE); ItemAttrCalculator Item_calculator(*(g_pHero->GetPlayerAttribute()), this); bool processed = Item_calculator.ChangeItemDurabilityStatus(item_slot, pos, pc_room_status, false, g_pHero->GetLevel()); return processed; } //------------------------------------------------------------------------------ SCItemSlot* EquipmentContainer::GetItemSlot(POSTYPE at_pos) { SCSlot& slot = SCSlotContainer::GetSlot(at_pos); if (slot.GetSlotType() != ST_ITEM) { return NULL; } SCItemSlot* item_slot = static_cast(&slot); if (item_slot->IsContainValidItem()) { return item_slot; } return NULL; } void EquipmentContainer::RenderTooltip( DWORD DialogKey ) { if(m_iTooltipStringCode) { uiToolTipMan* pUIMan = (uiToolTipMan*)g_InterfaceManager.GetUserInterfaceManager(UIMAN_TOOLTIP); if(pUIMan) { pUIMan->RegisterTooltipWithStringCode(m_iTooltipStringCode); pUIMan->SetTooltipDialogID(DialogKey); } } } #ifdef _NA_000000_20130114_RENEWER_UI void EquipmentContainer::SetChangeBackgroundIsClass( eCHAR_TYPE charater_type ) { switch (charater_type) { case eCHAR_BERSERKER: { getControl(EQUIP_PICTURE_P004)->ShowWindowWZ(WZ_SHOW); getControl(EQUIP_PICTURE_P005)->ShowWindowWZ(WZ_HIDE); getControl(EQUIP_PICTURE_P006)->ShowWindowWZ(WZ_HIDE); getControl(EQUIP_PICTURE_P007)->ShowWindowWZ(WZ_HIDE); getControl(EQUIP_PICTURE_P008)->ShowWindowWZ(WZ_HIDE); getControl(EQUIP_PICTURE_P009)->ShowWindowWZ(WZ_HIDE); } break; case eCHAR_DRAGON: { getControl(EQUIP_PICTURE_P004)->ShowWindowWZ(WZ_HIDE); getControl(EQUIP_PICTURE_P005)->ShowWindowWZ(WZ_SHOW); getControl(EQUIP_PICTURE_P006)->ShowWindowWZ(WZ_HIDE); getControl(EQUIP_PICTURE_P007)->ShowWindowWZ(WZ_HIDE); getControl(EQUIP_PICTURE_P008)->ShowWindowWZ(WZ_HIDE); getControl(EQUIP_PICTURE_P009)->ShowWindowWZ(WZ_HIDE); } break; case eCHAR_ELEMENTALIST: { getControl(EQUIP_PICTURE_P004)->ShowWindowWZ(WZ_HIDE); getControl(EQUIP_PICTURE_P005)->ShowWindowWZ(WZ_HIDE); getControl(EQUIP_PICTURE_P006)->ShowWindowWZ(WZ_SHOW); getControl(EQUIP_PICTURE_P007)->ShowWindowWZ(WZ_HIDE); getControl(EQUIP_PICTURE_P008)->ShowWindowWZ(WZ_HIDE); getControl(EQUIP_PICTURE_P009)->ShowWindowWZ(WZ_HIDE); } break; case eCHAR_MYSTIC: { getControl(EQUIP_PICTURE_P004)->ShowWindowWZ(WZ_HIDE); getControl(EQUIP_PICTURE_P005)->ShowWindowWZ(WZ_HIDE); getControl(EQUIP_PICTURE_P006)->ShowWindowWZ(WZ_HIDE); getControl(EQUIP_PICTURE_P007)->ShowWindowWZ(WZ_SHOW); getControl(EQUIP_PICTURE_P008)->ShowWindowWZ(WZ_HIDE); getControl(EQUIP_PICTURE_P009)->ShowWindowWZ(WZ_HIDE); } break; case eCHAR_SHADOW: { getControl(EQUIP_PICTURE_P004)->ShowWindowWZ(WZ_HIDE); getControl(EQUIP_PICTURE_P005)->ShowWindowWZ(WZ_HIDE); getControl(EQUIP_PICTURE_P006)->ShowWindowWZ(WZ_HIDE); getControl(EQUIP_PICTURE_P007)->ShowWindowWZ(WZ_HIDE); getControl(EQUIP_PICTURE_P008)->ShowWindowWZ(WZ_SHOW); getControl(EQUIP_PICTURE_P009)->ShowWindowWZ(WZ_HIDE); } break; case eCHAR_VALKYRIE: { getControl(EQUIP_PICTURE_P004)->ShowWindowWZ(WZ_HIDE); getControl(EQUIP_PICTURE_P005)->ShowWindowWZ(WZ_HIDE); getControl(EQUIP_PICTURE_P006)->ShowWindowWZ(WZ_HIDE); getControl(EQUIP_PICTURE_P007)->ShowWindowWZ(WZ_HIDE); getControl(EQUIP_PICTURE_P008)->ShowWindowWZ(WZ_HIDE); getControl(EQUIP_PICTURE_P009)->ShowWindowWZ(WZ_SHOW); } break; } } #endif//#ifdef _NA_000000_20130114_RENEWER_UI