Agregar en Pet.cpp despues del BYTE CustomPets = CharSet[15] >> 1;
if ((CharSet[11] & 4) == 4)
{
lpObj->PetSlot = 7864;
BYTE v17 = CharSet[15] & 3; // era 3
if (CharSet[16] & 1)
v17 = 4;
if (CustomPets == 122)
v17 = 8;
else if (CustomPets == 123)
v17 = 16;
else if (CustomPets == 124)
v17 = 32;
lpObj->PetExcellent = v17;
switch (v17)
{
case 1:
if (Mode)
sub_5013B0(384, (int)&lpObj->m_Model + 252, (int)&lpObj->m_Model, Mode, 0);
else
sub_501700(384, (int)&lpObj->m_Model + 252, (int)&lpObj->m_Model, 0, 0);
break;
case 2:
if (Mode)
sub_5013B0(386, (int)&lpObj->m_Model + 252, (int)&lpObj->m_Model, Mode, 0);
else
sub_501700(386, (int)&lpObj->m_Model + 252, (int)&lpObj->m_Model, 0, 0);
break;
case 4:
if (Mode)
sub_5013B0(387, (int)&lpObj->m_Model + 252, (int)&lpObj->m_Model, Mode, 0);
else
sub_501700(387, (int)&lpObj->m_Model + 252, (int)&lpObj->m_Model, 0, 0);
break;
case 8:
if (Mode)
sub_5013B0(0x1833, (int)&lpObj->m_Model + 252, (int)&lpObj->m_Model, Mode, 0);
else
sub_501700(0x1833, (int)&lpObj->m_Model + 252, (int)&lpObj->m_Model, 0, 0);
break;
case 16:
if (Mode)
sub_5013B0(0x1834, (int)&lpObj->m_Model + 252, (int)&lpObj->m_Model, Mode, 0);
else
sub_501700(0x1834, (int)&lpObj->m_Model + 252, (int)&lpObj->m_Model, 0, 0);
break;
case 32:
if (Mode)
sub_5013B0(0x1835, (int)&lpObj->m_Model + 252, (int)&lpObj->m_Model, Mode, 0);
else
sub_501700(0x1835, (int)&lpObj->m_Model + 252, (int)&lpObj->m_Model, 0, 0);
break;
default:
if (Mode)
sub_5013B0(385, (int)&lpObj->m_Model + 252, (int)&lpObj->m_Model, Mode, 0);
else
sub_501700(385, (int)&lpObj->m_Model + 252, (int)&lpObj->m_Model, 0, 0);
break;
}
}
//#endif
}
Para los que no usan PetCustom y solo quieren los Fenrir, usen esta funcion en Item.cpp
void PreviewCharSet(int ObjectIndex, BYTE * CharSet, lpViewObj Object, int Mode)
{
pPreviewCharSet(ObjectIndex, CharSet, Object, Mode);
lpViewObj lpObj;
if( Object == 0 )
{
lpObj = &*(lpViewObj)pGetPreviewStruct(pPreviewThis(), ObjectIndex);
}
else
{
lpObj = Object;
}
BYTE CustomWings = CharSet[16] >> 2;
if( CustomWings > 0 )
{
lpObj->WingsSlot = ITEM2(12, 180) + (CustomWings - 1);
}
if ((CharSet[11] & 4) == 4)
{
lpObj->PetSlot = 7864;
if ((CharSet[15] & 3) == 1 && (CharSet[16] & 3) == 0)
{
if (Mode)
pPetCall1(384, ((DWORD)&lpObj->m_Model) + 252, (DWORD)&lpObj->m_Model, Mode, 0);
else
pPetCall2(384, ((DWORD)&lpObj->m_Model) + 252, (DWORD)&lpObj->m_Model, 0, 0);
lpObj->PetExcellent = 1;
}
else if ((CharSet[15] & 3) == 2 && (CharSet[16] & 3) == 0)
{
if (Mode)
pPetCall1(386, ((DWORD)&lpObj->m_Model) + 252, (DWORD)&lpObj->m_Model, Mode, 0);
else
pPetCall2(386, ((DWORD)&lpObj->m_Model) + 252, (DWORD)&lpObj->m_Model, 0, 0);
lpObj->PetExcellent = 2;
}
else if ((CharSet[15] & 3) == 3 && (CharSet[16] & 3) == 0)
{
if (Mode)
pPetCall1(387, ((DWORD)&lpObj->m_Model) + 252, (DWORD)&lpObj->m_Model, Mode, 0);
else
pPetCall2(387, ((DWORD)&lpObj->m_Model) + 252, (DWORD)&lpObj->m_Model, 0, 0);
lpObj->PetExcellent = 4;
}
else if ((CharSet[15] & 3) == 1 && (CharSet[16] & 3) == 1)
{
if (Mode)
pPetCall1(PetWhiteTiger, ((DWORD)&lpObj->m_Model) + 252, (DWORD)&lpObj->m_Model, Mode, 0);
else
pPetCall2(PetWhiteTiger, ((DWORD)&lpObj->m_Model) + 252, (DWORD)&lpObj->m_Model, 0, 0);
lpObj->PetExcellent = 8;
}
else if ((CharSet[15] & 3) == 2 && (CharSet[16] & 3) == 1)
{
if (Mode)
pPetCall1(PetHullWolf, ((DWORD)&lpObj->m_Model) + 252, (DWORD)&lpObj->m_Model, Mode, 0);
else
pPetCall2(PetHullWolf, ((DWORD)&lpObj->m_Model) + 252, (DWORD)&lpObj->m_Model, 0, 0);
lpObj->PetExcellent = 16;
}
else if ((CharSet[15] & 3) == 3 && (CharSet[16] & 3) == 1)
{
if (Mode)
pPetCall1(PetBeast, ((DWORD)&lpObj->m_Model) + 252, (DWORD)&lpObj->m_Model, Mode, 0);
else
pPetCall2(PetBeast, ((DWORD)&lpObj->m_Model) + 252, (DWORD)&lpObj->m_Model, 0, 0);
lpObj->PetExcellent = 32;
}
else
{
if (Mode)
pPetCall1(385, ((DWORD)&lpObj->m_Model) + 252, (DWORD)&lpObj->m_Model, Mode, 0);
else
pPetCall2(385, ((DWORD)&lpObj->m_Model) + 252, (DWORD)&lpObj->m_Model, 0, 0);
lpObj->PetExcellent = 0;
}
}
}