Sucks when people buy your systems and later they release.
Code:
Function void CMover::ActivateEatPet( CItemElem* pItemElem )
After:
if( IsFly() )
{
static_cast<CUser*>( this )->AddDefinedText( TID_GAME_CANNOT_CALL_PET_ON_FLYING );
return;
}
// ASSERT( pItemProp->dwLinkKind != NULL_ID )
#ifdef __LAYER_1015
ADD: Replace this line CMover *pEatPet = CreateMover( GetWorld(), pProp->dwLinkKind, GetPos(), GetLayer() );
#ifdef __LOOKCHANGE_PET
DWORD dwPetId;
if (pItemElem && pItemElem->IsChangedLook())
{
ItemProp* pProp2 = prj.GetItemProp(pItemElem->GetLook());
dwPetId = pProp2->dwLinkKind;
}
else
dwPetId = pProp->dwLinkKind;
CMover *pEatPet = CreateMover(GetWorld(), dwPetId, GetPos(), GetLayer());
#else // __LOOKCHANGE_PET
CMover *pEatPet = CreateMover( GetWorld(), pProp->dwLinkKind, GetPos(), GetLayer() );
#endif
In VersionCommon.h of WorldServer
#define __LOOKCHANGE_PET
You may need to adjust the lookchange variables, but that's your problem.
To allow the use of pets in the window, you have to edit functions of model change in client part (Wndxx.cpp file) and server (DPSrvr.cpp).