BOOL CDbManager::PiercingConfirmGuildBank( int nGuildId, CItemContainer< CItemElem >* GuildBank ) { BOOL bUpdate = FALSE; if( prj.IsConvMode( PIERCING_CONFIRM ) ) { int nSize = GuildBank->m_dwItemMax; CItemElem* pItemElem; for( int i = 0 ; i < nSize; i++ ) { pItemElem = GuildBank->GetAtId( i ); if( pItemElem ) { ItemProp* pGetItemProp = prj.GetItemProp( pItemElem->m_dwItemId ); if( pGetItemProp && pGetItemProp->dwItemKind3 != IK3_SUIT && pItemElem->GetPiercingSize() != 0 ) { FILEOUT( "..\\RemoveItemPiercingConfirm.log", "nGuildId = %06d, ItemName : %s %d/%d/%d %d/%d/%d/%d/%d", nGuildId, pGetItemProp->szName, pItemElem->GetOption(), pItemElem->m_bItemResist, pItemElem->m_nResistAbilityOption, pItemElem->GetPiercingSize(), pItemElem->GetPiercingItem( 0 ), pItemElem->GetPiercingItem( 1 ), pItemElem->GetPiercingItem( 2 ), pItemElem->GetPiercingItem( 3 ) ); GuildBank->RemoveAtId( pItemElem->m_dwObjId ); bUpdate = TRUE; } } } } return bUpdate; }
BOOL CDbManager::PiercingConfirmInventoryBank( CMover* pMover ) { BOOL bUpdate = FALSE; if( prj.IsConvMode( PIERCING_CONFIRM ) ) { // Inventory int nSize = pMover->m_Inventory.m_dwItemMax; CItemElem* pItemElem; for( int i = 0 ; i < nSize; i++ ) { pItemElem = pMover->m_Inventory.GetAtId( i ); if( pItemElem ) { ItemProp* pGetItemProp = prj.GetItemProp( pItemElem->m_dwItemId ); if( pGetItemProp && pGetItemProp->dwItemKind3 != IK3_SUIT && pItemElem->GetPiercingSize() != 0 ) { FILEOUT( "..\\RemoveItemPiercingConfirm.log", "IdPlayer = %07d, ItemName : %s %d/%d/%d %d/%d/%d/%d/%d", pMover->m_idPlayer, pGetItemProp->szName, pItemElem->GetOption(), pItemElem->m_bItemResist, pItemElem->m_nResistAbilityOption, pItemElem->GetPiercingSize(), pItemElem->GetPiercingItem( 0 ), pItemElem->GetPiercingItem( 1 ), pItemElem->GetPiercingItem( 2 ), pItemElem->GetPiercingItem( 3 ) ); pMover->m_Inventory.RemoveAtId( pItemElem->m_dwObjId ); bUpdate = TRUE; } } } // Bank nSize = pMover->m_Bank[0].m_dwItemMax; for( i = 0 ; i < nSize; i++ ) { pItemElem = pMover->m_Bank[0].GetAtId( i ); if( pItemElem ) { ItemProp* pGetItemProp = prj.GetItemProp( pItemElem->m_dwItemId ); if( pGetItemProp && pGetItemProp->dwItemKind3 != IK3_SUIT && pItemElem->GetPiercingSize() != 0 ) { FILEOUT( "..\\RemoveItemPiercingConfirm.log", "IdPlayer = %07d, ItemName : %s %d/%d/%d %d/%d/%d/%d/%d", pMover->m_idPlayer, pGetItemProp->szName, pItemElem->GetOption(), pItemElem->m_bItemResist, pItemElem->m_nResistAbilityOption, pItemElem->GetPiercingSize(), pItemElem->GetPiercingItem( 0 ), pItemElem->GetPiercingItem( 1 ), pItemElem->GetPiercingItem( 2 ), pItemElem->GetPiercingItem( 3 ) ); pMover->m_Bank[0].RemoveAtId( pItemElem->m_dwObjId ); bUpdate = TRUE; } } } } return bUpdate; }
BOOL CDbManager::RemoveItemGuildBank( int nGuildId, CItemContainer< CItemElem >* GuildBank, int* nCountItem0, int* nCountItem1 ) { BOOL bResult = FALSE; SET_STRING::iterator it; for( it = m_RemoveItem_List.begin() ; it != m_RemoveItem_List.end() ; ++it ) { ItemProp* pItemProp = NULL; pItemProp = prj.GetItemProp( it->data() ); if( pItemProp ) { int nSize = GuildBank->m_dwItemMax; CItemElem* pItemElem; for( int i = 0 ; i < nSize; i++ ) { pItemElem = GuildBank->GetAtId( i ); if( pItemElem ) { ItemProp* pGetItemProp = prj.GetItemProp( pItemElem->m_dwItemId ); if( pGetItemProp && pGetItemProp->dwID == pItemProp->dwID ) { if( pItemElem->m_bItemResist || pItemElem->GetOption() || pItemElem->m_nResistAbilityOption ) { FILEOUT( "..\\RemoveItem.log", "GuildId = %d, ItemName : %s %d/%d/%d", nGuildId, it->data(), pItemElem->GetOption(), pItemElem->m_bItemResist, pItemElem->m_nResistAbilityOption ); } GuildBank->RemoveAtId( pItemElem->m_dwObjId ); if( prj.IsConvMode( REMOVE_ITEM_ALL_PAY ) ) { if( lstrcmp( it->data(), "천운의 스태프" ) == 0 ) (*nCountItem0)++; if( lstrcmp( it->data(), "파황의 스태프" ) == 0 ) (*nCountItem1)++; } // FILEOUT( "..\\RemoveItem.log", "GuildId = %s, ItemName : %s", nGuildId, it->data() ); bResult = TRUE; } } } } } return bResult; }
BOOL CDbManager::RemoveItemInvenBank( CMover* pMover, int* nCountItem0, int* nCountItem1 ) { BOOL bResult = FALSE; SET_STRING::iterator it; for( it = m_RemoveItem_List.begin() ; it != m_RemoveItem_List.end() ; ++it ) { // Inven ItemProp* pItemProp = NULL; pItemProp = prj.GetItemProp( it->data() ); if( pItemProp ) { int nSize = pMover->m_Inventory.m_dwItemMax; CItemElem* pItemElem; for( int i = 0 ; i < nSize; i++ ) { pItemElem = pMover->m_Inventory.GetAtId( i ); if( pItemElem ) { ItemProp* pGetItemProp = prj.GetItemProp( pItemElem->m_dwItemId ); if( pGetItemProp && pGetItemProp->dwID == pItemProp->dwID ) { if( pItemElem->m_bItemResist || pItemElem->GetOption() || pItemElem->m_nResistAbilityOption ) { FILEOUT( "..\\RemoveItem.log", "IdPlayer = %07d, ItemName : %s %d/%d/%d", pMover->m_idPlayer, it->data(), pItemElem->GetOption(), pItemElem->m_bItemResist, pItemElem->m_nResistAbilityOption ); } pMover->m_Inventory.RemoveAtId( pItemElem->m_dwObjId ); if( prj.IsConvMode( REMOVE_ITEM_ALL_PAY ) ) { if( lstrcmp( it->data(), "천운의 스태프" ) == 0 ) (*nCountItem0)++; if( lstrcmp( it->data(), "파황의 스태프" ) == 0 ) (*nCountItem1)++; } // FILEOUT( "..\\RemoveItem.log", "PlayerName = %s, ItemName : %s", pMover->m_szName, it->data() ); bResult = TRUE; } } } // Bank nSize = pMover->m_Bank[0].m_dwItemMax; for( i = 0 ; i < nSize; i++ ) { pItemElem = pMover->m_Bank[0].GetAtId( i ); if( pItemElem ) { ItemProp* pGetItemProp = prj.GetItemProp( pItemElem->m_dwItemId ); if( pGetItemProp && pGetItemProp->dwID == pItemProp->dwID ) { if( pItemElem->m_bItemResist || pItemElem->GetOption() || pItemElem->m_nResistAbilityOption ) { FILEOUT( "..\\RemoveItem.log", "IdPlayer = %07d, ItemName : %s %d/%d/%d", pMover->m_idPlayer, it->data(), pItemElem->GetOption(), pItemElem->m_bItemResist, pItemElem->m_nResistAbilityOption ); } pMover->m_Bank[0].RemoveAtId( pItemElem->m_dwObjId ); if( prj.IsConvMode( REMOVE_ITEM_ALL_PAY ) ) { if( lstrcmp( it->data(), "천운의 스태프" ) == 0 ) (*nCountItem0)++; if( lstrcmp( it->data(), "파황의 스태프" ) == 0 ) (*nCountItem1)++; } // FILEOUT( "..\\RemoveItem.log", "PlayerName = %s, ItemName : %s", pMover->m_szName, it->data() ); bResult = TRUE; } } } } } return bResult; }