public float priorityFor(Actor actor) {
    /*
    final Venue work = (Venue) actor.mind.work() ;
    if (work.personnel.shiftFor(actor) != Venue.SECONDARY_SHIFT) {
      if (! actor.isDoing("actionEquipYard", null)) return 0 ;
    }
    //*/
    
    //
    //  TODO:  You can't drill if you lack an appropriate device type!
    
    float impetus = 0 ;
    //
    //  TODO:  Relevant traits might vary depending on type.
    final float pacifism = 0 - actor.traits.traitLevel(AGGRESSIVE) ;
    switch (yard.drillType()) {
      case (DrillYard.DRILL_MELEE) :
      case (DrillYard.DRILL_RANGED) :
        impetus -= (pacifism > 0) ? pacifism : (pacifism / 2f) ;
      break ;
      case (DrillYard.DRILL_AID) :
        impetus += pacifism / 2f ;
      break ;
    }
    
    impetus += actor.traits.traitLevel(DUTIFUL) ;
    impetus -= actor.traits.traitLevel(INDOLENT) ;
    if (actor.vocation().guild == Background.GUILD_MILITANT) {
      impetus += CASUAL ;
    }
    else {
      impetus = (impetus + IDLE) / 2 ;
    }
    //
    //  TODO:  Modify by importance of associated skills-
    
    impetus -= Plan.rangePenalty(actor, yard) ;
    impetus -= Plan.dangerPenalty(yard, actor) ;
    return Visit.clamp(impetus, 0, ROUTINE) ;
  }