/*    /lib/sit.c
 *    From the Dead Souls V Object Library
 *    Handles people sitting down in it
 *    Created by Descartes of Borg 961221
 *    Version: @(#) sit.c 1.1@(#)
 *    Last modified: 96/12/21
 */
#include <position.h>
private int          MaxSitters = 1;
private object array Sitters    = ({});
int GetMaxSitters() {
    return MaxSitters;
}
static int SetMaxSitters(int x) {
    return (MaxSitters = x);
}
object array GetSitters() {
    return Sitters;
}
mixed eventReceiveSit(object who) {
    Sitters = ({ Sitters..., who });
    return 1;
}
mixed eventReleaseStand(object who) {
    Sitters -= ({ who });
    return 1;
}
mixed direct_sit_word_obj() {
    Sitters = filter(Sitters, (: $1 && $1->GetPosition()==POSITION_SITTING :));
    if( sizeof(Sitters) >= MaxSitters ) {
	return "There is no room to sit there.";
    }
    return 1;
}
mixed direct_sit_down_word_obj() {
    return direct_sit_word_obj();
}