/* ....[@@@..[@@@..............[@.................. 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@falcon.mercer.peachnet.edu MUD++ development mailing list mudpp-list@spice.com ------------------------------------------------------------------------------ npc.h */ #ifndef _NPC_H #define _NPC_H #include "char.h" extern const bitType npc_bit_list[]; const int NPC_UNDEFINED = 0; // Dont use ! const int NPC_UNUSED1 = 1; const int NPC_WIMPY = 2; const int NPC_AGGRESSIVE = 3; const int NPC_SENTINEL = 4; const int NPC_STAY_ZONE = 5; const int NPC_SCAVENGER = 6; const int NPC_FRIENDLY = 7; const int NPC_TAME = 8; const int NPC_CHARMED = 9; const int NPC_BANKER = 10; const int NPC_TRAINER = 11; const int NPC_PRACTICER = 12; const int MAX_NPC_BIT_FIELDS = 1; class NPC : public Char { protected: //Index index; unsigned long npc_bits[ 1 ]; Repop *repop; public: NPC() : repop(0) { memset( npc_bits, 0, sizeof( npc_bits[0] ) * 1 ); } NPC( const NPC & x ) : Char( x ), // propagate up the hierarchy repop(0) { memcpy( (void *)npc_bits, (void *)x.npc_bits, sizeof( npc_bits[0] ) * MAX_NPC_BIT_FIELDS ); } virtual ~NPC(); bool isNPC() { return true; } void out( const char * ); void out( const String & x ) { NPC::out( x.chars() ); } virtual void pulse(); void fromWorld(); void toWorld(); // const Index & getIndex() const { return index; } // void setIndex( const Index & x ) { index = x; } // void setIndexScope( const String & x ) { index.setScope( x ); } // void setIndexKey( const String & x ) { index.setKey( x ); } // const String getIndexScope() const { return index.getScope(); } // const String getIndexKey() const { return index.getKey(); } void setRepop( Repop * x ) { repop = x; } Repop * getRepop() { return repop; } int readProtoFrom( InFile &in ) {} int writeProtoTo( OutFile &out ) const {} int readFrom( InFile &in ); int writeTo( OutFile &out ) const; virtual void look( Object * ); virtual void look( Char * ); }; #endif