/* shadow in conjunction with chair, when in same room, the player is
in effect invisible.
*/
inherit "obj/shadows/shadow";
#define CAP (string)who->query_cap_name()
object where, who, chair;
void shadow_short() {
where = environment(previous_object());
chair = previous_object();
who = this_player();
shadow_object(who);
}
string short(status wiz) {
if(chair) chair->resolve_sitters();
if(!chair || !chair->query_sitters(CAP)) {
destruct(this_object());
return (string)who->short(wiz);
}
if(environment(this_player()) == where) return 0;
return (string)who->short(wiz);
}