#ifndef RANGER_H
#define RANGER_H
#define RANGER_HEAL_PERIOD (40 - query_wisdom()/7)

int tracking, bowyer;

void heal_ranger() {
   if(random(RANGER_HEAL_PERIOD)) return;
   this_object()->adj_all_ranger(1);
}

void adj_all_ranger(int i) {
  this_object()->adj_all_ mage(i);
  this_object()->adj_all_cleric(i);
}


/****************************************************************************/
/* sets */

int set_tracking(int t) { return tracking = t; }
int set_bowyer(int t)   { return bowyer = t;   }



/**************************************************************************/
/* query */

int query_tracking() { return tracking;  }
int query_bowyer()   { return bowyer;    }

void clear_ranger() {
  object obj;

  tracking = 0;
  this_object()->clear_fighter();
  this_object()->clear_cleric();
  this_object()->clear_mage();
  this_object()->set_guild_string(0);
  if(obj = (this_object()->query_ranger_aura_object())) 
    destruct(obj);
} 

void query_ranger_stats() {
  string str;
  object obj;
  obj = this_object();

  write("\n               -=[ Ranger Skills ]=-\n\n");

  /* Ranger alone abilities */
  str = " Tracking: "+(int)obj->query_tracking()+"                         ";
  str = extract(str,0,25);
  write(str+"\n");


  /* Fighter skills for Ranger */
  str  = " Multi attack: "+(int)obj->query_multi_attack()+"                ";
  str  =  extract(str,0,25);
  str  += " Multi opponent: "+(int)obj->query_multi_opponent()+"           ";
  str  = extract(str,0,50);
  str += " Two Weapon: "+(int)obj->two_weapon()+"                          ";
  str  = extract(str,0,75);
  write(str+"\n");


  /* Cleric skills for Paladin */
  str  = "Nature sphere: "+(int)obj->query_healing_sphere()+"("+
         (int)obj->query_nature_sphere_points()+")                         ";
  str  = extract(str,0,25);
  str += " Conjuration: "+(int)obj->query_conjuration()+"("+
         (int)obj->query_conjuration_points()+")                           ";
  str  = extract(str,0,50);
  str += " Charm: "+(int)obj->query_charm()+"("+
         (int)obj->query_charm_points()+")                                 ";
  str  = extract(str,0,75);
  write(str+"\n");
}

#endif /* RANGER_H */

