/*
 * Obiekt administracyjny dla gildii zolnierzy najemnych
 * by Morley '98
 */

#pragma no_clone
#pragma strict_types
#pragma save_binary

mapping droproom;
string  *czlonkowie = ({"morley"});

int
query_member(object ob)
{
    if (member_array (ob->query_real_name(), czlonkowie ) == -1 )
	return 0;
    return 1;
}

int
moze_zabrac(object ob, int value)
{
    if (!query_member(ob) )
	return 0;
    if (member_array (ob->query_real_name(), m_indexes (droproom) ) == -1 )
	return 0;
    if (droproom[ob->query_real_name()] >= value)
	return 1;
    return 0;
}

void
took_from_droproom(object ob, int value)
{
    droproom [ob->query_real_name() ] -= value;
}

void
put_into_droproom(object ob, int value)
{
    if (member_array (ob->query_real_name(), m_indexes (droproom) ) == -1 )
    {
	if (!mappingp (droproom) )
	    droproom = ([ob->query_real_name() : value]);
	else
	    droproom += ([ob->query_real_name() : value]);
    }
    else
	droproom [ob->query_real_name() ] += value;
}
