isUnitEvasive = function (unit) {
  return (unit.hasModifierClass(ModifierRanged)
    || unit.hasModifierClass(ModifierBlastAttack)
    // Look into improving isUnitBuffer function.
    || (isUnitBuffer(unit) && unit.getHP() < BOUNTY.BUFFER_HP_EVASIVE_THRESHOLD && !unit.hasModifierClass(ModifierForcefieldAbsorb))
    || (unit.getIsGeneral() && unit.getHP() < BOUNTY.GENERAL_HP_EVASIVE_THRESHOLD))
    && !unit.hasModifierClass(ModifierEphemeral);
}
Returns whether a unit is evasive.
@param {Unit} unit
@returns {Boolean}