bool PetControlDeviceImplementation::isValidPet(AiAgent* pet) {
	PetDeed* deed = pet->getPetDeed();

	if (deed != NULL) {
		// time to calculate!
		int calculatedLevel =  deed->calculatePetLevel();

		if (pet->getTemplateLevel() >= (calculatedLevel * 0.85)) {
			return true;
		} else {
			return false;
		}
	}

	return true;
}
bool PetControlDeviceImplementation::isValidPet() {
	ManagedReference<TangibleObject*> controlledObject = this->controlledObject.get();
	if (controlledObject == NULL || !controlledObject->isAiAgent())
		return true;

	AiAgent* pet = cast<AiAgent*>(controlledObject.get());
	if (pet == NULL)
		return true;
	PetDeed* deed = pet->getPetDeed();
	if (deed != NULL) {
		// time to calculate!
		int calculatedLevel =  deed->calculatePetLevel();
		if (pet->getTemplateLevel() == 0)
			return true;
		if (pet->getTemplateLevel() >= (calculatedLevel * 0.85)) {
			return true;
		} else {
			return false;
		}
	}
	return true;
}