New FlyFF Stathack free for all.
Have fun.
[Only registered and activated users can see links. Click Here To Register...]
Have fun.
[Only registered and activated users can see links. Click Here To Register...]
void CDPSrvr::OnBaruna( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize)
{
CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );
if( IsValidObj( pUser ) )
{
if( pUser->m_vtInfo.GetOther() )
return;
if( pUser->m_vtInfo.VendorIsVendor() )
return;
CMover* pBarunaPet = prj.GetMover( pUser->GetEatPetId( ) );
if( pBarunaPet && pBarunaPet->GetProp()->dwAI == AII_NONE )
{
}
else
{
pUser->AddDefinedText( TID_MMI_NEWSMELT_OPER01 );
return;
}
BYTE nState;
ar >> nState;
switch( nState )
{
case BARUNA_ENCHANT:
{
DWORD dwItem01, dwItem02, dwItem03, dwItem04;
ar >> dwItem01 >> dwItem02 >> dwItem03 >> dwItem04;
CItemElem* pItemElem0 = pUser->m_Inventory.GetAtId( dwItem01 );
CItemElem* pItemElem1 = pUser->m_Inventory.GetAtId( dwItem02 );
CItemElem* pItemElem2 = pUser->m_Inventory.GetAtId( dwItem03 );
CItemElem* pItemElem3 = pUser->m_Inventory.GetAtId( dwItem04 );
if( IsUsableItem( pItemElem0 ) == FALSE || IsUsableItem( pItemElem1 ) == FALSE )
return;
if( IsUsableItem( pItemElem3 ) == FALSE )
pItemElem3 = nullptr;
//Fix lul
if( pUser->m_Inventory.IsEquip( dwItem01 ) || pUser->m_Inventory.IsEquip( dwItem02 ) || pUser->m_Inventory.IsEquip( dwItem03 ) || pUser->m_Inventory.IsEquip( dwItem04 ) )
return;
CItemUpgrade::GetInstance()->EnchantBaruna( pUser, pItemElem0, pItemElem1, pItemElem2, pItemElem3 );
}break;
case BARUNA_CREATE_CRYSTAL:
{
DWORD dwItem01, dwItem02;
ar >> dwItem01 >> dwItem02;
CItemElem* pItemElem0 = pUser->m_Inventory.GetAtId( dwItem01 );
CItemElem* pItemElem1 = pUser->m_Inventory.GetAtId( dwItem02 );
if( IsUsableItem( pItemElem0 ) == FALSE || IsUsableItem( pItemElem1 ) == FALSE )
return;
//Fix lul
if( pUser->m_Inventory.IsEquip( dwItem01 ) || pUser->m_Inventory.IsEquip( dwItem02 ) )
return;
CItemUpgrade::GetInstance()->CreateBarunaCrystal( pUser, pItemElem0, pItemElem1 );
}break;
case BARUNA_EXTRACT_CHAOS_GEM:
{
DWORD dwItem01;
ar >> dwItem01;
CItemElem* pItemElem0 = pUser->m_Inventory.GetAtId( dwItem01 );
if( IsUsableItem( pItemElem0 ) == FALSE )
return;
//Fix lul
if( pUser->m_Inventory.IsEquip( dwItem01 ) )
return;
CItemUpgrade::GetInstance()->BarunaChaosGemExtract( pUser, pItemElem0 );
}break;
case BARUNA_CREATE_STONE:
{
DWORD dwItem01, dwItem02, dwItem03;
ar >> dwItem01 >> dwItem02 >> dwItem03;
CItemElem* pItemElem0 = pUser->m_Inventory.GetAtId( dwItem01 );
CItemElem* pItemElem1 = pUser->m_Inventory.GetAtId( dwItem02 );
CItemElem* pItemElem2 = pUser->m_Inventory.GetAtId( dwItem03 );
if( IsUsableItem( pItemElem0 ) == FALSE || IsUsableItem( pItemElem1 ) == FALSE || IsUsableItem( pItemElem2 ) == FALSE )
return;
//Fix lul
if( pUser->m_Inventory.IsEquip( dwItem01 ) || pUser->m_Inventory.IsEquip( dwItem02 ) || pUser->m_Inventory.IsEquip( dwItem03 ) )
return;
CItemUpgrade::GetInstance()->CreateStone( pUser, pItemElem0, pItemElem1, pItemElem2 );
}break;
case BARUNA_CREATE_CHAOS_GEM:
{
DWORD dwItem01, dwItem02;
ar >> dwItem01 >> dwItem02;
CItemElem* pItemElem0 = pUser->m_Inventory.GetAtId( dwItem01 );
CItemElem* pItemElem1 = pUser->m_Inventory.GetAtId( dwItem02 );
if( IsUsableItem( pItemElem0 ) == FALSE || IsUsableItem( pItemElem1 ) == FALSE )
return;
//Fix lul
if( pUser->m_Inventory.IsEquip( dwItem01 ) || pUser->m_Inventory.IsEquip( dwItem02 ) )
return;
CItemUpgrade::GetInstance()->CreateBarunaChaosGem( pUser, pItemElem0, pItemElem1 );
}break;
case BARUNA_PIERCE:
{
DWORD dwItem01, dwItem02, dwItem03, dwItem04;
ar >> dwItem01 >> dwItem02 >> dwItem03 >> dwItem04;
CItemElem* pItemElem0 = pUser->m_Inventory.GetAtId( dwItem01 );
CItemElem* pItemElem1 = pUser->m_Inventory.GetAtId( dwItem02 );
CItemElem* pItemElem2 = pUser->m_Inventory.GetAtId( dwItem03 );
CItemElem* pItemElem3 = pUser->m_Inventory.GetAtId( dwItem04 );
if( IsUsableItem( pItemElem0 ) == FALSE || IsUsableItem( pItemElem1 ) == FALSE )
return;
if( IsUsableItem( pItemElem2 ) == FALSE )
pItemElem2 = nullptr;
if( IsUsableItem( pItemElem3 ) == FALSE )
pItemElem3 = nullptr;
//Fix lul
if( pUser->m_Inventory.IsEquip( dwItem01 ) || pUser->m_Inventory.IsEquip( dwItem02 ) || pUser->m_Inventory.IsEquip( dwItem03 ) || pUser->m_Inventory.IsEquip( dwItem04 ) )
return;
CItemUpgrade::GetInstance()->CreateBarunaPiercing( pUser, pItemElem0, pItemElem1, pItemElem2, pItemElem3 );
}break;
}
}
}
#endif // __NEW_ITEM_VARUNA
[Only registered and activated users can see links. Click Here To Register...]Quote:
where is it now? YT video has been remove