//_scry.c //Mage ability //created by Descartes 19 Nov 1992 #include <std.h> inherit DAEMON; int cmd_scry(string str) { object ob; int cost, con, wis; int i; object *inv; string desc; if(!str) { notify_fail("Scry whom?\n"); return 0; } if(environment(this_player())->query_property("no magic")) { notify_fail("A magic force prevents you from using your magic.\n"); return 0; } ob = find_living(str); if(!ob) { notify_fail("You see only mist in your mind's eye.\n"); return 0; } if(!environment(ob)) return notify_fail("Things are fuzzy!\n"); if(environment(ob)->query_property("no scry")) return notify_fail("You see only mist in your mind's eye.\n"); if(creatorp(ob)) { notify_fail("You fail.\n"); return 0; } cost = random(15)+ 10; if((int)this_player()->query_mp() < cost) { notify_fail("Too low on magic power.\n"); return 0; } this_player()->add_mp(-cost); con = (int)this_player()->query_skill("conjuring"); wis = (int)ob->query_stats("wisdom"); con -= wis; if(con < random(101)) { write("You see only mist in your mind's eye."); this_player()->add_skill_points("conjuring", 5); return 1; } write("Through the mists of other dimensions you see:\n"); ob = environment(ob); if(!ob) write("An empty void."); else { desc = (string)ob->query_long()+"\n"; inv = all_inventory(ob); for(i=0; i<sizeof(inv); i++) { if(inv[i]->query_invis()) continue; desc += (string)inv[i]->query_short()+"\n"; } write(desc); } this_player()->add_skill_points("conjuring", cost); return 1; } void help() { write("Syntax: <scry [living]>\n\n"+ "Helps you locate the living being you seek.\n"); }