PHP Code:
IsUsingItem(CItemBase* pItem)
PHP Code:
CMover::IsUsing(CItemElem* pItemElem)
here is the /awaken bool:
PHP Code:
BOOL TextCmd_GenRandomOption( CScanner & s )
{
#ifdef __WORLDSERVER
CUser* pUser = (CUser*)s.dwValue;
#ifndef __TAB_INVENTORY
CItemElem* pItemElem = pUser->m_Inventory.GetAt( 0 );
#else
DWORD dwObjId = s.GetNumber();
CItemElem* pItemElem = pUser->m_Inventory.GetAtId( dwObjId );
#endif // __TAB_INVENTORY
if( pItemElem ){
int nRandomOptionKind = g_xRandomOptionProperty->GetRandomOptionKind( pItemElem );
if( nRandomOptionKind >= 0 ){
// if( pUser->IsUsing( (CItemElem*)pItemElem ) ) might need pItem and not pItemElem
// {
// pUser->AddText( "Item is currently being used." );
// }
if(pUser->HasActivatedSystemPet() && pItemElem->GetProp()->dwItemKind3 == IK3_EGG || pUser->HasActivatedEatPet() && pItemElem->GetProp()->dwItemKind3 == IK3_PET ){ // nein work
pUser->AddText( "Item must not be used and your pet must be in your inventory." );
return FALSE;
}else{
if( pUser->GetGold() >= 1 ){
g_xRandomOptionProperty->InitializeRandomOption( pItemElem->GetRandomOptItemIdPtr() );
g_xRandomOptionProperty->GenRandomOption( pItemElem->GetRandomOptItemIdPtr(), nRandomOptionKind, pItemElem->GetProp()->dwParts );
pUser->UpdateItemEx( (BYTE)( pItemElem->m_dwObjId ), UI_RANDOMOPTITEMID, pItemElem->GetRandomOptItemId() );
pUser->AddGold( 0 );
//pUser->AddText( "Dir wurden 100.000 Penya für das Erwecken abgezogen." );
}else{
pUser->AddText( "You must have at least 1 Penya in order to have the abillity to awaken an item." );
}
}
}else{
pUser->AddText ( "Either your pet is not level C or your item doesn't suit the requirments of the scroll." );
}
}
#endif // __WORLDSERVER
#if defined(__CLIENT) && defined ( __TAB_INVENTORY)
if( g_WndMng.m_pWndUpgradeBase == NULL )
{
SAFE_DELETE( g_WndMng.m_pWndUpgradeBase );
g_WndMng.m_pWndUpgradeBase = new CWndUpgradeBase;
g_WndMng.m_pWndUpgradeBase->Initialize( &g_WndMng, APP_TEST );
return FALSE;
}
if( g_WndMng.m_pWndUpgradeBase )
{
if( g_WndMng.m_pWndUpgradeBase->m_pItemElem[0] )
{
DWORD dwObjId = g_WndMng.m_pWndUpgradeBase->m_pItemElem[0]->m_dwObjId;
char szSkillLevel[MAX_PATH];
sprintf( szSkillLevel, "/awaken %d", dwObjId);
s.SetProg( szSkillLevel );
}
else
{
return FALSE;
}
}
else
{
return FALSE;
}
#endif // __TAB_INVENTORY
return TRUE;
}






