Would you mind to show your MoverSkill.cpp -> CMover::ActivateEatPet
this is mine with working pet model change
void CMover::ActivateEatPet( CItemElem* pItemElem )
{
ItemProp* pProp = pItemElem->GetProp();
#ifdef __MODEL_CHANGE
CMover *pEatPet = NULL;
ItemProp* pNewID = pItemElem->GetNewID();
#endif
if( !pProp )
return;
#ifdef __QUIZ
if( GetWorld() && GetWorld()->GetID() == WI_WORLD_QUIZ )
return;
#endif // __QUIZ
if( IsFly() )
{
static_cast<CUser*>( this )->AddDefinedText( TID_GAME_CANNOT_CALL_PET_ON_FLYING );
return;
}
// ASSERT( pItemProp->dwLinkKind != NULL_ID )
#ifdef __LAYER_1015
#ifdef __MODEL_CHANGE
if( pItemElem->m_dwnewID != NULL )
pEatPet = CreateMover( GetWorld(), pNewID->dwLinkKind, GetPos(), GetLayer() );
else
pEatPet = CreateMover( GetWorld(), pProp->dwLinkKind, GetPos(), GetLayer() );
#else
CMover *pEatPet = CreateMover( GetWorld(), pProp->dwLinkKind, GetPos(), GetLayer() );
#endif
#else // __LAYER_1015
CMover *pEatPet = CreateMover( GetWorld(), pProp->dwLinkKind, GetPos() );
#endif // __LAYER_1015
if( pEatPet )
{
CAIPet *pAIPet = static_cast<CAIPet*>( pEatPet->m_pAIInterface );
if( pAIPet )
{
pAIPet->SetOwner( GetId() );
SetEatPetId( pEatPet->GetId() );
#if __VER >= 12 // __PET_0519
pAIPet->SetItem( this, pItemElem ); // 먹펫 활성화 시 각성 효과 적용
#endif // __PET_0519
#if __VER >= 15 // __PETVIS
if( pItemElem->IsVisPet() )
{
if( pItemElem->GetPiercingSize() <= 0 ) // 첫 소환시 비스펫이면 비스 슬롯 2개(기본) 뚫어줌
UpdateItem( (BYTE)( pItemElem->m_dwObjId ), UI_PETVIS_SIZE, PETVIS_DEFAULT_VIS_SLOT_SZIE );
SetVisPetItem( pItemElem->m_dwObjId ); // 해당 먹펫이 비스펫이면 비스의 능력치를 적용하고 이펙트를 지정한다.
SetPetVisDST( pItemElem );
pEatPet->m_dwMoverSfxId = pItemElem->GetVisPetSfxId();
static_cast<CUser*>(this)->AddActivateVisPet( pItemElem->m_dwObjId, GetEatPetId() );
}
#endif // __PETVIS
}
}
}