/*
 * auto object for 2.4.5 mudlib
 */

# include <config.h>

# include "privilege.h"
# include "creator.h"
# include "global.h"
# include "tool.h"
# include "light.h"
# include "living.h"
# include "inventory.h"
# include "interactive.h"
# include "file.h"
# include "mapping.h"
# include "call_out.h"
# include "simfun.h"

# include "privilege.c"
# include "creator.c"
# include "global.c"
# include "tool.c"
# include "light.c"
# include "living.c"
# include "inventory.c"
# include "interactive.c"
# include "file.c"
# include "mapping.c"
# include "call_out.c"
# include "simfun.c"


private void initialize()
{
    INIT_PRIVILEGE();
    INIT_CREATOR();
    INIT_GLOBAL();
    INIT_TOOL();
    INIT_LIGHT();
    INIT_LIVING();
    INIT_INVENTORY();
    INIT_INTERACTIVE();
    INIT_FILE();
    INIT_MAPPING();
    INIT_CALL_OUT();
    INIT_SIMFUN();
}

/*
 * NAME:	_F_create()
 * DESCRIPTION:	initialize the object
 */
nomask void _F_create()
{
    lock(initialize());

    if (function_object("reset", this_object()) != 0) {
	object save_player;

	::call_out("_F_reset", RESET_TIME * 60);
	save_player = this_player();
	this_object()->reset(0);
	set_this_player(save_player);
    }
}

/*
 * NAME:	_F_reset()
 * DESCRIPTION:	reset the object
 */
nomask void _F_reset()
{
    ::call_out("_F_reset", RESET_TIME * 60);
    set_this_player(0);
    this_object()->reset(1);
}