// _discern.c // Fighter ability // created 04 November 1992 #include <std.h> inherit DAEMON; int cmd_discern(string str) { string x, type, limbs; object tp, ob; tp = this_player(); if((string)tp->query_class() != "fighter") return 0; if(!str) return notify_fail("Discern what?\n"); if(tp->query_sp() < 5) { notify_fail("You fail.\n"); return 0; } ob = present(str, tp); if(!ob) ob = parse_objects(tp, str); if(!ob) { notify_fail("No "+str+" here!\n"); return 0; } x = (string)ob->query_type(); if(!x) { notify_fail("That is neither armour or a weapon!\n"); return 0; } if(!ob->query_wc()) { if(!limbs=ob->query_limbs()) return notify_fail("That is neither armour or a weapon!\n"); tp->add_sp(-10); message("info", sprintf("%s is of type %s.", capitalize(str), x), tp); message("info", sprintf("%s covers your : ", capitalize(str)), tp); message("info", sprintf("%s", format_page(limbs, 5)), tp); return 1; } message("info", sprintf("%s is of type %s.", capitalize(str), x), tp); tp->add_sp(-5); return 1; } void help() { message("help", "Syntax: <discern [weapon | armour]>\n\n" "For fighters, this gives what type of weapon or armour the " "item is. If it is armour, it tells you what it protects.", this_player()); }