inherit COMMAND_BASE;
int cmd(object obs) {
object *ok, *zip, *failed, ob, *using;
string s;
mixed ret;
using = TP->query_holding();
failed = ok = zip = ({ });
foreach (ob in obs) {
if (member_array(ob, using) != -1) {
if (!sizeof(ret = TP->set_unhold(ob)) || !ret)
failed += ({ ob });
else
ok += ({ ob });
}
else
zip += ({ ob });
}
if (!sizeof(ok)) {
s = "";
if (sizeof(failed))
s += "Could not unhold "+query_multiple_short(failed)+".\n";
if (sizeof(zip))
s += capitalize("You are not holding " +
query_multiple_short(zip, "the") + ".\n");
return notify_fail(s);
}
tell_object(TP, "You put down "+(s = query_multiple_short(ok))+".\n");
tell_room(environment(TP), TP->one_short()+" puts down "+s+".\n", TP);
return 1;
} /* unhold() */
mixed *query_patterns() {
return ({ "<indirect:object:me>", (: cmd($1) :) });
}