#ifdef __RAISED_PET
BOOL CDPSrvr:

oUseItemTarget_PerfectPet( CUser* pUser, CItemElem* pMaterial, CItemElem* pTarget )
{
BOOL bPet;
BYTE nKind;
BYTE nExpRate = 99; //EXP RATE
BYTE nLevel = 5;// S KLASSE
BYTE nLife = 25;//Life is 25
CPet* pPet = pUser->GetPet();
if( pTarget->GetProp()->dwItemKind1 == IK1_GENERAL && pTarget->GetProp()->dwItemKind3 == IK3_EGG )
{
if( pUser->GetPet()->GetLevel() != PL_EGG )
{
pUser->AddText( "You can only use an scroll of Perfect pets on Eggs!" );
return FALSE;
}
switch( pMaterial->m_dwItemId )
{
case II_SYS_LION:
nKind = 1;
bPet = TRUE;
break;
case II_SYS_RABBIT:
nKind = 2;
bPet = TRUE;
break;
case II_SYS_TIGER:
nKind = 0;
bPet = TRUE;
break;
case II_SYS_HORSE:
nKind = 6;
bPet = TRUE;
break;
case II_SYS_DRAGON:
nKind = 4;
bPet = TRUE;
break;
case II_SYS_HIPPOGRIPH:
nKind = 5;
bPet = TRUE;
break;
case II_SYS_FOX:
nKind = 3;
bPet = TRUE;
break;
default:
break;
}
if( bPet == TRUE)
{
if( nLevel > PL_S )
return TRUE;
CItemElem* pItemElem2 = pUser->GetPetItem();
pPet->SetKind( nKind );
pPet->SetLevel( nLevel );
pItemElem2->m_dwItemId = pPet->GetItemId();
pPet->SetEnergy( pPet->GetMaxEnergy() );
DWORD dwExp = pPet->GetMaxExp() * nExpRate / 100;
pPet->SetExp( dwExp );
for( int i = 0; i < 6; i++ )
pPet->SetAvailLevel(i, 9 );
pPet->SetLife( nLife );
if( pUser->HasPet() )
pUser->RemovePet();
g_dpDBClient.CalluspPetLog( pUser->m_idPlayer, pItemElem2->GetSerialNumber(), 0, PETLOGTYPE_LEVELUP, pPet ); //Log the change into database
pUser->AddPet( pPet, PF_PET_GET_AVAIL ); // PET EINFÜGEN
g_UserMng.AddPetLevelup( pUser, MAKELONG( (WORD)pPet->GetIndex(), (WORD)pPet->GetLevel() ) );
pUser->UpdateItem( (BYTE)pMaterial->m_dwObjId, UI_NUM, 0 );//Remove the scroll
//return TRUE;
}
}
return FALSE;
}
#endif __RAISED_PET