query_spell_name() { return "blade rune"; } object caster; weapon_hit(attacker) { return random(10)+5; } set_caster(ob) { caster = ob; } query_caster() { return caster; } set_duration(d) { call_out("expire",d*this_player()->query_int()); } expire() { tell_object(environment(environment()),"Your bladerune becomes unstable.\n"); call_out("dispel",10); } dispel() { string temp1; sscanf(environment()->short(),"%s (enchanted)",temp1); environment()->set_short(temp1); tell_object(environment(environment()),"Your bladerune disappears!\n"); return 1; } exit() { destruct(this_object()); }