mud++0.35/etc/
mud++0.35/etc/guilds/
mud++0.35/help/propert/
mud++0.35/mudC/
mud++0.35/player/
mud++0.35/src/interface/
mud++0.35/src/os/cygwin32/
mud++0.35/src/os/win32/
mud++0.35/src/os/win32/bcppbuilder/
mud++0.35/src/osaddon/
mud++0.35/src/util/
/*
....[@@@..[@@@..............[@.................. MUD++ is a written from
....[@..[@..[@..[@..[@..[@@@@@....[@......[@.... scratch multi-user swords and
....[@..[@..[@..[@..[@..[@..[@..[@@@@@..[@@@@@.. sorcery game written in C++.
....[@......[@..[@..[@..[@..[@....[@......[@.... This server is an ongoing
....[@......[@..[@@@@@..[@@@@@.................. development project.  All 
................................................ contributions are welcome. 
....Copyright(C).1995.Melvin.Smith.............. Enjoy. 
------------------------------------------------------------------------------
Melvin Smith (aka Fusion)         msmith@hom.net 
MUD++ development mailing list    mudpp@van.ml.org
------------------------------------------------------------------------------
repop.h
*/

#ifndef _REPOP_H
#define _REPOP_H

#include "thing.h"
#include "io.h"
#include "index.h"
#include "vmobject.h"

class Repop: public VMObject
{
	private:
		static int total_count;
	public:
		char type;		// O-load object,M-load mob,G-give obj,P-put obj in obj
		Index index;	// Obj/Mob index
		short int chance;	// 1-1000 , 0 is bootup only
		short int val;
		Thing *ptr;

		Repop()
		:	type('@'),chance(0),val(0),ptr(0)
		{
			total_count++;
		}

		Repop(  char t, const String & i, int c )
		:	type(t),index(i),chance(c),ptr(0)
		{
			total_count++;
		}

		Repop(  char t, const Index & i, int c )
		:	type(t),index(i),chance(c),ptr(0)
		{
		}

		~Repop() { total_count--; }
		virtual vmtype getVMType() { return VMT_REPOP; }

		int readFrom( StaticInput & );
		void writeTo( Output & );
		void setPtr( Thing * x ) { ptr = x; }
		Thing * getPtr() { return ptr; }
		static int getTotalCount() { return total_count; }
};
#endif