/* Do not remove the headers from this file! see /USAGE for more info. */
inherit SPELL;
void setup()
{
set_spell_name("unlock");
}
void cast_spell(object ob, object reagent)
{
mixed result = ob->magic_unlock();
if ( stringp(result) )
{
this_body()->simple_action("$N $vcast a spell on $o...", ob);
write(result);
}
else if ( !result )
{
this_body()->simple_action("$N $vtry to unlock $o with a spell, but fails.", ob);
}
else
{
this_body()->simple_action("$N $vunlock $o with a spell.", ob);
}
}
mixed valid_target(object ob)
{
/* the target must be lockable() */
return ob && ob->is_lockable();
}
mixed valid_reagent(object ob)
{
return !ob || "That wouldn't help the spell any.\n";
}
mixed valid_circumstances(mixed target, mixed reagent)
{
if ( !target )
return "You need to cast the spell on something.\n";
if ( reagent )
return "That won't help your unlock spell.\n";
return 1;
}