/**
  * Whether we are disguised as a particular creature...
  *
  * @param cr a creature to test (in the case of multiple matches, their birthday is used to
  *     determine which one they're disguised as).
  * @return A CreatureType, or null.
  */
 static CreatureType inCharacter(final Creature cr) {
   final List<CreatureType> valid = new ArrayList<CreatureType>();
   for (final CreatureType c : Game.type.creature.values()) {
     if (!c.hasUniform()) {
       continue;
     }
     if (c.uniform != null && c.uniform.inCharacter(cr)) {
       valid.add(c);
     }
   }
   if (valid.size() == 0) {
     return cr.type();
   }
   return valid.get(cr.birthDay() % valid.size());
 }