int cond,
    max_cond,
    lowest_cond;
void create() {
   cond = 100;
  max_cond = 100;
}
/* this should be masked by the object */
void break_me()
{
  this_object()->dest_me();
}
string cond_string() {
  switch ((100*cond)/max_cond) {
    case 0 :
      return "It is a wreck.\n";
    case 1..10 :
      return "It is in a very bad condition.\n";
    case 11..20 :
      return "It is in a bad condition.\n";
    case 21..30 :
      return "It is in poor condition.\n";
    case 31..40 :
      return "It is below average condition.\n";
    case 51..60 :
      return "It is average condition.\n";
    case 61..70 :
      return "It is in reasonable condition.\n";
    case 71..80 :
      return "It is in good condition.\n";
    case 81..90 :
      return "It is in very good condition.\n";
    default :
      return "It is in excellent condition.\n";
  }
}
 
void set_max_cond(int i) { max_cond = i; }
void set_cond(int i) {
  cond = i;
  if (cond < lowest_cond)
    lowest_cond = cond;
  if(cond <= 0) {
    this_object()->break_me();
    return 0;
  }
}
int adjust_cond(int i) {
  cond += i;
  if (cond < lowest_cond)
    lowest_cond = cond;
  if (cond > max_cond)
    cond = max_cond;
  if(cond <= 0) {
    this_object()->break_me();
    return 0;
  }
  return cond;
}
/* the lowest cond varible is used for repairing the armor...
 * See where it was repaired to last time, this determines how difficult
 * repairs will be...
 */
void set_lowest_cond(int i) { lowest_cond = i; }
int query_cond() { return cond; }
int query_max_cond() { return max_cond; }
int query_lowest_cond() { return lowest_cond; }
int set_percentage(int i) {
  if (i > 100) i = 100;
  cond = (max_cond*i)/100;
  lowest_cond = (cond*(random(30)+70))/100;
}