Try this in PetInstance.
1-Look for public PetInstance(int objectId, NpcTemplate template, PlayerInstance owner, ItemInstance control)
2-Replace for this:
public PetInstance(int objectId, NpcTemplate template, PlayerInstance owner, ItemInstance control)
{
super(objectId, template, owner);
super.setStat(new PetStat(this));
_controlItemId = control.getObjectId();
// Pet's initial level is supposed to be read from DB
// Pets start at :
// Wolf : Level 15
// Hatcling : Level 35
// Tested and confirmed on official servers
// Sin-eaters are defaulted at the owner's level
if ((template.getNpcId() == 12564) && (getOwner().getLevel() <= 77))
{
getStat().setLevel((byte) getOwner().getLevel());
}
else if ((template.getNpcId() == 12564) && (getOwner().getLevel() == 78))
{
getStat().setLevel(77);
}
_inventory = new PetInventory(this);
final int npcId = template.getNpcId();
_mountable = PetDataTable.isMountable(npcId);
}
3-Now make quest again and if you are 78 your pet born 77 else this get the owner level