Files
Sun1602/Client/GameClient/EquipmentContainer.cpp
2022-10-26 12:25:11 +08:00

728 lines
20 KiB
C++

#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());
}
//------------------------------------------------------------------------------
/** 캐쉬 + 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<SCItemSlot*>(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<SCItemSlot&>(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<SCItemSlot*>(&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