Devuelve false si la unidad no es válida o si un campo de estado difiere de -1. En otro caso comprueba una operación de implementación para los héroes con una determinada bandera, o un campo de la unidad para las unidades que no son héroes. Los significados de los campos no están documentados.