get_time() {
    return 10;
}
ep_cost() { return 15; }

resolve_skill(str) {
    object target,tame_ob,animal_ob, ob;
    ob = this_player();
    if(!str) {
      write("Use tame animal at what?\n");
      return 1;
    }
    target = present(str, environment(this_player()));
    if(!target || !living(target)) {
      write(capitalize(str)+" is not a valid target.\n");
      return 1;
    }
     if(this_player()->query_skills("tame animal") <
       (target->query_level()*3) || !target->query_animal()) {
      write("You can't tame the "+target->short()+"\n");
      say(capitalize(this_player()->query_name()) + " fails in taming "+
          target->short()+"\n", this_player());
      return 1;
      }
    if(this_player()->query_attack()) { write("You can't tame animals while in combat!\n"); return 1; }
          if (present("tamer_obj", this_player())) { write("You already have an animal.\n"); return 1;}
          if(target->query_animal_shadow()) { write("Is already tamed by some one.\n"); return 1; }
         if(present("tamer_obj", this_player())) { destruct(present("tamer_obj", this_player())); }
                    write("You successfully tame an animal.\n");
                    say(capitalize(this_player()->query_name()) + " successfully tames an animal.\n",this_player());
                    animal_ob = clone_object("/guilds/skill_obj/animal_shadow");
                    animal_ob->start(target, this_player());
        return 1;
}

fail_skill(str) {
  object target;
  if (!str) { return 1; }
  target = present(str, environment(this_player()));
  if (!target) { write("No "+capitalize(str)+" present.\n"); return 1; }
  write(target->short()+" is not responsive.\n");
  say(capitalize(this_player()->query_name()) + " fails in taming "+
          target->short()+"\n", this_player());
    return 1;
}
