#ifndef RANGER_H #define RANGER_H #define RANGER_HEAL_PERIOD (40 - query_wisdom()/7) int 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 (int)this_object()->set_stealth(t); } int set_bowyer(int t) { return bowyer = t; } /**************************************************************************/ /* query */ int query_tracking() { return (int)this_object()->query_stealth(); } int query_bowyer() { return bowyer; } void clear_ranger() { object obj; bowyer = 0; this_object()->clear_fighter(); this_object()->clear_cleric(); this_object()->clear_theif(); 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); str += " Bowyer: "+(int)obj->query_bowyer()+" "; str = extract(str,0,50); 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 */